Google 上的操作的系统类型少于 Dialogflow 中的系统类型?

Fewer system types for Actions on Google than in Dialogflow?

我一直在研究 Dialogflow,现在开始研究 Google 上的 Actions,希望构建辅助操作。当我阅读 Actions on Google Actions Builder 中的系统数据类型时,我似乎只看到了几种类型:

而当我查看 Dialogflow 并查看 System Entities 时,我看到的似乎比 Google.

上的 Actions 公开的内容多得多

目前,我有一个需要识别一个人的名字。一个示例短语是:

I'd like to book the class taught by Brandon

在 Dialogflow 中,我将意图参数定义为 @sys.person。我在 Google 上的操作中似乎没有该选项,似乎必须构建我自己的数据类型。

使用 Actions Builder 时,Dialogflow 的丰富的系统定义数据类型集没有为 Google 上的 Actions 公开是有原因的吗?在 Dialogflow 中定义一个系统类型的推荐方法是什么?

最大的原因可能是它们要么很少使用,要么过于复杂而无法发挥作用。例如,@sys.persondocumented 作为

Common given names, last names or their combinations

(强调我的。)但是有很多人的名字“不常见”,不会被捕获,因此在许多情况下它实际上没有用。现实中的案例多得惊人

在 Actions Builder 下,您可以创建一个 custom type 来枚举可能的值(最适合您的示例)或自由格式的文本。 (或将两者结合起来。)

如果您担心需要使用新名称更新您的 Action,那么创建一个通用类型然后拥有该类型的值可能是有意义的 updated at runtime。这可以使操作更加动态和灵活。