ВВЕДЕНИЕ 4
ГЛАВА 1. АВТОМАТИЧЕСКЙ СИНТАКСИЧЕСКИЙ АНАЛИЗ 6
1.1 Синтаксический анализ в задачах автоматической обработки текстов ... 6
1.2 Представление синтаксической информации 7
1.2.1 Грамматика зависимостей 8
1.2.2 Грамматика составляющих 9
1.2.3 Сравнение грамматики зависимостей и грамматики составляющих 11
1.2.4 Формальные грамматики в синтаксическом анализе 12
1.3 Обзор существующих инструментов и ресурсов 14
1.5 Входные данные для синтаксического анализа. Предобработка текста 18
1.6 Токенизация 19
1.7 Морфологический анализ и снятие морфологической
неоднозначности 20
1.6 Модуль синтаксического анализа в NLTK 21
1.6.1 Проект NLTK4RUSSIAN 21
1.6.2 Синтаксический анализ в NLTK 22
ГЛАВА 2. АРХИТЕКТУРА РАЗРАБАТЫВАЕМОГО СИНТАКСИЧЕСКОГО
АНАЛИЗАТОРА И ОЦЕНКА ЕГО РАБОТЫ 25
2.1 Особенности используемой категориальной грамматики 25
2.2 Правила выделения синтаксических групп 28
2.2.1 Принципы организации системы правил 28
2.2.2 Правила уровня клаузы и предложения 30
2.2.3 Правила объединения в именную группу (NP) 32
2.2.2 Правила объединения в глагольную группу (VP) 35
2.2.4 Другие правила 38
2.3 Программная реализация инструмента 39
2.3.1 Используемое программное обеспечение 39
2.3.2 Морфологический компонент 39
2.3.3 Алгоритм работы программы 41
2.3.4 Выходные данные 43
2.4 Оценка результатов 47
2.4.1 Метод оценки 47
2.4.1 Анализ результатов и ошибок 52
ГЛАВА 3. ПРИМЕНЕНИЕ. ЭКСПЕРИМЕНТЫ ПО ИЗВЛЕЧЕНИЮ
КЛЮЧЕВЫХ СЛОВОСОЧЕТАНИЙ 55
ЗАКЛЮЧЕНИЕ 60
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 61
ПРИЛОЖЕНИЕ А. Разработанная грамматика 67
ПРИЛОЖЕНИЕ Б. Корпус тестовых предложений 70
Задачи, связанные с автоматической обработкой данных, становятся все более и более востребованными в современном мире, и значительную часть этих данных представляют тексты, написанные на естественном языке, что является предметом изучения лингвистики. Одним из наиболее сложных этапов обработки текста, предшествующих семантическому анализу, является анализ синтаксический. Целью данного исследования является разработка синтаксического анализатора (парсера) для русского языка на основе ресурсов платформы NLTK и изучение его возможностей.
В соответствии с поставленной целью работы сформулированы следующие задачи исследования:
• проанализировать существующие теоретические подходы и инструменты для автоматического синтаксического анализа;
• разработать систему правил для выделения синтаксических групп;
• записать результаты в виде порождающей грамматики, работающей с NLTK;
• подключить к парсеру морфологический анализатор;
• провести оценку работы парсера и проанализировать встретившиеся ошибки и сложные случаи.
Предметом данного исследования являются синтаксические отношения в русском языке и способы их отражения в парсере, работающем на основе порождающей грамматики и групп составляющих. Материалом данного исследования стали представительные выборки русскоязычных предложений, клауз, словосочетаний, в которых реализуются основные синтаксические отношения, выбранные для тестирования разработанной грамматики и основанного на ней парсера.
Актуальность данного исследования связана с востребованностью синтаксического анализа во многих задачах современной компьютерной лингвистики, таких как извлечение фактов, ключевых слов и словосочетаний, автоматического реферирования текстов и т.д. Несмотря на наличие множества разработок в данной области, существует лишь узкий круг инструментов, открытых для использования и пригодных без доработки для синтаксического анализа русскоязычных текстов. Платформа NLTK (Natural Language Toolkit) была выбрана как наиболее гибкая, содержащая основные алгоритмы для автоматической обработки текста, не требующая существенной перестройки для работы с русским языком, обладающая хорошей совместимостью и широким кругом инструментов для исследования и работы с естественным языком. В данной работе мы предлагаем формальную грамматику для русского языка и парсер на основе этой грамматики, созданный на открытой платформе, допускающий расширение и применимый в большом числе задач.
Теоретическая значимость данного исследования заключается в разработке набора правил, основывающихся на теоретических описаниях синтаксиса русского языка и на существующей практике автоматического синтаксического анализа. Правила, выработанные на основе теории, были переведены на язык формальной порождающей грамматики в формате, применяющимся в NLTK. Данные правила легли в основу функционирующего парсера, что обусловливает практическую значимость работы. Данная система правил, а именно выделение групп составляющих, была использована при оптимизации алгоритма извлечении ключевых выражений RAKE для работы с русским языком. Получившийся инструмент был протестирован на четырех русскоязычных корпусах текстов.
Апробация исследования: основное содержание диссертационного проекта представлено в двух публикациях [Москвина и др. 2016, 2017] и обсуждалось в докладах на конференциях.
В диссертационном исследовании мы осуществили описание основных явлений синтаксиса русского языка при помощи категориальной грамматики в терминах структур составляющих.
В ходе работы были выполнены все поставленные задачи:
• представлена теоретическая база исследования и обзор современного состояния синтаксического анализа в компьютерной лингвистике;
• разработана система правил, покрывающих основные синтаксические отношения, эта система правил представлена в виде формальной грамматики, работающей с инструментами NLTK и структурами составляющих;
• к парсеру подключен морфологический анализатор PyMorphy2, с помощью автоматического кодирования морфологических параметров словоформ в виде терминальных элементов в категориальной грамматике NLTK;
• проведена оценка работы созданного на основе данной грамматики инструмента, выделены основные преимущества и недостатки;
• предложено возможное применение подобного инструмента, представлены данные экспериментов по извлечению ключевых словосочетаний при помощи поверхностного синтаксического анализа и выделения групп составляющих в NLTK.
Возможные направления для развития исследования включают в себя ряд шагов для повышения точности синтаксического анализа: расширение и усовершенствование грамматики, подключение дополнительных инструментов для получения более подробной информации о словоформах на уроне токенизации, а также применение парсера для разнообразных задач автоматической обработки текста и его интеграция с другими инструментами NLTK.
1. АОТ: Синтаксический анализ. Построение дерева зависимостей всего
предложения [Электронный ресурс] // Aot.ru: информ.-справочный портал. URL: http: //www.aot.ru/docs/synan.html(дата обращения:
17.05.2017).
2. Апресян, Ю.Д. Синтаксически и семантически аннотированный корпус русского языка: современное состояние и перспективы / Ю.Д. Апресян, И.М. Богуславский, Б.Л. Иомдин // Национальный корпус русского языка 2003-2005 г. Результаты и перспективы. М.: Индрик, 2005. — С. 193-214.
3. Буторов, В. Д. Моделирование синтаксиса естественного языка / В. Д. Буторов; В. В. Богданов; Г. Я. Мартыненко; А. С. Штерн; И. В. Азарова. Прикладное языкознание / отв. ред. А. С. Герд - СПб. : Изд-во СПбГУ, 1996. - с. 142-161
4. Гладкий, А.В. Синтаксические структуры естественного языка в автоматизированных системах общения. / А.В. Гладкий. М.: Наука, 1985. — 144 с.
5. Дружкин, К.Ю. Синтаксический анализатор лингвистического процессора. Этап 3: эксперименты по ранжированию синтаксических гипотез. / К.Ю. Дружкин, Л.Л. Цинман; ред. А.Е. Кибрик. // В кн.: Компьютерная лингвистика и интеллектуальные технологии. По материалам ежегодной международной конференции «Диалог» (2008). — М.: Изд-во РГГУ, 2008. — Вып. 7 (14). — С. 147-153.
6. Иорданская, Л.Н. Автоматический синтаксический анализ. Том 2. Межсегментный синтаксический анализ. / Л.Н. Иорданская; ред. А.А. Ляпунова, О.С. Кулагина. Новосибирск: Наука, 1967.
7. Каневский, Е.А., Семантико-синтаксический анализатор SEMSIN. / Е.А. Каневский, К.К. Боярский; ред. А.Е. Кибрик. // Научно¬технический вестник информационных технологий, механики и оптики. — СПб: Университет ИТМО, 2015. — Т. 15 — № 5 — С. 869-876.
8. Мельчук И.А. Автоматический синтаксический анализ. Т. 1. Общие принципы. Внутрисегментный синтаксический анализ. / И.А. Мельчук; ред. А.А. Ляпунова, О.С. Кулагина. Новосибирск: Наука, 1967.
9. Мельчук И.А. Опыт теории лингвистических моделей «Смысл <=> Текст». / И.А. Мельчук. М.: Школа «Языки русской культуры», 1999 — 346 с.
10. Митрофанова, О.А. Вероятностное моделирование тематики
русскоязычных корпусов текстов с использованием компьютерного инструмента GenSim // Труды международной конференции «Корпусная лингвистика-2015». СПб., 2015.
11. Москвина А.Д. Разработка ядра синтаксического анализатора для
русского языка на основе библиотек NLTK. / А.Д. Москвина, Д. Орлова, П.В. Паничева, О.А. Митрофанова. // Компьютерная
лингвистика и вычислительные онтологии. Труды XIX Международной объединенной научной конференции «Интернет и современное общество». СПб: Университет ИТМО, 2016. — С.44-54.
12. Паничева П.В. Разработка лингвистического комплекса для морфологического анализа русскоязычных корпусов текстов на основе Pymorphy и NLTK. / Е.В. Протопопова, О.А. Митрофанова, А.Р. Мирзагитова. // Труды международной конференции “Корпусная лингвистика - 2015”. СПб: СпбГУ, 2015.
13. Протасов, С.В. Преимущества грамматики связей для русского языка // Труды международной конференции «Диалог 2005». М., 2005.
14. Русская грамматика. Т. 2: Синтаксис / гл. ред. Н. Ю. Шведова. М.: Наука, 1980.
15. Старостин, А.С. Алгоритм синтаксического анализа, используемый в системе морфо-синтаксического анализа «TREETON» / А.С.
Старостин, М.Г. Мальковский; ред. Л.Л. Иомдин, Н.И. Лауфер, А.С. Нариньяни и др. // В кн.: Компьютерная лингвистика и
интеллектуальные технологии: Труды международной конференции «Диалог 2007». — М.: Изд-во РГГУ, 2007. — С. 516-524.
16. Старостин, А.С., Арефьев Н.В., Мальковский М.Г. Синтаксический анализатор «Treevial». Принцип динамического ранжирования гипотез. / А.С. Старостин, Н.В. Арефьев, М.Г. Мальковский; ред. А.Е. Кибрик. // В кн.: Компьютерная лингвистика и интеллектуальные технологии. По материалам ежегодной международной конференции «Диалог» (2010).
— Вып. 9 (16). М.: Изд-во РГГУ, 2010. — C. 477-490.
17. Тестелец, Я.Г. Введение в общий синтаксис. / Я.Г. Тестелец. М.: Изд-во РГГУ, 2001.
18. Толдова, С.Ю. Оценка методов автоматического анализа текста 2011-2012: синтаксические парсеры русского языка. / Е.Г. Соколова, И. Астафьева, А. Гарейшина; ред. А.Е. Кибрик// В кн.: Компьютерная лингвистика и интеллектуальные технологии. По материалам ежегодной международной конференции «Диалог» (2012). — Вып. 11.
— Т.2. — М.: Изд-во РГГУ, 2012. — C. 78-92.
19. Фитиалов, С.Я. Формальные грамматики. / С.Я. Фитиалов. Л., 1984.
20. Aho, A. V. and Ullman J. D. Theory of Parsing, Translation and Compiling, Vol. 1. Englewood Cliffs, NJ: Prentice Hall, 1972
21. Anisimovich K. V. Syntactic and semantic parser based on ABBYY Compreno linguistic technologies. / K. V. Anisimovich, K. Ju. Druzhkin, F. R. Minlos et al.; ред. А.Е. Кибрик. // В кн.: Компьютерная лингвистика и интеллектуальные технологии. По материалам ежегодной международной конференции «Диалог» (2012). — Вып. 11. — Т.2. — М.: Изд-во РГГУ, 2012. — C. 91-106.
22. Antonova A. A., Misyurev A. V. Russian dependency parser SyntAutom at the DIALOGUE-2012 parser evaluation task. / A. A. Antonova, A. V. Misyurev; ред. А.Е. Кибрик. // В кн.: Компьютерная лингвистика и интеллектуальные технологии. По материалам ежегодной международной конференции «Диалог» (2012). — Вып. 11. — Т.2. — М.: Изд-во РГГУ, 2012. — C. 104-119.
23. Bird, S. Natural Language Processing with Python: Analyzing Text with the Natural Language Toolkit. / S. Bird, E. Klein, E. Loper. Beijing, 2009.
24. Bloomfield, L. Language. New York, 1933.
25. Gildea, D. Synchronous Context-Free Grammars and Optimal Parsing Strategies. / D. Gildea, G. Satta // Computational Linguistics. 2016. - Vol. 42, No. 2: 207-243.
26.Iomdin L. ETAP parser: state of the art. / L. lomdin, V. Petrochenkov, V. Sizov et al.; ред. А.Е. Кибрик. // В кн.: Компьютерная лингвистика и интеллектуальные технологии. По материалам ежегодной международной конференции «Диалог» (2012). — Вып. 11. — Т.2. — М.: Изд-во РГГУ, 2012. — C. 119-136.
27. Kahane, K. Why to choose dependency rather than constituency for syntax: a formal point of view. In J. Apresjan, M.-C. L’Homme, M.-C. lomdin, J. Milicevi ' c, A. Polguere, and L. Wanner, editors, Meanings, Texts, and other exciting things: A Festschrift to Commemorate the 80th Anniversary of Professor Igor A. Mel’vcuk, pages 257-272. Languages of Slavic Culture, Moscow, 2012.
28. Kakkonen T., Sutinen E. (2006) Towards a Framework for Evaluating Syntactic Parsers. / T. Kakkonen, E. Sutinen; eds.: T. Salakoski, F. Ginter, S. Pyysalo et al. // Advances in Natural Language Processing. Lecture Notes in Computer Science, vol 4139. Springer, Berlin, Heidelberg.
29. Kakkonen, T. Framework and Resources for Natural Language Parser Evaluation. // Computer Science Dissertation 19. Joensuu: University of Joensuu, 2007.
30. Korobov, M. Morphological Analyzer and Generator for Russian and Ukrainian Languages. Analysis of Images, Social Networks and Texts: 4th International Conference, AIST 2015. Communications in Computer and Information Science, Springer. Yekaterinburg, 2015.
31. Levine, R.D. Head-Driven Phrase Structure Grammar Linguistic Approach, Formal Foundations, and Computational Realization. / R.D. Levine, W. D. Meurers. The Ohio State University.
32. Marneffe, de M.-C. Generating Typed Dependency Parses from Phrase Structure Parses. / M.-C. de Marneffe, B. MacCartney, C. D. Manning. 2006.
33. Mirroshandel, S.A. Integrating Selectional Constraints and
Subcategorization Frames in a Dependency Parser Free Access. S.A. Mirroshandel, A. Nasr // Computational Linguistics. Vol. 42, No. 1: 55-90. 2016.
34. Nivre, J. Dependency Grammar and Dependency Parsing. 2007.
35. Nivre, J. Maltparser: A language-independent system for data-driven dependency parsing. / J. Nivre, J. Hall, J. Nilsson et al. //Natural Language Engineering. 2007. - 13:95-135
36. Pollard, C. Head-Driven Phrase Structure Grammar. / C. Pollard, I. A. Sag. Chicago: University of Chicago Press and Stanford, 1994.
37. Rose S.J., Cowley W.E., Crow V.L., Cramer N.O. (2009), Rapid Automatic
Keyword Extraction for Information Retrieval and Analysis. / Rose S.J., Cowley W.E., V.L. Crow et al. // URL:
http: //www. google.co.ve/patents/U S8131735
38.Sharoff S. The proper place of men and machines in language technology: Processing Russian without any linguistic knowledge. / S. Sharoff, J. Nivre; ред. А.Е. Кибрик. // В кн.: Компьютерная лингвистика и
интеллектуальные технологии. По материалам ежегодной международной конференции «Диалог» (2011). — Вып. 10. — Т.2. — М.: Изд-во РГГУ, 2011. — C. 591-604.
39.Sleator, D. Parsing English with a Link Grammar. / D. Sleator, D. Temperley. // Carnegie Mellon University Computer Science technical report CMU-CS-91-196, October 1991.
40. Taylor, A. (2003). The Penn treebank: An overview. / A. Taylor, M. Marcus, B. Santorini; ed. A. Abeille. // Building and Using Parsed Corpora, volume 20 of Text, Speech and Language Technology. Springer, 2003.
41. Zhang, X. Transition-Based Parsing for Deep Dependency Structures. / X. Zhang, Y. Du, W. Sun et al. // Computational Linguistics. 2016 - Vol. 42, No. 3: 353-389.