?

Log in

No account? Create an account

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

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

Entries by tag: парсер

Дистрибутив синтаксического парсера под win64
kelijah
Архив (94 Мб) для MS Windows 64 со всеми актуальными моделями и русской словарной базой доступен по ссылке на странице тут.

Кроме того, выложен исходный код нового тренера модели частеречной разметки, в которой добавлена поддержка conllu-корпусов из http://universaldependencies.org/.

Новая модель для синтаксического парсинга
kelijah
Я немного расширил набор фич в модели синтаксического парсинга и сделал предварительный grid search по метапараметрам.

Пока по предварительным замерами на валидации старая модель давет точность определения родителя примерно 96.83%, а новая модель дает минимум 98.54%.

Файлы новой русской синтаксической модели (предварительные) выложены в репозиторий: syntax.codebook и syntax.model.

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

Chunker - новая модель в парсере для разбора предложений на составляющие
kelijah
Иногда анализ текста сводится к определению групп слов, образующих составляющие первого уровня относительно корня в терминах дерева зависимостей (см. описание shallow parsing).

Read more...Collapse )

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

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

Эксперимент с использованием reinforcement learning keras-rl для синтаксического парсинга
kelijah
Используется размеченный treebank отсюда: http://universaldependencies.org
Reinforcement learning делается средствами keras-rl
Парсер - простая стековая машина, не поддерживающая непроективные ребра.
Эксперимент пока неудачный, не могу добиться роста качества парсинга.
Питоновский исходник выложил здесь: https://github.com/Koziev/RI_Syntax

Обновление парсера для Windows x86 и x64
kelijah

Русские модели морфологии и синтаксиса для парсера пересчитаны после обновлений в лексиконе и обучающем корпусе.

Русская словарная база (лексикон) тщательно вычищена, из нее убраны "плохие" словарные статьи, в основном для составных слов типа "робот-гитарист".

Сделана выверка части обучающего treebank, на котором тренируются вероятностные модели. В результате этого точность частеречной разметки на тестовом наборе достигла 99.1%, то есть ошибаемость упала ниже 1%.

Архивы с бинарниками парсера:

Win64 RU парсер 73 Мб

Win32 RU парсер 78 Мб

Предварительные результаты для сеточной модели парсинга предложений
kelijah
На данный момент моя сеточная модель, выдающая dependency tree с нетипизированными ребрами, использующая word2vec встраивания слов с dim=1024, достигает неплохой точности ~97.4% (ошибаемость в районе 2,6%):
Read more...Collapse )

Обновление синтаксического парсера
kelijah

Большое обновление всех компонентов русского синтаксического парсера (http://solarix.ru/parser.shtml):

Read more...Collapse )Ссылка на архив с бинарниками (русская словарная база в комплекте, вероятностные модели и исполнимые файлы): http://solarix.ru/for_developers/download/win/parser-ru-win64.7z

Текущие планы по POS Tagger'у и синтаксическому парсеру
kelijah
Самое главное: больше не будет 32-битных версий. Синтаксический парсер портирован под Windows на 64 бита и вроде чувствует себя в новом варианте неплохо. Раньше я уже портировал его на 64-битный linux. Так как ни одна из текущих задач не требует 32-битного варианта, не вижу смысла собирать соответствующие словарные базе и исполнимые файлы.

Пару недель парсер будет бегать на большой задаче, потом - релиз.

Из сопутствующих планов.

1. Попробовать обучить SyntaxNet на моем tree bank.

2. Реализовать новый парсер, концептуально больше похожий на shallow parser. Без определения типа связей, примерно как в Cabocha. Это может показаться странным, но опыт показывает, что тип связи (подлежащее-сказуемое, существительное-атрибут и т.д.) нужен не так часто. Гораздо важнее уметь определять вероятность связывания, особенно для предложных паттернов и всяких неоднозначных конструкций типа "я отдал книгу дочери".

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

В tree bank было добавлено несколько тысяч предложений и поправлены ошибки.

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

Так как пересчет выполняется под виндой, то игры с char-rnn модельками будут происходить реже, когда буду перегружаться в линух. Из планов в этой части:

1. Проверить еще одну задачу word2verb_aspect, то есть определение признака совершенный/несовершенный/не глагол для слов.

2. Начать эксперимент со сверточной сеткой для текста. Собственно, все char-rnn модельки были просто разминкой. Надо научиться стекировать автоэнкодеры и rnn по новой схеме (возможно, никто так еще не делал, хотя вряд ли, просто нет времени шерстить весь arxiv.org) для выявления инвариантов в тексте.