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

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

(Видео)
== Видео ==

{{vimeoembed|118003837|800|450}}
{{youtubelink|}}|leJv6Ovr2Fw}}
{{oseduconf-2015-draft}}

<poll>
ALTERNATIVE
REVOTE
UNIQUE
Оцените доклад «{{PAGENAME}}»:
Отлично!
Хорошо.
Нормально…
Не очень :(

Версия 01:39, 22 марта 2015

Аннотация

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

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

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

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

Видео

on youtube


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

  •  Отлично!
  •  Хорошо.
  •  Нормально…
  •  Не очень :(
  •  Просто хочу узнать результаты.


Тезисы

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

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

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

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

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

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

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

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

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