K-BERT:BERT+知识图谱

1 简介

本文根据2019年《K-BERT:Enabling Language Representation with Knowledge Graph》翻译总结的。如标题所述就是BERT+知识图谱。

本文贡献如下:
1) 我们介绍了一个知识集成的语言表达模型,取名K-BERT。其兼容BERT,同时可以融合专有领域知识。解决了Heterogeneous Embedding Space(HES,多样化的Embedding空间)和Knowledge Noise (KN)问题。HES指文本中词语的embedding 向量和知识图谱中实体的embedding 向量因为他们获取的方式不一样,导致向量空间不一致。KN指太多的知识融合可能使语句偏离其正确的意思。
2) 因为知识图谱的参与,K-BERT不仅在专有领域的表现超过BERT,同时在一些开发领域也有很好的表现。
3) K-BERT代码和我们自己开发的知识图谱已开源,地址:https://github.com/ autoliuweijie/K-BERT.

2 K-BERT方法

如下图所示,K-BERT包含四部分:knowledge layer, embedding layer, seeing layer、mask-transformer。下面分别论述。
K-BERT:BERT+知识图谱

2.1 knowledge layer

主要就是引入知识图谱,将句子转换成句子树(带有分支的)。如下图:
K-BERT:BERT+知识图谱

以及模型中的示例,如下图,Cook是apple公司的CEO,这个分支是来自于知识图谱。:
K-BERT:BERT+知识图谱

2.2 embedding layer

如下图,embedding有三部分,1)token embedding,2)位置embedding(采用的是soft-position,如下图红色数字部分,每个分支都编码了),3)segment embedding(如只有一个语句就都标成A,如果两个语句就表示成 {A, A, A, A, …, A, B, B, …, B}.)
K-BERT:BERT+知识图谱

2.3 seeing layer

主要是上图的visible matrix,主要解决Knowledge Noise (KN)问题。如下图的“china”仅和“beijing”有关,不应该和“apple”有关,我们就引入visible matrix使不相关的不可见。
K-BERT:BERT+知识图谱

visible matrix 矩阵公式如下:
K-BERT:BERT+知识图谱

2.4 mask-transformer

K-BERT:BERT+知识图谱

K-BERT:BERT+知识图谱

mask-self-attention公式如下:
K-BERT:BERT+知识图谱

3 实验

中文语料库:WikiZh,WebtextZh
知识图谱:CN-DBpedia4 , HowNet5 and MedicalKG(这个是作者弄的).

下图的开放域任务,K-BERT有不少提升。
K-BERT:BERT+知识图谱

下图,在特定领域K-BERT (MedicalKG)提升很明显。

K-BERT:BERT+知识图谱

上一篇:TX Text Control文字处理教程(4)标记文本域


下一篇:十、docker镜像的分层