我有以下问题。我在对话中有几个要点必须捕获“免费”文本。例如:你对 xyz 有什么看法?为什么要 xyz ?...它们是开放式问题,用户可以回答任何他们想要的问题。
如何启用此功能?因为我尝试了不同的组合,机器人要么重复一些问题,要么跳过一些?
谢谢
我有以下问题。我在对话中有几个要点必须捕获“免费”文本。例如:你对 xyz 有什么看法?为什么要 xyz ?...它们是开放式问题,用户可以回答任何他们想要的问题。
如何启用此功能?因为我尝试了不同的组合,机器人要么重复一些问题,要么跳过一些?
谢谢
如果您使用的是converse
api,您可以尝试在将响应发送回 wit.ai 之前设置相应的上下文属性,然后在您的故事中使用更新的上下文。
例如,我为你创建了一个测试故事(应用程序是空的 - 只是从头开始创建整个东西):
所以你需要做的是像captureUserInput
我的例子一样定义一个动作,并指示你的机器人在你的上下文中等待某个键。在我的示例中,它由user_input
键表示。
在您的客户端应用程序中,您需要对相应的操作(captureUserInput
在我的示例中)做出适当的反应。将 POST 发送到 wit.ai converse API 时,设置相应的密钥。例如:
$ curl -XPOST 'https://api.wit.ai/converse?v=20160526&session_id=some_session_id' \
-d '{"user_input":"put what the user responded here"}' \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H 'Authorization: Bearer $TOKEN'
wit.ai 引擎应该捕获您的上下文并在回复您时将其考虑在内(就像This is what you said: {user_input}
在我的示例中一样)
我希望这对你有用。我的发现基于以下内容:
https ://wit.ai/docs/quickstart - 请参阅converse apistep 4
和 wit.ai参考。
我遇到了同样的问题,最终通过设置特定的上下文在客户端解决了它。我有一个没有“故事”界面的旧机器人,所以这个解决方案可能不适用于您的情况,但也许它会有所帮助。