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

День добрый! Захотелось написать бота для вконтакте, но не обычного у которого пара тройка команд, а именно что бы он мог вести диалог. Например структура вопросов такая:
{'Вопрос 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

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

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

Войти через центр авторизации
Похожие вопросы