发表:AAAI 2020 CCF-A
引用:Liu W, Zhou P, Zhao Z, et al. K-bert: Enabling language representation with knowledge graph[C]//Proceedings of the AAAI Conference on Artificial Intelligence. 2020, 34(03): 2901-2908.
论文地址:https://arxiv.org/pdf/1909.07606.pdf
1 背景与问题
1.1 背景
BERT (Devlin et al. 2018) 等无监督预训练语言表示 (LR) 模型在多个 NLP 任务中取得了可喜的成果。这些模型在大规模开放域语料库上进行了预训练,以获得通用语言表示,然后在特定的下游任务中进行微调以吸收特定领域知识。然而,由于预训练和微调之间的域差异,这些模型在知识驱动的任务上表现不佳。例如,在维基百科上预训练的 Google BERT 在处理医学领域的电子医疗记录 (EMR) 分析任务时无法充分发挥其价值。
在从特定领域阅读文本时,普通人只能根据其上下文理解单词,而专家能够推理相关的领域知识。
1.2 问题解决思路
方法:预训练一个强调自己特定领域的模型,而不是使用公开可用的模型。
缺点:预训练耗时且计算成本高、知识获取过程可能效率低下且昂贵。例如,if we want the model to acquire the knowledge of "Paracetamol can treat cold", a large number of cooccurrences of "Paracetamol" and "cold" are required in the pre-training corpus.
故用另外的方法:本体的知识图谱(KG)
优点:将KG 可以集成到 LR 模型中,它将为模型配备领域知识、提高模型在特定领域任务上的性能、大规模降低预训练成本、生成的模型具有更大的可解释性。
1.3 挑战
- Heterogeneous Embedding Space (HES): 一般来说,文本和KG中的实体中单词的嵌入向量是分开获得的,使得它们的向量空间不一致;
- Knowledge Noise (KN): 过多的知识合并可能会将句子从正确的含义转移。
1.4 应对挑战的解决方法
本文提出 Knowledge-enabledBidirectional Encoder Representation from Transformers (K-BERT)。K-BERT 能够加载任何预训练的 BERT 模型,因为它们在参数上是相同的。此外,K-BERT 可以通过加入 KG 而无需预训练轻松地将领域知识注入到模型中。
2 相关研究
预训练工作有:
全词掩蔽( wholeword masking):Baidu-ERNIE (Sun et al. 2019) 、BERT-WWM (Cui et al. 2019)
SpanBERT、RoBERTa、XLNet、THU-ERNIE
COMET (Bosselut et al. 2019) 使用 KG 中的三元组作为语料库来训练 GPT (Radford et al. 2018) 进行常识学习、
Wang et al. (2014) 提出将实体和词联合嵌入到同一个连续向量空间中的新方法(Mikolov et al. 2013)、
Han、Liu 和 Sun (2016) 应用卷积神经网络和 KG 完成任务来联合学习文本和知识的表示。
以上均是基于"word2vec + transE"的方法,但仍有 HES 问题,且对于具有数百万个实体的 KG,超过了 GPU 的内存大小。
3 方法
如图 1 所示的模型架构由四个模块组成,knowledge layer, embedding layer, seeing layer and mask-transformer。
3.1 Knowledge layer
知识层(KL)用于句子知识注入和句子树转换。
分为两个步骤:
S1:知识查询(K-Query)
在 K-Query 中,选择句子中涉及的所有实体名称来从 K 查询它们对应的三元组。
S2:知识注入(K-Inject)
3.2 Embedding layer
将句子树转换为可以输入 Mask-Transformer 的嵌入表示。K-BERT 的嵌入表示是三个部分的总和:token embedding, position embedding, and segment embedding,但不同之处在于 K-BERT 嵌入层的输入是一个句子树,而不是一个标记序列。
** 3.2.1 Token embedding**
token embedding与 BERT 一致,本文采用 Google BERT 提供的词汇表。
如图 2 所示的示例,句子树重新排列为“Tim Cook CEO Apple is visiting Beijing capital China is a City now”。尽管此过程很简单,但它使句子不可读并丢失正确的结构信息。幸运的是,这可以通过 soft-position 和 visible matrix来解决。
** 3.2.2 Soft-position embedding**
对于 BERT,如果没有位置嵌入,它将相当于词袋模型,导致缺乏结构信息(即标记的顺序)。BERT 输入句子的所有结构信息都包含在位置嵌入中,这使我们能够将缺失的结构信息添加回不可读的重新排列句子。以图 2 中的句子树为例,在重新排列后,[CEO] and [Apple] are inserted between [Cook]and [is], but the subject of [is] should be [Cook] instead of[Apple].
为了解决这个问题,我们只需要将[is]的位置数设置为3而不是5。[is] 和 [CEO] 的位置数字都是 3,这使得它们在计算自我注意时处于位置,但实际上它们之间没有联系。该问题的解决方案是 Mask-Self-Attention,将在下一小节中介绍。
** 3.2.3 Segment embedding**
与 BERT 一样,K-BERT 在包含多个句子时也使用分割嵌入来识别不同的句子。例如,当两个句子 {w00, w01,..., w0n} 和 {w10, w11,..., w1m} 被输入,它们组合成一个句子{[CLS], w00, w01,..., w0n, [SEP], w10, w11,..., w1m} 与[SEP]。对于组合句子,它标有一系列段标签 {A, A, A, A, A, A, A。.., A, B, B, B,。.., B}。
3.3 Seeing layer
K-BERT 的输入是一个句子树,其中分支是从 KG 获得的知识。
知识带来的风险是它可以导致原始句子含义的变化,即KN问题。
例如,在图 2 中,[China] only modifies [Beijing] and has nothing to do with [Apple]。
为此,K-BERT 使用 visible matrix M 来限制每个标记的可见区域,以便 [Apple] 和 [China]、[CLS] 和 [Apple] 彼此不可见。
3.4 Mask-Transformer
BERT 中的 Transformer (Vaswani et al. 2017) 编码器无法接收 Mas 作为输入,因此我们需要将其修改为 Mask-Transformer,它可以根据 M 限制自注意力区域。Mask-Transformer 是多个掩码自注意力块的堆栈。
** 3.4.1 Mask-Self-Attention**
为了利用M中的句子结构信息来防止错误的语义变化,我们提出了一种掩码自注意力,它是self-attention的扩展。
如图 4 所示,hi[Apple] has no effect on hi+1 [CLS], because [Apple] is invisible to [CLS]. However, hi+1 [CLS] can obtain the information of hi−1 [Apple] indirectly through hi+1 [Cook], because [Apple] is visible to [Cook] and[Cook] is visible to [CLS].
4 实验
12 个中文NLP任务,其中 8 个开放域、4 个具体域。
Pre-training corpora
two Chinese corpora for pre-training,:
- WikiZh2 中文维基百科语料库
- WebtextZh3. 大规模、高质量的中文问题和答案 (Q&A) 语料库
Knowledge graph
利用三个中文知识图谱:
CN-DBpedia 大规模开放域百科全书 KG
HowNet 中文词汇和概念的大规模语言知识库
MedicalKG 中国医学概念KG
Baselines
• Google BERT
• Our BERT
Open-domain tasks
开放域任务在本文中,我们首先将 KBERT 与 BERT 在八个中文开放域 NLP 任务上的性能进行比较。在这八个任务中,Book review、Chnsenticorp、Shopping 和 Weibo 是单句分类任务,实验结果如表 1 和表 2 所示。
Specific-domain tasks
从表 3 中的医学 NER 可以观察到,使用 MedicalKG 的性能改进非常明显。可以看出,domain KG 对特定领域的任务非常有帮助。
Ablation studies
如图 5 所示,有如下观察结果:
- 在这两个任务中,没有软位置或可见矩阵,K-BERT 的性能下降;
- 在 Law Q&A(图 5(a))中,没有可见矩阵的 K-BERT 比 BERT 差,这证实了 KN 的存在,即不适当添加的知识会导致性能下降;
- 在图 5(a) 中,K-BERT 在 epoch 2 处达到峰值,而 BERT 在 epoch 4 时,这证明了 K-BERT 的收敛速度比 BERT 快。
一般来说,我们可以得出结论,软位置和可见矩阵可以使K-BERT对KN干扰具有更强的鲁棒性,从而更有效地利用知识。
5 贡献
本文提出了一种知识支持的 LR 模型,即 K-BERT,它与 BERT 兼容,可以在没有 HES 和 KN 问题的情况下合并领域知识; 通过精细注入 KG,K-BERT 不仅在特定领域的任务上显着优于 BERT,而且在开放域中也大大优于 BERT。