我有一个网站链接到基于 IBM Watson Assistant 构建的聊天机器人。网站上有一些超链接,我想触发 watson 对话框的特定节点/意图。
示例:用户单击“提供反馈”链接,watson 聊天机器人启动并基于该链接识别“provide_feedback”意图(从而防止用户在单击链接后需要指定意图)。
有没有人试过这个?
我有一个网站链接到基于 IBM Watson Assistant 构建的聊天机器人。网站上有一些超链接,我想触发 watson 对话框的特定节点/意图。
示例:用户单击“提供反馈”链接,watson 聊天机器人启动并基于该链接识别“provide_feedback”意图(从而防止用户在单击链接后需要指定意图)。
有没有人试过这个?
我也遇到了这个要求,并想在这里提到另一种选择:
除了发送与所需节点的意图相匹配的输入文本之外,您还可以通过
评估用户输入时使用的意图。文档
并告诉助手以 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
前提条件当然是该节点位于对话框的根分支中,因此可以触发它。
Watson Assistant 服务基本上是通过 REST API 使用的。该 API 可从工作区编辑器中的“试用”窗格、您的专用应用程序或嵌入网站的小部件中调用。消息调用用于将用户输入发送到 Watson Assistant 并接收聊天机器人响应。
您可以做的是从您的应用程序调用消息 API 并将特定术语作为输入消息传递。该术语将匹配一个意图并因此触发一个特定的对话节点。例如,如果您为短语“用户按下反馈按钮”定义了意图“provide_feedback”,并且您将该短语作为输入消息传递,那么意图“provide_feedback”将匹配。