?

Log in

No account? Create an account

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

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

Entries by tag: онлайн-словарь

Русский part-of-speech tagger, тренированный на 180 тыс. предложениях
kelijah
Вероятностная модель для снятия морфологической неоднозначности после тренировки на корпусе в 180,000 предложений показывает точность ~97.81% (или 2.19% ошибочных тегов).

Тестирование выполнялось на отложенных 10% от этого корпуса.

Файл данных модели вырос до ~90 Мб. В общем-то это очень немного, если сравнивать с моделью синтаксического парсера, где уже на 150k предложениях файл модели распух до ~240Мб.

Текущая морфологическая модель перенесена в тестовый онлайн-словарь http://178.64.252.139:8080/POSTagger.aspx

Пересчет русской морфологической модели и обновление парсера - 110 тысяч эталонных предложений
kelijah
Вероятностная модель пересчитана по эталонному корпусу в 110 тысяч предложений.
Время пересчета - около 8 часов.
Файл данных модели - 78 Мб.

В синтаксическую модель внесено несколько изменений для среднечастотных конструкций.

Ссылки на онлайн-версию словаря с обновлением:

Part-Of-Speech Tagger http://178.64.252.139:8080/POSTagger.aspx
Dependency Parser http://178.64.252.139:8080/Morphology.aspx

Part-Of-Speech Tagging for Russian: текущий пересчет модели
kelijah
Модель обучена на ~50,000 эталонных предложений с частеречной разметкой из нашего тестового TreeBank.

Объем файла сохраненной модели ~52 Мб

Время построения модели ~2 часа

Part-Of-Speech Tagger с этой моделью доступен на тестовом сервере по ссылке http://178.64.252.139:8080/POSTagger.aspx.

Обновление вероятностной модели морфологии на http://178.64.252.139:8080/POSTagger.aspx
kelijah

Закончился пересчет на 30 тысячах предложений (из 130 тысяч в эталонном корпусе) для модели морфологии на основе CRF + переходные вероятности, так что получается нормальный sequence labeling алгоритм.

Оптимизация системы занимает примерно час.

Получается файл размером около 38 Мб.

Вероятностная модель доступна в отладочном режиме (не круглосуточно) по ссылке:

http://178.64.252.139:8080/POSTagger.aspx

Для предложения "Его глаза уперлись в ее лицо" модель нормально снимает неоднозначность распознавания грамматических форм:


1 Его ПРИЛАГАТЕЛЬНОЕ СТЕПЕНЬ:АТРИБ КРАТКИЙ:0 ПАДЕЖ:ИМ ЧИСЛО:МН ТИП_ПРИЛ:ПРИТЯЖ
2 глаза СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ИМ ЧИСЛО:МН РОД:МУЖ ОДУШ:НЕОДУШ ПЕРЕЧИСЛИМОСТЬ:ДА
3 уперлись ГЛАГОЛ НАКЛОНЕНИЕ:ИЗЪЯВ ВРЕМЯ:ПРОШЕДШЕЕ ЧИСЛО:МН ПЕРЕХОДНОСТЬ:ПЕРЕХОДНЫЙ ПАДЕЖ:ТВОР ВИД:СОВЕРШ ВОЗВРАТНОСТЬ:0 МОДАЛЬНЫЙ:0
4 в ПРЕДЛОГ ПАДЕЖ:ВИН ПАДЕЖ:ПРЕДЛ ПАДЕЖ:МЕСТ
5 ее ПРИЛАГАТЕЛЬНОЕ КРАТКИЙ:0 СТЕПЕНЬ:АТРИБ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:СР ТИП_ПРИЛ:ПРИТЯЖ
6 лицо СУЩЕСТВИТЕЛЬНОЕ ПАДЕЖ:ВИН ЧИСЛО:ЕД РОД:СР ОДУШ:ОДУШ ПЕРЕЧИСЛИМОСТЬ:ДА



Распознавание слов: утилита WordRecognition как пример в SDK и онлайн
kelijah

Сделал очередной пример использования API грамматического словаря.

Программа WordRecognition, реализованная на C++, выполняет чтение слова из указанного в аргументах запуска текстового файла (utf-8), загружает грамматический словарь (http://www.solarix.ru/api/ru/sol_LoadDictionary.shtml), заполняет распознавание слова (http://www.solarix.ru/api/sol_ProjectWord.shtml) и печатает во второй текстовый файл все варианты распознавания.

В онлайн-версии (http://178.64.252.139:8080/WordRecognition.aspx) это выглядит так:



Программа крошечная, поэтому ее можно взять как основу для собственного кода. Например, можно изменить формат сохранения результатов, вместо plain text сделать xml или html. В ближайшем релизе SDK она появится в дистрибутиве, в том числе в ознакомительной версии.

В программе есть особенность, на которую можно наткнуться. Если задать несловарную цепочку символов, то морфологический анализатор движка выполнит распознавание с помощью имеющихся у него эвристик, но снаружи будут видны не все грамматические признаки. Например, для существительного могут быть не видны такие признаки, как падеж, число и род. Хотя они определены и известны парсеру, в чем можно убедиться с помощью утилиты POSTagger (отладочная онлайн версия морфологического анализатора доступна тут http://178.64.252.139:8080/POSTagger.aspx). Причина - недостатки в реализации функции API sol_ProjectWord.

Online Part-of-speech Tagger for Russian
kelijah

Выложил в тестовый онлайн утилиту POSTagger и текущую версию грамматического словаря с вероятностной моделью русской морфологии (Conditional Random Fields + Hidden Marcov Model):

http://178.64.252.139:8080/POSTagger.aspx

Модель обучена по относительно небольшой части корпуса (примерно 20%), что можно увидеть по некоторым результатам:



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


Глубокая переработка правил разбора сказуемого
kelijah

1. Переработан парсинг именного сказуемого в случаях, когда оно включает краткую форму прилагательного или страдательное причастие:

http://178.64.252.139:8080/Morphology.aspx?Phrase=%d0%a7%d0%b5%d0%bb%d0%be%d0%b2%d0%b5%d0%ba+%d0%b4%d0%be%d0%bb%d0%b6%d0%b5%d0%bd+%d0%b2%d1%8b%d0%bf%d0%be%d0%bb%d0%bd%d0%b8%d1%82%d1%8c+%d1%82%d0%be%2c+%d1%87%d1%82%d0%be+%d0%b1%d1%8b%d0%bb%d0%be+%d0%b7%d0%b0%d0%bf%d0%bb%d0%b0%d0%bd%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%be

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

2. Переработан разбор глагольного сказуемого в случаях, когда сказуемое включает группу инфинитива и личная форма глагола скорее является вспомогательным словом:

http://178.64.252.139:8080/Morphology.aspx?Phrase=%d0%9c%d1%8b+%d1%80%d0%b5%d1%88%d0%b8%d0%bb%d0%b8+%d0%bf%d0%b5%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b0%d1%82%d1%8c+%d1%80%d0%b0%d0%b7%d0%b1%d0%be%d1%80+%d0%bf%d1%80%d0%b5%d0%b4%d0%bb%d0%be%d0%b6%d0%b5%d0%bd%d0%b8%d0%b9+%d1%81+%d0%bc%d0%be%d0%b4%d0%b0%d0%bb%d1%8c%d0%bd%d0%be%d1%81%d1%82%d1%8c%d1%8e+%d0%b8+%d0%b8%d0%bd%d1%84%d0%b8%d0%bd%d0%b8%d1%82%d0%b8%d0%b2%d0%b0%d0%bc%d0%b8

Аналогично первому пункту, переделка заключается в другом порядке подключения. Теперь корнем сказуемого является семантически нагруженный инфинитив, а модальный глагол прикрепляется к нему.

Хотя в некоторых случаях сохранен обратный порядок сборки (благо движок разбора позволяет сделать это без каких-либо затруднений):

http://178.64.252.139:8080/Morphology.aspx?Phrase=%d0%9c%d1%8b+%d0%bf%d0%be%d0%bf%d1%80%d0%be%d1%81%d0%b8%d0%bb%d0%b8+%d0%b5%d1%91+%d1%83%d0%b9%d1%82%d0%b8


Тестовые предложения для парсера
kelijah
Первая страница (первое, самое длинное предложение будет разбираться очень долго из-за текущих особенностей алгоритма):
http://178.64.252.139:8080/syntactic_test_sentences.html

Кликабельные списки тестовых предложений
kelijah

английский тестовый корпус

русский тестовый корпус


Страница статистики после починки
kelijah

Дошли руки до исправления ошибок при выводе страницы статистики. Заодно залил текущую экспериментальную версию словарной базы, это можно заметить по увеличению объема русского лексикона до ~ 176 тысяч статей.