0

我正在尝试连接不同的实体类型或实体属性。考虑这种情况:
我有一个动物列表,我有一个蔬菜列表
每只动物都吃蔬菜的一个子集 - 牛吃 veggieA、veggieB 和母鸡吃 veggieB、
veggieC是 veggieA 和 veggieB。即使提到了 veggieC,我也不想为我所有的后续意图抓住这个实体

我怎样才能做到这一点?
我可以有一个动物实体类型,其中包含 Cow、Hen 等动物列表和蔬菜实体类型,以及 veggieA、veggieB 等蔬菜列表,
或者像每种动物形成不同的实体类型 - 牛是实体,母鸡是entity
我怎样才能像我之前描述的那样连接不同的实体?

4

1 回答 1

0

要考虑的关键点是实体中的任何值(自定义或非自定义)都将是与以该实体为参数的特定意图的有效匹配。

意思是,如果你有一个animal实体和一个vegetable实体,即使你训练一个意图牛意图,只用牛作为动物,不管你提交的动物是什么,这个意图都会匹配。据我所知,您不能限制在意图内有效的实体值。

出于这个原因,确保您的行为得到满足的最简单方法是为每只动物(具有相同蔬菜的动物组)创建单独的实体。然后为每个动物实体创建特定的意图,后续意图也将分配一个特定的植物实体。意思是,许多特定的实体而不是一般的实体。您将拥有实体:Cow-like,Hen-like,Cow-veggies,Hen-veggies,...

如果这对于您的特定用例来说似乎不可行,您还可以尝试保留一般实体并在 Webhook Fulfillment 中编写一些条件来处理您的特定行为,类似于此处所做的。

于 2020-11-18T09:29:40.353 回答