Введение 3
Глава 1. Обзор диалоговых систем 6
1.1. Диалоговые системы 6
1.2. Основные принципы работы диалоговых систем 8
1.3. Основные проблемы диалоговых систем 8
1.4. Выводы из главы 1 10
Глава 2. Связь синтаксического анализа с извлечением фактов из текста 12
2.1. Извлечение информации как метод представления семантики текста . 12
2.2. Проблемы, связанные с синтаксическим анализом 14
2.3. Описание парсера Helis 15
2.3.1. Алгоритм CYK 15
2.3.2. Изменения в Helis 17
2.3.3. Структура синтаксических правил 18
2.3.4. Шаблоны для извлечения фактов 20
2.3.5. Структура шаблонов 21
2.4. Выводы из главы 2 21
Глава 3. Составление правил, описывающих синтаксис информационного запроса 23
3.1. Информационный диалог 23
3.1.1. Особенности информационного диалога 23
3.1.2. Формальный анализ запроса пользователя 25
3.2. Описание правил 26
3.2.1. Директивы 26
3.2.2. Вопросы 35
3.2.3. Группы ключевых слов 36
3.3. Проверка результатов и недостатки 36
3.4. Выводы из главы 3 38
Заключение 39
Литература 41
Электронные ресурсы 44
Приложение 1. Собранные потенциальные запросы пользователей новостному чат-боту 46
Приложение 2. Правила синтаксического анализа запросов пользователя 50
Проблема взаимодействия пользователя и компьютера возникла в середине ХХ в., когда операции на ЭВМ могли выполнять лишь обученные специалисты. Со временем порог, который необходимо перешагнуть пользователю компьютера, начал постепенно снижаться. С появлением простых операционных систем, которые затем были снабжены графическим пользовательским интерфейсом, все больше людей смогли выполнять работу на вычислительных машинах.
Однако на данный момент существует множество программ и приложений, для которых идеальным способом взаимодействия было бы общение с компьютером на естественном языке. Разработки в этом направлении ведутся еще с 60-х гг. прошлого века, но проблема далеко не решена.
Пользователь компьютера сегодня для выполнения все большего количества функций обращается к специализированным диалоговым системам: чат-ботам и вопросно-ответным системам. Для их
функционирования крайне важно правильно обработать запрос пользователя. Анализ запроса проходит в несколько этапов, на каждом из которых парсер передает на следующий этап наиболее вероятные варианты разбора. Поскольку инструменты анализа на разных уровнях языка еще не идеальны (особенно для русского языка), верный вариант разбора может быть утерян на одном из ранних уровней, после чего парсер уже не сможет правильно проанализировать запрос.
Парсер Helis, разрабатываемый А.М. Поповым и Е.В. Еникеевой с 2017 года, обладает структурой и алгоритмом поиска, позволяющими обрабатывать и хранить все варианты синтаксического разбора до того, как они будут переданы на следующий уровень извлечения семантики (фактов).
Целью этой работы является написание правил синтаксического анализа в грамматике парсера Helis для обработки запросов пользователя на естественном языке, обращенных новостному чат-боту.
Поставленная цель предполагает выполнение следующих задач:
• изучение устройства диалоговых систем и их подвидов;
• обзор имеющихся способов извлечения семантики из запросов пользователей, в том числе на русском языке;
• изучение устройства парсера Helis, используемой им грамматики и структуры правил синтаксического анализа ;
• написание правил синтаксического анализа :
о исследование характера общения между человеком и чат-ботом;
о поиск характерных синтаксических структур в запросах.
Материалом для исследования послужила выборка из 80 потенциальных запросов новостному чат-боту, собранная путем опроса респондентов.
Актуальность данной работы обусловлена тем, что большинство парсеров, занимающихся извлечением фактов из текстов на русском языке, основаны на правилах и не обладают высокой точностью работы .
Практическая значимость работы связана с возможностью использования результатов для создания новостного чат-бота, использующего парсер Helis для обработки запросов.
Глава 1 представляет собой обзор диалоговых систем и их подвидов, истории их развития и проблем, стоящих перед ними сейчас.
Глава 2 рассматривает проблему извлечения информации из текста и описывает, как этот метод применяется для выявления семантики текста, в том числе и в системах, работающих с русским языком. Также детально описан парсер Helis: принцип его работы, преимущества и отличия от других систем.
Глава 3 посвящена собственно проблеме написания правил синтаксического анализа. Представлены имеющиеся исследования на тему характера взаимодействия пользователя и узкоспециализированного диалогового агента. Описаны и кратко обоснованы полученные правила.
Благодарю А.М. Попова за научное консультирование, оказанное им в ходе написания данной работы, и за предоставление технической помощи, связанной с парсером Helis.
В этой работе были представлены правила синтаксического анализа в грамматике парсера Helis для обработки запросов пользователя на естественном языке, обращенных новостному чат-боту.
Было написано 20 правил, вошедших в итоговый набор, 16 из которых были описаны в главе 3. Большинство правил было составлено по модели запроса-директива, так как этот тип предложений показывает наибольшую вариативность основных синтаксических структур, тогда как другой частотный тип запросов - вопрос - можно описать трансформацией имеющихся структур. Наименее частотный третий тип запросов из выборки в свою очередь полностью покрывается правилами, описывающими подчинительные связи существительных.
В процессе работы было отмечено, что наиболее часто к большому количеству вариантов разбора приводит морфологическая неоднозначность. В используемом парсером словаре OpenCorpora встречаются целые парадигмы неизменяемых словоформ, которые могут совпадать с другими лексемами (например, предлог «про» и аббревиатура «ПРО», личное местоимение «я» и фамилия «Я»). Хотя это явление не привело к случаям комбинаторного взрыва при работе, работа парсера на синтаксическом уровне может быть улучшена на предваряющем его этапе морфоанализа.
Итоговые правила не стремятся исчерпывающе описать все вариации запросов на естественном языке. Без объёмного корпуса логов общения с подобными системами такая задача является чрезвычайно сложной для выполнения. Запрос может быть сформулирован так, что парсер не окажется способен составить единое древо разбора. Так, при проверке результатов было выявлено, что большинство ошибок при анализе возникает из -за того, что лексический модуль парсера не распознает определенные токены. Помимо этого, проблемы создал синтаксис вопросительных предложений, в которых изменяется порядок слов и частотен эллипсис. Однако директивы, базовый тип запросов, не выявили ошибок в работе парсера. И поскольку Helis выдает все варианты анализа, в том числе и неполные, результаты всё равно передаются на следующий уровень, где к полученным поддеревьям будут применяться шаблоны для извлечения фактов.
1. Bird S. et al. Natural Language Processing with Python. O’Reilly, 2009. Ch. 7
2. Bodenstab N. Efficient Implementation of the CKY algorithm. 2009. URL: https://pdfs.semanticscholar.org/b2e3/0053b54df93e39edbdd84d4e5611252 110c5.pdf
3. Cer D. et al. Universal Sentence Encoder // arXiv:1803.11175, 2018. URL: https://arxiv.org/abs/1803.11175
4. Colby et al. A Computer Method of Psychotherapy // The Journal of Nervous and Mental Disease, 142(2), 1966. pp. 148-152
5. Coppersmith D., Winograd S. Matrix multiplication via arithmetic progressions // Journal of Symbolic Computation, 9(3), 1990. pp. 251-280
6. Earley J. An efficient context-free parsing algorithm // Communications of the ACM, 13(2), 1970. pp. 94-102
7. Hearst, M. A. Automatic acquisition of hyponyms from large text corpora // Proceedings of COLING-92. Association for Computational Linguistics, 1992. pp. 539-545
8. Hill J. et al. Real conversations with artificial intelligence: A comparison between human-human online conversations and human-chatbot conversations // Computers in Human Behavior, 49, 2015. pp. 245-250
9. Hopcroft J. et al. Introduction to Automata Theory, Languages, and Computation, Second Edition. Addison-Wesley, 2001
10. Jurafski D., Martin J. Speech and Language Processing, Third edition. 2017, Ch. 12, 21, 28, 29. URL: https ://web.stanford.edu/~jurafsky/slp3/
11. Kasami T. An efficient recognition and syntax analysis algorithm for context-free languages. Air Force Cambridge Research Laboratory, 1965
12. Koit M. et al. Processing Customer Requests: An Analysis of the Estonian Dialogue Corpus // Proceedings of the 11th International Conference “Speech and Computer” SPECOM’2006. Anatolya Publishers, 2006. pp. 193-198
13. KurilchikE. Chatbots as a Digital Marketing Communication Tool. 2017.
URL: http://www.theseus.fi/handle/10024/131171
14. Lally A., Fodor P. Natural language processing with Prolog in the IBM Watson system // The Association for Logic Programming (ALP) Newsletter, 2011
15. Lee L. Fast context-free grammar parsing requires fast boolean matrix multiplication // Journal of the ACM, 49(1), 2002. pp. 1-15
16. Pinker S. The Language Instinct. HarperPerennial, 1995. pp. 192-228
17. Popov A., Enikeeva E. Template Search Algorithm for Multiple Syntactic Parses // Proceedings of IMS-2017. ACM Press, 2017. pp. 164-171
.... Всего источников – 43.