Автоматический синтаксический анализ
Хотите узнать, как с помощью автоматического синтаксического анализа машины создают осмысленные тексты, нейросети помогают журналистам и копирайтерам, а лингвокриминалисты решают, кто прав, а кто виноват? Мы заглянем внутрь этих процессов и посмотрим, какие механизмы лежат в их основе!
Что такое автоматический синтаксический анализ?
Обработка естественного языка (Natural Language Processing) ー на сегодняшний день одна из самых популярных областей науки о данных. Последние достижения в этой сфере знаний позволяют создавать приложения, с исключительной точностью распознающие текст и речь.
Рассмотрим ситуацию: мы создаем свою поисковую систему. Чтобы что-то найти с ее помощью, нужно задать некоторый запрос (чаще всего это целое предложение).
Чтобы наш поисковик понимал, что требуется найти, должен быть проведен автоматический анализ текста запроса, то есть операция, которая из заданного текста на естественном языке извлечет его грамматическую и смысловую информацию.
Эта операция проводится по некоторому алгоритму:
Такая иерархия элементов может быть представлена линейной последовательностью элементов (Схема 1) или же в виде дерева (Схема 2).
Схема 1
Для чего используется автоматический синтаксический анализ?
- Генерация текстов
Нейросетевой моделью RuGPT-3 заинтересовались студенты 3 курса Полина Савинова, Егор Жариков, Вита Зайцева и Евгения Парешина в рамках дисциплины «Программирование для лингвистов».
На основе данной модели студенты создали генератор анекдотов. Представляем вашему вниманию результат (орфография и пунктуация «автора» сохранены):
- Автоматическое реферирование (суммаризация)
Попробуйте проверить себя и найти оригинальный заголовок статьи среди автоматически сгенерированных названий.
3. Задымление произошло в вагоне поезда Москва - Фрязино Ярославского направления.
Барабанная дробь… Оригинальный заголовок – под номером 1.
- Определение авторства произведений (атрибуция)
Так, на примере этого конкретного случая можно говорить о том, что автоматические методы обработки естественного языка сейчас в полной мере стоят на страже закона и порядка.
Сложности при парсинге
Большинство проблем в работе парсеров связано с понятием неоднозначность.
Что такое неоднозначность?
Смысл данного термина вытекает из самого его названия – языковая единица имеет не одно значение, а два или больше.
- Морфологическая омонимия возникает, когда слова, принадлежащие к разным частям речи, совпадают в одной или нескольких грамматических формах.
В первом случае светило представляет собой существительное со значением «небесное тело, излучающее свет», а во втором случае светило – глагол с семантикой «излучать свет».
- Синтаксическая омонимия – двусмысленность, которая возникает в предложении из-за возможности по-разному интерпретировать отношения между словами. Подробно о ней можно прочитать в этой статье.
Однако как справится с такими ситуациями парсер?
Ниже представлены результаты работы библиотек UDPipe и SpaCy в сопоставлении с ручной разметкой.
Парсеры оказались невосприимчивы к морфологической омонимии, поэтому в обоих случаях определили словоформу светило как глагол.
Однако синтаксические связи внутри деревьев, построенных парсерами, оказались разными.
- Библиотека UDPipe построила неверную связь от существительного светило к косвенному дополнению студентам. На самом деле, эта связь должна была возникнуть от глагола светило к косвенному дополнению студентам.
- Библиотека SpaCy правильно создала все связи.
Библиотеки UDPipe и SpaCy представили только одну интерпретацию данного предложения.
Таким образом, можно сделать вывод, что парсеры не допускают двусмысленности при создании синтаксического дерева. Пользователь всегда получит только одну интерпретацию предложения, хотя оба синтаксических толкования могут быть правильны.
Итак, в статье мы рассмотрели одно из важных направлений исследований в области компьютерной лингвистики и синтаксиса. Мы узнали, что такое автоматический синтаксический анализ и с помощью чего он осуществляется. Увидели, с какими трудностями сталкиваются парсеры, и обратили внимание на основные лингвистические проблемы, которые на данный момент препятствуют точной обработке текста.
Хотя задача повышения точности работы парсеров нетривиальна, многие специалисты в области компьютерной лингвистики и машинного обучения всё же стараются её решить.
Кто знает, может быть именно вы поможете компьютеру понять все лингвистические тонкости текста?...
Автор: Карина Закирова, Ирина Новикова, Василиса Блюдова, Екатерина Кондрашова (20ФиПЛ)
- Большакова Е.И., Воронцов К.В., Ефремова Н.Э., Клышинский Э.С., Лукашевич Н.В., Сапин А.С. Автоматическая обработка текстов на естественном языке и анализ данных:учеб. пособие. М.: Изд-во НИУ ВШЭ,2017. 269 с.
- Степанов М.А. Генерация заголовков новостных статей, использующая стемы, леммы и граммемы // Компьютерная лингвистика и интеллектуальные технологии. 2019. С. 658-666.
- Раренко М. Б. Машинный перевод: от перевода «по правилам» к нейронному переводу //Социальные и гуманитарные науки. Отечественная и зарубежная литература. Сер. 6, Языкознание: Реферативный журнал. 2021. №. 3. С. 70-79.
- Бредогенератор
- Генератор светских бесед
- Балабола - генератор текстов
- Программа для автоматической обработки текста на русском языке - Natasha
- Джорджтаунский эксперимент