Получились вот такие диалоги:
B:> День добрый
H:> привет, ты кто?
B:> я чатбот
B:> Чем ты занимаешься?
H:> а ты угадай
B:> Давай попробую угадать, кто ты
B:> ты учишься или работаешь?
H:> ну, я учусь
B:> Ты студент?
H:> ага
B:> Ура, я угадала :)
B:> отлично поиграли!
B:> Привет, буду рад поговорить
H:> а ты кто?
B:> я чатбот
B:> Чем ты занимаешься?
H:> давай ты угадаешь
B:> Давай попробую угадать, кто ты
B:> ты учишься или работаешь?
H:> работаю я
B:> Ты госслужащий?
H:> нет
B:> ты программист?
H:> да, верно
B:> Ура, я угадала :)
B:> отлично поиграли!
B:> Привет
H:> а ты кто?
B:> я чатбот
B:> А ты кто?
H:> давай ты угадаешь
B:> Давай попробую угадать, кто ты
B:> ты учишься или работаешь?
H:> работаю я
B:> Ты госслужащий?
H:> нет
B:> ты программист?
H:> нет
B:> Не угадала :(
Исходный текст соответствующего сценария можно увидеть тут, начиная со строки 10175.
Плюсы - как в любом rule-driven подходе с "handcrafted" правилами, можно достаточно точно задать сценарий.
Минус - неудобно, даже для сценария с пятью состояниями получается длинная портянка с повторами.
Полученный опыт трансформируем в следующие задачи для чатбота:
1) Надо попробовать генерацию скриптов на основе диалогов-примеров (что-то типа stories в RASA).
2) Нужен способ более экономного описания правил сценария.