0

我有一个网站链接到基于 IBM Watson Assistant 构建的聊天机器人。网站上有一些超链接,我想触发 watson 对话框的特定节点/意图。

示例:用户单击“提供反馈”链接,watson 聊天机器人启动并基于该链接识别“provide_feedback”意图(从而防止用户在单击链接后需要指定意图)。

有没有人试过这个?

4

2 回答 2

2

我也遇到了这个要求,并想在这里提到另一种选择:

除了发送与所需节点的意图相匹配的输入文本之外,您还可以通过

评估用户输入时使用的意图。文档

并告诉助手以 1.0 的置信度对其进行匹配。

我认为这是一种干净的方法,因为您不需要处理输入文本的歧义。然后你根本不需要发送输入文本,意图实际上甚至不需要示例短语:-)

例如,如果您想触发具有意图的节点#provide_feedback

你可以调用这个 python 示例代码:

send_message_to_chatbot(text="", intent="provide_feedback")

def send_message_to_chatbot(text="", intent=""):
    message = assistant.message(
        assistant_id=ASSISTANT_ID,
        session_id=SESSION_ID,
        input=MessageInput(
            text=text,
            intents=[RuntimeIntent(intent=intent, confidence=1.0)]
        )            
    ).get_result()

    return message

前提条件当然是该节点位于对话框的根分支中,因此可以触发它。

于 2019-10-17T05:09:13.070 回答
0

Watson Assistant 服务基本上是通过 REST API 使用的。该 API 可从工作区编辑器中的“试用”窗格、您的专用应用程序或嵌入网站的小部件中调用。消息调用用于将用户输入发送到 Watson Assistant 并接收聊天机器人响应。

您可以做的是从您的应用程序调用消息 API 并将特定术语作为输入消息传递。该术语将匹配一个意图并因此触发一个特定的对话节点。例如,如果您为短语“用户按下反馈按钮”定义了意图“provide_feedback”,并且您将该短语作为输入消息传递,那么意图“provide_feedback”将匹配。

于 2018-10-05T05:22:42.470 回答