我有以下问题。
我在对话中有几个要点,我必须捕获“自由”文本。
例如:你对 xyz 有什么看法?你为什么想要 xyz ?...它们是开放的问题,用户可以回答他们想要的任何问题。
如何启用此功能?因为我尝试了不同的组合,机器人要么重复一些问题,要么跳过一些?
谢谢
最佳答案
如果您使用的是 converse
在将响应发送回 wit.ai 之前,您可以尝试设置相应的上下文属性,然后在您的故事中使用更新的上下文。
例如,我为您创建了一个测试故事(该应用程序是空的 - 只是从头开始创建了整个内容):
结果,我能够在谈话中进入这一点:
所以你需要做的是定义一个类似 captureUserInput
的 Action 在我的示例中,并指示您的机器人在您的上下文中等待某个键。在我的示例中,它由 user_input
表示 key 。
在您的客户端应用程序中,您需要对相应的操作(在我的示例中为 captureUserInput
)做出适当的 react 。
在发送 POST 到 wit.ai converse API 时设置相应的 key 。例如:
$ 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 - 见
step 4
和wit.ai reference对于匡威api。
关于wit.ai 从用户给你的任何内容中获取免费文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39727760/