我正在尝试开发一个天气机器人并且遇到了一些问题.
任何见解?难道我做错了什么?我错过了什么?非常感谢您的帮助!
我觉得你的痛苦:)
你必须根据用户输入"强迫"wit.ai进入正确的故事,如果你需要用户跟踪故事直到最后 - 你将不得不在对话链中"强迫"他们.
我的意思是:
如果用户说What's the weather您可以通过名称引入另一个自定义实体,wth并在"理解"选项卡中创建基于关键字并添加与该weather单词相关的严格关键字列表(预测...).
这可能是你的"指导思路".当此实体出现时=用户已使用与天气问题相关联的关键字=您可以将该实体wth用作故事的每个操作和响应的要求("操作"选项卡).
在我的几个应用程序中 - 对于每个故事,我都想到"这个故事在做什么" - 什么是切入点,所以说出来并想出一个实体,通过使用"操作"选项卡和设置引导用户进入该对话路径Only if...... Always if对答复和行动的要求.
这种方法非常严格,但它可以让您对用户从"机器人"收到的内容有一定程度的控制,因此您可以预测操作和回复.
我正在玩另一种方法,你有很多故事,它们都是"不完整的",但它们试图涵盖用户可能的不同答案.因此,用户开始在一个故事中聊天,然后根据他的回答 - 另一个故事开始,然后是另一个故事,然后是另一个......
这也是一种有效,更灵活的方法,但它需要非常好地规划"机器人回复"\故事,以便他们以合乎逻辑的对话方式感受到联系.是的,它还需要仔细的上下文管理,因为如果每个故事都会添加上下文 - 它可能会成为一大堆实体和值,所以你需要认为故事A将实体A1添加到上下文中,但是如果以后故事B启动并将B1实体添加到上下文然后我需要删除A1,因为它们是冲突的...
总结一下:看起来你想要更多控制并知道对话的去向.为此 - 尝试"操作"选项卡并设置答案和操作的要求.你可以非常直接和直接.