?

Log in

No account? Create an account

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

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

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

Открываем файл, ищем там две строки:

меня зовут Кеша
Я чатбот Кеша


Отредактируем их:

меня зовут Степа
Я чатбот Степа


Запускаем чатбот - теперь он уверен, что его зовут именно "Степа":

H:> да как же тебя звать-то?
B:> степа
H:> тебя зовут кеша?
B:> нет
H:> тебя зовут степа?
B:> да


Аналогичный процесс, только автоматический, происходит при обработке вопроса "Сколько сейчас времени?". Запись о текущем времени добавляется в базу фактов автоматически перед каждым поиском релевантных фактов, поэтому чатбот всегда знает текущее время, а также текущую дату и день недели. Добиться такого эффекта с примитивной генеративной seq2seq моделью, конечно, невозможно.