来自:夕小瑶的卖萌屋 今天给大家带来的是一篇号称可以自动建立知识图谱的文章《Language Models are Open Knowledge Graphs》,文中提出了一个叫Match and Map(MAMA)的模型,无需人工!无需训练!只需语料和预训练好模型,就可以从头建立出知识图谱,甚至可以挖掘出人类发现不了的新关系。当Wikipedia再次邂逅BERT,知识图谱就诞生啦! 通常来说知识图谱的建立需要人工定义好的关系或者是实体类别,然后基于这些我们称之为schema的骨架进行建立整个图谱。而传统的自动识别关系及实体的方法大都基于训练。而MAMA就不一样了,它就像妈妈一样可以帮我们实现全自动图谱建立:
到底是怎么做到的呢? 开放知识图谱MAMA怎样构建图谱呢?要构建知识图谱第一步是获取基本原料:一个清洗好的语料库和一个预训练模型。 文中直接采用了维基百科作为语料,预训练模型则直接用发布的模型就可以了。 接下来关键的一步是自动抽取三元组,也是本文的主要贡献点。 实体抽取的技术已经相对成熟,给定一个语料中的段落,我们先用开源工具抽取出它的所有实体,来构成我们可能建立的关系候选。我们按照他们在句子中出现的顺序,分为头实体和尾实体。然后重点来了!我们利用BERT这类预训练模型的注意力权重来提取实体间的关系。 对于一个(头实体,尾实体)对,我们用Beam search的方法从一个头实体出发生成一个到尾实体的序列。比如图中从Dylan出发,以songwriter结束。对于每一位置,我们看注意力权重矩阵里attend到这个实体的这一列,并且只关注在句子中当前位置之后的token的注意力权重,选择权重最大的下一个token加入当前序列。例子中从Dylan出发选择了is这个token,然后重复之前的操作,下一个我们选到了songwriter,那么搜索结束,我们就得到了一个(Dylan,is, songwriter)的序列。聪明的小伙伴们已经发现了,这样提取出来的序列不就是我们想要的三元组吗?没错!我们再加上一些修修补补,MAMA就可以为我们完成构建图谱的工作啦! 按上面这样选出来的序列虽然可以简要表示我们所需要的信息,但它还不是严格意义上的关系三元组——我们有可能提取出多个token作为关系,文中针对这个问题对关系提取加入了一些限制:
现在,我们就已经可以用MAMA从语料库中建立一个知识图谱啦! MAMA效果如何?为了方便和其他方法比较,我们需要把这个开放图谱和已有的数据集对应上。使用已经比较成熟的实体链接,关系映射方法就可以了。 这样造出来的MAMA无论在准确率还是召回率上都超过了之前的方法。 除了那些可以被对应到人造数据集中的关系之外,MAMA的一大亮点在于她可以发现其他没有被schema预先定义的关系: 图中蓝色的关系是在预定义schema中出现的部分,MAMA额外还生成了33%的新关系(黄色)。其中像Dylan和其他歌手曾经合作过,曾经是某个乐队的成员等,这样的信息是人工schema中所没有的,但对于歌手来说却是很重要。如果可以自动完善知识图谱和schema的构建,那就解决了KG中很难穷尽所有关系的难题了。 一些评价论文链接: 讲解视频: |
|