打破情感分类准确率 80 分天花板!更加充分的知识图谱结合范式

f7cb646e705f5bbb9125da786923259e.png

文 | 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. 知识图谱实体消歧错误传递,这点在前文也有提到。

针对这两点挑战,本文都给出了相应的解决方案。

9575896ff8890ec6d4444e4a85fcf61e.png
▲系统总体结构

图谱表示

本文使用了两种方式计算图谱表示,分别为子图表示连通分量表示。其中,连通分量表示则是将整个知识图谱中划分为若干个连通分量,每个连通分量看作是一个节点,从而将大规模图缩放成一个相对较小的图,例如本文将 DBpedia 的2200万个节点划分为606个联通分量来计算表示。计算方法使用的都是 GraphSAGE,简单来讲就是用某一个节点随机游走的N跳邻居层层聚合,得到当前节点的表示。

连通分量表示的方式则使用一种比较朴素的方式解决了大规模图谱表示的问题,实则使用的还是子图表示的计算方法。其好处则在于某一个节点可以得到的“言外之意”变得更多,更加看上去有关的信息被利用了。

其中,图表示的训练方式也分为静态训练和端到端训练两种,静态图表示是先训练好图表示,再叠加到任务中,端到端训练则是在任务训练的同时也训练图表示。

去掉歧义噪音

针对歧义噪音问题,作者则是使用 BERT 所学习到的统计共现知识去解决。首先我们可以认为,BERT 所学到的文本表示,聚合了很多的信息,而对于一个 aspect ,它的表示则聚合了其描述信息、分布信息等,那么,图谱嵌入空间上相近的实体,则在 BERT 学到的表示空间里面也应该有较高的相似性,但BERT聚合到的信息又太多了,所以需要将所需要的信息相办法抽取出来。所以,定义两个实体和的相似函数为:

其中B是可训练的参数,和分别是实体和实体的BERT表示的[CLS]向量。然后分别采样在图谱表示空间里距离近的实体和距离远的实体作为正例和负例,训练参数B,loss为:

其中,和是相近实体,和则是不相近的实体,该目标是尽可能让BERT学到的表示和乘上参数矩阵B之后,与图嵌入空间里面的距离更加相关。

而最终使用的实体的表示则为:

也就是说,如果实体的BERT表示的相似度和图谱嵌入空间内的相似度出现了矛盾,则屏蔽掉它的图谱表示,作者认为这样可以屏蔽掉很多消歧算法带来的噪音。

实验结果

8744ab0142461135bc7db517adce0213.png
▲实验结果

上表中,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不等,这种规模之下,则绝大多数情况下可以规避掉我上面提到的两个问题。也就是说,在固定垂直领域下,信息密度大,没有消歧压力、不可控泛化的压力,图谱增强是有用的,但是一旦到了开放领域,则不得不面对上面的问题

9ea53b099290f7ef45c89960f6fe227c.png萌屋作者:Severus

Severus,在某厂工作的老程序员,主要从事自然语言理解方向,资深死宅,日常愤青,对个人觉得难以理解的同行工作都采取直接吐槽的态度。笔名取自哈利波特系列的斯内普教授,觉得自己也像他那么自闭、刻薄、阴阳怪气,也向往他为爱而伟大。

作品推荐

  1. 深度学习,路在何方?

  2. 数据还是模型?人类知识在深度学习里还有用武之地吗?

  3. 在错误的数据上,刷到 SOTA 又有什么意义?

1d38ae3832e626bce5642228880ad1b6.png后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

75191635311396af53a818f4a7c50846.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/478046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式块存储系统Ursa的设计与实现

引言 云硬盘对IaaS云计算平台有至关重要的作用,几乎已成为必备组件,如亚马逊的EBS(Elastic Block Store)、阿里云的盘古、OpenStack中的Cinder等。云硬盘可为云计算平台带来许多优良特性,如更高的数据可靠性和可用性、灵活的数据快照功能、更…

LeetCode 919. 完全二叉树插入器(层序遍历队列)

1. 题目 完全二叉树是每一层(除最后一层外)都是完全填充(即,结点数达到最大)的,并且所有的结点都尽可能地集中在左侧。 设计一个用完全二叉树初始化的数据结构 CBTInserter,它支持以下几种操作…

开源开放 | 中文相对复杂词汇识别数据集RCWI-Dataset(CCKS2021)

OpenKG地址:http://openkg.cn/dataset/rcwi-dataset开放许可协议:CC BY-SA 4.0 (署名相似共享)贡献者:北京语言大学(阙孟溪、张宇飞、于东)1. 摘要中文领域的词汇复杂度评估资源较为匮乏&#x…

提升 NLP 实战技能的一点建议

作为最典型的 AI 领域之一,NLP 这些年也是越来越热门,基本上是各大厂必备了。随着 OpenAI 等技术的诞生、迁移学习等技术的成功应用,使得 NLP 技术在搜索、推荐、信息流、互联网金融、社交网络等领域不断发展壮大。与此同时,NLP 工…

深入FFM原理与实践

FM和FFM模型是最近几年提出的模型,凭借其在数据量比较大并且特征稀疏的情况下,仍然能够得到优秀的性能和效果的特性,屡次在各大公司举办的CTR预估比赛中获得不错的战绩。美团技术团队在搭建DSP的过程中,探索并使用了FM和FFM模型进…

LeetCode 993. 二叉树的堂兄弟节点(层序遍历)

文章目录1. 题目2. 解题2.1 层序遍历2.2 递归查找1. 题目 在二叉树中,根节点位于深度 0 处,每个深度为 k 的节点的子节点位于深度 k1 处。 如果二叉树的两个节点深度相同,但父节点不同,则它们是一对堂兄弟节点。 我们给出了具有…

论文浅尝 | IRW:基于知识图谱和关系推理的视觉叙事框架

笔记整理:孙悦,天津大学 链接:https://www.aaai.org/AAAI21Papers/AAAI-3382.XuC.pdf动机视觉叙事是生成一个短篇故事来描述有序图像流的任务。与视觉字幕不同,故事不仅包含事实描述,还包含未出现在图像中的想象概念。…

薅羊毛 Colab使用外部数据的7种方法!

文 | Coggle源 | Coggle数据科学Colab作为非常强大且优惠的计算平台,一直广受大家喜爱。可以随时随地使用,还有免费的GPU可以薅羊毛。那么如何在Colab中使用外部数据集,来完成竞赛呢,本文将给出几种常见的方法。方法1:…

高可用性系统在大众点评的实践与经验

背景 所谓高可用性指的是系统如何保证比较高的服务可用率,在出现故障时如何应对,包括及时发现、故障转移、尽快从故障中恢复等等。本文主要以点评的交易系统的演进为主来描述如何做到高可用,并结合了一些自己的经验。需要强调的是&#xff0c…

图灵奖大佬+谷歌团队,为通用人工智能背书!CV 任务也能用 LM 建模!

文 | ZenMoore编 | 小轶图灵奖大佬 Geoffrey Hinton 的团队和 Google Brain 团队近日发布新工作 Pix2seq,将 CV 经典任务 目标检测 转换为了语言模型的下游任务。这就很有意思了朋友们!因为这是一个很一般化的范式!也就是说,不光是…

论文浅尝 | 异构图 Transformer

笔记整理:许泽众,浙江大学博士在读论文链接:https://arxiv.org/abs/2003.01332本文主要提出一种处理异构图的方法,所谓异构图(Heterogeneous graph)是指在一个图中会出现不同类型的边和节点的图。早期对于图…

LeetCode 1145. 二叉树着色游戏(计算节点个数)

1. 题目 有两位极客玩家参与了一场「二叉树着色」的游戏。游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同。 游戏从「一号」玩家开始(「一号」玩家为红色&a…

常见的时间序列预测模型python实战汇总

最完整的时间序列分析和预测(含实例及代码):https://mp.weixin.qq.com/s/D7v7tfSGnoAqJNvfqGpTQA 1 时间序列与时间序列分析 在生产和科学研究中,对某一个或者一组变量 x(t)x(t) ARIMA 模型对时间序列的要求是平稳型。因此&#x…

简单复读机LR如何成为推荐系统精排之锋?

文 | 水哥源 | 知乎saying1. 众所周知, 人类(划掉)推荐的本质是复读机2. 精排之锋,粗排之柔,召回之厚3. 在推荐里谈“过拟合”很容易给我们造成心理上的松懈,导致我们忽略环境,氛围等多种因素的…

从0到1构建美团压测工具

背景 美团内部的RPC服务大多构建在Thrift之上,在日常开发服务的过程中,需要针对这些服务进行压力测试(以下简称压测)来发现潜在问题。常用的方法有: 使用一些脚本语言如:Python、Ruby等,读取线上…

论文浅尝 | ERNIE-ViL:从场景图中获取结构化知识来学习视觉语言联合表示

笔记整理:朱珈徵,天津大学硕士链接:https://www.aaai.org/AAAI21Papers/AAAI-6208.YuFei.pdf动机现有的视觉语言预训练方法试图通过在大的图像文本数据集上的视觉基础任务来学习联合表示,包括基于随机掩码子词的掩码语言建模、掩码…

LeetCode 222. 完全二叉树的节点个数(二分查找)

1. 题目 给出一个完全二叉树,求出该树的节点个数。 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干…

常见的统计分析方法汇总,指标对比分析、时间序列预测

常见的八种统计分析法如下: 指标对比分析法分组分析法时间数列及动态分析法指数分析法平衡分析法综合评价分析景气分析预测分析 1 比较分析法## 一、指标对比分析法指标对比分析法,又称比较分析法,是统计分析中最常用的方法。是通过有关的指…

这三个NLP项目写进简历,网申通过率提高50%

01三大企业级项目项目一京东智能对话系统项目项目简介:智能客服机器人已经成为了客服系统的重要组成部分,帮助人工客服提升工作效率,为企业降低人工成本。作为智能客服的行业先驱,京东多年来致力打造全链路的客服机器人&#xff0…

论文浅尝 | MulDE:面向低维知识图嵌入的多教师知识蒸馏

笔记整理:朱渝珊,浙江大学在读博士,研究方向为快速知识图谱的表示学习,多模态知识图谱。Motivation为了更高的精度,现有的KGE方法都会采用较高的embedding维度,但是高维KGE需要巨大的训练成本和存储空间。现…