3. Программа Mystem
│ Mystem – свободно распространяемый морфологический анализатор
для русского языка, созданный в Яндексе
http://api.yandex.ru/mystem/
Первая версия программы была написана Ильёй Сегаловичем
и его коллегами ещё в 1997 году
6. А если слова нет в словаре?
я иду {идти} по ковру {ковёр}
мы идем {идти} по коврём {коврать?}
ты идешь {идти} по коврёшь {коврать?}
вы идете {идти} по коврёте {коврать?}
он идет {идти} по коврёт {коврать?}
они идут {идти} по коврут {коврать?}
7. А если слова нет в словаре?
«Глокая куздра штеко будланула бокра и курдячит бокрёнка»
Л. В. Щерба
глокая {глокать? глокий?}
куздра {куздра?}
штеко {штекий? штеко?}
будланула {будланул? будланула? будлануть?}
бокра {бокр? бокра? бокрый?}
и {и}
кудрячит {кудрячит? кудрячита? кудрячитый? кудрячить?}
бокренка {бокренк? бокренка? бокренок?}
10. Программа Mystem: новая версия
│ Мы представляем версию Mystem 3.0
http://api.yandex.ru/mystem/
│ Её отличия:
› ранжирование разборов и снятие омонимии
› поддержка фикслистов
› разные форматы ввода-вывода
14. Частоты для ранжирования
› Берём из подкорпуса со снятой омонимией Национального
корпуса русского языка
› Учитываем частоты слов из веба
│ Однако корпус не полон, и запоминать частоты для каждой
словоформы расточительно. Поэтому мы «факторизуем» частоты,
настраивая их отдельно для:
› окончаний каждой схемы
› основ каждой схемы
› самих морфологических схем
15. Более формально
Пусть зафиксирована парадигма (схема разбора) scheme,
и в слове word выделены основа stem и окончание flex.
Считаем, что события «встретить основу слова» и «встретить окончание слова»
в рамках этой схемы независимы.
𝑃(𝑠𝑐ℎ𝑒𝑚𝑒| 𝑤𝑜𝑟𝑑)=
= 𝑃(𝑤𝑜𝑟𝑑| 𝑠𝑐ℎ𝑒𝑚𝑒)𝑃(𝑠𝑐ℎ𝑒𝑚𝑒)/𝑃(𝑤𝑜𝑟𝑑) =
= 𝑃(𝑠𝑡𝑒𝑚| 𝑠𝑐ℎ𝑒𝑚𝑒)𝑃(𝑓𝑙𝑒𝑥| 𝑠𝑐ℎ𝑒𝑚𝑒)𝑃(𝑠𝑐ℎ𝑒𝑚𝑒)/𝑃(𝑤𝑜𝑟𝑑) .
16. Оценка качества
Мы тестировали программу на подкорпусе НКРЯ со снятой омонимией,
выбирая самую вероятную лемму из предложенных
│ Стратегии:
› Первая по алфавиту лемма: 89%
› Лемма с самой частотной парадигмой: 90%
› Самая вероятная лемма в новой модели: 95,5%!
17. Снятие омонимии
› Опция -d включает переранжирование разборов с учётом контекста
› Модель обучена с помощью технологии машинного обучения MatrixNet
› В качестве факторов используются в том числе «нормализующие
подстановки» из модели Ю. Зеленкова, И. Сегаловича и В. Титова
(Диалог-2005)
› Точность первого разбора (по тексту леммы) составляет 97,8%
18. Пример
./mystem -n ./mystem -n -d
сорока жила на горе сорока жила на горе
сорока {сорок|сорока} сорока {сорока}
жила {жить|жила|жило} жила {жить}
на {на} на {на}
горе {горе|гора|гор} горе {гора}
19. Дополнительные опции
› Опция --generate-all строит все гипотезы для неизвестных слов,
а не только те, где совпадение с образцом максимально
› Опция --filter-gram разрешает строить только разборы с указанными
грамматическими тегами
mystem --filter-gram V
батарея {батареть?=V,несов,нп=непрош,деепр}