从预训练语言模型中无监督构建知识图谱——阅读笔记

这篇论文有以下三点贡献:

1、展示了如何从预训练语言模型中构建知识图谱。

2、提出了一种无监督的两阶段方法:MAMA。

3、构建了一类全新的知识图谱——开放知识图谱

1. 背景介绍

简单介绍一下知识图谱:

现有大型知识图谱,诸如Wikidata、Yago、DBpedia,富含海量世界知识,并以结构化形式存储。如下图所示,每个节点代表现实世界中的某个实体,它们的连边上标记实体间的关系。这样,美国作家马克·吐温的相关知识就以结构化的形式记录下来。

长期以来,知识图谱的构建通常基于手工标注,耗时耗力(例如Freebase和Wikidata)。尽管研究者们也探索了半监督方法(例如NELL和Knowledge Vault),但其仍旧依赖于大量人工标注的参与。而近期出现的预训练语言模型(如BERT,GPT-2/3),给自然语言处理领域带来了革命性的进展。近期GPT-3在写作、编程与对话上更是展现出令人震惊的能力。许多这样的任务,对人们而言都是需要丰富的知识才能完成的。如此推断,预训练语言模型也应当已从海量的语料(如BookCorpus,Common Crawl)中潜在地学习到了许多知识。

从预训练语言模型中无监督构建知识图谱——阅读笔记_第1张图片图1. 所提出方法的概述MAMA,MAMA在语料库上通过预训练的语言模型(LM)的单次前向传递(没有微调)构建一个开放知识图谱(KG)。给定的输入:文本语料库包含段落和句子,例如,英语维基百科;预训练语言模型,例如,BERT,GPT-2/3, MAMA。

(1)生成一组候选人事实通过匹配的知识与事实预训练模型文本语料库,例如,一个候选人的事实(Dylan, is, songwriter)句子Dylan是一个songwriter。

(2)通过将匹配的候选事实映射到现有的KG schema来生成一个开放的KG,例如一个 Wikidata schema,(Bob_Dylan.Q392, occupation.P106, Songwriter.Q753110),以及一个open schema,例如(Bob_Dylan.Q392, sign, Albert Grossman.Q708584)。

2. Details

如上图1所示,MAMA含有两个执行阶段:Match(匹配)和Map(映射)。

2.1 MATCH

注意力权重矩阵上的集束搜索生成候选知识

我们将整个MATCH阶段定义为一个搜索问题。先前的研究表明,Transformer中的注意力矩阵通常能够提供非常好的语义层面的信息;不过,还没有工作关注是否注意力矩阵也同样包含着我们想要的知识。

2.1.1 束搜索

因此,我们考虑通过最简单的方式——搜索,来尝试获取注意力权重矩阵中的知识。

考虑一个极其简单的句子“Dylan is a songwriter.”和其中的一对三元组头尾(h, t)=(Dylan, songwriter),我们执行这样的三步集束搜索:

**1. START(开始):**从头部实体开始搜索,将h(此处即Dylan)加入集束搜索,并返回一个候选的“(h, ”(此处即“(Dylan, ”)。匹配度被初始化为0。

**2. YIELD(生成):**如果当前的候选还没有达到尾实体t(此处即songwriter),则迭代地生成一个个新的中间候选并加入。

如图2(a)所示,在第1步生成中(即图中的橙色箭头),is被加入到当前生成的候选三元组中得到(Dylan, is:因为如图2(b)中所示,在从Dylan出发的注意力权重中(矩阵第一列),is具有最大的注意力分数。当前候选匹配度变为0.3(即0+0.3)

在实际操作中,由于Transformer具有多头注意力,我们尝试了不同的注意力权重合并策略,并最后发现取多头平均注意力权重的效果最好(详情参考附录)。在第2步的生成中,我们采用相同的步骤,跳过了a生成了songwriter,进而得到(Dylan, is songwriter。候选的匹配度此时为0.7(即0.3+0.4)。

**3. STOP(停止):**如果当前候选已到达尾部实体,那么我们将这整个三元组加入到集束中作为候选知识。当集束大小为1时,(Dylan, is, songwriter)就成为了唯一的结果。对应的最终匹配度为0.7。

以上是MATCH算法的一个简单例子。在实际的语句中,我们还会遇到知识以反向的形式存在的情况,如“… said Jason Forcier, a vice president at battery maker A123 Systems Inc.” ,因此我们允许MATCH算法进行双向的搜索。集束的大小也不局限于1,在实际搜索中以宽度优先的方式进行,最后返回匹配程度最高的k条候选知识。这一集束搜索算法的时间复杂度是O(k·d),其中d为搜索深度。

束搜索算法:

2.1.2 Filter过滤

尽管束搜索提供的基本功能足以找到有用的候选事实,我们还是发现了一些有用的约束条件。给定来自束搜索结果T(h,t)的候选事实(h, r, t),如果满足以下所有约束,则保留为事实。

约束#1: (h, r, t)的匹配度高于阈值。我们比较整个语料库的匹配度,只保留与LM知识更好地匹配的事实。例如,MAMA从《Rolling Stone》中摘录了一段“No other pop song has so thoroughly challenged artistic conventions“摘取的一段事实(Rolling Stone, wrote, pop song),这不是基于句子的准确事实。我们观察到相关的匹配度低于适当的阈值,而来自相同文档的高质量事实的匹配度,例如(Dylan, is, songwriter),或者来自其他文档的置信事实的匹配度超过了阈值。

约束#2:关系r的不同频率高于阈值。避免事实被过度指定,例如,(Dylan, signed to Sam Peckinpah’s film, Pat Garrett and Billy the Kid),我们要求关系r应该在语料库中使用许多不同的头尾实体对。

约束#3: 关系r在句子中是一个连续的序列。避免上述句子中没有有意义解释的关系r(Fader et al., 2011),例如(Rolling Stone, write challenging, conventions)。

2.2 MAP

通过映射候选知识构建开放知识图谱

在获取原始的知识三元组后,需要进行适当的映射,与既有的知识图谱schema(如Wikidata)进行比对合并的同时,我们也对开放schema的结果进行保留整理,从而构建开放知识图谱。有两类知识如下:

2.2.1 完全映射到既有知识图谱schema的知识

利用专家构建的既有知识图谱,可以避免大量重复的实体与关系,也可以为进行自动结果评测打好基础。在这里,我们构建了简单的无监督的实体链接和关系映射方法,以最小的成本来实现这一目标:

**实体链接方法:**基于维基百科超链接和之前Crosswikis的结果,我们构造了大规模的mention-to-entity词典来进行实体链接。同时,语境信息也对实体链接具有重要的影响,因此我们简单地采用了的Glove词向量进行消歧,从而链接到含义相近的实体。

**关系映射方法:**本文基本采用了Stanford OpenIE中提出的共现方法来构造关系映射。具体来说,如果一对头尾实体在抽取结果和既有知识图谱中共现,我们认为他们的关系短语很有可能是相同含义的。实际中,我们对关系短语进行词形还原并移除停用词来构建这样的映射。构建完初步的共现结果后,我们人工筛选了候选映射较多的关系短语的前15个结果。同时,我们也仿照Stanford OpenIE对部分关系的实体类型进行了简单的限制。

2.2.2 属于开放schema的知识

对于开放schema的知识,具体来说有两种:

第一种属于半映射的知识,即(h, r, t)中有至少一个可以映射到既有知识图谱的schema中,而这一类也是开放schema知识的主要组成部分;

第二种属于完全开放的知识,即(h, r, t)都完全无法映射到既有的schema中。如此一来,MAMA构建的知识图谱既包含了既有知识图谱schema范畴内的知识,也包含了更加灵活开放的开放型知识,为下一代知识图谱的构建提供了参考方向。例如图3,是MAMA在Wikipedia的Bob Dylan词条及其邻居词条中抽取出的部分知识图谱。蓝色的点边代表第一类包含于既有schema内的知识,而黄色的点边则代表了开放schema中的新知识。

图3:MAMA使用Wikipedia页面上与“ Bob Dylan”相邻的用BERT_LARGE生成的开放KG的快照子图。蓝色节点和箭头表示Wikidata模式中的映射事实,黄色节点和箭头表示open schema中的未映射事实。我们也用黄色来可视化Wikidata数据中新出现的正确事实。

3. 实验结果

3.1 数据集

我们将来自MAMA的映射事实与两个KG中的事实进行比较:

TAC KBP TAC知识库填充(KBP)插槽填充是一项任务,它搜索一个文档集合,为参考KG中给定的头部/对象实体的预定义关系(插槽)填充尾部/对象实体。根据给定的实体和关系,在大规模文本中寻找填充答案。我们在2013年的挑战赛中对参考KG进行了实验。我们使用2013任务的文档收集和Oracle事实。数据集的统计信息如表1所示。

Wikidata我们将流行的Wikidata用作另一个KG。我们使用Wikidata中的所有Oracle事实。我们将英语维基百科用作文本语料库,因为Wikidata中的大量事实都来自英语维基百科。统计信息在表1中。

为了评估映射的事实,我们首先使用MAMA的Match阶段来运行相应的文档以生成候选事实。然后,利用Map阶段将候选事实分别映射到TAC KBP和Wikidata的架构。基于Sec中的参数研究,TAC KBP和Wikidata之间共享诸如算法1中的波束大小之类的参数设置A.3。

3.2 实验分析

为了验证MAMA构建的知识图谱的质量,本文分别对两类生成的知识进行了评估。对于能映射到当前知识图谱schema内的知识,本文定量地进行了自动化的评估;对于开放schema的知识,本文通过采样进行了人工检查。

对于第一类可映射到既有schema内的知识,本文在两个大规模数据集上进行了评测。其一是经典的TAC Knowledge Base Population (KBP)的Slot Filling任务(本文选取2013年的数据),根据给定的实体和关系,在大规模文本中寻找填充答案。

但是,KBP标准答案的规模较小,无法很好地验证MAMA是否能在更大规模的数据上具有良好的扩展性,于是本文利用整个Wikidata和英文Wikipedia中的文本进行了评测。数据规模如表1所示。

从预训练语言模型中无监督构建知识图谱——阅读笔记_第2张图片 表1:TAC KBP和Wikidata两种知识图谱的数据集统计

在TAC KBP上,本文与两个经典的开放信息抽取模型OpenIE 5.1(Ollie系统的后继)以及Stanford OpenIE系统(目前TAC KBP 2013任务上最好的开放信息抽取系统)的抽取结果进行了比较。

表2实验表明,MAMA-GPT-2_XL取得了最好的实验结果,也超越了传统的基于句法解析的信息抽取模型。同时本文发现,随着预训练模型参数量的增大,生成结果的表现会更好。另外,在同等规模的参数下,BERT在F1指标和召回率的表现相对GPT-2系列模型更好;但是GPT-2的精确度却要更高一些。这可能是由于Masked LM的训练目标使得BERT学习到比GPT-2更灵活、但也噪音更大的知识。更进一步的,我们在更大规模的Wikidata上验证了我们的结果。

从预训练语言模型中无监督构建知识图谱——阅读笔记_第3张图片

表3中实验结果表明,在更大规模的语料上,相比TAC KBP,MAMA取得了比开放信息抽取方法好得多的表现。同时,这也说明了MAMA具有在大规模语料上的扩展能力。值得注意的是,Wikidata中知识的构建,很多并非从Wikipedia的文本得来,所以实验的F1表现要比小规模、完全从目标文本中构建的TAC KBP要低一些。同时也说明了更大规模的文本语料中蕴含有更多的待发掘的知识。最后,我们也对开放schema内的知识进行了采样和人工评估。结果发现,抽取出的开放schema知识中,大约35%的知识都是正确的。这也证明了当前的大规模知识图谱仍然是不完整完善、需要进一步的补充和优化的。

从预训练语言模型中无监督构建知识图谱——阅读笔记_第4张图片

本篇论文最后,一系列实验结果都表明预训练语言模型中存储了丰富的知识,不但数量上可以超越当前既有的知识图谱,schema上也更加灵活开放。

4. 总结

缺点

不足就是不存在于现有知识图谱中知识的评测问题。后续计划利用众包来加强对于新知识的评测。

改进研究

一定开源。后续研究会很丰富,包括

改进Match算法:如前面提到的使用图神经网络生成关系;

强化Map阶段:通过lifelong learning学习更好的知识映射;

强化评价体系:利用众包对不在既有知识图谱中的知识进行更大规模的标注和评价;

更好的知识图谱:利用更大的模型,例如GPT-3(如果开源的话),在更大的语料上,例如Common Crawl,生成质量和数量都更进一步的知识图谱。

你可能感兴趣的:(阅读笔记,自然语言处理)