Watson Conversation 中的否定条件

Negating conditions in Watson Conversation

我正在使用 Watson 对话来帮助 运行 虚拟支持系统,并且我正在尝试弄清楚如何更多地处理条件。具体来说,我正在寻找一种方法来否定条件或指定未找到的条件。

例如,我有一个实体@sports,它包含子实体@sports:mlb、@sports:nba、@sports:nhl 和@sports:nfl。我正在寻找一种方法来指定识别这些 except nba 中的任何一个(我知道我可以只指定其他三个,但我有其他类似的需求,但不太可行)。

理想情况下,它会像以下一样简单:
如果机器人识别:
@sports AND !@sports:nba
(体育而不是 nba)
但这似乎不起作用。

这可行吗?感谢您的帮助!

为寻找此答案的其他人回答我自己的问题:

实体前的感叹号实际上会否定响应。

我不确定为什么不早点;可能是一个被错误识别的实体。

根据官方文档,Watson 使用以下示例访问带有一个反例的实体:

@year != 2016   

在这种情况下,您的示例将是:

@sports != 'nba'

这应该有效:

@sports AND !@sports:nba

可能导致它失败的原因是您没有 select "Create New Condition" 第二部分。

体育实体。

对话节点

带条件的对话节点。

(记住,创造新条件)

结果


除此之外,一个常见的错误是忘记添加 #@

养成在 @CamelCase 中命名您的意图 #ALL_IN_CAPITALS 和您的实体名称的习惯。