我有一个名为 @spare_part 的实体,该实体具有 4 个值,每个值均带有以下示例同义词:
两者和同义词过滤器,油位指示器
未定义,其同义词为备件
only_gear ,其同义词为阀门,密封
whole_gear_box ,其同义词为整套齿轮箱
我希望能够处理同一输入中给定的多个实体,并在以后根据需要解决它们。为此,我在JSON编辑器中编写了以下代码:
{
"context": {
"sparepartrequest": "@spare_part.values"
},
"output": {
"generic": [
{
"values": [
{
"text": "You want an offer for the following parts: <?
$sparepartrequest.join(', ') ?>."
}
],
"response_type": "text",
"selection_policy": "sequential"
}
]
}
}
我已经创建了一个名为 sparepartrequest 的上下文变量,如上面的代码行所示。例如,当用户说“我要过滤器和密封件的要约”时,该漫游器的输出为以下句子:
您要提供以下零件的报价:only_gear。
我不希望机器人提示输入实体 @spare_part 的值的名称,而是希望它存储用户的确切输入,对于我们来说,这是过滤器和密封。因此,如果该机器人按照我的意愿工作,则输出将如下所示:
您需要以下零件的报价:过滤器,阀门。
同样,我相信可以使用JSON编辑器来处理。谢谢 !
答案 0 :(得分:3)
使用两个上下文变量。 sparepartrequest (已完成)和 sparepartrequest_literals 如下:
"sparepartrequest_literals":"<? entities['spare_part'].![literal].join(', ') ?>"
。
然后,在您的文本响应中,用$sparepartrequest_literals
进行调用以打印出提到的部分,或使用$sparepartrequest
来引用检测到的值。