## 5.2 意图处理
>本节主要介绍了如何扩展机器人的对话能力。我们通过意图配置处理,例如必须词典参数的配置和必须词条的勾选,来满足一些特定场景对话需求。本节列举了买咖啡和报名信息收集两个实用案例来讲解意图处理的作用。
意图处理,是对话能力拓展的重要部分。通过意图处理,一是可以丰富当前问答;二是可以对当前意图涉及的部分信息,进行存储、更新、甚至删除等操作;三是意图处理在一些情况下,意图处理slotfilling可以代替暗号的功能。下面将逐一介绍。
### 5.2.1 案例讲解:买咖啡
这将用到意图处理存储对话关键信息
任务:做一个咖啡定点单机器人,完成顾客点单、机器人记录给工作人员备餐和收银的任务。
首先,我们在意图中配置用户说,如“我要买(几)杯(什么)”,括号内容使用系统词典代替:我要买@sys.number:num 杯@sys.any:coffee
![](https://box.kancloud.cn/4dfd24260b5e75316e33fbb6a8a72523_691x136.png)
机器人要与用户确认订单,就必须重复一遍用户的指令,如何在机器人答中引用呢?这里就需要使用意图处理了:在意图处理中,系统会自动根据您引用的词典生成意图配置,请核对名称、值、类型(引用的词典名)是否与用户说引用的一致。
这里表示杯数名称和值都是num,属于sys.number类型(系统词典);
这里表示咖啡的名称和值都是coffee,属于sys.any类型(系统词典)。
![](https://box.kancloud.cn/6de7b2508fd0e7d236fae65cfe6cdf0e_681x207.png)
配置好意图处理后,就可以在机器人答中引用用户说的内容啦。使用:“&”+“名称”+"一个空格",表示引用这部分内容:
![](https://box.kancloud.cn/12d875bcf3c87ce48c5afcc8367e3432_666x251.png)
保存后,我们来试一试:
![](https://box.kancloud.cn/28000577ababfd63e74c3cc3d0ceea8d_1054x463.png)
此时的JSON中,“两杯”“美式”被识别为:“2”、“美式”,记录并引用到机器人答里。
![](https://box.kancloud.cn/6d80cc1e63a60621af33fc4fb192fdf2_1055x463.png)
“五杯”“卡布奇诺”被识别为:“5”、“卡布奇诺”,记录并引用到机器人答中。
### 5.2.2 案例讲解:收集报名信息
这里将运用意图处理的slotfilling功能
任务:做一个活动报名机器人,完成接受用户报名、收集参赛者信息,供活动工作人员审核等的任务。
流程为:我要报名——>提供姓名——>提供年龄——>提供城市——>提供电话——>完成报名
首先,建立意图:
![](https://box.kancloud.cn/944b8fe48e50737ce5827fd7c5afa7f5_689x203.png)
第二步,在意图处理中配置报名需要的四项信息:姓名、年龄、城市、电话,分别命名为:name、age、city、phone:
![](https://box.kancloud.cn/ddc66031d8cceb1612235ff36d152050_683x277.png)
在每条信息添加相应的提示语:
![](https://box.kancloud.cn/9723ea61ad6bbcdfeef206a6494e25b3_848x428.png)
最后,在机器人答编写一句“总结”:
![](https://box.kancloud.cn/152bb594164f0763c3dcf96834f631ab_680x254.png)
这里的“\n” 是换行符,不会在结果中显示,在硬件端使用各类字符时请谨慎,防止tts将字符读出。
整个流程的效果是这样的:
![](https://box.kancloud.cn/8f8f068beba814f68394ea8e2da1f0b9_512x410.png)
![](https://box.kancloud.cn/b9a88357cba1eddb987d613ba8751fd9_508x258.png)
最后一步收集完全部信息,JSON内容为:
![](https://box.kancloud.cn/65597b850bc3b3b73c18d693e7cacd82_513x438.png)
可以看到我们已经把报名者的全部信息记录下来了。
* * * * *
Slotfilling:必须词条,他的作用在于针对一些特殊场景,我们需要拿到重要的信息才会将流程进行下去,我们勾选这个参数配置,则会按顺序执行,每个必须词条的默认周期是三。
- 1. 海知智能第三方技能插件开放平台概述
- 2. 快速接入API
- 2.1 硬件接口调用
- 2.2 快速接入微信
- 2.3 API接入常见问题
- 3. 技能插件
- 3.1 基础能力类
- 顶级过滤器
- 用户知识图谱
- 机器人档案
- 通用闲聊
- 儿童闲聊
- Smart Reply
- 轻量闲聊
- 3.2 语音游戏类
- 成语接龙
- 词汇乐园
- 词语接龙
- 鹦鹉学舌
- 动脑猜猜
- 挑战单词
- 冒险世界
- 猜猜我是谁
- 阿拉丁学诗词
- 猫猫托管所
- 漂流瓶
- 诗词大会
- 国学大会
- 我爱猜歌名
- 我在看着你
- 灯谜猜猜
- 3.3 休闲娱乐类
- 星座运势
- 悦耳声音
- 幸运签
- 调教机器人
- 娱乐推送
- 3.4 生活服务类
- 黄历
- 计算器
- 古诗词
- 时间询问
- 翻译类技能
- 天气资讯
- 日程创建
- 日程创建指令
- 闹钟
- 食材知识
- 冥想音乐
- 格言
- 每日英语
- 汉语词典
- 豆果菜谱
- 古文翻译
- 3.5 音频点播类
- 喜马拉雅FM
- 新闻广播
- 音乐点播
- Smart Music
- 儿童听听
- Smart Audio
- 儿童笑话
- 点播控制指令
- 3.6 视频点播类
- 影视点播
- 3.7 百科知识类
- 人物百科
- 百科问答
- 实时百科
- 3.8 体育健康类
- 五分钟健身
- 4. 开发者初级教程
- 4.1 开通服务
- 4.2 创建机器人
- 4.3 设置机器人
- 4.4 获取技能插件
- 4.5 让机器人学会聊天
- 4.6 导入知识库
- 4.7 多种问答形式
- 4.8 数据统计
- 4.9 粉丝管理
- 5. 开发者中级教程
- 5.1 词典运用
- 5.2 意图处理
- 5.3 暗号使用
- 5.4 事件触发
- 5.5 优先级
- 5.6 触发器
- 5.7 快捷键
- 5.8 意图报错
- 6. 开发者高级教程
- 6.1 handlebars模版语言
- 6.2 JavaScript简单介绍
- 6.3 JavaScript使用说明
- 6.4 JavaScript使用案例
- 6.5 JavaScript常见问题
- 7. 快速发布技能
- 8. 帮助中心
- 8.1 常见概念
- 8.2 帮助视频
- 8.3 联系我们