Как сделать диалог в чат боте?

День добрый! Захотелось написать бота для вконтакте, но не обычного у которого пара тройка команд, а именно что бы он мог вести диалог. Например структура вопросов такая:
{'Вопрос 1': 
     {
      'Вопрос 1.1': {
           'Вариант 1': 'Ответ',
           'Вариант 2': 'Ответ'
      }, 
      'Вопрос 1.2': {
            'Вариант 1': 'Ответ',
            'Вариант 2': 'Ответ'
       }
       }
}

Если юзать Callback Api, то на сервер приходит сообщение юзера, но как при этом понять на каком уровне вопросов находится диалог, вот в голове есть вариант что где то в базе хранить цепочку диалога, и каждый раз когда пишет юзер проверять есть у него диалог в базе или нет. Второй вариант делать какую то подписку (прошу не кидать в меня камнями!!!) т.е при диалоге мы отправляем юзеру сообщение и ставим какой то обработчик на его id, он отвечает и его ответ попадает в этот самый обработчик сразу и т.д, но есть ли такие решения? Может кто то сталкивался с подобным, подскажите архитектуру или библиотеки, в общем поделитесь опытом.
  • Вопрос задан
  • 765 просмотров
Решения вопроса 1
@sakost
Начинающий недопрограммист на python.
Лично я всё пихаю в db
Создал таблицу users с параметрами id и last_command
После каждого сообщения, записываю состояние этого "диалога" в last_command
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
попробуйте почитать про акинатор возможно это вам больше подойдет
Ответ написан
Комментировать
копайте инфу по рекуррентным нейронным сетям и Neural conversation models

видел несколько кейсов, где нейронки обучали на текстовых диалогах из сериалов
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы