《Dialogflow零基础入门教程》2 基本概念与原理

2.1 意图(Intent)

什么是意图?

意图(Intent)可以理解为 “用户想做什么”。比如用户说了一句话:“今天天气怎么样?”,这里用户的意图就是查询天气

用更简单的比喻说明:

  • 用户说:“我想点一杯拿铁。”
  • 意图:“点咖啡”(用户真正想做的事就是点咖啡。)

Dialogflow的核心功能就是识别用户表达的意图。

如何定义和理解用户的意图?

在Dialogflow中,意图通过两种核心要素定义:

  • 训练短语(Training phrases):用户可能会说的话。
  • 响应(Responses):识别出意图后,机器人回复用户的话。

举例:

意图(Intent)训练短语示例响应示例
天气查询“今天的天气怎么样?”、“会不会下雨?”“请告诉我您要查询哪个城市的天气?”
预定餐厅“帮我订个餐厅”、“我要预订晚餐”“请问要订几个人的座位?”

当用户输入类似“今天会不会下雨?”时,Dialogflow会识别出“天气查询”的意图,并返回相应的回答。


2.2 实体(Entity)

实体的作用

实体(Entity)是句子中最关键的信息,类似填空题里的空格:

例如:
用户说:“帮我订明晚7点两个人的餐厅。”

  • 意图 是“订餐厅”。
  • 实体 就是具体的信息:“明晚7点”和“两个人”。

简单的比喻:

用户说:“我明天要飞北京。”
这里的实体就是:

  • 时间:“明天”
  • 地点:“北京”
系统实体和自定义实体的区别

Dialogflow有两种实体:

  • 系统实体(System Entities):预定义好的常用实体,比如日期 (@sys.date)、时间 (@sys.time)、地名 (@sys.geo-city)等。

    • 例如:“我后天要去上海”,系统自动识别“后天”和“上海”为系统实体。
  • 自定义实体(Custom Entities):针对特殊场景自己定义的实体。

    • 例如做一个点餐机器人时,可以定义自定义实体@菜品,包含“宫保鸡丁”、“鱼香肉丝”等选项。

举例对比说明:

类型用户说实体类型实体示例
系统实体“我要订后天的票”@sys.date(日期)后天
自定义实体“我要一份宫保鸡丁”@菜品(自定义的实体)宫保鸡丁

2.3 上下文(Context)

什么是上下文?

上下文(Context)就是机器人能记住前面说过的内容或对话状态的功能。

用通俗易懂的比喻:

你去买咖啡,服务员问:“要大杯还是小杯?”
你说:“大杯”,
服务员接着问:“冰的还是热的?”
这里服务员记住了你在买咖啡,并继续询问。这种“记忆”就是上下文。

上下文在对话中的作用(示例演示)

在Dialogflow中,上下文有两大作用:

  • 保持对话连续性(记忆用户之前的回答)
  • 避免重复询问用户同样的问题

实例演示:

用户与机器人对话实例:

用户: 帮我订个餐厅
机器人: 几个人用餐?
用户: 三个人
机器人: 什么时间?
用户: 明晚七点
机器人: 好的,帮您订了明晚7点,三个人的座位。

上下文具体作用说明:

  • 当用户说“三个人”时,机器人知道这是针对“订餐”这个意图的回答。
  • 机器人记住了“三个人”这个信息,在下一步再询问用餐时间。

2.4 对话管理与Fulfillment

什么是Fulfillment?

Fulfillment 就是Dialogflow根据用户意图去完成任务的过程,简单来说就是:

用户说:“明天天气如何?”
机器人识别出意图,然后去外部查找天气信息,再反馈给用户,这个“去外面查找信息”的过程叫Fulfillment(“完成用户需求”)。

简单比喻:

  • 意图识别是:“明白用户想做什么”
  • Fulfillment是:“帮用户去完成这件事”(如查询天气,查数据库,执行程序)

Webhook和云函数的基本概念

Webhook是实现Fulfillment的一种常见方式,就是让Dialogflow通过互联网去请求一个外部程序或服务,以便获取或处理数据。

通俗的图示说明:

用户 -> Dialogflow -> Webhook程序(云函数或外部服务器)-> 返回结果 -> Dialogflow -> 用户

举例说明:

  • 用户问:“明天北京天气?”
  • Dialogflow将城市和时间发送给Webhook程序。
  • Webhook程序去天气API查询天气。
  • Webhook程序把查询到的天气信息发送回Dialogflow。
  • Dialogflow再将天气信息回复给用户。

Webhook使用场景举例:
  • 天气查询机器人(Webhook去天气网站查询最新天气)
  • 快递查询机器人(Webhook去物流公司查询快递状态)
  • 客户资料管理(Webhook从公司数据库查找客户信息)

本章小结

通过本章学习,你应该已经掌握Dialogflow最核心的概念:

  • 意图(Intent): 理解用户“想做什么”。
  • 实体(Entity): 提取用户表达中的关键“具体信息”。
  • 上下文(Context): 记住和管理对话内容与流程。
  • Fulfillment与Webhook: 实现真正的任务执行,如查询数据或外部处理。

下一章,我们将通过实际操作,帮助你一步一步地实现这些基本概念。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山海青风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值