Ibm cloud IBM Watson Assistant:如何设置';跳转到';动态目标节点(即使用上下文变量)

Ibm cloud IBM Watson Assistant:如何设置';跳转到';动态目标节点(即使用上下文变量),ibm-cloud,ibm-watson,watson-assistant,Ibm Cloud,Ibm Watson,Watson Assistant,我想从对话框节点跳到一个节点,该节点的ID存储在上下文变量中 我试图解决一个与题外话有关的问题,这里已经描述过: 特别是这张图表显示了问题: 在我看来,A.H.提出了一个非常合理和相关的问题,但没有得到可行的答案 据我所知,这个问题不能通过离题设置来解决。根级别节点(通过匹配意图#想#说(对某人说)触发)设置为“离题后返回”,或者不设置 如果此题外话节点的题外话设置设置为“return”,则无论在此题外话的对话框流中发生了什么,它都将始终返回。即使用户确认他想与某人交谈(即他不想返回),对话

我想从对话框节点跳到一个节点,该节点的ID存储在上下文变量中

我试图解决一个与题外话有关的问题,这里已经描述过:

特别是这张图表显示了问题:

在我看来,A.H.提出了一个非常合理和相关的问题,但没有得到可行的答案

据我所知,这个问题不能通过离题设置来解决。根级别节点(通过匹配意图#想#说(对某人说)触发)设置为“离题后返回”,或者不设置

如果此题外话节点的题外话设置设置为“return”,则无论在此题外话的对话框流中发生了什么,它都将始终返回。即使用户确认他想与某人交谈(即他不想返回),对话框也将返回到开始偏离主题的节点

甚至当我从yes节点(用户确认他想和某人说话)跳到任何其他节点时,也会发生这种情况。分支(或用户跳转到的分支)一结束,对话框就返回到开始偏离主题的节点

但是,如果此“题外话”节点的题外话设置设置为“不返回”,则无法返回-即使用户决定不与某人交谈并选择返回他所在的位置

A.H.和我想要的是,用户可以脱离对话框流,仍然可以决定是否返回。我认为这是一个非常自然和重要的对话特征。人们喜欢改变他们的决定,或者可能他们甚至无意中偏离了给定的对话流程

Akaykay建议有两个不同的节点——一个允许返回的“是节点”和一个不允许返回的“否节点”。但这不起作用,因为在此之前,我必须有另一个节点请求用户确认,而这个“确认节点”必须设置为“返回”或“不返回”(产生上述问题)

出于这个原因,我试图找出一个解决方法:将对话框偏离的对话框节点ID存储在上下文变量中

它是一个上下文变量


"context": {
        "last_node": "<? output.nodes_visited [0]?>",
        ...
      },

但当我再次导入skill json文件时,会收到以下错误消息:


我对这两种解决方案都很满意,一种是使用离题设置,另一种是允许动态设置“跳转到”目标节点。我非常感谢您的帮助,谢谢

如果要防止Watson Assistant从题外话返回,只需在不希望Watson Assistant从题外话返回的节点中调用
函数即可

在图表中,您可以在节点“Ok,click here”的输出文本中写入
“Ok,click here”。
,这样就可以了

在本节的文档中:

还请注意,目前无法使用Watson Assistant创建动态gotos。您唯一能做的就是创建一个对话框节点,其中包含所有需要的goto,这些goto由它下面的某个对象进行调节,然后您将转到该节点。很难手动创建,但可以自动生成。有关
WA
的更多魔法,请查看此项目:


如果没有
UI

文档可能很难找到,那么可以使用
WA
开发聊天机器人。让我知道你会将这些信息移动到哪里以获得更好的可视性。你好,Michal,非常感谢你的回答!对不起,都在那儿。我对这份文件至少看了三遍,都没看懂。有时候,你看不到所有树木的树木……就这一点而言:我认为这些信息不必再突出了。但是,使用图形对话框工具创建动态go-tos或jump-tos的可能性肯定会很好!
"next_step": {
        "behavior": "jump_to",
        "selector": "user_input",
        "dialog_node": "$last_node"
      },