?

Log in

No account? Create an account

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

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

Полностью переписанный веб-сервис для чатбота
kelijah
Используется Flask плюс jinja для отрисовки тестовой страницы с диалоговой формой. Исходники тут и тут. В браузере выглядит так:
Read more...Collapse )

Черновой вариант модели интерпретации ответов пользователя в чатботе
kelijah
Исходный текст аппликатора модели в чатботе доступен в репозитории.
То, что делает эта модель, можно пояснить таким примером диалога:
Read more...Collapse )

Альтернативный подход к генерации фраз для чатбота из classic.sberbank.ai
kelijah
Вообще я планировал, что в каком-то виде алгоритм, или его части, созданный для https://classic.sberbank.ai, будет использоваться в чатботе при генерации ответа. У него среди прочего есть такая интересная особенность, что он рандомизирован, и может выдавать разные ответы на каждую попытку - то, чего не хватает сейчас чат-боту.

Например:
Read more...Collapse )

Волшебство seq2seq нейросетки в чатботе - вот кто так еще умеет?
kelijah
Тренер модели и тестирующая часть доступны в файле nn_chargenerator.py.
Готовая модель натренирована на моем датасете вопросов и ответов, она выложена тут (файлы nn_chargenerator.*). Ее назначение - генерация ответа чатбота при наличии нескольких предпосылок (от 0 до 3) и вопроса. В рассматриваемом случае предпосылок нет, текст вопроса содержит в себе все необходимое.

Запускать в консоли надо так: python nn_chargenerator.py --run_mode query

Ответы модели на вопросы "Сколько букв в слове ...?":
Read more...Collapse )

А вот как выглядит "примерно правильное решение" в исполнении естественного интеллекта
kelijah
Продолжение темы "Чатбот в первом классе: склонность понемногу ошибаться как отличительная черта" возникло совершенно случайно, что делает его еще более ценным. Естественному интеллекту почти 7 лет, решал и потом снимал он сам, я просто сегодня случайно увидел в его фотках вот это:
Read more...Collapse )

Текущие улучшения в движке чатбота
kelijah
Сейчас полный движок чатбота, консольная версия которого запускается скриптом console_chatbot.py, начал поддерживать такие диалоги:
Read more...Collapse )

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

Улучшения в движке вывода ответов чатбота: арифметика и логика
kelijah
Для проекта вопросно-ответной системы проверяю нейросетку, которая отвечает за выбор ответов "да" и "нет".
Строки с приглашением "H:" - мой ввод с консоли, ответы бота помечены "B:".
Важный момент - бот в явном виде не анализирует синтаксис и лексику, никаких прописанных кодом особых обработок арифметических вещей в нем нет, это исключительно артефакты нейросетки, обученной на наборе примеров.
Read more...Collapse )

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

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

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

Чем ближе структура диалога к естественной, тем сложнее с ним работать
kelijah
Очень непросто оказалось ввести в чатбот некоторую проактивность, например (B - реплики бота, H - реплики человека):

B:> Добрый день
H:> Привет, как тебя зовут?
B:> кеша
B:> А как тебя зовут?
H:> Меня зовут Илья.
B:> Рад знакомству.

Read more...Collapse )