沃森会话检查实体存在

时间:2018-02-09 15:07:37

标签: entity ibm-watson

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

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

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

entities['@PRODUKT_INTENT_STOP_LIST']?.contains('Chart')运行正常 但是将$variables.tmpEntity设置为' Chart' a然后要求 entities['@PRODUKT_INTENT_STOP_LIST']?.contains($variables.tmpEntity) 没有用。

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

2 个答案:

答案 0 :(得分:0)

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

        if (list[i].isDirectory()) {
            // System.out.println("Searching Path...");
            findFile(list[i], target);
        }

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

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

答案 1 :(得分:0)

嗨,我使用了错误的陈述。 该声明应该有效: 实体[PRODUKT_INTENT_STOP_LIST] ?.得到($ variables.countEntity)。价值== $变量。$ variables.tmpEntity

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

此致