喜欢此内容的⼈还喜欢
打破情感分类准确率 80 分天花板!更加充分的知识图谱结合范式
⽂ | Severus
NLP的研究者们⼀直都在尝试,怎么样让模型像⼈类⼀样,学会“知识”。⽽最直观的想法莫过
于将⼈类已经总结出来供机器解读的“知识体系”,及其嵌⼊表示作为额外的特征添加到NLP模
型之中。⾄少,从直觉上看,将知识融⼊到模型之中,可以让模型直接“看到”知识体系所带来
的“⾔外之意”,从⽽与模型本身的统计共现特征形成互补,以补⾜训练样本中部分知识过于稀
疏的问题。⽐如某⼀实体A在训练样本中频次很低,则可以⽤与它相似,且频次较⾼的实体B
的特征来补充A,或者只是样本中的表达⽐较稀疏,则使⽤知识体系中的另⼀种更加常⽤的表
达来补充(例如:OSX vs MacOS,歌神 vs 张学友),从⽽弥补A的特征过于稀疏的问题;
或者可以使⽤A所在的归类体系中共享的特征来补充A的特征。
然⽽,模型需要什么样的知识,要以什么⽅式将知识整合到模型之中,⼀直是存有争议的问
题。例如早⼏年很多⼯作尝试,使⽤知识图谱表示,将实体关系融合到模型中,在⼀些任务上
取得了成效,但其最⼤的限制之⼀,则是消歧始终难以做到很⾼的准确率,其原因在于,知识
图谱所收录的绝⼤多数实体,信息都是稀疏的(SPO密度很低),它们甚⾄很难参与到实体链
指环节之中,所以很多 KGs+NLP 的⼯作都是在有限的知识图谱内进⾏的,⽽难以扩展到⼴
域的知识图谱中。
除知识图谱外,则也有将通⽤知识引⼊到模型之中的⼯作,例如近两年很多将中⽂的组词应⽤
到 NER 的⼯作,将实体类别信息应⽤于关系抽取的⼯作等,甚⾄我们可以开更⼤的脑洞,直
接利⽤预训练语⾔模型从海量语料中学习到的充分的共现知识,⽤以表示通⽤知识,将之应⽤
到基于预训练语⾔模型的种种⽅法中。
下⾯我想要介绍的⼯作,则是使⽤⼤规模知识图谱增强模型,做 aspect-level 的情感识别任
务,作者声称,⾃⼰的⽅法相对 baseline 分别有2.5%~4%的提升。
⼤规模知识图谱增强的 aspect-level 情感识别
论⽂标题:
Scalable End-to-End Training of Knowledge Graph-Enhanced Aspect Embedding for
Aspect Level Sentiment Analysis
论⽂地址:
https://arxiv.org/abs/2108.11656
Aspect-level 的情感识别,即输⼊⼀段⽂本,询问该⽂本对某⼀个⽂本中提到的⽚段是什么样
的情感倾向。例如句⼦:However, I can refute that OSX is "FAST". 中,询问句⼦中对
OSX 表达了什么样的情感。之前的⼯作很少将这个任务的分数刷到80分以上,本⽂作者则⼀
⿎作⽓,将3个数据集的最终指标都刷到了80+。
Aspect-level 情感分类的难点在于,aspect 有可能是稀疏的,从⽽导致模型在“观察”⽂本的
时候找不到重点,例如上⾯的例句,OSX 在对应的训练样本中仅仅出现了7次,⾮常的稀疏,
⽽与之相似的 Microsoft Windows 则出现了37次。⽽使⽤训练样本中相对⾼频的 aspect 去
补充相对低频的,⼜恰恰是知识增强的动机之⼀,所以利⽤知识图谱来增强这个任务,看上去
相当的合适。
但是知识图谱增强⼜存在两个挑战:
1. ⼤规模知识图谱难以完全利⽤起来,例如 DBPedia 有2200万节点,1.7亿条边,计算其中
所有实体的表示显然也是不现实的
2. 知识图谱实体消歧错误传递,这点在前⽂也有提到。
针对这两点挑战,本⽂都给出了相应的解决⽅案。
▲系统总体结构
图谱表示
本⽂使⽤了两种⽅式计算图谱表示,分别为⼦图表示和连通分量表示。其中,连通分量表示则
是将整个知识图谱中划分为若⼲个连通分量,每个连通分量看作是⼀个节点,从⽽将⼤规模图
缩放成⼀个相对较⼩的图,例如本⽂将 DBpedia 的2200万个节点划分为606个联通分量来计
算表示。计算⽅法使⽤的都是 GraphSAGE,简单来讲就是⽤某⼀个节点随机游⾛的N跳邻居
层层聚合,得到当前节点的表示。
连通分量表示的⽅式则使⽤⼀种⽐较朴素的⽅式解决了⼤规模图谱表示的问题,实则使⽤的还
是⼦图表示的计算⽅法。其好处则在于某⼀个节点可以得到的“⾔外之意”变得更多,更加看上
去有关的信息被利⽤了。
其中,图表示的训练⽅式也分为静态训练和端到端训练两种,静态图表示是先训练好图表示,
再叠加到任务中,端到端训练则是在任务训练的同时也训练图表示。
去掉歧义噪⾳
针对歧义噪⾳问题,作者则是使⽤ BERT 所学习到的统计共现知识去解决。⾸先我们可以认
为,BERT 所学到的⽂本表示,聚合了很多的信息,⽽对于⼀个 aspect ,它的表示则聚合了
其描述信息、分布信息等,那么,图谱嵌⼊空间上相近的实体,则在 BERT 学到的表示空间
⾥⾯也应该有较⾼的相似性,但BERT聚合到的信息⼜太多了,所以需要将所需要的信息相办
法抽取出来。所以,定义两个实体 和 的相似函数为:
其中B是可训练的参数, 和 分别是实体 和实体 的BERT表示的 [CLS] 向量。然后分别采
样在图谱表示空间⾥距离近的实体和距离远的实体作为正例和负例,训练参数B,loss为:
其中, 和 是相近实体, 和 则是不相近的实体,该⽬标是尽可能让BERT学到的表示和乘上
参数矩阵B之后,与图嵌⼊空间⾥⾯的距离更加相关。
⽽最终使⽤的实体 的表示则为:
也就是说,如果实体 的BERT表示的相似度和图谱嵌⼊空间内的相似度出现了⽭盾,则屏蔽掉
它的图谱表示,作者认为这样可以屏蔽掉很多消歧算法带来的噪⾳。
实验结果
▲实验结果
上表中, GS 后缀是使⽤了静态训练得到的表示增强的⽅法, GS-E 后缀则是在原有基础上使
⽤了端到端训练得到的表示增强的⽅法, [probe] 后缀则是在原有⽅法基础上使⽤了去掉歧
义噪⾳策略的⽅法。我们可以看到,在3个数据集上,⽂本所提出的⽅法都各有不算⼩的提
升,⽽尤其去掉歧义噪⾳之后,分别都得到了SOTA的结果,可⻅作者的⽅法还是有⼀定增益
的。
顺便⼀提,这个结果⾥⾯作者玩⼉了个⽂字游戏,⽐如 SDGCN-BERT-GS-E[probe] 的
结果提升了2.79% ,这个结果是这么是计算出来的:(83.62-
81.35)/81.35*100%=2.79%,同理其他的提升也是这么算出来的,并不是绝对分数的提
升,⽽因为分⺟不是100,所以提升数值都需要相对减少⼀些。
⼩结
我认为,本⽂还⽋缺了⼀个分析实验,即连通分量表示是否是有⽤的。直观上来看,将2200
万个节点硬性划分成606个连通分量,去计算整个图的表示,总是感觉过于朴素和粗暴了。毕
竟作者没有讲他是以什么样的标准去划分,我们也没有办法去评析这种划分⽅式是否合理,同
时我们也没法知道,连通分量表示在这篇⼯作中到底起到了什么样的作⽤,是否仅仅需要⼦图
表示加上去除歧义噪⾳的策略,就⾜以得到这么好的效果了呢?甚⾄极端情况下,如果数据集
⾥⾯的 bias ⽐较⼤,按照这种划分⽅式,是否会将绝⼤多数 aspect 都分配到同⼀个连通分
量⾥⾯,从⽽导致这个特征变成了⼀个废特征呢?
并且,感觉上连通分量表示则是为了⼤规模图谱⽽⼤规模图谱。不可否认,这篇⽂章使⽤图谱
增强任务,得到了⼀定的提升,但是这种提升,我认为更多还是在于利⽤有限、固定的图谱的
信息,加上噪⾳消除策略⽽达成的,真正到了⼴域数据,需要⼤规模图谱的场景下,所要⾯对
的问题绝不仅仅是计算瓶颈那么简单。
例如,在开头我就提到的绝⼤多数实体过于稀疏的问题,与之相伴的还有收录的问题。世界上
不可能存在⼀个图谱,能够收录尽世界上所有的事实知识,莫说图谱,⽜津英⽂词典的收录情
况就已经回答了这个问题。哪怕相关研究者们不断地更新、迭代图谱⾃动收录算法,和图谱⾃
动补全算法,但是也难以赶上新知识的产⽣速度,同时图谱要保证事实准确、⾼质量,那么其
准⼊⻔槛也不可能允许超⾼速的收录。就说相对还⽐较固定的专业领域知识,也⾯临着语⾔不
全等问题,例如⽣物名录数据库,英⽂数据库中也存在很多中⽂数据库⾥⾯没有的条⽬。所
以,我们没法指望知识图谱能够枚举世界上所有的事实。
收录问题也不是最关键的因素,毕竟,没有收录的知识,我们可以在任务⾥⾯不去使⽤它,那
⽆⾮它的效果退化到原始模型的效果⽽已。信息稀疏所引发的消歧问题,也可以通过置信度阈
值去控制它,保证实体链指的准确率,避免错误传递。但是抛开这两个问题,最关键的还是统
计模型与知识图谱的特性。
如果使⽤统计模型去将知识图谱嵌⼊到连续空间中,则必然要⾯对统计模型的泛化能⼒,但
是,事实知识是不可泛化的(例如当我们询问GPT-3/ERNIE3.0,太阳有⼏只眼睛/我的脚有
⼏只眼睛的时候,这个问题事实上是不成⽴的,但是统计模型总是会泛化出⼀个结果)。到了
⼤规模稠密知识图谱上,这个问题则会更加严重,例如图嵌⼊多是使⽤随机游⾛采样计算节点
相似性,但是知识图谱上绝⼤部分的多跳路径是不成⽴的,其边是不可传递的。例如:刘德华
的搭档是刘伟强,刘德华的⽼婆是朱丽倩,那么刘伟强和朱丽倩之间有什么关系呢?如果采样
过程不受控制,这三者在统计空间⾥⾯可能会⾮常接近,哪怕受了控制,保不⻬通过其他采样
的泛化,还是会挂上关系。
⽽在统计模型⾥⾯,想要定死了这些规则,恐怕要通过⽆数的样本去拉近、推远⼀些表示,才
有可能完成在搜索空间⾥⾯构建出来⼀套完整的规则,相⽐于直接⽤符号推理来讲,我认为得
不偿失。
实际上哪怕知识图谱补全任务⾥⾯,也有很多数据是不可推理数据,那些数据很有可能就
是⽤统计特征算出来,扔到数据集⾥⾯的,例如⼀个⼈是美国⼈,那他的信仰是天主教之
类的,当年我做图谱表示的同事分析结论,⼀些分数很难刷,“很难”的数据集⾥⾯,这类
数据似乎也占据了相当⼤的⽐重。
但是,在benchmark上,图谱增强⼜往往能带来⼀些看上去不错的增益,我认为,其主要在于
这类任务⾯对的都是有限、固定的⼦集,例如本⽂中,使⽤到的⼦图规模100到1000不等,这
种规模之下,则绝⼤多数情况下可以规避掉我上⾯提到的两个问题。也就是说,在固定垂直领
域下,信息密度⼤,没有消歧压⼒、不可控泛化的压⼒,图谱增强是有⽤的,但是⼀旦到了开
放领域,则不得不⾯对上⾯的问题。
萌屋作者:Severus
Severus,在某⼚⼯作的⽼程序员,主要从事⾃然语⾔理解⽅向,资深死宅,⽇常愤⻘,对个⼈
觉得难以理解的同⾏⼯作都采取直接吐槽的态度。笔名取⾃哈利波特系列的斯内普教授,觉得
⾃⼰也像他那么⾃闭、刻薄、阴阳怪⽓,也向往他为爱⽽伟⼤。
作品推荐
1. 深度学习,路在何⽅?
2. 数据还是模型?⼈类知识在深度学习⾥还有⽤武之地吗?
3. 在错误的数据上,刷到 SOTA ⼜有什么意义?
后台回复关键词【⼊群】
加⼊卖萌屋NLP/IR/Rec与求职讨论群
后台回复关键词【顶会】
获取ACL、CIKM等各⼤顶会论⽂集!
【泡泡图灵智库】DC-Loc: 带有显式多普勒补偿的⻋载毫⽶波雷达尺度
定位算法
泡泡机器⼈SLAM
加强数据安全与隐私保护,IEEE与国际隐私专家协会合作推出数据隐私
⼯程数据库
科研圈
PyTorch数据并⾏处理-哔哩哔哩
磐创AI
微信扫⼀扫
关注该公众号
Severus 2021-09-23 12:05
原创
夕⼩瑶的卖萌屋