我有一个网站,该网站链接到基于IBM Watson Assistant构建的聊天机器人。网站上有一些超链接,我想触发watson对话框的特定节点/意图。
示例:用户单击“提供反馈”链接,watson聊天机器人启动,并基于该链接识别“ provide_feedback”意图(从而避免用户在单击链接后需要指定意图)。
以前有人尝试过吗?
答案 0 :(得分:0)
The Watson Assistant service basically is used via a REST API。该API是从工作区编辑器from your dedicated application中的“尝试”窗格中调用的,或者也可以从嵌入网站的窗口小部件中调用。 message call用于将用户输入发送到Watson Assistant并接收聊天机器人响应。
您可以做的是从您的应用中调用消息API,并传递一个特定的术语作为输入消息。该术语将与意图匹配,因此触发特定的对话框节点。举例来说,如果您为短语“用户按下的反馈按钮”定义了意图“ provide_feedback”,而您恰好传递了该短语作为输入消息,那么意图“ provide_feedback”将匹配。
答案 1 :(得分:0)
我也遇到了这个要求,并想在这里提及另一种选择:
除了发送与所需节点的意图匹配的输入文本外,还可以传递
评估用户输入时要使用的意图。doc
并告诉助手以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
当然,前提条件是该节点位于对话框的根分支中,以便可以触发它。