Websphere 如何在没有实体的情况下使用IBM Watson上下文变量?

Websphere 如何在没有实体的情况下使用IBM Watson上下文变量?,websphere,ibm-watson,Websphere,Ibm Watson,大家好,沃森开发人员 我有一个问题,我需要更多地了解上下文变量 用户输入“谁拥有该船二人组?”然后我的对话框使用有效的意图“#owner_of_boatname” 然后我想将boatname存储在变量$boatname中,将其作为值“$boatname”传递给我的webhook 如果我创建了一个包含所有可能的boatnames的列表的实体,那么它就工作了,但是如果我没有所有的boatnames,只想从用户那里获取$boatname,并将其传递到weebhook呢?那我怎么填写处理程序呢 我试着把

大家好,沃森开发人员

我有一个问题,我需要更多地了解上下文变量

用户输入“谁拥有该船二人组?”然后我的对话框使用有效的意图“#owner_of_boatname”

然后我想将boatname存储在变量$boatname中,将其作为值“$boatname”传递给我的webhook

如果我创建了一个包含所有可能的boatnames的列表的实体,那么它就工作了,但是如果我没有所有的boatnames,只想从用户那里获取$boatname,并将其传递到weebhook呢?那我怎么填写处理程序呢

我试着把“DUO”作为我的webhook的值,这很好,所以webhook本身也可以工作-我只需要能够将变量传递给它

怎么做

非常感谢


拉尔斯;-)

这个问题的理想解决方案应该使用中创建的.I模型来识别用户文本中的名称,并将其部署到您将使用提取名称的实例中

但是,我们可以做一个更简单的解决方案,我们必须假设船的名称将始终位于用户输入的末尾,并且我们可以使用Watson Assistant上的正则表达式来附加该名称。在传递到webhook之前,您必须创建一个节点,以确定用户将传递船名,例如:

助理:你的船叫什么名字
用户:我的船的名字是boatname

返回“What is The name of your boat?”的节点应跳转到一个节点并等待用户请求,并且该节点的条件应始终为true。当用户说“我的船名为boatname”时,条件为“始终为true”的节点应在值上下文区域中具有具有以下正则表达式的上下文变量:

此正则表达式规则标识短语的最后一个单词是否带有双引号

一旦提取了船的名称,就可以向webhook发出节点请求


在这里,我们使用SpeL语言访问助手负载,以提取短语的最后一个单词。您可以在此处找到有关上下文变量函数的更多信息。

我记得在正常节点配置(无插槽)中,条件设置为true是可行的。你也试过这个吗?嗨,CSIE。谢谢你的回答。我只是试着在插槽中使用true作为“Check for”,但没有起到任何作用。我不需要使用插槽,但是如何在不使用插槽的情况下将变量传输到webhook?