В "Черном Зеркале" была серия (S2E1), в которой создавали роботов, похожих на умерших людей, используя для обучения историю переписок в социальных сетях. Я хочу рассказать, как я попробовал сделать что-то подобное и что из этого получилось. Теории не будет, только практика.
Идея была простая — взять историю своих чатов из Telegram и на их основе обучить seq2seq сеть, способную по началу диалога предсказывать его завершение. Такая сеть может работать в трех режимах:
- Предсказывать завершение фразы пользователя с учетом истории разговора
- Работать в режиме чат-бота
- Синтезировать логи разговоров целиком
Вот что получилось у меня
Бот предлагает завершение фразы
Бот предлагает завершение диалога
Бот общается с живым человеком
User: привет
Bot: привет
User: как ты?
Bot: собираюсь
User: баг пофиксил?
Bot: нет
User: почему?
Bot: да не получается
User: ты сегодня когда дома будешь?
Bot: не знаю пока
User: ты занят?
Bot: в магазин еду
Дальше я расскажу, как подготовить данные и обучить такого бота самому.