?

Log in

No account? Create an account

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

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

Entries by tag: русский язык

Большое обновление русского лексикона, морфологии и синтаксических правил в грамматическом движке
kelijah
Закомитил в https://github.com/Koziev/GrammarEngine накопившиеся изменения:

1) Добавлено много новых словарных статей
2) Убраны некоторые составные слова типа "мотор-генератор"
3) Исправлены различные ошибки, обнаруженные при тестировании - неверные формы слов etc.
4) Для некоторых слов уточнены морфологические теги (модальность, падежная валентность etc.)
5) В синтаксический анализатор добавлена пара правил разбора.

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

Генерация деепричастных форм из инфинитивов - SQL словарь + Python + xgboost
kelijah
Read more...Collapse )

PyParser - обертка синтаксического парсера для Питона (пре-альфа)
kelijah
Пока собрано и проверено только для Python 2.7 Windows 64 (Anaconda).

Исходники парсера, сильно отрефакторенные, с новой иерархией для введения абстрагирования от способа вывода результатов парсинга, лежат в репозитории. Сборка выполнена с помощью VisualStudio 2015, соответствующее решение Parser.sln лежит в этой папке. Обертка для вызова C++ кода из питоновского сделана с помощью boost::python.

В проекте пока нет установки пакета, поэтому проверить и  использовать можно только руками. В папке лежат готовые бинарники pyparser.pyd и libdesr.dll. Разумеется, также нужны файлы словарной базы (можно взять из дистрибутива парсера, выложенного тут).

Пример выполнения частеречной разметки на Питоне:
Read more...Collapse )

PS: добавлен скрипт setup.py для установки собранного модуля pyparser штатным механизмом питона. Для этого надо перейти внутрь каталога src копии репозитория (там лежит setup.py и прочие запчасти) и выполнить:

pip install .

Будет установлен пакет Solarix, в котором есть модуль pyparser.
Разумеется, делать это можно как глобально, так и для virtualenv-окружения.

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

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

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

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

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

Read more...Collapse )

Исходники чат-бота (диалоговой системы): утилита для генерации вопросно-ответного датасета
kelijah
Продолжение https://kelijah.livejournal.com/231141.html.
Исходный текст утилиты (C#, проект для VS Studio 2015) лежит тут https://github.com/Koziev/chatbot/tree/master/CSharpCode/GenerateQA
Далее подробное описание.

Read more...Collapse )

Выложена полная актуальная словарная база русского языка
kelijah
В репозитории https://github.com/Koziev/GrammarEngine обновлены исходники русской словарной базы.

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

Сборка из C++ исходников проверена под MS Windows с VisualStudio 2015 и под Ubuntu v16.04.

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

Инструкции по компиляции утилит и словарной базы лежат в README.md.

Рефакторинг нейросетевого лемматизатора
kelijah
В репозитории https://github.com/Koziev/word2lemma выполнена генеральная перепланировка и уборка.

Read more...Collapse )

Утилитка для слияния размеченных корпусов в MorphoRuEval 2017
kelijah
Организаторы конкурса добавили еще 2 корпуса в обучающий набор (см. в репозитории конкурса).
Если объединить все 3 корпуса, получается неплохой датасет для всякого машобуча по русским NLP.
Это хорошая новость.
Плохая новость в том, что форматы корпусов разные, различается состав колонок.
Вторая плохая новость - некоторая неконсистентность данные. В частности, лемматизация некоторых слов сделана систематически по-разному. Например, слово 'неё' в одном корпусе лемматизируется в 'он', в других в 'она'.

Это может мешать некоторым архитектурам машинного обучения по таким данным.

Поэтому я написал на питоне небольшой конвертер, который на входе берет 3 файла с корпусами конкурса, преобразует их к одному формату, нормализует лемматизацию местоимений и некоторых наречий, и сохраняет 3 файла:

united_corpora.dat - объединенный корпус
united_corpora_train.dat - 90% объединенного корпуса (разбивка по предложениям) для тренировки
united_corpora_test.dat - 10% объединенного корпуса для верификации

Моя модель лемматизации, написанная на питоне и использующая сеточную модель на Keras, достигла сегодня на united_corpora_test.dat ошибаемости в 1.95% без учета регистра букв.