Практический морфоанализатор санскрита — Морфей (Михаил Быков, OSEDUCONF-2015)

Материал из 0x1.tv

Аннотация

Докладчик
Михаил Быков.jpg
Михаил Быков

Создан практический морфоанализатор санскрита, то есть программа, определяющая словарное значение и морфологическое описание по словоформе (обратная задача).

Практический — потому что (прямая) задача порождения всех словоформ по словарному значению (гораздо более сложная) — не решалась. Вместо этого использовались тесты (словарное значение — словоформа), скопированные из сети.

Программа имеет более 10 тыс. тестов

Видео

on youtube

Посмотрели доклад? Понравился? Напишите комментарий! Не согласны? Тем более напишите.


Тезисы

На примере санскрита (который считается сложным языком) показано, что задача создания морфоанализатора для флективного языка не так уж и страшна, не боги горшки обжигают. В v.1 анализатора Морфей обрабатываются отдельные слова. Тесты проходят для более чем 98% частотного словаря, без учета составных слов. v2 будет уметь обрабатывать и составные слова. Что даст 98% на реальном частотном словаре.

Для разработки выбран nodejs, вместо ruby.

Это сделано из соображений удобства — один язык в браузере, в couchDB и собственно в анализаторе. Модули программы используются во всех трех средах без изменения. Кроме того, переход с руби ускорил работу программы в 3–4 раза (оценка на глазок).

Недостатком выбранного подхода является то, что программа находит правильное словарное значение по словофрме в данном тесте. Но кроме того она находит еще множество иных словарных значений.

Также правильных — в большинстве случаев. Однако тест не позволяет определить, нет ли в результате лишних значений. Но определяет только то, что среди найденных значений правильное — есть.

Для того, чтобы решить эту проблему, нужно уметь решать прямую задачу — порождать все словоформы по словарному значению.

Для санскрита это возможно с помощью использования алгоритма, описанного в книге «Аштадхяйи», написаной Панини ок IV в. BC. Я планирую сделать это в v.3, если Бог даст.

Аналогичные прграммы (использованные мной для порождения тестов) можно посмотреть здесь:

Примечания и отзывы


Plays:84   Comments:0