Учёные факультета ВМК МГУ сравнили программы, которые определяют связи между словами в предложениях. Оказалось, что предварительное разделение текста на слова и знаки препинания влияет не только на показатели качества, но и на то, какая система показывает лучший результат. Авторы предложили методику, позволяющую подробнее разбирать причины таких различий. Работа опубликована в журнале Pattern Recognition and Image Analysis.
Системы синтаксического анализа определяют, как слова связаны друг с другом в предложении и к какому типу относятся эти связи. Их используют при оценке сложности текстов, извлечении информации и выявлении заимствований. Чтобы выбрать программу для конкретной задачи, разработчики сравнивают её ответы с заранее подготовленной эталонной разметкой.
Однако ещё до определения связей программа должна выделить отдельные элементы предложения — слова, знаки препинания и другие единицы. Этот этап называют токенизацией. Разные системы могут выполнять его по-разному: например, считать сочетание с дефисом одной единицей или разделять его на несколько. Если такое разбиение не совпадает с эталонным, это влияет на итоговую оценку синтаксического разбора.
Авторы проверили пять нейросетевых программ на пяти наборах русскоязычных текстов, включавших художественную литературу, публицистику, поэзию, электронное общение и энциклопедические материалы. Каждую систему испытали в двух режимах. В первом она самостоятельно разделяла предложение на элементы, во втором получала готовое разбиение из эталонной разметки. При этом синтаксические связи в обоих случаях программа определяла сама.
При использовании эталонного разбиения средние показатели качества были выше. На наборе русскоязычных текстов из «Википедии» изменился и лидер по показателю правильности определения связей без учёта их типа: при самостоятельном разбиении лучший результат показал набор инструментов Stanza, а при эталонном — DeepPavlov. Это означает, что при сравнении программ необходимо учитывать, выполняют ли они всю обработку самостоятельно или получают часть информации в готовом виде.
Чтобы объяснить такие различия, исследователи предложили разделять элементы предложения на категории: не совпавшие с эталоном, получившие неверную связь, связанные правильно, но с ошибкой в типе связи, и разобранные полностью верно. Такой анализ позволяет увидеть, какие изменения стоят за общей оценкой качества.
«Одинаковая итоговая оценка может скрывать разные проблемы. В одном случае программа иначе разделила предложение на слова и знаки препинания, в другом — неверно определила связи между уже выделенными словами. Для разработчика это разные задачи. Поэтому при выборе системы важно учитывать условия проверки и разбирать причины ошибок, а не ориентироваться только на общий показатель», — пояснила заведующий кафедрой алгоритмических языков факультета ВМК МГУ Наталия Лукашевич.
При этом эталонное разбиение не улучшало каждый отдельный результат. На некоторых предложениях качество снижалось, а связи могли меняться даже у слов, которых новое разбиение непосредственно не затронуло. Предложенная методика может использоваться для проверки систем после замены модуля предварительной обработки текста. Выводы исследования относятся к рассмотренным программам и русскоязычным наборам данных.
