语音助手——多轮会话(理论概念篇)
这一章我们一起来看一下语音助手中多轮对话的实现方案。在目前的语音助手的多轮实现方案中,基本分为两大部分:rule_base(基于规则) 和 model_base(基于模型),从线上效果可控和快速开发的角度来看,大多数的多轮会话仍然是rule_base的,一般分为:基于有限状态自动机,或者基于对话剧本,此时可以在整个流程中的部分模块中利用model起到提高准召的效果,至于纯粹的model_base的多轮,目前还都是在学术界,在工业界中落地的很少。
基本概念:
1、封闭域的多轮会话
- 任务驱动的,主要目的为补全必要槽位,并根据槽位执行意图。
- 每次会话维护一个轮询状态,有明确的进入和退出状态。
1.1 轮询状态
封闭域的多轮对话可以利用有限状态自动机(FSM)来实现。当初步明确用户意图时,进入轮询状态,当必要槽位满足或者用户主动打断时,退出轮询。比如下面的例子:
U::帮我导航 # 识别到用户意图为导航,同时缺少必要槽位,进入轮询状态
A::你要去哪里呢? # 轮询状态中
U:北京 # 轮询状态中,用户回复问题
A:好的 # 必要槽位满足,退出轮询状态
当处在轮询状态时,BOT根据当前FSM的节点状态对用户进行询问,并根据用户的回答进行节点跳转,直至轮询状态结束。如下图:
由于封闭域多轮会话有明确的轮询状态,并且是助手主导的,所以一般可以认为用户的下一轮话术大概率是在回复当前助手的询问,此时可以选择直接判断并填充槽位信息,当然,如果想做的比较精细一些,就需要判断用户的回复是否是缺失的槽位,有以下两种情况:
U: 买张火车票 # 识别到用户意图,缺失地点和时间槽位
A: 你要去哪呢? # 进入轮询状态
U: 我想买明天出发的 # 用户答非所问,但是属于当前场景的槽位,此时需要能够把这个槽位填充到时间槽位中
A: 好的,那么你想去哪里呢? # 发现仍然缺失地点槽位,继续询问
U: 买张火车票 # 识别到用户意图
A: 你要去哪呢? # 进入轮询状态
U: 今天天气怎么样? # 用户答非所问,是其他可执行意图
A: 今天天气晴,气温。。 # 此时需要能够跳出,执行其他意图
U: 北京 # 用户回复上一个问题,这里属于打断恢复,需要能够接续上
上面两种情况是封闭域多轮中比较常见的问题,解决方案也比较简单,对于第一个问题,可以依赖NER识别用户回复中是否包含槽位对应的实体类型,对于第二个问题,可以利用场景分类或者意图模型来判别是否存在其他意图。
2、开放域多轮会话
区别于封闭域多轮有明确的轮询状态,开放域多轮会话一般指的是没有明确的轮询状态,需要基于语义理解来判断用户本轮话术是否与上文存在关联,一般分为三种类型:指代消解、省略补全、语义顺承。
比如下面的例子:
(指代消解)
U: 周杰伦是谁?
A: 周杰伦是.......
U: 我想听他的歌 # 需要理解为:我想听周杰伦的歌
(省略补全)
U: 今天天气怎么样?
A: 今天天气......
U:明天呢? # 需要理解为:明天天气怎么样
(语义顺承)
U: 定一个明天上午8点的闹钟
A: 好的,已经帮你设定了
U: 取消闹钟 # 需要理解为:取消刚才设定的明天上午8点的闹钟。
这里说一下省略补全和语义顺承的区别,省略补全一般是指如果单纯的看当前这一轮对话,并不能确定其意图是什么,需要结合上文才能够确定具体意图。 而语义顺承是指当前这一轮具有明确的意图,只是槽位缺失,需要结合上文来判断是否存在可以顺承的槽位信息。
除了上面的三种类型的多轮外,还有另外两种情况,不过其在线上出现的比较少,所以我们目前也是没有实现的,下面简单介绍下:
(动作纠正)用户本轮话术是对其上一轮话术的纠正
U: 打电话给小红
U: 彩虹的虹 # 此时需要能够理解为: 打电话给小虹
(实体消歧)本轮话术中的实体存在歧义,需要结合上文进行消歧
U: 三星的手机怎么样?
U: 我还是更喜欢苹果
2.1、上下文/语境
这里说的上下文并不一定是时序上与当前话术最接近的,而是语义层面与当前关联的关联意图,比如刚才提到的打断恢复的例子。
同时上文也不局限与历史对话信息,主要可以分为以下几类:
- 对话上下文:
- 用户当前话术与用户上文话术构成上下文, 比如前面列举的都是这样的例子
- 用户当前话术与上文助手的回复构成上下文,比如下面的例子:
U: 世界之窗在哪里?
A: 世界之窗在深圳。
U: 买一张去那的机票。 # 需要理解为:买一张去深圳的机票。
- 设备上下文:指用户当前话术与用户当前设备状态有关,比如下面的例子:
# 用户当前正使用QQ音乐播放王菲唱的《红豆》
U: 换成方大同的。 # 此时需要能够理解为:换成方大同唱的《红豆》
2.2 槽位对齐
在理解本轮话术和上文话术的语义联系后,需要将上下文关联的信息提取出来并补充到本轮的意图中,一般分为以下两种:
- 槽位继承
U: 明天天气怎么样
U: 北京天气呢? # 北京明天天气怎么样?
- 意图继承
U: 今天天气怎么样
U: 明天呢? # 明天天气怎么样?
这一章就先讲到这里,下一章我们再来一起看下开放域多轮中的语义顺承、省略补全、指代消解的具体实现流程和细节。
语音助手——多轮会话(理论概念篇)相关推荐
- CCIE理论-第一篇-SDN概念复习
CCIE理论-第一篇-SDN概念复习 SDN-软件定义网络(Software Defined Network,SDN 最主要的核心概念是方便管理设备 传统网络 其实这个SDN也不是多牛逼的东西,他只是 ...
- 单片机学习:第一篇 基于Python的树莓派语音助手
title: 单片机学习:第一篇 基于Python的树莓派语音助手 tags: 树莓派,python,语音助手,百度AIP 目录 一.pyaudio录音 二.语音识别 三.与图灵机器人对话 四.语音合 ...
- 【学习笔记】 科目一之概念篇
[学习笔记] 科目一之概念篇 概念题方法 1)抓重点:科目一设计知识范围太广,不要妄想所有知识点都复习到,这是不可能的,我们的目标是45分几个而不是考高分,复习时间有限,所以要学会抓重点,比如法律条文 ...
- 人工智能 | 自然语言处理研究报告(概念篇)
博主github:https://github.com/MichaelBeechan 博主CSDN:https://blog.csdn.net/u011344545 ================= ...
- 腾讯发布叮当助手,人工智能语音助手将赋能智能电视
查尔斯狄更斯在<双城记>里说,"这是最好的时代,这是最坏的时代;这是智慧的时代,这是愚蠢的时代;这是信仰的时期,这是怀疑的时期;这是光明的季节,这是黑暗的季节;这是希望之春,这是 ...
- 浅谈语音助手的对话管理与策略制定
本篇文章首先梳理了对话系统中的对话管理的原理,包括中控系统的分发.各类bot处理Query的逻辑.候选回复融合和排序的功能,其中也包含了垂直领域知识图谱的构建.最后从PM角度思考,为了提升bot的表现 ...
- 专访奇点机智CTO林德康:如何让手机语音助手不再是鸡肋? | AI英雄
本文系网易新闻-智能工作室出品 聚焦AI,读懂下一个大时代! 网易年度AI人物评选--2017网易AI英雄风云榜,自荐提名进行中! 奖项设置:技术创新人物TOP 10,商业创新人物TOP 10 表彰人 ...
- 嘘!你与谷歌语音助手的对话,可能已经泄露……
要闻聚焦 1.你与谷歌语音助手的对话,可能已经泄露-- 2.外媒看中关村:正在改变中国,谋求改变世界 3.网约车司机行车途中玩手机.剪指甲,滴滴:已暂停其服务账号 4.改名大法好:瑞安航空将波音737 ...
- 【软件测试】基础-概念篇
软件测试基础-概念篇 记录 - 慕课网 imooc 软件测试基础-概念篇 简介:系统介绍什么是软件测试,从软件测试的定义.原则以及测试阶段.测试模式.测试手段和测试类型分别详细说明软件测试中的各种测试 ...
最新文章
- python基于模型对测试集和训练集的预测概率结果文件可视化模型的校准曲线、多个模型的校准曲线(calibration curve)
- rust腐蚀 木制窗户怎么修_冬天装修后怎么去除甲醛?紧闭门窗和准备一盆水,轻松教你解决!...
- java怎么导入文件_怎么将文件导入java
- AndroidStudio gradle配置
- Android图片查看支持双击放大缩小、多点触摸(多机型测试,长期使用很稳定)
- 主存和cache每一块相等_笔记:cpu中的cache(一)
- html网页设如何置访问密码,利用JS给单页html加上简单访问密码,需要密码才能访问!...
- 怎样检测mysql5.5安装成功_64位wiN7系统中装配MySQL5.5.17(测试安装成功哦!)
- linux gpio按键驱动程序,Linux GPIO Key 驱动的加载
- “CSDN 2021年度IT技术影响力之星评选”正式开启报名!
- c# 关于DataTable
- Mycat安全_SQL拦截白名单---MyCat分布式数据库集群架构工作笔记0033
- 被嘲笑、误导的AI应该得到认可
- python常考笔试题
- 阿里大淘系模型治理阶段性分享
- JS实现PDF合并功能
- 亚马逊结算一览(C#项目)
- 婚姻法新解释引女方净身出户担忧 或导致房产加名热
- 0.5mm间距BGA芯片的PCB设计
- 未转变者2.2.4怎么创建服务器,未转变者2period;2period;4墙怎么做 | 手游网游页游攻略大全...