?

Log in

No account? Create an account

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

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

Датасет для тренировки модели синонимичности
kelijah
В репозиторий добавлена часть датасета для тренировки модели синонимичности.
Чтобы переобучить модель после изменений этого датасета, нужно выполнить скрипт train_lgb_synonymy.sh.

Аналогичный датасет для модели релевантности вопроса и предпосылки был выложен ранее. Переобучение этой модели запускается скриптом train_lgb_relevancy.sh

Генеративная модель формирования ответов интегрирована в движок чатбота
kelijah
(В продолжение темы "Машина Хомского")
В основной код чатбота перенесен весь алгоритм построения ответа с помощью "вероятностной машины Хомского". Движок построения ответа перекроен, чтобы эффективно использовать новые сеточные модели, в частности модель оценки релевантности ответа при заданных предпосылках и вопросе.
Докер-контейнер с новой версией чатбота заметно потяжелел, поэтому надо будет подумать об оптимизации добавленных словарей.

Баг при запуске нейросетевых моделей с tensorflow под Flask.
kelijah
В какой-то момент перестал работал flask-сервис чатбота. Видимо, после обновления tensorflow.
Симптом - падает при вызове метода predict для загруженной модели с диагностикой типа:

ValueError: Tensor Tensor("output_2/Sigmoid:0", shape=(?, 1), dtype=float32) is not an element of this graph.

Read more...Collapse )

Планы по новой генеративной модели чат-бота ("Машина Хомского")
kelijah
Готовлю к переносу в код чатбота новый генератор ответов на основе генеративной грамматики с обвесом из нескольких нейросеток. Далее - небольшие подробности о решаемой задаче.
Read more...Collapse )

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

Read more...Collapse )

Изменения в грамматическом словаре касательно составных прилагательных
kelijah
В "грамматическом словаре русского языка" закончена большая чистка русского лексикона. Из словарной базы убраны почти все составные прилагательные такого вида "ярко-зеленый", "багрово-красный" и т.д. В итоге словарь стал меньше, но мощность описываемой им лексики - больше. Далее - пояснения мотивации и последствия.

Read more...Collapse )

Кастомизация чат-бота без переобучения моделей
kelijah
Главная фишка архитектуры чатбота состоит в том, что это retrieval-based модель (наполовину). Для ответа на вопрос "Как тебя зовут?" и "Сколько сейчас времени?" чатбот ищет в базе фактов нужную информацию и на ее основе строит ответ (за построение ответа отвечает генеративная модель).  В частности, это означает, что имя чатбота нигде не "зашито" в языковых моделях, и его можно сменить, просто отредактировав текстовый файлик. Переобучать никакие модели после этого не нужно!
Read more...Collapse )

Аугментация и генерация NLP датасетов с помощью ruword2tags.RuFlexer
kelijah
В библиотеку ruword2tags добавлен новый класс RuFlexer, содержащий инструменты для генеративных текстовых моделей. Сейчас этот класс предоставляет единственный метод find_forms_by_tags для подбора форм слова с заданными тегами. Например, чтобы найти форму слова "кошка" для творительного падежа множественного числа, надо написать примерно такой код:
Как сделать аугментацию и генерацию датасета для NLP...Collapse )
PS: Юрий Бабуров подкинул еще хорошую статью по теме аугментации в NLP: https://towardsdatascience.com/these-are-the-easiest-data-augmentation-techniques-in-natural-language-processing-you-can-think-of-88e393fd610
Касательно упоминаемой в этой статье подстановки синонимов для русскоязычных датасетов я, возможно, выложу и свой примерчик.

Добавлена обработка OOV слов в лемматизаторе rulemma
kelijah
В питоновской библиотеке rulemma добавлена обработка несловарных (out-of-vocabulary) слов. Большинство OOV-слов образуются по относительно небольшому количеству словоизменительных правил русского языка, так что модель неплохо справляется с ними. При этом используются результаты частеречной разметки, чтобы снимать неоднозначности типа крокодил - проходил.

В качестве примера можно посмотреть на разбор фразы "Мяукая, голодные кошки ловят жирненьких хрюнделей":
Read more...Collapse )

Обновления в грамматическом словаре (GrammarEngine и ruword2tags)
kelijah
В проектах GrammarEngine, ruword2tags и rulemma в ходе разработки и отладки чатбота сделаны следующие изменения:
1) Пара сотен новых словарных статей, преимущественно из домена химии, металлургии, технологии.
2) Добавлена информация о малоупотребимости некоторых кратких форм прилагательных. На этом остановлюсь поподробнее - см. под катом.
Read more...Collapse )