我需要从实体数组中获取所有用户输入文字。例如,
用户输入:
我想看海豚,大象和狗
实体:
{
"type": "synonyms",
"value": "animalcheck",
"synonyms": [
"dolphins",
"elephant",
"dogs",
"dog",
"dolphin",
"girafe"
]
}
所以。。需要用户输入文字:["海豚","大象","狗"]
我正在尝试这个:
<? @entity[$count].literal ?>
其中$count=1,并且将递增,直到到达@entity.values.size((,但括号内的$count返回错误,它不起作用。
有什么建议吗?
我确实认为你似乎在为自己努力工作。你有什么理由不能拥有一个拥有自己动物类型列表的实体组,即动物,它本身包含["海豚"、"大象"、"狗"]的值。这样,如果用户的问题包含这些值中的任何一个,他们将在实体数组中出现动物:["海豚"、"狗"]等。
这反过来又更容易在助手内部处理。没有什么可以阻止你同时拥有实体组"动物"one_answers"动物检查"。(尽管animalcheck似乎是你的值,但不确定你的实体实际上被称为什么。你的例子使用了@entity,但肯定这会被允许作为实体名称。(同样要访问您的实体,比如说,如果它被称为"entitylist",您需要使用
查看文档;https://cloud.ibm.com/docs/services/assistant?topic=assistant-表达语言
问题可能是$count
变量未被视为整数,并且只有整数可以用于访问WA
中的数组。
此表达式将确保$count
变量的内容将被视为整数,因此可以访问WA:中的数组
<? @entity[$count.toInt()].literal ?>
。