Введение 3
Актуальность 3
Цель работы 4
Задачи работы 4
Практическая значимость 5
Глава 1. Обзор существующих решений в области анализа текстов системы документооборота 6
1.1. Обзор существующих готовых программных продуктов 6
1.2. Обзор методов анализа текстов и выделения сущностей 7
1.3. Обзор подходов оценки качества выделения сущностей 10
Глава 2. Разработка программного комплекса для интеллектуального анализа текстов системы документооборота 12
2.1. Проектирование и реализация архитектуры программного комплекса 12
2.2. Разработка методов интеллектуального анализа текстов системы документооборота 16
2.3. Тестирование и оценка качества 23
2.3.1 Постановка эксперимента 23
2.3.2 Результаты 25
2.3.3 Выводы 29
Заключение 30
Результаты работы 30
Перспективы развития 30
Список литературы 31
Приложение 37
Актуальность
В настоящее время задача анализа текста и, как частный случай, задача выделения именованных сущностей в текстах стоит особо остро. Появился запрос у общества [1] (косвенно описано в [2]) на виртуальных цифровых помощников (Apple Siri, Яндекс.Алиса)[3, 4] и различные интеллектуальные системы, работающие в узких предметных областях [5, 6, 7]. Помощники в узких областях призваны минимизировать человеческий фактор и вероятные ошибки в принимаемых решениях.
В условиях всё больше увеличивающихся масштабов документооборота вообще и электронного документооборота в частности, человеку становится всё труднее воспринимать и обрабатывать такое количество информации, что и порождает спрос на такие системы. Многие компании на рынке программных продуктов для бизнеса предлагают различные системы упрощающие и ускоряющие обработку информации.
Компания Digital Design [8] более 25 лет на рынке программного обеспечения, в том числе, в области решений «бизнес для бизнеса», поэтому ситуация, когда запрос общества и бизнеса на системы облегчающие (и ускоряющие) обработку текстов был бы проигнорирован, была невозможна.
Для успешного функционирования любых цифровых помощников необходимо техническое решение, позволяющие последнему «понимать» текст, а это означает, в частности, выделять именованные сущности: факты, события, действующих лиц и организации, нормативные акты и большое количество иной информации, легко воспринимаемой человеком, при этом, не всегда имеющей чёткую структуру.
Выделить именованную сущность означает — либо найти в тексте координаты (порядковые номера слов в тексте) её начала и конца, а также определить тип сущности, либо определить тип сущности и заполнить поля («свойства») соответствующие определенному на предыдущем шаге типу. В данной работе под выделением именованных сущностей подразумевается именно поиск координат начала и конца именованной сущности.
Обработка естественного языка (NLP) зародилась ещё в 50-е годы прошлого столетия, хотя существуют работы в этой области, появившиеся ещё раньше. За это время эта область расширилась, нашла применение в реальной жизни и породила достаточно большое количество дочерних задач. Одна из них — выделение именованных сущностей.
Компанией Digital Design была поставлена задача создать программный комплекс, решающий задачу выделения именованных сущностей в текстах системы документооборота.
В данной работе рассмотрены готовые программные решения, которые могли бы быть применены к решению этой задачи, проанализированы различные методы и подходы к её решению, выбрана оптимальная конфигурация, проведена разметка данных и создан программный комплекс.
Цель работы
Целью работы является разработка программного комплекса интеллектуального анализа текстов системы документооборота на основе нейросетей, который можно было бы использовать для создания системы всплывающих подсказок, дающих краткое описание документа, организации, частного лица или иной ссылки, встреченной в рассматриваемом документе. Эти два комплекса помогут решить проблему минимизации человеческого фактора в принимаемых решениях в различных юридических и законодательных процессах.
Задачи работы
Для достижения цели были поставлены следующие задачи:
• Обзор существующих готовых программных продуктов в области выделения именованных сущностей и методов интеллектуального анализа текста (выделения именованных сущностей [9, 10, 11, 12], токе- низация текста [13, 14] и др.)
• Обзор форматов разметки и утилит разметки текстовых коллекций для выделения именованных сущностей
• Выбор архитектуры программного комплекса
• Разработка программного комплекса
• Разработка скриптов, переводящих формат выбранной утилиты для разметки (brat [15]) в формат, воспринимаемый модулем предсказаний и обратно
• Создание возможности предварительно автоматически разметить новые документы, что поможет эксперту меньше тратить времени на редактирование разметки
• Разметка текстовой коллекции
• Проведение экспериментов
Практическая значимость
Разработанное решение позволило бы облегчить работу государственных служащих за счёт отсутствия необходимости поиска информации по упомянутым в документе гражданам, организациям, органам власти и т.д., если его интегрировать в корпоративную систему документооборота и добавить краткие описания к найденным с помощью данного решения сущностям.
Результаты работы
В ходе выполнения работы были выполнены следующие шаги:
• Проведён обзор существующих готовых программных продуктов в области выделения именованных сущностей и методов интеллектуального анализа текста
• Проведён обзор форматов разметки и утилит для разметки текстовых коллекций для выделения именованных сущностей
• Была выбрана архитектура программного комплекса
• Произведена разработка программного комплекса
• Произведена разработка скриптов, переводящих формат выбранной утилиты для разметки (brat [15]) в формат, воспринимаемый модулем предсказаний и обратно
• Была создана возможность предварительно автоматически разметить новые документы, что поможет экспертам меньше тратить времени на редактирование разметки
• Были проведены эксперименты
Перспективы развития
Для того, чтобы улучшить результат, можно попытаться использовать RoBERTa вместо BERT, так как в [53] на похожей задаче RoBERTa показала более высокие результаты. Также использование более сбалансированного множества скорее всего приведёт к более точным (и более устойчивым) результатам. К тому же увеличение размеченного множества документов может существенно увеличить качество результатов.
[1] Virtual Assistants: What They Do & How to Hire (2020 Update) // Time Doctor URL: https://biz30.timedoctor.com/ what-does-a-virtual-assistant-do/ (дата обращения: 23.04.2020).
[2] Julia Kiseleva, Kyle Williams, Ahmed Hassan Awadallah, Aidan C. Crook, Imed Zitouni, and Tasos Anastasakos. 2016. Predicting User Satisfaction with Intelligent Assistants. In Proceedings of the 39th International ACM SIGIR conference on Research and Development in Information Retrieval (SIGIR ’16). Association for Computing Machinery, New York, NY, USA, 45—54. DOI:https://proxy.library.spbu.ru:2060/10.1145/2911451. 2911521
[3] V. Kepuska and G. Bohouta, «Next-generation of virtual personal assistants (Microsoft Cortana, Apple Siri, Amazon Alexa and Google Home)», 2018 IEEE 8th Annual Computing and Communication Workshop and Conference (CCWC), Las Vegas, NV, 2018, pp. 99-103.
[4] Патент: RU2654789C2: System and method for handling a spoken user request
[5] Goh K. J., Po S. B. Fertilizer recommendation systems for oil palm: estimating the fertilizer rates //Proceedings of MOSTA Best practices workshops-agronomy and crop management. Malaysian Oil Scientists’ and Technologists’ Association. - 2005. - С. 1-37.
[6] Eftimov T., Seljak B. K., Korosec P. A rule-based named-entity recognition method for knowledge extraction of evidence-based dietary recommendations //PloS one. - 2017. - Т. 12. - №. 6.
[7] C. Sage, A. Aussem, H. Elghazel, V. Eglin and J. Espinas, «Recurrent Neural Network Approach for Table Field Extraction in Business Documents», 2019 International Conference on Document Analysis and Recognition (ICDAR), Sydney, Australia, 2019, C. 1308-1313.
[8] О компании // Digital Design URL: https://digdes.ru/about (дата обращения: 15.05.2020).
[9] Sattarov O. Natural Language Processing with DeepPavlov Library and Additional Semantic Features //Artificial Intelligence. - Springer, Cham, 2019. - С. 146-159.
[10] An open source conversational AI framework URL: deeppavlov.ai (дата обращения: 19.05.2020).
[11] Возможности ABBYY FlexiCapture // Abbyy URL: https: //www.abbyy.com/ru-ru/flexicapture/features/ (дата обращения: 19.05.2020).
[12] Holt X., Chisholm A. Extracting structured data from invoices //Proceedings of the Australasian Language Technology Association Workshop 2018. - 2018. - С. 53-59.
[13] Radford A. et al. Improving language understanding by generative pre-training //URL https://s3-us-west-2.amazonaws. com/openai-assets/researchcovers/languageunsupervised/ languageunderstandingpaper.pdf. - 2018.
[14] Devlin J. et al. Bert: Pre-training of deep bidirectional transformers for language understanding //arXiv preprint arXiv:1810.04805. - 2018.
[15] Stenetorp P. et al. BRAT: a web-based tool for NLP-assisted text annotation //Proceedings of the Demonstrations at the 13th Conference of the European Chapter of the Association for Computational Linguistics. - Association for Computational Linguistics, 2012. - С. 102-107.
...