在 Dialogflow 中,如何从单个词中提取两个不同实体的值?

In Dialogflow, how do I extract values for two different entities from a single word?

在我的用例中,我想提取实体 gender 中的值 'male' 和值 'adult' 在实体 age-group 中来自单个单词 'husband',或者同样,我想提取实体 gender 中的值“female”和实体 [=] 中的值“senior” 18=]年龄组来自单词'grandmother'。

在 Dialogflow 中尝试实现此功能时,您会 运行 遇到两个问题。

1: Dialogflow 无法根据单个值提取多个实体。即使您使用不同的参数两次添加一个短语,它也只会 return 两个实体之一。

2: Dialogflow 无法根据不同实体的值设置实体。如果你想使用这样的东西,你需要一些代码来为你设置 genderage-group

所以你可以创建一个实体并添加 husband, wife, grandfather and grandmother 作为值,然后在你的代码中检查这个实体并将代码中的变量设置为 male、senior 等


在不使用任何代码的情况下,最接近的方法是在参数中扩展为两个实体,这样您就可以添加 husband 作为两个实体的同义词:

对于这个例子,我使用了以下实体:

由于同义词的 Dialogflow 现在会在您期望性别实体时将丈夫的值更改为男性。成人的年龄组实体也使用了同样的技巧。

最后,我使用以下意图设置来创建示例: