Для множества задач обработки естественного языка (таких как извлечение именованных сущностей, вопросно-ответные системы и т.д.) куда эффективнее и экономичнее использовать частичный синтаксический анализ (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-200 (всего 10.000 случайных предложений). Задача многоклассовой классификации, где объектами являются слова в предложениях, целевыми переменными (targets) – теги чанков. В качестве признаков были выбраны следующие параметры:
Был выбран контекст +- 2, то есть от заданного слова плюс/минус два токена вокруг
Были испробованы различные алгоритмы машинного обучения. Логистическая регрессия показала наилучший результат около 88%. Демо чанкера и обученная модель системы доступны по ссылке.