当前位置:   article > 正文

【自然语言处理】K-BERT:使用知识图谱增强语言表示_k-bert: enabling language representation with know

k-bert: enabling language representation with knowledge graph
K-BERT: Enabling Language Representation with Knowledge Graph

一、简介

预训练语言模型能够从大规模语料中学习到通用的语言表示,例如模型BERT。但是,对于专业领域的文本来说,预训练语言模型缺少领域知识。本文提出的模型K-BERT尝试将知识融合到预训练语言模型BERT中。但是,将知识集成至预训练语言模型面临两个挑战:

  1. Heterogeneous Embedding Space

    由于获取文本中实体和知识图谱中实体的向量表示的方式不一致,导致向量空间不一致;

  2. Knowledge Noise

    向文本中添加太多的知识可能给歪曲原始文本的函数,称为“知识噪音”(Knowledge Noise);

本文提出了K-BERT,其能够不受上面两个问题的影响,将知识加入预训练语言模型BERT中。

二、符号

将句子 s s s表示成token序列,即 s = { w 0 , w 1 , … , w n } s=\{w_0,w_1,\dots,w_n\} s={w0,w1,,wn},其中 n n n是句子长度;

所有的 w i w_i wi均存在于词表 V \mathbb{V} V,即 w i ∈ V w_i\in\mathbb{V} wiV

知识图谱表示为 K \mathbb{K} K

图谱 K \mathbb{K} K中的三元组表示为 ε = ( w i , r i , w k ) \varepsilon=(w_i,r_i,w_k) ε=(wi,ri,wk),其中 w i w_i wi w k w_k wk是实体的名称, r j ∈ V r_j\in\mathbb{V} rjV是两个实体的关系;

三、模型结构

1. 模型的整体结构

K-BERT由4部分组成,分别是:knowledge layer、embedding layer、seeing layer和mask-transformer。

在这里插入图片描述

图1.K-BERT模型结构

其中,knowledge layer负责从知识图谱中查询三元组,并用三元组将句子转换为句子树;句子树输入到embedding layer和seeing layer中,会分别产生token的向量表示和可见矩阵(visible matrix)。可见矩阵用来防止知识噪音。

在这里插入图片描述

图2. K-BERT流程

2. Knowledge layer

Knowledge layer(简称KL)负责将知识图谱中的知识注入到句子中,形成句子树。更正式的来说,给定一个句子 s = { w 0 , w 1 , w 2 , … , w n } s=\{w_0,w_1,w_2,\dots,w_n\} s={w0,w1,w2,,wn}和一个知识图谱 K \mathbb{K} K,KL层输入的矩阵树为:
t = { w 0 , w 1 , … , w i { ( r i 0 , w i 0 ) , … , ( r i k , w i k ) } , … , w n } t=\{w_0,w_1,\dots,w_i\{(r_{i0},w_{i0}),\dots,(r_{ik},w_{ik})\},\dots,w_n\} t={w0,w1,,wi{(ri0,wi0),,(rik,wik)},,wn}
上面转换句子树可以分为两个步骤K-Query和K-Inject。步骤K-Query负责从知识图谱中找出 s s s中实体所涉及到的三元组,即
E = K-Query ( s , K ) E=\text{K-Query}(s,\mathbb{K}) E=K-Query(s,K)
其中, E = { ( w i , r i 0 , w i 0 ) , … , ( w i , r i k , w i k ) } E=\{(w_i,r_{i0},w_{i0}),\dots,(w_i,r_{ik},w_{ik})\} E={(wi,ri0,wi0),,(wi,rik,wik)}是对应三元组的集合。

步骤K-Inject负责将三元组集合 E E E加到句子 s s s中,构造句子树 t t t,即
t = K-Inject ( s , E ) t=\text{K-Inject}(s,E) t=K-Inject(s,E)

3. Embedding layer

K-BERT的Embedding层类似于BERT的Embedding层,也是由token embedding、position embedding和segment embedding组成。但是,与BERT不同的是,K-BERT的输入不是扁平的句子,而是具有结构的句子树。因此,K-BERT引入了soft-position embedding。

3.1 Token Embedding

与BERT完全相同。每个token转换为 H H H维的向量,并且使用 [CLS] \text{[CLS]} [CLS]作为分类标签, [MASK] \text{[MASK]} [MASK]作为掩码。特别地是,这里需要将句子树拉平。具体的作法是,将分支拼接在对应token的后面,其后的原始token依次后移。图2是一个完整的示例。

3.2 Soft-position Embedding

BERT中的所有结构信息均在position embedding中。K-BERT为了解决句子树的结构问题,提出了soft-position embedding。具体原理见图2可知。

3.2 Segment Embedding

与BERT完全相同。

4. Seeing layer

Seeing layer是K-BERT与BERT之间最大的不同,也是K-BERT有效的原因。由于句子树中的三元组可能影响原始句子的含义。例如,图2中的 C h i n a China China是用来修饰 B e i j i n g Beijing Beijing的,其与 A p p l e Apple Apple完全没有关系,因此单词 A p p l e Apple Apple不应该被 C h i n a China China所影响。类似的 [ C L S ] [CLS] [CLS]也不应该获取单词 A p p l e Apple Apple的信息。因此,为了防止知识噪音,K-BERT引入了可见矩阵(visible matrix) M M M来限制句子树中token的相互可见性。可见矩阵的定义为:
M i j = { 0 w i ⊖ w j − ∞ w i ⊘ w j M_{ij}={0wiwjwiwj

{0wiwjwiwj
Mij={0wiwjwiwj
其中, w i ⊖ w j w_i\ominus w_j wiwj表示 w i w_i wi w j w_j wj在相同分支上, w i ⊘ w j w_i\oslash w_j wiwj表示 w i w_i wi w j w_j wj不在相同的分支上。如图2所示。

5. Mask-Transformer

5.1 Mask-Transformer

从某种程度上来说,可见矩阵 M M M包含了句子树中的结构化信息,但是BERT中的Transformer无法直接利用这些信息。因此,论文提出了Mask-Transformer,其能够根据 M M M来限制自注意机制的可见区域。Mask-Transformer是多个mask-self-attention堆叠而且。像BERT那样,其层数为 L L L,隐藏层输出的大小为 H H H,mask-self-attention的头数量为 A A A

5.2 Mask-Self-Attention

为了解决知识噪音,在self-attention的基础上提出了mask-self-attention。具体形式为
Q i + 1 , K i + 1 , V i + 1 = h i W q , h i W k , h i W v S i + 1 = softmax ( Q i + 1 K i + 1 T + M d k ) h i + 1 = S i + 1 V i + 1 Q^{i+1},K^{i+1},V^{i+1} = h^iW_q,h^iW_k,h^iW_v \\ S^{i+1} = \text{softmax}(\frac{Q^{i+1}{K^{i+1}}^T+M}{\sqrt{d_k}}) \\ h^{i+1} = S^{i+1}V^{i+1} Qi+1,Ki+1,Vi+1=hiWq,hiWk,hiWvSi+1=softmax(dk Qi+1Ki+1T+M)hi+1=Si+1Vi+1
其中, W q W_q Wq W k W_k Wk W v W_v Wv是可训练参数, h i h_i hi是第 i i i个mask-self-attention块的隐藏状态。 M M M是Seeing layer输出的可见矩阵。直觉上,如果单词 w k w_k wk w j w_j wj是不可见的,那么 M j k M_{jk} Mjk会将相似分数 S j k i + 1 S^{i+1}_{jk} Sjki+1置为0。

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号