知行编程网知行编程网  2022-01-28 15:00 知行编程网 隐藏边栏 |   抢沙发  63 
文章评分 0 次,平均分 0.0
无需人工!无需训练!构建知识图谱 BERT一下就行了!

今天给大家带来的是一篇号称可以自动建立知识图谱的文章《Language Models are Open Knowledge Graphs》,文中提出了一个叫Match and Map(MAMA)的模型,无需人工!无需训练!只需语料和预训练好模型,就可以从头建立出知识图谱,甚至可以挖掘出人类发现不了的新关系。当Wikipedia再次邂逅BERT,知识图谱就诞生啦!

通常来说知识图谱的建立需要人工定义好的关系或者是实体类别,然后基于这些我们称之为schema的骨架进行建立整个图谱。而传统的自动识别关系及实体的方法大都基于训练。而MAMA就不一样了,它就像妈妈一样可以帮我们实现全自动图谱建立:

  • 不需要人工定义的schema,而是依靠开放实体抽取和开放关系抽取的方法去建立图谱。
  • 不需要在开放关系抽取或者实体抽取的任务上训练,而仅仅依靠预训练模型就可以完成建立知识图谱的整个过程。
  • 模型不针对一个单一的关系逐条分析,一次喂给MAMA整个段落,她就回报给你所有triple

到底是怎么做到的呢?

无需人工!无需训练!构建知识图谱 BERT一下就行了!开放知识图谱无需人工!无需训练!构建知识图谱 BERT一下就行了!

想要建立MAMA,我们先回顾一下知识图谱中都有哪些基本元素:(熟悉知识图谱的同学们可以跳过这部分)知识图谱,我们想要把大量的非结构化的知识(一般是大量的网页及其中的文本)转化成结构化的图结构,那我们的基本结构中既要有知识也要有图。 目前,知识图谱中一共储存两类知识:一类是实体,一般是诸如人名地名这类的名词;另外一类是这些实体之间的关系,比如出生地,职业。 有了知识,我们只需要把它建立成图结构,那么把实体看成图中的点,关系看成图中的边就可以了。 开放知识图谱一般用三元组(起始实体,关系,结束实体)来表示边,所有边都被以这个形式储存之后图谱就建立好啦。

无需人工!无需训练!构建知识图谱 BERT一下就行了!MAMA怎样构建图谱呢?无需人工!无需训练!构建知识图谱 BERT一下就行了!

无需人工!无需训练!构建知识图谱 BERT一下就行了!

要构建知识图谱第一步是获取基本原料:一个清洗好的语料库和一个预训练模型。 文中直接采用了维基百科作为语料,预训练模型则直接用发布的模型就可以了。

接下来关键的一步是自动抽取三元组,也是本文的主要贡献点。 实体抽取的技术已经相对成熟,给定一个语料中的段落,我们先用开源工具抽取出它的所有实体,来构成我们可能建立的关系候选。我们按照他们在句子中出现的顺序,分为头实体和尾实体。然后重点来了!我们利用BERT这类预训练模型的注意力权重来提取实体间的关系。

无需人工!无需训练!构建知识图谱 BERT一下就行了!

对于一个(头实体,尾实体)对,我们用Beam search的方法从一个头实体出发生成一个到尾实体的序列。比如图中从Dylan出发,以songwriter结束。对于每一位置,我们看注意力权重矩阵里attend到这个实体的这一列,并且只关注在句子中当前位置之后的token的注意力权重,选择权重最大的下一个token加入当前序列。例子中从Dylan出发选择了is这个token,然后重复之前的操作,下一个我们选到了songwriter,那么搜索结束,我们就得到了一个(Dylan,is, songwriter)的序列。聪明的小伙伴们已经发现了,这样提取出来的序列不就是我们想要的三元组吗?没错!我们再加上一些修修补补,MAMA就可以为我们完成构建图谱的工作啦!

按上面这样选出来的序列虽然可以简要表示我们所需要的信息,但它还不是严格意义上的关系三元组——我们有可能提取出多个token作为关系,文中针对这个问题对关系提取加入了一些限制:

  • 首先,我们只保留注意力权重和大于阈值的序列。这是为了防止BERT这类模型单纯地提取出符合语言模型的序列,而不是那些对实体有特殊意义的关系。

一个反例:在阈值筛选之前,模型会从句子 Rolling Stone wrote: “No other pop song has so thoroughly challenged artistic conventions” 中抽取关系(Rolling Stone, wrote, pop song)

  • 提取出来的关系必须在整个语料中出现足够多的次数。这样是为了防止出现一些过于细节偏门的关系。

例如 (Dylan, signed to Sam Peckinpah’s film, Pat Garrett and Billy the Kid),这里的关系特指签约了Sam Peckinpah的电影,非常罕见且缺乏泛化性。

  • 关系序列必须是句子中出现的连续token。这样可以防止提取出没有意义的关系。

例如(Rolling Stone, wrote challenged, conventions),这里wrote 和chanllanged不表示合理的关系。

现在,我们就已经可以用MAMA从语料库中建立一个知识图谱啦!

无需人工!无需训练!构建知识图谱 BERT一下就行了!MAMA效果如何?无需人工!无需训练!构建知识图谱 BERT一下就行了!

为了方便和其他方法比较,我们需要把这个开放图谱和已有的数据集对应上。使用已经比较成熟的实体链接,关系映射方法就可以了。

无需人工!无需训练!构建知识图谱 BERT一下就行了!

这样造出来的MAMA无论在准确率还是召回率上都超过了之前的方法。

除了那些可以被对应到人造数据集中的关系之外,MAMA的一大亮点在于她可以发现其他没有被schema预先定义的关系:

无需人工!无需训练!构建知识图谱 BERT一下就行了!

图中蓝色的关系是在预定义schema中出现的部分,MAMA额外还生成了33%的新关系(黄色)。其中像Dylan和其他歌手曾经合作过,曾经是某个乐队的成员等,这样的信息是人工schema中所没有的,但对于歌手来说却是很重要。如果可以自动完善知识图谱和schema的构建,那就解决了KG中很难穷尽所有关系的难题了。

无需人工!无需训练!构建知识图谱 BERT一下就行了!一些评价无需人工!无需训练!构建知识图谱 BERT一下就行了!

个人认为,MAMA的整体思想还是很新颖且值得借鉴的。但是实验部分以及一些细节上的设置还需要更精细的设置。一大缺陷在于他没有和其他的SOTA进行比较,效果尚未可知。总体来说,为自动化的知识图谱构建提供了一个不错的思路。

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

讲解视频:
https://www.youtube.com/watch?v=NAJOZTNkhlI&t=276s

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

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

发表评论

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