“意图”用于对一轮对话中的最终用户意图进行分类。 与 ES 意图相比,CX 意图已经过简化,使其成为更可重复使用的资源。
意图包含以下数据:
术语 | 定义 |
---|---|
训练短语 | 训练短语是最终用户可能输入或说出的示例短语,称为最终用户输入。如果最终用户输入与这些短语中的其中一个相似,Dialogflow 便会将其与该意图匹配。您无需定义所有可能的示例,因为 Dialogflow 的内置机器学习功能可使用其他相似的短语扩展您的列表。 |
参数 | 您可以定义训练短语,以使用参数从最终用户输入的特定部分提取值。 |
意图匹配
当最终用户输入或说出某些内容(称为“最终用户输入”)时,Dialogflow 会将该输入与意图训练短语进行比较,以找到最佳匹配。此过程称为“意图匹配”。只有与范围内的意图路由(具有意图要求的状态处理程序)关联的意图才会发生意图匹配。
在搜索匹配意图时,Dialogflow 根据“意图置信度分数”(也称“置信度分数”)为潜在匹配项评分。取值范围从 0.0(完全不确定)到 1.0(完全确定)。 在对意图进行评分后,可能会出现以下两种结果:
训练语句
训练短语是最终用户可能输入或说出的示例短语,称为“最终用户输入”。对于每项意图,您可以创建许多训练短语。如果最终用户输入与这些短语中的其中一个相似,Dialogflow 便会将其与该意图匹配。
例如,训练短语“I want pizza”会训练代理识别与该短语相似的最终用户输入,比如“Get a pizza”或“Order pizza”。
您无需定义所有可能的示例,因为 Dialogflow 的内置机器学习功能可使用其他相似的短语扩展您的列表。建议您至少创建 10-20 个训练短语(具体取决于意图的复杂程度),以便您的代理能够识别各种最终用户输入。例如,如果您希望您的意图可以识别最终用户关于他们最喜欢的颜色的输入,则可以定义以下训练短语:
- “I like red”
- “My favorite color is yellow”
- “black”
- “Blue is my favorite”
- …
注释训练短语
您可以通过为训练短语的特定部分添加注释并配置关联的参数来控制最终用户数据的提取方式。
例如,假设有一条训练短语为“What is the forecast tomorrow for Tokyo?”
您应使用 date
参数为“tomorrow”添加注释,使用 location
参数为“Tokyo”添加注释。当您为训练短语的特定部分添加注释后,Dialogflow 会识别出这些部分只是最终用户将在运行时提供的实际值的示例。
对于“What is the forecast on Friday for Sydney?”这样的最终用户输入,Dialogflow 会从“Friday”中提取 date
参数,并从“Sydney”中提取 location
参数。
使用控制台构建代理时,如果您所添加的训练短语中包含可与现有实体类型匹配的特定部分,那么系统会自动为您创建大多数注释。这些部分会在控制台中突出显示。 您可以根据需要修改这些注释和参数。
要使用控制台手动为训练短语添加注释,请执行以下操作:
- 选择要添加注释的训练短语部分。
- 从列表中选择所需的实体类型。
- 系统会在下方的参数表中为您创建一个参数。
使用 API 构建代理时,必须手动为训练短语部分添加注释。请参阅 Intent
类型使用的 TrainingPhrase
类型。
为意图参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 意图资源 | 意图资源 |
RPC | 意图界面 | 意图界面 |
C# | 不可用 | 不可用 |
Go | 不可用 | 不可用 |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | 不可用 | 不可用 |
Python | IntentsClient | IntentsClient |
Ruby | 不可用 | 不可用 |
默认欢迎意图
创建代理时,系统会为您创建默认欢迎意图。意图具有简单的训练短语(例如“Hi”或“Hello”),旨在匹配初始最终用户输入。您可以根据需要修改此意图。
使用 API 时,您可以使用以下意图 ID 引用此意图:
00000000-0000-0000-0000-000000000000
默认负意图
创建代理时,系统会为您创建默认负意图。您可以将训练短语添加到此意图中作为反例。在某些情况下,终端用户的输入可能与正常意图中的训练短语略有相似之处,但您不希望这些输入与任何正常意图匹配。
例如,房间预订代理可能会有“我想预订房间”之类的培训用语。如果最终用户想要购买有关房间的图书,可能会说“我想购买有关房间的图书”。如需确保最终用户输入的意思与您的意图不匹配,您可以添加该用语作为反例。
使用 API 时,您可以使用以下意图 ID 引用此意图:
00000000-0000-0000-0000-000000000001
创建意图
如需创建意图,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 选择 GCP 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击意图 (Intents)。
- 点击+创建。
- 输入意图数据。
- 点击保存。
API
请参阅 Intent
类型的 create
方法。
为意图参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 意图资源 | 意图资源 |
RPC | 意图界面 | 意图界面 |
C# | 不可用 | 不可用 |
Go | 不可用 | 不可用 |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | 不可用 | 不可用 |
Python | IntentsClient | IntentsClient |
Ruby | 不可用 | 不可用 |
删除意图
如需删除意图,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 选择 GCP 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击意图 (Intents)。
- 将鼠标悬停在要删除的意图上。
- 点击 delete 删除按钮。
API
请参阅 Intent
类型的 delete
方法。
为意图参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 意图资源 | 意图资源 |
RPC | 意图界面 | 意图界面 |
C# | 不可用 | 不可用 |
Go | 不可用 | 不可用 |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | 不可用 | 不可用 |
Python | IntentsClient | IntentsClient |
Ruby | 不可用 | 不可用 |
访问意图数据
如需访问意图数据,请执行以下操作:
控制台
- 打开 Dialogflow CX 控制台。
- 选择 GCP 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击意图 (Intents)。
- 点击您要访问的意图。
- 查看或更新意图数据。
- 点击保存以保存更改。
API
请参阅 Intent
类型的 get
和 patch/update
方法。
为意图参考选择协议和版本:
协议 | V3 | V3beta1 |
---|---|---|
REST | 意图资源 | 意图资源 |
RPC | 意图界面 | 意图界面 |
C# | 不可用 | 不可用 |
Go | 不可用 | 不可用 |
Java | IntentsClient | IntentsClient |
Node.js | IntentsClient | IntentsClient |
PHP | 不可用 | 不可用 |
Python | IntentsClient | IntentsClient |
Ruby | 不可用 | 不可用 |