构建电话场景高拟人度对话能力的探索与实践
如果无法正常显示,请先停止浏览器的去广告插件。
1. T
构建电话场景高拟人度对话能力的
探索与实践
汪 建
2022年5月28日
美团平台 语音交互部
本报告所介绍的工作还包括:刘操、陈见耸等同事的重要贡献,在此表示感谢!
2. 个人介绍
美团算法专家
T
负责美团电话机器人的研发工作,包括自然语言理解、全双工
交互、对话管理、用户画像等相关技术
曾负责领域分发、商品推荐、文本生成等相关工作
3. •电话机器人的需求与挑战
•复杂场景下的语义理解
•构建拟人化的交互能力
•未来规划
T
目录 content
4. 客服机器人
回访
调研
消息
通知
订单
疑问
10 余条热线
32% 流量覆盖率
T
客户
投诉
意见
反馈
外呼机器人
活动
邀约
信息
咨询
电话机器人已成功应用于美团多个业务场景
电话机器人的需求与挑战
意向
嗅探
1000+ 场景
300万+ 日外呼量
5. 电话机器人的需求与挑战
美团的电话机器人需求丰富且复杂
外卖 几亿用户
酒店 .
.
. 数量多
活动邀约 几万销售
百万骑手 回访调研 几万客服
.
.
. .
.
. .
.
.
百万商家 信息咨询 百万日通话
T
金融
场景多 角色多
领域多
6. 电话机器人的需求与挑战
口语化、双工化是电话机器人独有的特点
口语化
我不知道这个服务啊,不知道不晓得
• 表述冗余
口语化示例:
• 一问多答
• 互相打断
T
双工化示例:
• 背景噪音
• 表述犹豫
双工化
这个。。。嗯,他家服务态度不好
• 表述含糊
嗯,这个要不要都行吧,我也没啥具体想法
7. 电话机器人的需求与挑战
口语化、双工化是电话机器人独有的特点
电话机器人口语化与双工化特点实例
口语化
T
表达不连续
表述犹豫
双工化
背景音
一问多答
8. 业务特点对经典技术架构提出了挑战
文本理解
对话管理
T
口语化:这个。。。嗯,他家服务态度不好
语音识别
理解能力、节奏控制能力是电话机器人面临的重大挑战
语音合成
对话生成
电话机器人的需求与挑战
如何解决口语化等复杂场景下语义理解
问题
如何把控机器与用户对话的节奏,提供
拟人化的交互能力
9. 文本纠错
实时热词
文本理解
语音识别
为应对挑战设计的电话机器人技术架构
电话机器人的需求与挑战
双工交互
T
对话管理
语音合成
对话生成
10. •电话机器人的需求与挑战
•复杂场景下的语义理解
•构建拟人化的交互能力
•未来规划
T
目录 content
11. 复杂场景下的语义理解
问题与难点
千量级的场景
问题:
• 新模型的迁移成本高
• 通用模型的泛化能力要
求高
T
问题:
• 意图与实体识别变困难
• 预训练模型难以适配
举例:
• 用户表述:前几天下的
单嘛,我到店里,商家
锁门了
• 实际意图:订单用不了
ASR噪声
口语化
举例:
• 用户表述:我在上班
• 真实意图:
拒绝--骑手招聘场景
在忙--回访调研场景
问题:
• ASR会传递噪声到NLU
举例:
• 正确:我买了一张小猪
佩奇的电影票
• 识别:我买了一张小猪
倍奇的电影票
12. 复杂场景下的语义理解
千量级
的场景
口语化
ASR噪声
问题:
提升机器人理解能力的4个技术手段
模块:
文本理解
T
语音识别
手段:
细粒度的热词与纠错
丰富的外部知识
快速的场景迁移
高效的优化工具
13. 提升机器人理解能力的4个技术手段
语音识别
文本纠错
…
通用语言模型
复杂场景下的语义理解
文本纠错模型
声学模型
文本理解
正则等规则
通用分类模型
实时热词
自定义语言模型
热词模型
T
热词提取模型
知识库
语义匹配模型
综
合
决
策
…
14. 复杂场景下的语义理解
手段1:提供热词与纠错,改善ASR识别效果
用机器话术中的关键词扩充“热词”来源,解决“专业词汇”与冷启动问题
model
用户:昨天的哪个订单?
Embedding :
E =Token Embedding
P = Position Embedding
G = Grammar Embedding
H = Phonic Embedding
S = Segment Embedding
T
话术仓库
子句1
子句1
S 1 S 1 S 1 S 1 S 1 S 2 S 2 S 2 S 2 S 3 S 3 S 3
H 1 H 2 H 3 H 4 H 5 H 6 H 7 H 8 H 9 H 10 H 11 H 12 H 13
G 1 G 1 G 2 G 2 G 2 G 2 G 3 G 3 G 3 G 4 G 4 G 5 G 5
P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 P 10 P 11 P 12 P 13
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8 E 9 E 10 E 11 E 12 E 13
子句1
子句2 子句2 子句2
子句3 子句3 子句3
ASR字准相对提升1pp
Transformer Encoder
S 1
机器:有顾客反映昨天的订单用不了
ASR
热词:有顾客反映昨天的订单用不了
15. 复杂场景下的语义理解
手段1:提供热词与纠错,改善ASR识别效果
纠错模型中加入场景、角色、上文等信息,解决“一词多译”等问题
纠错:这家店的单价有点儿贵
Transformer Encoder
RNN S 1
RNN H 1
lookup
ASR字准相对提升1pp
lookup
S 1 S 1 S 2 S 2 S 3 S 3
H 2 H 3 H 4 H 5 H 6 H 7
T
ASR:这家店的担架有点儿贵
model
Embedding :
E =Token Embedding
P = Position Embedding
H = Phonic Embedding
S = Shape Embedding
P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 0 P 0 P 0 P 0 P 0 lookup
E 1 E 2 E 3 E 4 E 5 E 6 E 7 E 8 E 9 E 10 E 11 E 12 RNN
场景 [SEP] 角色 [SEP]
[SEP]
关键词
16. 复杂场景下的语义理解
手段2:引入外部知识,提升NLU理解能力
口语化数据fine-tuning,预训练模型的Embedding层中引入实体信息
model
订单 外卖
T
商家
小肥羊
我的小肥羊,就是那个的订单到哪啦?
知识库
17. 复杂场景下的语义理解
手段2:引入外部知识,提升NLU理解能力
匹配模型中引入句式信息
我的订单什么时间到?
我的订单还有多久?
我的订单什么时间到?
我的订单还有多久?
T
骑手到哪了?
骑手到哪了?
18. 复杂场景下的语义理解
手段2:引入外部知识,提升NLU理解能力
分类模型中引入label的语义信息
描述
为标签静态指定描述
抽取法 对每个标签,从输入中抽取一段文字作为描述
生成法 为每个标签生成一段描述
T
模版法
类型
DSMRC-S
STATIC
GPT2
19. 复杂场景下的语义理解
手段3:通过场景迁移,快速搭建NLU模型
T
知识保留网络的终身学习,快速适配新领域的同时,更好地保留旧领域学到的知识
Domain-Lifelong Learning for Dialogue State Tracking via Knowledge Preservation Networks, EMNLP2021
20. 复杂场景下的语义理解
手段4:利用优化工具,高效迭代NLU效果
低成本的模型迭代与迁移工具,自动化的实现模型的优化与验证
模型
选择
模型 数据
部署 筛选
效果 人工
评估 标注
T
重复工作多:标注与训练缺少自动化流程
标注效率低:标注样本的筛选缺少针对性
•
•
模型优化的问题
自动化
配置化
可视化
模型
训练
21. 复杂场景下的语义理解
手段4:利用优化工具,高效迭代NLU效果
loss
p
T
pooling
Bert
Bert
用
户
HDBSCAN
q
pooling
[CLS]
表
DCSS
便捷的意图发现与编辑工具,实时的创建新意图和添加相似问
述
[SEP]
[CLS]
用
户
表
述
[SEP]
类簇数量降低120%+,纯度基本不变
22. 复杂场景下的语义理解
小结
通过细粒度化热词与纠错算法辅助语音识别
ASR
通用语言模型
文本纠错模型
引入实体、句式和label信息协助文本理解
基于知识保留网络的终身学习算法进行场景迁移
NLU
CORRECTION
…
正则等规则
声学模型
通用分类模型
自定义语言模型 HOTWORDS
热词模型 热词提取模型
语义匹配模型
T
利用人机回路与意图发现开展高效迭代
ASR字准提升
2pp
NLU识别准确率提升
6pp
知识库
场景迁移速度提升
40%+
模型优化效率提升
100%+
综
合
决
策
…
23. •电话机器人的需求与挑战
•复杂场景下的语义理解
•构建拟人化的交互能力
•未来规划
T
目录 content
24. 构建拟人化的交互能力
用户可能持续表达、持续沉默
干扰音会干扰机器做决策
问题与难点
问题:
• 容易造成机器抢话
• 容易造成尴尬性沉默,
浪费线路资源
T
问题:
• 容易造成机器自言自语
• 容易引发机器自我打断
用户对响应时间敏感
问题:
• 用户注意力高度集中,
对响应时间要求严格
25. 构建拟人化的交互能力
提升双工能力的4个主要手段
解决方案
语音识别
通用语言模型
文本纠错
双工交互
通话拒识模型
文本纠错模型
语义分轮模型
声学模型
自定义语言模型 实时热词 智能打断策略
热词模型模型 热词提取模型 端端到模型
融合语音语义,构建拒识模型
T
•
干扰音:判断ASR结果是否是用户对机器的表述
用户可能持续表达、持续沉默:结合系统状态,决
策机器要采取的行为,比如说立即播报、立即挂断
用户对响应时间敏感:模仿人类对话的行为,提前
思考和铺垫答案
边听边想策略
•
•
…
结合系统状态,决策机器的行为
使用端到端模型,建模双工交互
利用链路耗时,缩短响应时间
知识库
边想边说策略
…
26. 手段1:融合语音语义,构建拒识模型
融合语音语义的多模态模型,识别是否是用户对机器的表述
构建拟人化的交互能力
?
?
?−?
?
?
Fusion
Dot
Dot
Pooling
MFCC+VGGNet
T
Fusion
MFCC 特征
动态特征
DCT
取对数
Mel 滤波
取绝对值或平方值
FFT
预处理、分帧和加窗
Transformers
VGGNet
MFCC
?#?
Pooling Pooling
Fusion Fusion
Alignment
Alignment
?×
block间的残差
Transformers
用
户
说
Transformers
机
器
说
干扰音识别准确率提升7pp
27. 构建拟人化的交互能力
手段2:结合系统状态,决策机器的行为
机器沉默时,判断用户是否说完
? "
? !
Task A
Task B
Shared Layer
Pooling Pooling
Fusion Fusion
T
语义完整、困惑度低
与机器表述相关性强,或单独开辟一个新
的话题
•
•
表述完成的特点
? #
MLP
Alignment
?×
block间的残差
Shared Layer
用户表述完成的准确率提升6pp
离散特征
Transformers
用
户
说
Transformers
机
器
说
28. 构建拟人化的交互能力
手段2:结合系统状态,决策机器的行为
机器播报时,判断用户是否想打断机器
? !
用户语气化的表述,用户补充前一轮的表述
用户提前回答当前问题,用户包含负面情绪
的表述
•
有效意
图判定
Fusion
MLP
•
T
语气词
过滤
常用的打断特征
Pooling
•
•
? "
常见的打断场景
打断模型
机器播报状态、用户query间隔、query字
数等
query的语义信息
离散特征
Transformers
用
户
说
29. 手段2:结合系统状态,决策机器的行为
机器沉默时,判断如何引导用户,调节对话氛围
•
•
不打断用户
承接词或感叹词
唤醒话术
唤醒话术
播报后挂机
T
用户持续表述时适时给予回应
提醒用户
回到主流程
•
•
用户持续沉默时主动唤醒
构建拟人化的交互能力
铺垫话术
铺垫话术
铺垫话术
30. 构建拟人化的交互能力
手段3:使用端到端模型,建模双工交互
全双工交互建模
状态
动作
T
时机
双工行为建模
输入
类型 描述
输入 文本、起止时间、VAD标志
状态 用户(发声,沉默)* 机器(播报,沉默)
时机 VAD标志、用户开始发声、用户表述完成标志、机器
准备播报
动作 wait、backchannel、response、keep、release、
stop、hangup
31. 构建拟人化的交互能力
手段3:使用端到端模型,建模双工交互
利用端到端模型建模双工交互中的用户action
T
Action Topic Coherence
Gated Turn-taking Fusion
特殊Token:
[MP]=机器位置Token,
[UT]=用户相对机器的时间Token
[AT]=后续的Action Token
32. 手段4:利用链路耗时,缩短响应时间
利用静默时间提前请求并缓存,节约下游程序调用时间
构建拟人化的交互能力
静默等待 600-700ms
VAD/ASR处理
我
我要查
我要查订单
NLU
BOT
延迟 300ms
问答链路 TTS合成 通信链路
响应时间
T
“您的订单XX”
延迟 200-300ms
CACHE
我要查订单呀
结束信号
话术 100ms
我要查
响应时间
静默等待 600-700ms 延迟 200-300ms
VAD/ASR处理 TTS合成
问答链路
延迟 300ms
通信链路
33. 构建拟人化的交互能力
手段4:利用链路耗时,缩短响应时间
判断用户表述语义完整,并给予铺垫回复
我要查
我要查订单
NLU
BOT
“您的订单XX”
T
结束信号
延迟 200-300ms
VAD/ASR处理 TTS合成
延迟 300ms
通信链路
问答链路
CACHE
我要查订单呀
“这样啊”
静默等待 600-700ms
我
我要查
响应时间
响应时间
语义模型
TTS合成
通信链路
静默等待 600-700ms 延迟 200-300ms
VAD/ASR处理 TTS合成
问答链路
延迟 300ms
通信链路
34. 构建拟人化的交互能力
小结
多模态拒识模型识别是否是用户对机器人的表述
语音识别
通用语言模型
分轮、打断、唤醒、铺垫等策略决策机器的行为
端到端模型预测双工交互中用户的action
双工交互
文本纠错
通话拒识模型
文本纠错模型
语义分轮模型
声学模型
自定义语言模型 实时热词 智能打断策略
热词模型模型 热词提取模型 端端到模型
T
边听边想与边想边说策略缩短系统响应时间
边听边想策略
噪声识别准确率提升
7pp
表述完成准确率提升
6pp
…
知识库
机器响应时间缩减
400ms
边想边说策略
…
35. •电话机器人的需求与挑战
•复杂场景下的语义理解
•构建拟人化的交互能力
•未来规划
T
目录 content
36. 未来规划
构建拟人化的交互能力
端到端模型
T
语音语义的SLU
复杂场景下的语义理解
更丰富的知识
个性化的交流
37. T
THANKS & QA
38. 招聘:NLP算法工程师
邮箱:wangjian79@meituan.com
T
更多技术干货
欢迎关注“美团技术团队”