沃森会话检查实体存在

问题描述 投票:0回答:2

我想检查一个实体是否是用户输入的一部分。例:

entities['@PRODUKT_INTENT_STOP_LIST']?.contains($variables.tmpEntity)

正如您在本示例中所看到的,entity@PRODUKT_INTENT_STOP_LIST的值是一个变量。我把它放在一个节点的条件下,但这不起作用。如果我使用硬编码的字符串而不是变量,它工作正常。

entities['@PRODUKT_INTENT_STOP_LIST']?.contains('Chart')工作正常,但将$variables.tmpEntity设置为'Chart'a然后要求entities['@PRODUKT_INTENT_STOP_LIST']?.contains($variables.tmpEntity)无效。

有人能告诉我这里有什么问题吗?

entity ibm-watson
2个回答
0
投票

仍然试图了解你想要做什么。但是如果你想检查输入中是否存在实体,你可以通过对该实体的大小应用条件来实现。

"context":{
"size":"<[email protected]()?>"
}

现在,如果size等于0,则实体不存在。

我知道这是一个更长的路,但它也告诉你输入中存在多少次该实体。


0
投票

嗨,我使用了错误的陈述。这个语句应该有效:实体[PRODUKT_INTENT_STOP_LIST]?。get($ variables.countEntity).value == $ variables。$ variables.tmpEntity

$ variables.countEntity:通过实体数组@PRODUKT_INTENT_STOP_LIST迭代的计数器,用于检查实体值是否等于$ variables.tmpEntity

问候

© www.soinside.com 2019 - 2024. All rights reserved.