知行编程网知行编程网  2022-02-04 16:00 知行编程网 隐藏边栏 |   抢沙发  156 
文章评分 0 次,平均分 0.0
天天说常识推理,究竟常识是什么?

写这篇文章的时候,我去搜了搜常识的例子。

“睁开眼睛打喷嚏是不可能的。(还真没留意。)““北极熊是左撇子。“”长颈鹿没办法咳嗽。”

呃?好吧,我需要补一补自己的常识。那么这些所谓的“常识”真的是常识吗?

关于常识的研究近年来是比较火热的话题,在NLP领域,研究的方向主要有两条线,一是各种benchmark数据集的构建,各种刷榜以测试我们的模型是否具备某些类型的常识;二是常识知识图谱的构建,关注点主要在于如何挖掘常识知识、构建结构化常识知识。两条线的交叉点在于如何利用常识知识辅助各类下游任务。

说到常识知识图谱,大家可能首先想到的是流行的ConceptNet。天天说常识推理,究竟常识是什么?

和常见的知识图谱一样,常识知识图谱用关系三元组(h,r,t)来表示一条常识知识,h和t可以是自然语言组成的单词、短语或者句子,r表示h和t之间的关系。比如在ConceptNet中,关系Causes of的一个三元组是(起床,Causes of,妈妈叫)。

那么除了ConceptNet呢?近年来,得益于众包机制,研究人员们开始构建各种知识图谱(KG)。有正式命名为常识KG的,比如ATOMIC、WebChild;也有包含常识知识但非正式命名为常识KG的知识源,比如WordNet、VerbNet。

所以常识知识领域的研究看起来像是遍地开花,但每个知识源的格式、创建的方法、知识类型的覆盖率都各不相同。对于现存的常识KGs到底包含了哪些类型的常识知识,每个KG对每种类型的覆盖程度是怎样的,以及哪些类型对于下游常识推理任务是有用的,缺乏一个统一的定论。今天给大家介绍的这篇文章,正好填补了这一空缺。

论文题目:
Dimensions of Commonsense Knowledge

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

Arxiv访问慢的小伙伴也可以在【夕小瑶的卖萌屋】订阅号后台回复关键词【0310】下载论文PDF~

本文核心想要探究两个问题:

1. 如何研究现有常识KGs中包含了哪些维度的常识知识?

2. 对于常识推理任务,常识知识图谱有多重要?

为什么研究这两个问题是重要的呢?因为直觉上讲,常识知识包含了很多世界知识,将其注入下游常识推理任务可以带来额外的推理知识,从而提升模型的性能。但是实际情况却是:注入常识知识所带来的影响十分有限,它给下游任务带来的提升往往比预训练语言模型要小很多。因此,统一化现有的常识KGs,并探究其重要性对常识KGs、下游推理任务的未来工作都是有启发意义的。

常识知识的维度有哪些?

在探究常识知识图谱的重要性之前,作者首先对现有的20个包含常识的知识源进行了调研,对它们进行概括分类,并从中挑选了7个进行研究。研究的前提是常识知识在关系维度上的统一。文中对现有常识KGs中包含的常识知识的关系类型进行整理、重新聚类后定义了13个常识维度(如下表)。天天说常识推理,究竟常识是什么?

每个维度包含若干个具体的关系。比如维度distinctness包含ConcpetNet中的{Antonym,DistinctFrom}两个具体关系。(ps:每个知识源的关系标签不一样,所以每个维度包含的具体关系的名字也不相同,详情参加论文中的Table2)。统一了维度后,就可以从维度的视角统一研究各个常识KGs中存在的常识知识,也可以融合各个KGs的知识进行知识的增强。

本文既可以看成是对常识知识的维度的正式划分,也可以看成是对常识知识融合[1]是有意义的一个证明。

在统一所有常识KGs的维度的基础上,本文首先对各个常识KGs中包含常识维度进行了统计分析,对比了它们的维度知识的数量、覆盖度、冗余度;然后探究哪些维度的常识有助于提升对下游常识推理任务的性能,具体的提升有多大?哪些常识维度已经存在于预训练语言模型,哪些仍旧缺失?下面我们一起来看看这些问题的答案吧。

各知识源包含的常识维度差距大吗?

整体来讲,部分知识源包含的维度较多,但每个维度的数量分布差距大;而另一些则是包含几种较少的维度,但每个维度的数量都很多。维度-知识源分布数据如下:天天说常识推理,究竟常识是什么?可以看出,13个关系维度在知识源中的分布是不平衡的。

  • 被较好捕捉的关系维度更多涉及词汇关系和分类关系,比如lexical, similarity, distinctictness, taxonomic。
  • 而部分维度则非常罕见,比如comparative维度只出现在WebChild,creation维度只出现在了两个知识源中,并且只有500条三元组。

在此基础上,我们可能会接着问,在多个知识源中找到的同一维度的知识有重复的吗?作者也好奇,于是在文中对各个知识图谱包含的相同知识的比例进行了统计分析。

各知识源包含的相同常识多吗?

当两个知识源A和B包含一条相同三元组时,它们就包含一条相同的常识。对于每个维度,计算任意两个知识源之间的冗余度。衡量标准是Jaccard score,即共享的三元组数量占两个知识源的三元组的总和的比例:。

文中的统计数据表明,各个数据源之间的整体知识冗余度是比较低的。 常见的维度有稍微高一些的冗余度,比如taxonomic,similarity维度的冗余度在0.02到15.19中间波动;而其余维度,如quality,utility,temporal等的冗余度接近0。各个知识源之间的低冗余度也证明了论文中将所有常识KGs融合在一起是有意义的。

鉴于预训练语言模型(PLM)已成为各个领域的baseline,常识领域亦不例外。在后面的实验中,作者主要想探究PLM中包含的常识知识和常识KGs中包含的常识知识的关系是怎样的。

语言模型能对常识KGs聚类吗?

最近很多工作都证明PLM是可以捕捉到到一定程度的常识知识的。那么PLM对于常识关系的无监督聚类和本文中的基于13个维度的聚类结果会相同吗?

文中将使用关系模板将每一个三元组转换为句子,并传递给RoBERTa-large以获取其向量表示。得到所有边的向量表示后,用k-Means将其聚为13类,然后与文中的13个维度的聚类进行对比。作者发现基于无监督的聚类和基于维度的聚类的相似度很低(ajusted rand index =0.235)。进一步,作者随机采样5000条边,并使用UMAP将K-means的聚类结果可视化。天天说常识推理,究竟常识是什么?通过进一步观察每个类别中的内容,作者发现:

  • 部分类别有被很好的划分,比如上图中的类5,其中主要包含了distinctness的信息。类[4 7 8]大部分包含similarity维度的知识,类[1 6]则包括temporal、desire/goal维度的边。
  • 另一部分类别则没有被很好的划分,比如类[0, 2, 9, 10, 11, and 12],其中内容被lexical和relational—other维度占主导。

对相同的5000条边,作者使用UMAP对文中的13个维度也进行了可视化,并比较了两组数据中类别的Jaccard score:天天说常识推理,究竟常识是什么?高Jaccard表明两个类别包含的内容相似度高。可以看出RoBERTa的类5和和文中定义distinctness的类的一致性是极高的,说明RoBERTa对于该类内容的表示与其它维度是有很好的区分性的。而其余大部分维度的相似度都是较低的。说明语言模型对不同关系维度的表示和人对不同关系维度的划分是存在较大差异的。

哪些常识维度有助于常识QA任务?

这部分终于来到了开头我们提出的问题,也是小花最感兴趣的问题:各个维度常识知识给下游常识QA任务带来的提升是怎样的?

此处采用的模型[2]是将常识KG中的三元组知识转换为QA数据,并预训练语言模型,然后在两个常识数据集(CSQA和SIQA)上进行zero-shot的评估。

首先,我们看看各个维度的常识知识给下游常识QA任务带来的整体提升是怎样的?对比的baseline是直接应用RoBERTa-large,没有将任何常识KGs中的知识传递给模型。天天说常识推理,究竟常识是什么?从表中可以看到:加入各个维度的常识都提升了模型性能,但是各个维度带来的提升幅度差异却很大。很明显,红框中的维度带来的提升比蓝框要大很多。

这会不会是因为某些维度的常识已经被语言模型捕捉到了呢?所以作者将RoBERTa-large直接应用到合成的QA数据,以此观察预训练语言模型在各个维度上的表现。天天说常识推理,究竟常识是什么?果然不出所料啊!实验结果发现,预训练语言模型在lexical维度上的正确率高达90.1%,而在其它类的正确率却低很多。该实验说明:

  • 对于PLM本身已经捕捉的维度,再加入外部知识,意义并不大。
  • 加入预训练语言模型中缺乏一些维度的知识(比如quality,temporal),进一步训练语言模型才能带来额外的提升。 这里的实验和分析对于往后往预训练语言模型中加入何种知识是有指导意义的。不过鉴于不同维度给CSQA和SIQA带来的提升也存在差异性,具体加入什么维度知识有利于提升下游任务性能,还需要结合下游任务需要什么样维度的知识。

除了上面的实验外,作者探究了各个维度的常识知识给不同类型的问题带来的提升是怎样的?通过给下游任务的问题进行类型划分,并对比加入不同维度知识会怎样影响不同类型的问题。在CSQA和SIQA任务上的实验结果差异较大,整体来讲CSQA的问题类型需要的常识维度比较多,而SIQA中的问题只有加入特定维度的知识时才会对特定的问题有提升。

小结

本文首先对于目前20个常识知识源进行了总结,并强调了其之间的关联性,并由此提炼出现常识关系的13个维度,最终通过实验对各知识源所含的常识维度、冗余性,预训练语言模型包含的维度及各维度对下游常识QA任务的影响进行了分析。实验表明distinctness和lexical知识对下游任务没有明显帮助,temporal、desire/goal维度知识对下游任务提升较大。 

天天说常识推理,究竟常识是什么?

[1]CSKG: The CommonSense Knowledge Graph https://arxiv.org/pdf/2012.11490.pdf

[2]Knowledge-driven Data Construction for Zero-shot Evaluationin Commonsense Question Answering https://arxiv.org/pdf/2011.03863.pdf

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享