Category: дети

Релиз чатбота: заготовки для будущих skill'ов

В новом релизе чатбота сделана группа важных взаимодополняющих изменений.

1) Расширен и частично переработан набор intent'ов. По результатам предварительного анализа типичных вопросов в датасете "Mail.ru Ответы", добавлены несколько новых интентов для частых запросов в чатботах, например 'определение объекта на фотографии', 'поиск книги по описанию', 'odqa - вопросы к Википедии' и т.д.

2) Для этих интентов сделаны заготовки сценариев, в которых в будущем можно будет реализовать соответствующие skill'ы с детальной обработкой вариантов запросов. Например, в ответ на реплику "помоги решить задачу по математике" чатбот сейчас выдаст: "Мастер помощи с домашними заданиями еще не реализован!". По этой реплике можно найти исходник соответствующего сценария в файле rules.yaml.

3) Запуск новых сценариев для skill'ов происходит в случае, если не получилось найти ответ в базе фактов или FAQ. Например, для вопроса "Что такое хрусталик?" бот выдаст ответ из FAQ, а для вопроса "Что такое бензокаин?" будет запущен odqa-сценарий.
Collapse )

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

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

Кстати, касательно чередования гласных и согласных не грех вспомнить, что марковские процессы возникли 100 с лишним лет назад именно как результат изучения статистики чередования букв в Евгении Онегине, о чем есть даже небольшой абзац в вики:

Сам Марков для иллюстрации своих результатов исследовал зависимость в чередовании гласных и согласных в первых главах «Евгения Онегина» и «Детских годов Багрова-внука»

Далее - избранные результаты валидации с ошибками генерации. Premise - это найденная релевантная предпосылка, question - заданный вопрос, model answer - требуемый эталонный ответ, pred. answer - сгенерированный сеткой ответ:
Collapse )

Кластеризация предложений в векторном пространстве

Если мы для каждого предложения умеем вычислять вектор фиксированной длины, то становится доступна и кластеризация. Именно кластеризация позволяет быстро проверить важную гипотезу,  что существует некоторое относительно небольшое количество предложений (словосочетаний, синтагм), описывающих некоторые типичные ситуации окружающей действительности и деятельности субъекта в этой действительности. Наличие таких текстовых архетипов позволит улучшить работу алгоритма семантического и синтаксического анализа текста, но об этом поговорим в отдельной главе.
Collapse )

Кто такой "бокренок" в "глокой куздре"?

Анализируем слово "бокренка" в предложении "Глокая куздра штеко будланула бокра и курдячит бокрёнка" (см. пред. запись по теме).
Аспект первый - морфологический.
Вот ТОП-10 слов, ближайших по косинусу к аффиксу "~енка":
Collapse )

Бинго! Модель правильно ухватила и морфологический аспект "винительный падеж единственного числа одушевленного существительного", и даже семантический "ребенка".