?

Log in

No account? Create an account

Компьютерная лингвистика

Новостная лента www.solarix.ru

Entries by tag: вероятностная русская морфология

Актуальная русская словарная база с моделями POS Tagging, syntax parsing и лемматизации
kelijah
Обучение всех моделей для русской словарной базы закончилось. Файлы моделей и прочие запчасти лежат в папке https://github.com/Koziev/GrammarEngine/tree/master/src/bin-windows64

Перед использованием надо распаковать *.zip файлы, так как они превышают предельный размер для репозитория в github'е.

Сеточные char-level модели морфологического анализа и лемматизации для MorphoRuEval 2017
kelijah

Далее будут кратко описаны три модели. Две модели для частичной разметки соответствуют последовательным экспериментам по выбору общей архитектуры. Условно они называются Model1 и Ensemble. Модель лемматизации общая, ансамбль для нее я не делал, хотя это безусловно возможно и даже желательно.


Исходные тексты можно найти на гитхабе: https://github.com/Koziev/MorphoRuEval2017

Read more...Collapse )
PS: Ансамбль будет описан отдельно.

Синтаксический парсер и модуль частеречной разметки под Windows 64
kelijah
Выложил на сайте последнюю сборку парсера и part-of-speech tagger'а с самой актуальной русской словарной базой: www.solarix.ru/for_developers/download/win/parser-ru-Win64.7z (80 Мб)

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

В следующем релизе планирую включить новую модель русской лемматизации. В ней учтены такие морфологические явления, как использование приставок для образования суперлатива прилагательного, компаратива прилагательного и наречия:

наикрасивейший-красивый
покрасивее-красиво/красивый

Закончился расчет модели для русского Part-Of-Speech Tagger'а с L1 регуляризацией
kelijah
Четверо суток продолжался пересчет новой модели русской частеречной разметки с найденными в ходе random search'а оптимальными параметрами регуляризации L1=0.1 L2=0.5

Новая версия: ошибаемость=1.08%  размер=17,195,012 байта
Старая версия:  ошибаемость=1.11%  размер=76,889,132 байта

Таким образом, отбито 4 сотых процента в точности, и благодаря L1 модель сжалась в пяток раз. Но время расчета модели выросло раза в два.

Подбор метапараметров CRF/LBFGS для POS Tagger's
kelijah
В этом цикле обновления парсера и POS Tagger'а я решил немного поиграться параметрами оптимизатора, попробовать выжать парочку сотых процента в точности.
Read more...Collapse )

Новый релиз парсера с русской словарной базой под Win32
kelijah
Новый, расширенный русский лексикон.
Доработанная русская морфологическая модель.
Вероятностные модели обучены но новой версии эталонного корпуса.
Подключена новая модель вероятностного русского лемматизатора, который учитывает контекст слова.

Страница с описанием с ссылкой на скачивание: http://www.solarix.ru/parser.shtml

Сейчас этот релиз парсера обкатывается на задаче разбора отзывов. Собираю багрепорты, которые будут учтены в следующей версии. Также в следующем релизе будет добавлена большая порция словарных статей в русский лексикон.

Лемматизация в новой версии парсера
kelijah
На тестовых данных выглядит очень многообещающе и даже чудесно.
Исходное предложение:

Хазяин беспакоится за чистату басейна.

Результат частеречной разметки и лемматизации в новой версии парсера, которую я сейчас обучаю на новом корпусе:
Read more...Collapse )

Таким образом, движок смог скорректировать все опечатки в этом предложении!

Остается вопрос со слиянием и дроблением слов, то есть с ошибками типа "вобщем". Из общих соображений, задача должна решиться с помощью обычной language model, которая сможет присвоить вероятность цепочке слов при наличии множества oov. Из множества альтернатив я пока выбрал два варианта для экспериментальной реализации:

1. старая и очень добрая Kneser-Ney language model
2. многообещающий класс RNN language model типа тынц или тынц

Релиз версии 14.10 синтаксического парсера с ru/en базами и моделями
kelijah

Для скачивания и свободного использования подготовлены два варианта синтаксического парсера под 32-битную Windows:

Русская словарная база объемом 275,136 статей, 3,718,970 словоформ

Английская словарная база объемом 274,982 статьи, 473,971 словоформа

RU парсер 79.5 Мб

EN парсер 19.6 Мб

В состав архива русского парсера входит вероятностная модель русской морфологии (part-of-speech tagger), русского синтаксиса, обученная на текущем эталонном корпусе, и новая модель лемматизатора.

В состав английского парсера входят вероятностные модели английской морфологии и синтаксиса.

Оба парсера включают в себя все необходимое, не требуют установки и регистрации в системе каких-либо компонентов, и не оставляют следов в реестре и системных папках.

Пример запуска парсера с правильным набором параметром - файл run.cmd


Лемматизация с учетом морфологического контекста - тестовый забег нового лемматизатора в парсере
kelijah
(начало тут http://kelijah.livejournal.com/173429.html)
Вот простой пример того, как правильное определение морфологического контекста слова позволяет правильно выбрать лемматизирующее правило.
Исходное предложение: Гораздо интереснее обстоят дела с интерконнектом и программным обеспечением.

Слово интерконнектом не словарное. Как получить его нормальную форму? Если действовать просто по аналогии, то можно попасть в ловушку неоднозначных падежных окончаний. Например, есть слово коннектом, поэтому вне контекста можно ошибочно предположить, что интерконнектом является нормальной формой. Это неправильно, так как в этом контексте намного более вероятно, что перед нами форма существительного (а не краткая форма прилагательного типа "знаком") в творительном падеже, а у него обычно применяется другое правило получения нормальной формы. Как определить эти ключевые морфологические признаки? С помощью штатного алгоритма part-of-speech tagging, который использует вероятностную модель русской морфологии. Именно так работает новый лемматизатор в составе персера:

<token>
<word is_unknown='true'>интерконнектом</word>
<position>5</position>
<lemma>интерконнект</lemma>
<part_of_speech>СУЩЕСТВИТЕЛЬНОЕ</part_of_speech>
<tags>ЧИСЛО:ЕД|ПАДЕЖ:ТВОР|ПАДЕЖВАЛ:РОД|РОД:МУЖ</tags>
</token>
<token>

В выдаче парсера видно, какие морфологические признаки парсер выбрал для этого слова на основе контекста, и что выбранное правило лемматизации дает верную нормальную форму (лемму) интерконнект. Ура-ура.

А что получится из случая с Оливером?

Исходный текст изобилует несловарной лексикой и ставит парсер в трудное положение:

Случай с Оливером...Collapse )
Неполный список примеров правильной лемматизации:
Read more...Collapse )

Заметим, что лемматизация может иногда сталкиваться с пропажами гласных:

- <token>
<word is_unknown="true">подстоголками</word>
<position>1</position>
<lemma>подстоголок</lemma>
<part_of_speech>СУЩЕСТВИТЕЛЬНОЕ</part_of_speech>
<tags>ОДУШ:НЕОДУШ|ЧИСЛО:МН|ПАДЕЖ:ТВОР|РОД:ЖЕН</tags>
</token>

В рамках вероятностной модели не обойтись без досадных ошибок:

Read more...Collapse )

Новая модель лемматизации, заточенная под задачу Named Entry Recognition
kelijah
Новая модель лемматизации работает поверх морфологической модели, и поэтому лучше приспособлена к работе с несловарными элементами - всякими фамилиями, названиями и так далее.

Эта модель будет включена в следующую версию Парсера.

Простой (отладочный) пример. На входе - предложение "Я встретил В.И.Ленина".

На выходе парсера имеем такую частеречную разметку:
Read more...Collapse )

Обратим внимание на следующий элемент:
Read more...Collapse )