查看原文
其他

文本如药?如何通过多样例学习判断有效成分?如何识别辱骂文本?对话质量分析应用场景?AAIG自然语言理解实验室EMNLP专场(上)


💜对话中的情感分析问题定义和当前困难💜基于有监督原型对比学习的对话情感分析方法💜对话情感分析的未来发展方向

《追AI的人》系列直播第15期——AAIG自然语言理解实验室EMNLP专场,分享了《机器=冰冷?看机器如何捕捉你的小情绪》和《文本如药,如何精确提炼“有效成分”?》。


以下为直播的文字回放,分为上下两篇,本文为上篇,共计6688字。


直播简介回顾:

重磅回归!《追AI的人》第15期!机器=冰冷?文本如药?看机器如何捕捉你的小情绪?如何精确提炼“有效成分”?


刘 劼 西

阿里安全智能算法小二,清华大学计算机系硕士优秀毕业生。研究方向为人机对话和模型鲁棒性方面。曾于国际会议AAAI,ACL发表论文,本次会介绍到的最新工作已被EMNLP接收。


框架要点



1、多样例学习定义介绍
2、例学习研究现状
3、应用:对话质量分析
4、应用:辱骂检测

01

多样例学习定义介绍




🥳

先来玩个小游戏

假如你是一位古代的神医,正在游历中华大地,途中路过了一个地方,刚好在流行一个新的疾病,当地的医生你去询问了一下,他们已经做了一些尝试,他们尝试了三种药方,分别如右边的图例所显示,第一种是人参灵芝加枸杞,结果身边人吃了没什么好转,他还是不健康的状态,后面两味药他换了其中的一些东西,病人就出现了好转。如果你听了这个医生的描述之后,你觉得哪几味药材是治疗这个病的对症的药是有效成分,以后碰到这样的疾病该怎么医治呢?

首先第一味药它没有起作用,所以这三个药材肯定都不是答案,它肯定都是无效成分。那么答案也就很简单了,就是剩下的两个,一个是黄芪,一个是甘草。这是一个比较简单的逻辑推理。

那么我们来看一下这个问题,它本身就这种问题的模式也非常有意思,就是说我们一味药它里面有三个成分,我们已知它三个成分共同作用的时候有没有效果,然后我们有这么几个例子,我们就能通过一些逻辑的推理的手段去推理出它其中到底谁是有效的成分。

刚刚那个问题其实比较简单,它只有三份中药,每份中药中只有三种药材,通过做一些简单的推理就能推理出来。但是如果问题更加复杂,其实现实当中的中药可能都是5种10种甚至更多的成分。

多样例学习问题的定义


我们来做一个对应关系,右边比如人参是单种药材,我们把它称为单个的样本,也就是去判断的对象,判断有没有效。整味中药就包含了很多种药材,那么抽象的定义它是一个样本包,每一包里它有若干个单个的样本,就像每个中药里面包含多种药材一样。

然后上面的例子里,我们要让人喝下去了才能知道有没有效,所以我们只知道整味中药有没有效,对应的抽象定义就是只有包对应的标签,标签就是我们对它的一些判断,比如说一个文本是开心的情感还是难过的情感,这种叫做一个标签。

一味药中有药材对症,那么这整味药就会有效,当然这是一个比较理想的假设。对于多样例学习的问题的定义,如果这个包里只要有一个正样本,这个包就为正,又比如文章中只要有一句话是开心的,那么就可以说这篇文章是包含了开心的情绪,这是它的规则。


对应到人工智能或者说机器学习上的问题——训练数据

有很多个样本包,就相当于有很多个中药,每个样本包,包含多个单样本,对应的是每个药里面包含多个药材,每个包里的数量是可以不一样的,可以是不固定的,如上图。

已知只有样本包对应的标签就是它整体的一个性质,比如说这整篇文章开不开心,我们要做的任务是什么?我们的训练出来的人工智能模型要具备要什么能力?我们希望它有两种能力:

1、提供一个未知的新样本包,然后我们去预测它的样本包的标签,就比如预测这整一篇文章的情感是正的还是负的。

2、预测更精细,就是所谓去找出其中的有效成分。预测单样本对应的标签,每一句话具体是开心的还是不开心的,每一味药具体是有用的还是没有用的,那么这就是多样例学习的定义。

多样例学习应用场景


1、最初多样例学习诞生的一篇论文,是一个化学问题——麝香预测麝香是一种香料,化学家们就想如果提高一个化学物质的化学式,能判断出来它有色香味吗?分子里到底是哪一些结构导致了整个物质有麝香味?

有机化学——甲基羟基这些原子团,它们有不同的空间的构型,折一个角可能又是一种不同性质的化学成分,它有非常多原子团,每个原子含有非常复杂的特征,我们就可能需要一些人工智能的技术了。他们训练出来的模型既可以去预测整体的化学物质有没有麝香味,也能去预测其中关键的分子结构,原子团到底是哪一些。


2、上图是医学的场景中的一张整个组织的横截面的照片,下面是放大之后的细胞的一些图片,下面每一张图其实都是从上面的一个小点里截出来,不同颜色小点其实是一个个小方块对应了下面这个图片。医学的图片十分精确,精确到细胞级别,它对应的整个标签只有一个,比如说整个组织切片有没有癌症,或者这个病人最后是否存活?但是整体的图片中含有成千上万的细胞,甚至数量级更大,那么可以想象上面那个图片它的分辨率其实是非常大的,它有非常多的像素。

而机器学习的模型它的输入的维度是有限的,如果把这么大一张照片放进去,它就没法进行分类,这时候就要需要多样例学习的应用,把每一个小照片分别输入这个模型,然后用多案例学习的算法去找到癌细胞在哪儿,这个人到底有没有得癌症等。


3、评价餐馆:一个评论的文本是非常多句话,描述了各个方面,各个维度,不同的方面也可能褒贬不一。如上图左边:环境不错,菜品也好,这个是正面的评价。有点小贵可能是一个小缺点,然后最后用户会打一个分数,比如说总体是4星还是5星。

星级是一个整体的评分,它对应的是整一段的评论,但是整一段话里有非常多句话,我们该去怎么分析这个问题?到底哪一句话是正面的,哪一句话是负面的,或者哪一句话是中立的,其实这也是多样例学习的比较常见的应用场景。

02多样例学习研究现状

多样例学习框架


在一个图片的分类的场景中,我们输入的一个包,刚才讲到样本包里包含了三张单独的图片,最后要算一个包的总的分值去跟它的监督信号,也就是我们已知的整个包的标签进行对应。

它是这样做的:输入一个图片,通过了我们的神经网络的计算,计算出一个分值,比如说图片0.9,意味着里面有90%的概率有癌症癌细胞,这两张图片里可能有癌细胞的概率比较小。最后做加权平均可以得到一个包的分值,根据监督标签,进行反向传播,然后计算梯度进行参数的优化。

“路径图”表示法


首先我们看到这里有6个点,横着的这2排分别代表单个样本级别和包级别的信息,上面这一排是样本,下面这一排就是整体的包的信息,然后竖的这三个分别是输入,比如文本的领域,输入就是那一句话。

第二个是表征或者说特征这层级的东西。机器学习算法这些模型往往会把输入转化成一个经过一系列复杂运算转化成一个特征的向量,最后它再根据这一个向量去算一个具体的分值,或者说一个具体的概率去表示标签,比如一句话,它90%的概率是一个正向情感的或者开心的一句话,那么它的分值就是0.9,如果反过来比如说就是0.1,那它就很可能不是一句开心的话。

多样例学习算法分类


常规的机器学习如上面那个图它都是一对一的,单个样本到单个样本的分值,它的起点和终点都在这里,然后经过一系列复杂运算,算出它的表征,再经过一系列复杂运算算出它的分值,CNN这些可能全连接层我们可能不需要知道这些信息,比如文本领域它用的可能就不是神经网络。

上面这是一个常规的机器学习,它是一对一的模式。而多样例学习,我们知道是一对多的,那么它起点还是一个在左上角,最后它对应的是一个包的整体的分值,比如说这整一篇文章是开心的概率大概是0.9%,最后是要把它算到这一步,才能进行学习。

所以它的终点是在右下角,所以我们是要从左上角算到右下角,非常简单。左上到右下,两横加一竖,从左上右下必须是两横加一竖,和应用领域也无关。我们是画这个线跟具体用的什么算法,什么神经网络,什么机器学习的模型都没有关系,跟领应用领域也没有关系,多样例学习它是可以应用于非常多领域。路径图是一个领域无关的表示方法,它可以分为输入融合、特征融合、表针融合和分值融合。

竖线的位置可以看到是从样本的级别,就是从单个样本的级别到这个包的整体的级别,那么用融合来去来形容它。比如说表征融合在把单个若干个样本的特征向量,对它进行一系列的计算,把它计算合成一个包的向量,比如说取最大值,比如说加权平均。最后再去算一个包的分值输入融合,而是分子融合就是最后再算出每一个样本对应的分值之后,再去做一个相应的计算。

比如说取最大值取加权平均,用attention这些算法去把它变成一个包的整体的分值。不同的类型的融合算法,它的肯定是各有利弊的。比如说表征融合,它到包级别最后一步运算前,它保持的还是一个比如说很多维度的向量,比如说768维的一个向量,最后算一个分值,这时候包级别的信息就比较充分,但它也有问题,它没有单独的去算每个样本的分值。但是第二个目标是算它每一个样本的标签,这个就比较难分离开来了。

而分值融合,相对就跟它的比较容易。分离每个样本的分值,因为它其实每个样本的分值都算出来。但是包级别的信息有缺失,因为它最后合起来的时候,这只剩下一个孤零零的数了,所以它是各有利弊的。

近期SOTA工作思路


工作思路:采用一个混合融合的方法,之前提到各有利弊各有所强,所以我们把两条路径结合起来,我们两边都走,那么就既擅长包分类,又擅长单样类的分类了,就是一个取长补短的思路。

03应用:对话质量分析


· 例子一客服对话例子。比如说有的顾客想退货,那么客服可能会去问用户到底是什么样的问题,然后用户会说XX原因,客服就给出答复说现在这个情况是可以退货的,然后客户说去试试怎么操作。但是如果我们想要提升客服质量,不管是人工的客服接线员的对话,还是人工智能的比如我们阿里小密,想要去提升它的服务质量,就要得对话进行质量分析,然后找出其中的优点和不足,这样才能更好地在客服对话中服务客户。


· 例子二判断对话对用户是不是礼貌的,有没有做询问原因惯例的询问,这段对话里有进行询问,也给出了具体答复,是可以退货。但是没有给具体指导,就要用户自己去试了,这是它存在的不足。所以我们就可以去提醒这位客服小哥或者是客服小姐姐去进行改正改进,或者说如果它是一个人工智能的算法,我们会去针对性的优化。
那么它和多样例学习有什么关系?🤔️

我们可以拿到一些历史对话的数据来做训练数据。但是有这么多标签,并且我们没有训练好人工智能的算法自动,这个模型之前对话的质量分析其实是由人来做的,所以它的标签可能只是对应的是整一个对话,这个就跟刚才的我们多样例学习的定义对上了,标签对应的是整一个整体。而我们有时候又想去知道它具体是哪一句话,比如说具体是哪一句话询问了原因,具体是哪一句话需要答复。

这也是一个典型多样例学习的应用场景,我就对此进行了研究和应用。达成了一个不仅可以去分类,分出是对用户礼不礼貌,有没有询问原因,有没有给出答复,还能具体定位到每一句话上的效果。比如哪一句话,它对应的是我询问了原因操作,具体哪一句话或者这两句话是给出了答复。模型不仅可以快速自动给出标签,同时还能定位具体的依据。定位到有效的那句话在哪,能辅助我们的人类去高效地分析对话,然后改进我们的对话服务的质量。

04应用:辱骂检测

我们最近在EMNLP上发表的文章


辱骂检测/冒犯语言检测背景:

国内外的各大社交平台,比如我们国内的微博,都要进行内容的管理,有些网友可能有时候脾气比较差,发表一些脏话骂人的,或者歧视性的语言。这些不良的这些文本内容,冒犯性的内容,我们需要去对这些内容进行移除,甚至会对用户去做一些处罚。

如果这个事情如果全部交由网站的社交平台管理员,人工去做,这个效率可能太低了。我们想能不能让人工智能模型来代替人做,但是有个问题——数据。我们训练一个模型要非常多的数据,这可能又太昂贵了,有没有什么办法能够去获得一些天然就有这些数据的标签。

我们第一个能想到是用户举报,比如说有一个人发现这篇文章有歧视性的内容,要举报。然后社交平台公司的员工假如留下这些历史数据,他就可以拿来做训练的样本。


· 例子管理员最近对某人禁言,原因是他近期经常辱骂他人,可能近期说了3句话,但是其中2句是辱骂他们的,1句不是。我们就想去知道具体是哪几句进行辱骂。

其实就是一个典型的多样例学习的应用场景,因为它这个标签数据是一对多的可能比较难利用,因为我们最后想要达到的效果是对于单据的。又比如一个用户新发的帖子,我们希望用模型去计算出它有没有可能是一个辱骂的一句话,但是我们训练数据全是一对多,就是多句话的对应标签,那就很难去训练出一个一对一的模型。

我们做了哪些努力呢?👇

我们的工作是在一个英文的场景下,因为我们想跟全球范围的研究人员一起分享,但是现有的冒犯检查语料都不太支持多样例学习的学习模式。


我们看中的第一个数据集叫OLID,这是一个公开的数据集,它是有标签标注的很好,每一句话对应一个标签,但是我们想在上面去做多样例学习的研究,就需要对它进行改造,因为它没有一个包的结构,我们希望它有一个包的结构,就是几句话去组成一个包。

那么我们采取了一个方法是说把OLID进行聚类,每句话对它特征进行聚类之后,再随机去切分成一个包,每一个包里可能有四五句话,那么它的标签也被我们去改成了一个标包的整体的标签,然后我们给它改了个名字叫新版本的包,版本的数据集叫做OLID-bags。把这作为我们第一个研究的数据集。


第二个数据集是一个叫立场表达的数据集。它就有一个天然的包的结构,加上若干句的回复结构,但是没有冒犯相关的标签,它只是在一些特定场景下的结构。但是它原来做的不是我们想要去做的冒犯检测任务。

但是我们人力有限,没办法只能去标注上万条数据。我们为了测试集高质量,我们请人工来标注,训练集是用模型自动标注的。刚才我们说到第一个数据集,它其实是一个正常机器学习的数据集,训练一个常规的机器学习的模型,去对我们更大规模的新数据集的训练集里面的每一句话进行打标,然后把它变成包的格式,我们就节省了大量的标签成本。

我们把不太合适多样例学习的两个已有的公开数据集,变成两个支持多样的学习的数据集。数据建设过程中,其实是投入的人力成本其实是比较少的,也符合我们的初衷。然后我们构建这两个数据集公布出去之后,后续对多样例学习或者辱骂检测冒犯检测感兴趣的研究者们有很大的帮助,他们就可以在这两个数据集上进行一些研究工作,并且去探究更先进更效果更好的更加省标签的模型。

那么我们在这个模型上做了哪些创新?🤔️


我们提出了一个叫相互注意力机制的新方法,就是在混合融合的模式基础上,又加了新的东西,让它的包的标签也能影响到样本的标签,让它们进行相互影响的计算,可以进一步提升双方的性能和一致性。

因为混合融合其实存在一个问题,它的包预测标签会与单样例的预测的标签有时候会有冲突。我们就拿中药为例,比如模型预测一味中药是有效的,但是分别预测每种药材都是无效的;或者反过来,预测整个药方是无效的,但是有一个药材却被预测为有效。就是说它的性能其实没有达到一个完美性能,就会有一些逻辑上的冲突。

那么这时候我们采用相互注意力机制就可以缓解这个问题,因为它这里会有一个分值上的交流和运算的过程,就会减缓冲突的比例,那么同时它也能提升包预测和单让利预测的性能。这篇工作主要就是包括多样例学习范式的引入,数据集的构建和模型的创新,这一篇论文的内容是刚被 EMNLP findings接收。


以上为刘劼西老师《文本如药,如何精确提炼“有效成分”?》课题的分享,下篇宋晓辉《机器=冰冷?看机器如何捕捉你的小情绪》即将在下周发布,关注【AAIG】公众号敬请期待~👇
 今日推荐 
往期精彩推荐
点击标题查看文章 第四章|构建全方位人工智能管理体系《人工智能治理与可持续发展实践白皮书》

● AAIG成立一周年!砥砺前行,谱写新时代的科技之歌~请查收这份最新的自我介绍


● AI治理必修第16刊|国产AI作画神器来了!日增5万用户的背后有什么秘诀?DeepMind攻克50年数学难题!


 听委员说|AAIG薛晖出席杭州市"两会",提出加快建立人工智能产业的多元协同治理机制


 如何构建企业数据管理体系?AI产品出海有哪些数据风险?浅谈AI数据合规与风险防范实践(下)


 “算法偏见”是概念炒作吗?「这个AI不太冷」第3期带你揭秘现实AI!

更多人工智能治理和可持续发展好文
点击下方名片关注和星标【阿里巴巴人工智能治理与可持续发展研究中心】👇AAIG课代表,获取最新动态就找她

 关注公众号发现更多干货❤️


有启发点在看喔👇
继续滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存