【问题标题】:How to use wit.ai to return one single result (python)如何使用 wit.ai 返回一个结果(python)
【发布时间】:2017-04-02 01:11:02
【问题描述】:

我最近在 python 中玩弄 wit.ai。在与机器人通信时,我已经能够使 .interactive() 工作,但我真的希望 .message() 工作,因为我想一次发送一条消息。我在网上看到可以这样操作:

client = Wit(access_token=token, actions=actions)
resp = client.message('hello')
print(resp)

但是,响应不是我想要的,实际上只是发送到服务器的消息。像这样:

{'msg_id': '516ffc83-f008-446a-979a-2da2207164a1', '_text': 'hello', 'entities': {'intent': [{'confidence': 0.9646306495169545, 'value': 'greeting'}]}}

我想从消息中获取回调并打印出来。 谢谢!

【问题讨论】:

    标签: python wit.ai


    【解决方案1】:

    从官方文档和我的个人经验来看,该响应不是发送到服务器的消息。这确实是服务器对您查询的响应。

    检查 - https://wit.ai/docs/http/20160330#get-intent-via-text-link

    “entities”对象中的“intent”映射保存了将查询“hello”预测为“greeting”的置信度(即 96.4%)。现在,如果你想解析这个 JSON 响应,你可以这样做 -

    callback = resp['_text']['entities']['intent']['value']
    print(callback)
    

    【讨论】:

    • 感谢您的帮助,所以我认为没有实际的方法来获得机器人会说的响应以及该响应?我仍然希望它像 .interactive() 一样,只是一条消息而不是继续。谢谢
    • 如果你想让“消息”表现得像“交互式”,我建议的方法似乎是唯一的方法。或者,您可以捕获交互式的响应并使用它。您是否有理由更喜欢前者而不是后者?
    • 现在,我正在使用谷歌的文本转语音。我基本上用它来捕获用户的输入,然后发送并继续。我一直在看似乎几乎在做这项工作的匡威!感谢您的帮助
    • 当然 :) 如果您觉得有帮助,别忘了点赞并标记答案!
    猜你喜欢
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多