Page 267 - 《软件学报》2021年第8期
P. 267
琚生根 等:基于关联记忆网络的中文细粒度命名实体识别 2549
嵌入层包括两个部分:使用预训练语言模型对句子中的字符进行上下文嵌入;对记忆句子的标签序列进行
标签嵌入.
本文使用预训练语言模型 RoBERTa 分别对输入句子 s 和 s 对应的 n 个记忆句子进行上下文嵌入,捕获每
个字符在给定句子中的上下文信息.假设输入句子 s = []x ii= s l 1 ,其中,l s 表示句子的长度,x i 表示句子中的第 i 个字
符.使用预训练语言模型对句子 s 中字符进行上下文编码,得到嵌入表示 s′,嵌入式(1)如下:
s′ []x′ = ii= s l 1 = RoBERTa ([ ] )x ii= s l 1 (1)
d
其中, x′ 是字符 x i 上下文编码向量,维度为\ ,其中,d 是预训练语言模型隐藏层的维度.记忆句子的上下文嵌入过
i
程与输入句子相同.假设 n 个记忆句子为 a = [x , j k k = j l 1 ,j∈{1,2,…,n},其中,l j 表示第 j 个记忆句子的长度,x j,k 表示第
]
j
j 个记忆句子中的第 k 个字符.通过预训练语言模型对 n 个记忆句子进行上下文编码,得到嵌入表示 a′ ,j∈{1,
j
2,…,n}嵌入式(2)如下:
a′ [x′ = ] j l = RoRERTa ([x ] j l ) (2)
j , j k k = 1 , j k k = 1
d
其中, x′ 是字符 x j,k 的上下文编码向量,维度为\ .
, jk
对于记忆句子的标签嵌入,本文首先使用预训练的词向量对训练集中的各类实体进行词嵌入,如果出现未
登陆的实体则进行字符嵌入,词嵌入和字符嵌入的维度为 300 维.然后,将各类实体嵌入表示的平均数作为标签
嵌入矩阵的初始化权重.另外,由于本文采用 BIOS 的形式对实体进行标记,为了表明实体标签的位置信息,如图
l
2 所示,本文将 4 位 onehot 向量拼接在各实体标签嵌入的尾部.最后,标签嵌入的维度\ 为 304 维.标签嵌入矩阵
在训练过程中更新,使句子字符上下文的表示更加接近实体类别的标签嵌入.本文使用预训练的词向量和字符
向量对标签嵌入矩阵进行初始化,而不是选择随机初始化,是为了让初始化的标签矩阵就包含一些实体类别的
相关特征.
book B
...
Fig.2 From of label embedding
图 2 标签嵌入形式
2.3 关联记忆网络
一般的命名实体识别模型将经过上下文编码的输入序列表示通过 softmax 激活或者输入到条件随机场层
进行标签序列的预测.本文通过引入关联记忆网络,在对输入序列表示进行标签预测之前,让输入句子的字符去
记忆句子中匹配和其类别最相关的字符的标签信息,然后将匹配的标签信息融入输入句子的字符表示中进行
预测.
关联记忆网络包含两部分:输入句子和记忆句子之间的注意力计算、标签序列的融入和合并.计算输入句
子和记忆句子之间的注意力,是为了捕获输入句子的中的每一个字符对记忆句子中每一个字符在实体类别方
面的相似度,如果两个字符拥有相同的实体标签,那么这两个字符之间就拥有较高的关联度.
在嵌入层得到句子 s 的向量表示 s′以及记忆句子的向量表示 a′ ,j∈{1,2,…,n}后,通过式(3)计算句子 s′中每
j
T
个字符和记忆句子 a′中每个字符的相似度,得到 n 个 l s ×l j 的注意力矩阵 M raw = sa ′ ′ ,j∈{1,2,…,n}:
j
j
M raw = sa ′ ′ j T (3)
j
其中,n 是记忆句子的数量,l s 是输入句子的长度,l j 是第 j 个记忆句子的长度.
最后,通过式(4)和式(5)对未经过归一化的 M raw 注意力矩阵按行进行归一化,得到归一化后的矩阵 M j ,
j
j∈{1,2,…,n}.其中,a i,j 是一个 l j 维的向量,该向量的分量表示句子 s 中的第 i 个字符对记忆句子 a j 中每个字符的
注意力权重:
a = f ([M raw ( ,1),...,i M raw ( , )])i l (4)
, ij j j j