Для множества задач обработки естественного языка (таких как извлечение именованных сущностей, вопросно-ответные системы и т.д.) куда эффективнее и экономичнее использовать частичный синтаксический анализ (shallow parsing), нежели полный, так как он не предполагает обработки предложения
целиком, выявления отношения между всеми частями предложения.
Текстовый чанкинг - это один из методов частичного парсинга. Он заключается в разбиение текста на краткие фрагменты, так, что синтаксически связанные слова становятся членами одной группы. Эти фразы довольно грубые, не пересекающиеся, что означает, что одно слово может быть членом только одного чанка,
группы так же не могут быть вложены друг в друга.
Предложения, разбитые на чанки, принято записывать в скобочном виде.
Например: [PP На] [NP массивной деревянной доске] [PP с помощью] [NP клея
и лоскутов] [VP был сделан] [NP портрет] [NP патриарха Никона].
- предложить обоснованные правила разбиения предложений на все типы
синтаксически связанных фрагментов текста (чанков) для русского языка (правила происаны подробно в работе),
- создать стандартный набор данных по разработанным правилам из синтаксически
аннотированного корпуса (сделать его доступным онлайн),
- оценить возможности использования собранных данных
путем создания систем автоматического разбиения текста на чанки с помощью
методов машинного обучения (для полного чанкинга доступно демо-системы и выложена модель).
Доступна также система для выделения именных групп. Подробнее о её создании смотрите на странице.
Насколько известно авторам, нет готового аннотированного корпуса для русского языка, который бы уже содержал информацию о
разделении предложения на чанки соответствующего типа.
Данные для этого исследования были взяты из СинТагРуса (синтактически размеченного корпуса русского языка).
На его основе по правилам разбияения на чанки (подробнее см. документ) были созданы данные,
содержащие информацию не только грамматическую, но и о структуре чанков. Для последнего использовались BIO-теги (B-begin, I-inside, O-outside) – каждый токен получает в
данных тег составленный из имени группы и приставки BIO (например, B-NP, I-NP, O, B-PP, и т. д. ).
Грамматический разбор осуществлялся посредством морфологического анализатора TreeTagger.
Результирующие данные представлены в формате CoNLL-2000 – набор предложений, разделенный пустыми строками,
где предложения в свою очередь это список токенов – одна строка в данных это один токен, аннотированный грамматическим разбором и тегом чанка.
Для обучения модели была использована часть созданных данных
формата CoNLL-200 (всего 10.000 случайных предложений). Задача многоклассовой классификации,
где объектами являются слова в предложениях, целевыми переменными (targets) – теги чанков.
В качестве признаков были выбраны следующие параметры:
- 1) морфология слова-объекта
- 2) морфология слов слева от слова-объекта
- 3) морфология слова справа от слова-объекта
Был выбран контекст +- 2, то есть от заданного слова плюс/минус два токена вокруг
Были испробованы различные алгоритмы машинного обучения. Логистическая регрессия показала наилучший результат около 88%.
Демо чанкера и обученная модель системы доступны по ссылке.