我正在构建一个聊天机器人,该聊天机器人需要能够与用户进行长时间的分支对话。其目的是能够长时间吸引用户。我遇到的问题之一是如何在对话树中间处理来自用户的不相关响应,而不会“重置”整个对话。
例如,假设他们进行了以下对话:
Chatbot:您喜欢香草冰淇淋还是巧克力冰淇淋?
用户:香草
Chatbot :(识别“香草”并以适当的子节点响应)!您要在上面放巧克力还是焦糖?
用户:焦糖色
Chatbot :(识别“焦糖”并以适当的子节点响应)听起来不错!您喜欢撒些奶油还是鲜奶油?
用户:我想要一颗樱桃!
那时候,我的问题是,聊天机器人触发了“ anything_else”响应,并说诸如“我听不懂”。这意味着,如果用户想继续谈论冰淇淋,则必须从头开始。
我对使用IBM Watson Assistant非常陌生,但是我做了尽可能多的研究,但找不到任何东西。任何建议或帮助,将不胜感激!到目前为止,我唯一的想法是为每个可以跳回下一个节点的对话节点设置“ anything_else”选项。但这听起来极其复杂且耗时。我想知道是否有一种更简单的方法,让聊天机器人重复它所问的任何问题,直到它得到触发一个子节点的响应。
编辑:添加一个我想在这里进行的操作可能是使用户沿着某些对话路径“漏斗”。