Введение 3
Постановка задачи 5
Обзор литературы 6
Глава 1. Подходы к построению вопросно-ответных систем 8
1.1. Подход на основе техник Information Retrieval 8
1.2. Подход на основе обработки естественных языков 11
1.2.1. Лямбда-исчисление в категориально-контекстных грам-матиках 11
1.2.2. Контекстно-категориальная грамматика, синтаксический
тип. 12
1.2.3. Контекстно-категориальная грамматика, семантический
тип. 15
1.2.4. Обощенный лексикон 17
1.2.5. Обучение 19
1.2.6. Обобщенный алгоритм обучения 24
Глава 2. Программный комплекс для построения вопросно-ответных систем 26
2.1. Cornell Semantic Parsing Framework 26
2.2. Фреймворк Akka 26
2.2.1. Акторная модель вычислений 27
2.2.2. Библиотеки и модули фреймворка Akka 30
2.2.3. Пример обработки сообщений актором во вреймворке Akka. 31
Глава 3. Разработка распределенного алгоритма обучения SPF. ... 33
3.1. Схема параллельного алгоритма обучения 33
3.2. Реализация параллельного алгоритма обучения 36
3.3. Сериализация в параллельном алгоритме обучения 38
3.4. Бенчмарки алгоритма 39
Заключение 41
Дальнейшая работа 42
В последнее время в мире информационных технологий возникло множество трендов. Одними из самых популярных трендов являются
вопросно-ответные системы, голосовые помощники и всевозможные “умные ассистенты”. Как правило, в реализациях подобного рода проектов
имеется нечто общее, а именно — способность понимать информацию, поступающую от пользователя, и проводить ее анализ.
Очевидно, что раз подобные ассистенты являются массовыми продуктами, то должны обрабатывать информацию пользователя способом,
наиболее простым для последнего. Такими способами для пользователя
являются передача голосовых и текстовых команд на естественном языке,
носителем которого он является.
Получается, чтобы быть успешной на рынке, система должна уметь
обрабатывать сообщения на естественном языке, что является непростой
исследовательской и инженерной задачей. Наиболее яркими примерами подобных систем являются Siri от Apple, Cortana от Microsoft, Google now,
ask.com, IBM Watson и др.
На данный момент существует множество способов, с помощью которых достигается некоторое понимание пользовательских сообщений машиной. Эти способы грубо можно разделить на три группы:
• подходы, основанные на техниках information retrieval (IR based
approach),
• подходы, основанные на обработке естественных языков и баз знаний
(knowledge based approach),
• подходы, комбинирующие предыдущие две техники (и некоторые другие, например, deep machine learning).
3В настоящий момент наибольшее распространение получили IR based
системы, в силу многих причин: хорошее развитие аппарата математической статистики, внедрение mapreduce, и др. Но с другой стороны, более
перспективным направлением является подход на основе баз знаний, который и будет далее рассматриваться в данной работе.
Важной подзадачей задачи трансформирования сообщений на естественном языке в сообщения, понимаемые машиной, в системах с базами
знаний является задача отображения сообщения в логическую форму в
некоторых условных обозначениях. Это непростая задача. Ее основными
сложностями являются:
• сложная формализация задачи,
• плохо представленные данные для обучения,
• большие объемы вычислений.
Рассмотрим подробнее последний пункт. К сожалению, из-за особенностей естественных языков, а точнее в основном из-за присутствующих в
них неоднозначностей, задача построения системы с открытой предметной
областью (open-domain system), с некоторой относительно высокой точностью преобразующую сообщения на естественном языке в интерпретируемые машиной логические выражения, сильно усложняется. Поэтому строят
системы, основанные на базах знаний лишь в некоторой предметной области (domain-closed system). Это одна из многих причин большого количества вычислений: модификацию, обучение и тестирование систем необходимо проводить многократно для различных предметных областей.
Наличие подобных сложностей обусловливает актуальность данной
работы.
В рамках данной работы предстояло
• произвести обзор предметной области;
• разработать распределенный существующего алгоритма обучения SPF
"на бумаге";
• обеспечить кроме количественоого роста (увеличения производительности алгоритма) качественный рост параллельной реализации;
• произвести тестирование разработанного алгоритма.
Поставленные задачи успешно решены. В данной работе рассмотрены возможности для параллелизации алгоритма обучения SPF. А также
представлена реализация распределенного алгоритма. Результатом работы
является достигнутое ускорение алгоритма при работе на нескольких машинах.
1. Bert F. Green, Jr., Alice K. Wolf, Carol Chomsky, and Kenneth Laughery. BASEBALL: AN AUTOMATIC QUESTION-ANSWERER // IRE-AIEE- ACM ’61 (Western) С. 219-224
2. J. Weizenbaum. ELIZA—a computer program for the study of natural language communication between man and machine // Communications of the ACM CACM Vol. 9 No 1, 1966 P. 36-45
3. Woods W. A., 1973 Semantics and Quantification in Natural Language Question Answering // Advances In Computers. Vol. 17
4. Woods W. A., William A. Transition Network Grammars for Natural Language Analysis. // Communications of the ACM. Vol. 13 No, 10, P. 591-606
5. Katz, B. Annotating the World Wide Web using Natural Language // Proceedings of the 5th RIAO Conference on Computer Assisted Information Searching on the Internet (RIAO ’97)
6. Winograd T. Procedures as a Representation for Data in a Computer Program for Understanding Natural Language // MIT AI Technical Report, 1971. No. 235.
7. Kupiec J. MURAX: a robust linguistic approach for question answering using an on-line encyclopedia Kupiec // ACM SIGIR conference on Research and development in information retrieval, 1993 P. 181-190
8. Zue, S. Seneff, J. Glass, J. Polifroni, C. Pao, T.J. Hazen, and L. Hetherington. JUPITER: A telephone-based conversational interface for weather information. IEEE Transactions on Speech and Audio Processing, 2000, Vol. 8 No, 1.
9. Pundge A. Online learning different approaches and necessity for assessment. // The international conference on recent trends and challenges in science and Technology (RTCST2014), 2014 at padmashri vikhe patil college of Arts, science and commerce.
10. Cai D, Dong Y, Lv D, Zhang G, Miao X. A Web-based Chinese question answering with answer validation. // IEEE International Conference on Natural Language Processing and Knowledge Engineering, pp. 499-502, 2005.
11. Soricut R and Brill E. Automatic question answering using the web. Beyond the factoid. // Journal of Information Retrieval-Special Issue on Web Information Retrieval, 2006, Vol. 9 No. 2, P. 191-206.
12. Ravichandran D., Ittycheriah A, Automatic Derivation of surface text pattern for a maximum Entropy Based question answering system // Work done while the author was an intern at IBM TJ Watson research center during summer 2002.
13. Vanitha Guda. Approaches for question answering systems // International Journal of Engineering science and technology (IJEST), 2011, Vol.3 No.2
14. Xin Li, Dan Roth, 2002. Learning Question Classifiers // COLING 2002
15. WordNet https://wordnet.princeton.edu/
16. Moldovan D., Harabagui S., Paca M., Mihalcea R., Goodrum R., Girju R., Rus V., // TREC-8, 1999
17. Pasca, M. Open-Domain Question Answering from Large Text Collections. // CSLI, 2003.
18. Kwiatkowski T., Zettlemoyer L., Goldwater S., Steedman M. Lexical generalization in CCG grammar induction for semantic parsing // EMNLP ’11 Proceedings of the Conference on Empirical Methods in Natural Language Processing, P. 1512-1523
19. Zettlemoyer L.S., Collins M., Learning to Map Sentences to Logical Form: Structured Classification with Probabilistic Categorial Grammars // Proceedings of the Twenty-First Conference on Uncertainty in Artificial Intelligence (UAI2005), 2005. P. 658-666
20. A Very Short Introduction to CCG by Mark Steedman (Draft) http://www.inf.ed.ac.uk/teaching/courses/nlg/readings/ccgintro.pdf
21. Speech and Language Processing. Daniel Jurafsky & James H. Martin. draft http://www.deepsky.com/ merovech/voynich/voynich_manchu_materials/PDFs/
22. Artzi Y. Cornell SPF: Cornell Semantic Parsing Framework https://arxiv.org/pdf/1311.3011.pdf