在 Dialogflow Chatbot 中创建您自己的意图和实体
Dialogflow 是一个强大的自然语言理解引擎,用于处理和理解自然语言输入。换句话说,它通过为您处理自然语言理解,让您轻松实现对话式用户体验。
入门
- 首先,您必须转到链接 https://dialogflow.cloud.google.com/。然后您必须使用 google 帐户注册,然后接受条款和条件。
- 下一步是创建创建您的第一个 Dialogflow 代理。
创建代理
- 单击创建代理。
- 单击文本 AgentName 的输入框,然后输入您的聊天机器人的名称(例如,Mobile)
- 单击创建。Dialogflow 现在将创建一个虚拟代理项目。您现在应该会看到 Dialogflow 控制台的 Dialogflow 控制台菜单。默认情况下,Dialogflow 代理以两个意图开始。当您的代理不理解您的用户所说的内容时,它会匹配默认回退意图。默认欢迎意图向您的用户致意。可以更改这些以自定义体验。右侧是 Dialogflow 模拟器。这让您可以通过说话或输入消息来测试您的代理。您刚刚向您的 Dialogflow 代理问好!默认欢迎意图已预先配置为了解基本问候语并使用通用响应进行回复。
创建代理的意图
Dialogflow 使用意图对用户的意图进行分类。意图具有训练短语,它们是用户可能对您的代理说的话的示例。
- 单击左侧菜单中的 Intents 并写入意图名称(例如 Mobile_order)。
- 单击添加训练短语并输入以下内容,在每次输入后按 Enter:
- 什么时候开店?
- 你有三星手机吗?
- 我想在 2018 年 12 月 3 日上午 9 点购买 redmi 7 手机。
- 什么时候关店?
- 在响应部分的文本响应下,在文本字段中输入以下响应:Welcome To Mobile_shop 然后单击保存按钮
- 现在通过询问以下问题使用右侧的模拟器尝试一下:我想购买redmi 8
请注意,即使您的查询与训练短语略有不同,Dialogflow 仍将查询与正确的意图相匹配。这是由于其内置的机器学习。机器学习模型根据代理中的每个意图检查查询,为每个意图打分,然后匹配得分最高的意图。如果得分最高的意图的分数非常低,则匹配回退意图。 - 下一步是创建实体。
创建代理实体并映射到意图
实体有两种类型,即基于系统的或内置的和用户定义的。内置实体是 sys.date、sys.time、sys.number 等。我们必须将实体映射到我们的意图,以便聊天机器人了解它是什么类型的数据。就像编程语言一样,在 C 中我们定义了变量的数据类型,类似地,我们可以将实体称为数据类型,将变量称为意图
- 单击左侧菜单中实体旁边的加号(“+”)。
- 将名称大小添加到“Mobile_type”文本字段中。
- 确保选中“定义同义词”复选框。
- 在显示“单击此处编辑条目”的文本框中输入以下值。您可以在输入值时使用选项卡按钮,以便它们也用作同义词,然后按 Enter 进入下一行。
- 三星
- 诺基亚
- 红米
- 体内
- 真我
- 现在单击保存并转到意图部分
- 现在将实体映射到意图,例如:给定的意图是“我想在 1 月 29 日晚上 8 点购买 Redmi 7”在这个 1 月 29 日晚上 7、8 点是内置实体。 7 将映射到 Sys.Number,8pm 将映射到 sys.time,1 月 29 日将映射到 sys.date。要映射它,您必须选择实体的对应数据并单击其匹配实体。这里的 Redmi 属于我们创建的实体 mobile_type 因此,选择 Redmi 并从选择 Redmi 后出现的对话框中单击 Mobile_type。
- 实体现在映射到意图,现在从模拟器测试你的结果