我正在尝试开发一个天气机器人,并一直在经历一些问题。
有洞察力吗?我做错了什么吗?我错过了什么?非常感谢您的帮助!
发布于 2016-06-02 08:25:54
我感觉到你的痛苦:)
你必须根据用户的输入“强迫”wit.ai进入正确的故事,如果你需要用户跟踪这个故事直到结束-你将不得不继续“强迫”他们下对话链。
我的意思是:
如果用户说What's the weather,您可以通过名称wth再引入一个自定义实体,并在“理解”选项卡中使其基于关键字并添加与weather单词相关的严格关键字列表(预测.)。
这可能是你的“指导线”。当该实体出现=用户使用了与天气问题相关的关键字时,您可以将该实体wth用作您故事的每个动作和响应的要求(Actions选项卡)。
在我所拥有的几个应用程序中--对于我想到的“这个故事在做什么”--入口点是什么,所以说并想出了一个实体,通过使用Actions选项卡和设置Only if.Always if来引导用户沿着对话路径走下去。关于答复和行动的要求。
这种方法是非常严格的,但它使您对用户从您的"bot“接收到什么有一定程度的控制,这样您就可以预测操作和回复。
我在玩另一种方法,你有很多故事,它们都是“不完整的”,但它们试图覆盖可能与用户不同的答案。所以用户开始在一个故事中聊天,然后根据他的回答-另一个故事开始,然后另一个,然后另一个.
也是一个有效的,更灵活的方法,但它需要一个非常好的规划"bot回复“\故事,使他们感到连接在一种合乎逻辑的,对话的方式。是的,它还需要一个仔细的上下文管理,因为如果每个故事都会添加上下文--它可能会成为大量的实体和值,所以您需要认为,故事A将实体A1添加到上下文中,但是如果后来有一个故事B启动并将B1实体添加到上下文中,那么我需要删除A1,因为它们相互冲突.
概括地说:你似乎想要更多的控制,知道对话的方向。为此-尝试actions选项卡并设置对答案和操作的要求。你可以使它非常直截了当和直接。
发布于 2016-07-13 18:31:10
我想在这里澄清一个重要的概念。上下文是yours。Wit读取它只是为了对下一步进行预测,或者通过变量生成Bot答案。我们从不更新我们这边的上下文。
您可以在上下文中使用您的操作来更新键。这些键反过来会影响基于故事的预测。Wit使用当前上下文(目前只使用键),上下文的以前状态(在交互N-1,N2…时)。。)还包括用户消息(特征实体)来预测下一个操作。
更多信息在这里:https://wit.ai/docs/recipes#manage-context-and-session-id
https://stackoverflow.com/questions/37578500
复制相似问题