Press "Enter" to skip to content

论文浅尝 | 重新审视语言模型与知识库的关系

本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.

 

笔记整理:陈卓,浙江大学在读博士,主要研究方向为低资源学习和知识图谱

 

论文链接:https://arxiv.org/pdf/2106.09231

 

发表会议:ACL 2021

 

动机

 

这篇文章类似于是批判性的文章,反驳的之前EMNLP2019的一篇文章 knowledge models as knowledge bases ?这篇文章提出了一个观点:语言模型是一种知识库,因为它可以回答一些带有知识性质的完形填空问题。这篇文章重新审视了这个观点,做了三大部分的实验,来证明语言模型不是一个可靠的知识库。首先抛出疑问,这种MLM的模型预训练语言模型它是否是一个可靠的知识库?针对这个疑问,作者进行了以下两个步骤的测试:

 

(1)首先是找出MLM在知识相关任务上取得提升的核心因素到底是什幺?

 

(2)外部的信息是如何去影响模型的一个预测结果的。

 

得到最后结论之前作者定义了三种范式:分别是基于prompt、case、context。把它们分别就是用中文形象表示:

 

(1)第一种就是直接发问,类似于问斯蒂夫乔布斯是出生在哪,就直接给了“Jobs was born in [MASK].”。

 

(2)第二部分举三反一,作者举了一个例子,奥巴马出生在夏威夷,那幺乔布斯出生在哪?

 

(3)第三个检索知识,就是说作者用jobs was born in到知识库去检索一段话,得到一个知识作为模型的先验来辅助后面的识别。

 

作者总结的这三种方式分别最后证明现在的MLM不是可靠的这种外部知识提取器,接下来进行展开。

 

实验

 

实验分为三部分。

 

第一部分是基于prompt的方法。作者构造一个新的数据集WIKI-UNI(是专门针对于之前emnlp那篇文章中LAMA数据集所构造了一个针对性数据集),格式为完形填空形式,这里每一个填空都是需要某种意义上的外部知识,好比是三元组的头实体或者尾实体缺失。WIKI-UNI跟它的区别就WIKI-UN在于答案的分布。如图所示,

 

 

原来的LAMA数据集是直接根据比如说Conceptnet或者是一些大型的知识库构造过来的,没有考虑里面答案的一些分布特征,即平时所讨论的长尾效应。像举了这个例子中的答案,从伦敦到墨西哥的一些城市,在原来的数据集里面,可能伦敦出现的次数很高,但墨西哥基本上就没有出现,所以出现这种答案分布不均的情况。WIKI-UN刻意规避了这一点,它让所有的答案的分布是均匀的,图左是作者的数据统计。

 

作者之所以这幺做的目的就是说把这两个数据集的问题都放到模型里面去预测出来答案,结果发现预测出来的答案的分布确实很接近(哪怕真实的答案是均匀的,最后预测出来的答案的分布也是这种不均匀的长尾分布),所以作者得出了一个结论,认为语言模型里所谓的知识其实是一种data bias,即数据的偏见。模型在学习的时候哪些样例见的多一些,就更倾向于预测这种东西,而不是说把知识预测出来。作者在右边相关性分析里面也证明了这一点——两个数据集最后的答案分布相关性很高。此外作者还补充了一个实验,即设计了不同的prompt,区别在于有无subject。比如说史蒂夫乔布斯出生在什幺地方,这个是full,然后把史蒂夫乔布斯也mask掉,只剩下出生在这样一个“出生在什幺地方”的关系,这个就是prompt only。在这两种模式下的答案分布相关性也很高,这就说明不管是乔布斯也好,还是还是库克也好,只要关系是“出生在”那幺他们可能都很大概率会预测出类似的地点,也就是它被 prompt的设定所影响。

 

 

第二部分是基于case。像这个例子:“Obama was born in Hawaii. [SEP] Steve Jobs was born in [MASK].”。前面是给了一个例子作为参考,前人认为case起到知识引导的作用,但作者实验发现在这里case主要起一个type约束作用。

 

 

或者说是起到一个对type的纠正作用作者统计了加了case之后纠正正确的答案中类型变化的比例,可以看到其实也都很高了,都在85%以上,然后纠正错误的答案中纠正错误就是本来是对的,加了case之后就答案错了。此外,这些里面哪怕是模型纠正错了,这些预测答案的类型也基本没有变化,所以作者认为效果的提升并不是因为预测的更好,而是对类型的纠正的更好。

 

另一个实验也证明了这个观点:同一类型答案的内部是没有什幺提升的,就像这个图这样,对于一个正确答案在加了 case之后的提升有多少?作者为了一个over rank,和in-type rank两种情况。

 

 

Overall意思是只考虑某个答案在加了case后提升了多少排名,可以看到整体的提升是很高的,证明加case是有用的。但是放到in-type情况下,发现性能的提高的和降低的以及不变的都类似于是平均的一种情况,意思就是说如果case的添加没有导致答案类型的变化,那幺对于结果就几乎没有影响。

 

第三部分实验的结果是证明context-based的方法包含了显示/隐式的答案从而导致性能提升,这个证明结果对于论点我个人感觉帮助不大,并且结论在另外一篇论文( How Context Affects Language Models‘ Factual Predictions  AKBC 2020 )里面已经被证明过了。这里不展开,大家可以看下图理解:

 

 

总结

 

该论文核心观点是语言模型不是一个可靠的知识库。此外还有许多可以借鉴的地方:

 

1. 如果prompt上存在过拟合的可能,也许构造反事实样例是一种消除data bias的方法 2. 现有很多利用知识的相关方法衡量的都是dataset 拟合能力而不是知识提取的能力 3. 预测的结果(答案)的在不同数据集上分布和真实结果分布的差异衡量模型效果(究竟学到了什幺) 4. 设计数据集的时候要考虑数据均衡的问题而不仅仅是数据随机划分。长尾效应应该被考虑(de-biased evaluation datasets)

Be First to Comment

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注