《Dialogflow零基础入门教程》4 实践案例1-- 搭建简单聊天机器人
意图相当于用户向机器人提出的请求或问题,Dialogflow 通过识别用户输入的话来判断用户的目的是什么。“今天北京天气怎么样?“明天上海会下雨吗?这些句子的“意图”都是“查询天气”。实体是用户输入中关键的信息或参数。例如在“今天北京天气如何?”这句话里,“北京”就是实体,它代表用户要查询天气的地点。Dialogflow可以自动识别一些常用实体(如日期、城市等),也可以定义自己的实体。Dialog
在这一章,我们将通过搭建一个简单的天气查询聊天机器人,帮助大家深入理解和掌握Dialogflow的实际使用方法。
本章完成后,你将掌握以下技能:
- 创建并管理意图(Intents)
- 识别并使用实体(Entities)
- 配置静态响应(Responses)
- 在Dialogflow模拟器中进行测试和优化
4.1 创建基本的意图(Intents)
什么是意图(Intent)?
意图相当于用户向机器人提出的请求或问题,Dialogflow 通过识别用户输入的话来判断用户的目的是什么。
例如,用户说:
- “今天北京天气怎么样?”
- “明天上海会下雨吗?”
这些句子的“意图”都是“查询天气”。
实践步骤
我们以“天气查询”为例:
- 打开Dialogflow控制台并进入你的项目。
- 在左侧菜单中,点击 Intents(意图)。
- 点击 CREATE INTENT(创建意图),并将其命名为
weather.query
。 - 在 Training phrases(训练短语)区域,输入一些示例语句,比如:
提示:尽量提供多种不同的问法,帮助Dialogflow更准确地理解用户意图。
4.2 设置实体(Entities)
什么是实体(Entity)?
实体是用户输入中关键的信息或参数。例如在“今天北京天气如何?”这句话里,“北京”就是实体,它代表用户要查询天气的地点。
Dialogflow可以自动识别一些常用实体(如日期、城市等),也可以定义自己的实体。
实践步骤
我们需要识别两个关键实体:
- 城市:用于识别用户想查询哪个地方的天气。
- 日期:用于识别用户想查询天气的具体日期。
步骤一:使用系统内置实体
- 在之前创建的意图
weather.query
的训练短语中,将城市和日期分别选中并关联到Dialogflow的内置实体:- 例如:“今天北京天气如何?”中,选中“今天”,Dialogflow自动识别为系统实体
@sys.date
;选中“北京”,自动识别为@sys.geo-city
。
- 例如:“今天北京天气如何?”中,选中“今天”,Dialogflow自动识别为系统实体
步骤二:检查实体识别结果
- 在训练短语下方的 Action and parameters(操作与参数)区域:
- 应自动显示两个参数:
geo-city
(城市)date
(日期)
- 请确保Dialogflow正确识别了这两个参数,并正确标记了类型。
- 应自动显示两个参数:
4.3 配置简单的响应(Responses)
Dialogflow能根据用户意图自动返回静态或动态的响应。此处我们先学习如何配置静态文本响应。
实践步骤
继续在意图weather.query
中操作:
- 在页面底部找到 Responses(响应)区域。
- 点击 ADD RESPONSE,添加静态文本回复。比如:
- “您想查询的是 d a t e 的 date的 date的geo-city的天气,对吗?”
- “我暂时还无法查询天气数据,但我知道你想问 d a t e 在 date在 date在geo-city的天气情况。”
解释说明:
$date
和$geo-city
是从用户的话里提取的参数值,在回应用户时自动插入。
4.4 测试与改进(Dialogflow模拟器使用方法)
模拟器简介
Dialogflow 提供了一个内置的模拟器工具,方便我们随时测试对话效果。
实践步骤
- 在Dialogflow控制台页面的右侧,有一个名为 Try it now(立即尝试)的区域。
- 在输入框中输入测试语句,比如:“明天广州天气如何?”
- Dialogflow会立刻分析出:
- 识别到的意图(
weather.query
)。 - 识别到的实体(如
geo-city=广州
,date=明天
)。 - 输出定义好的静态文本响应。
- 识别到的意图(
改进方法
-
测试多样化的输入
尝试输入不同的问法,看看Dialogflow是否准确理解。例如:- “深圳下周二的天气?”
- “成都明天温度是多少?”
- “后天南京下雨吗?”
-
优化识别准确度
如果Dialogflow识别出错或无法识别,可以回到“训练短语”中补充新的短语,帮助它更准确地学习。
小结与延伸实践
本章我们学会了:
- 创建意图并定义训练短语。
- 使用内置实体识别关键参数。
- 设置静态文本响应。
- 通过模拟器测试和优化机器人。
延伸实践:
- 尝试自行扩展更多意图,如:“查询空气质量”、“查询温度”等。
- 尝试添加自定义实体,如定义“天气类型”(晴、雨、雪等)。
完成以上步骤后,你已经能初步掌握使用Dialogflow搭建聊天机器人的基础技能了。
到此,第四章实践案例的详细内容已完成,后续章节将进一步介绍如何使用Webhook实现更智能的动态响应!

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)