匹配问答|学习笔记

简介: 快速学习匹配问答

开发者学堂课程【阿里小蜜中的开放语聊技术:匹配问答】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/44/detail/971


匹配问答


内容介绍:

一、改进词特征处理方式匹配

二、风格化匹配

三、语聊情绪安抚


一、改进词特征处理方式匹配

image.png

接下来介绍匹配问答的能力,分三个不同维度,首先是通过改进词特征处理方式的匹配问答,在语音匹配的过程中,发现 OOV 的问题非常严重,相当于会发现很多词并不在之前训练模型的词典中出现,没法得到词性量,没法进行语音匹配。

为了解决 OOV 的问题,做了wordpiece 的处理, wordpiece 是把比较长的词语不只保留词语本身,还希望通过发现更小的语义单元,让语义单元更多的出现在训练模型中的词表上,尽量保证在预测过程中,句子里所有的语义单元都能拿到对应的向量,都能应用于匹配过程,这样才会让匹配效果更好。


二、风格化匹配

image.png

第二个改进在风格化匹配的维度上,风格化匹配是 wordpiece 的词处理基础上,把每句话都加上风格向量,在语义标注或者应用场景都不同,应用场景上它的语言风格不同。

风格化匹配的重点在于句子表示的过程中,学到句子的语言风格,通过语言风格的语义展示让匹配的结果变得更好。从上面几个图可以看到,句子表示过程中把语言风格的表示部分和 wordpiece 的表示部分拼接到一起。在整个模型训练过程中,先对每种不同的风格进行随机初始化,风格表示在训练过程中学习得到,不管是 wordpiece 还是风格化都是这样的效果。

image.png

在党建语聊,五号小蜜语聊还有情绪主题匹配,包含了用户情绪的数据,在三个不同风格的数据上,基于了基础 match 模型,基础 match 模型加上 wordpiece ,第三个再加上风格表示,在不同数据上,效果都是在逐步提升。


三、语聊情绪安抚

image.png

第三部分关于语聊情绪安抚,分为离线部分和在线部分,离线部分包含了情绪分类的模型构建,主题分类的模型构建和知识构建。知识构建也是问答对。

在线部分包括基于知识的主题回复,基于情绪和主题的情绪回复,还有基于情绪类别的情绪回复,后面也会介绍。首先举例子来说明这三个类型的不同。

第一,用户说你们太垃圾了,其实不知道他在说什么,说小蜜或者说整个机器人太垃圾了,不知道是在抱怨机器人本身,还是说客服服务态度不好,还是其他,所以只能给很通用的回复,只识别到他在辱骂,但是不知道在辱骂什么东西,所以这个回答很通用。

image.png

第二个问题说垃圾服务,问题虽然变短了,但是要识别出来他在辱骂,并且辱骂的是客服的服务,所以就会针对他的辱骂,还有辱骂的意向,做更具体的回复,这是上节课提到的基于情绪类型和主题的恢复能力。第三部分用户问题是这是什么垃圾机器人服务,他的辱骂对象更加具体,如果这是非常高频的辱骂问题,会构建专用的 QA对,把这些问题的答案交由人工智能专家配置。

比如在辱骂垃圾机器人服务时,会被怎样安抚的回复,这部分基于知识匹配过程,用文本匹配模型。

image.png

左边这两列是一个整体,叫 BCNN 的文本匹配模型,把 Q 和 T 两个句子进行了卷积铺链多层的处理,最后把分别得到的语义特征拼接到一起,做最后一层判定,是不是在表达同一个意思,是分类或者回归的任务。  

Q 和 T 的意思是, Q 就是用户的问题也就是 query , T 是在构建 QA 对的过程中,存在知识库以后把问题叫做 t title ,答案叫 answer , title 是区分于用户真实的 query 。右边模型叫priamid ,完整的原名叫 match priamid 是金字塔形状的文明匹配模型。把 Q 和 T 在最开始做语义交互,得到语义交互矩阵,针对交互矩阵做卷积铺链的多层处理,得到交互矩阵对应的语义特征。把前面单个句子的语义特征,还有交互对应的语义特征都拼接到一起,做最上层的分类或者回归,判断 Q 和 T 到底是不是在表达同一个意思。

image.png

左边主要关注的是单句特征,右边主要关注交互特征,把这两点拼接到一起,效果会比单独模型有明显的提升。

相关文章
|
5月前
|
JavaScript 前端开发 Java
正则表达式深度解析:匹配任意字符串
【4月更文挑战第1天】
2560 0
|
5月前
|
JavaScript 前端开发 Java
|
12月前
|
算法 测试技术 C++
C++算法 通配符匹配
C++算法 通配符匹配
|
1天前
|
JavaScript 前端开发 Java
如何使用正则表达式来匹配电子邮件地址?
如何使用正则表达式来匹配电子邮件地址?
|
5月前
|
JavaScript 前端开发 Java
正则表达式深度解析:匹配制表符
【4月更文挑战第2天】
356 2
正则表达式深度解析:匹配制表符
|
5月前
|
Perl
sed删除不匹配正则表达式的行(保留匹配行)
sed删除不匹配正则表达式的行(保留匹配行)
533 2
|
程序员
学好正则表达式,啥难匹配的内容都给我匹配上
学好正则表达式,啥难匹配的内容都给我匹配上
|
算法 前端开发 程序员
实现正则表达式匹配算法
实现正则表达式匹配算法
实现正则表达式匹配算法
|
Scala 开发者
匹配列表 | 学习笔记
快速学习匹配列表
匹配列表 | 学习笔记
|
Scala 开发者
匹配数组 | 学习笔记
快速学习匹配数组
匹配数组 | 学习笔记