Actions on Google 的系统类型比 Dialogflow 中的少?

问题描述

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

  • 日期
  • 时间
  • 日期/时间
  • 数量

虽然当我查看 Dialogflow 并查看 System Entities 时,我看到的似乎比 Actions on Google 公开的要多得多。

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

我想预订Brandon教授的课程

在 Dialogflow 中,我将意图参数定义为 @sys.person。我在 Actions on Google 中似乎没有这个选项,而且似乎必须构建我自己的数据类型。

是否有理由不使用 Actions Builder 向 Actions on Google 公开 Dialogflow 的丰富系统定义数据类型集?在 Dialogflow 中定义类型的推荐方法是什么?

解决方法

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

常用名、姓或其组合

(重点是我的。)但是有很多人有“不常见”的名字,不会被捕获,所以在许多情况下它实际上没有用。现实中的案例数量惊人。

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...