宁尚明, 滕飞, 李天瑞. 基于多通道自注意力机制的电子病历实体关系抽取[J]. 计算机学报, 2020, 43(5): 916-929.
本文的主要贡献
- 一种更为高效的神经网络架构:recurrent + transformer。"recurrent + CNN"是当前医学文本领域实体关系抽取任务的主流建模方法,为进一步建模表征更全面的句级别语义特征,缓解电子病历实体关系交错关联等难题,并考虑整体网络的训练效率,本文提出复杂度更低的"recurrent + transformer"网络架构,其recurrent层指代循环神经网络或其相关变种网络,transformer层则由注意力机制具体实现。
- 一种更有效的自注意力机制:多通道自注意力机制。区别于传统自注意力机制,该方法通过学习多组权重向量来拟合更为丰富的句级别语义信息,从而提升模型对电子病历高密度实体分布以及复杂实体关系的特征学习能力。
- 两种基于权重的辅助训练方法:带权学习的交叉熵损失函数以及基于权重的位置嵌入。前者用于缓解实体关系类别不均衡所造成的训练偏置问题,从而提升模型在真实分布数据中的普适性,同时可加速模型在参数空间的收敛速率;后者则用于进一步放大文本字符位置信息的重要性,以辅助提升transformer网络的训练效果。
模型介绍
- 输入层:原始电子病历文本按空格切分作为输入。
- 多嵌入层:包括传统词嵌入层与本文所提出的基于权重的位置嵌入层。词嵌入层的输入为预训练词向量,位置嵌入层的参数矩阵通过随机初始化参与模型训练,两种嵌入层的输出向量进行拼接作为原始文本低层特征的向量表示。
- 底层特征抽取器:BiLSTM作为本文模型recurrent层的具体实现,作用于多嵌入层的输出,以捕捉文本序列的长短依赖特征。
- 高层特征抽取器:引入多通道自注意力机制作为BLSTM-MCatt中transformer组件的具体实现,作用于BiLSTM网络之后,通过拟合多组权重向量来捕捉句级别高层特征。
- 带权学习的损失函数:推导并制定出一套有效的类别权重计算方法,各类别权重作为参数向量与交叉熵损失函数共同参与训练。类别权重信息的引入,可摒弃人工采样所引入的随机误差,保证原生医学实体关系的固有分布。
Recurrent层——BiLSTM
- LSTM是一种RNN的变体,旨在解决传统RNN中的长期依赖问题。传统RNN在处理长序列时,很难捕捉到远距离的依赖关系。LSTM通过引入门控机制来解决这个问题。
- BiLSTM是在LSTM的基础上进行改进的,它引入了一个额外的反向LSTM来处理序列的反向信息。这样,BiLSTM可以同时考虑到过去和未来的上下文信息,从而更好地捕捉序列中的依赖关系。
transformer层——多通道自注意力机制
- "通道"是指对句子施加一次注意力机制并输出一维注意力权重向量,因此"多通道"是指MCatt将同时对目标句进行多次注意力操作,并产生多组权重向量。
- 多通道注意力机制的工作流程及原理如下:
- BiLSTM将学习到的长短距离依赖信息进行拼接,并输出隐藏层向量Zt。
- BiLSTM的输出Zt将作为多通道自注意力的输入。给定通道数C,MCatt将在各通道Ci中分别进行一次自注意力权重计算,可看做是目标句子中第i种成份的重要性。在模型的具体实现过程中,本文使用两层感知机来计算权重矩阵。
- 传统多头自注意力机制是一种通过在相同的层级结构中随机初始化权重矩阵来进行多头学习的方法,以避免模型学习大量冗余信息。在本文中,MCatt通过加入约束项来提高各通道的学习过程的区分度。
基于权重的辅助训练提升方
带权学习的损失函数
- 本节提出通过在损失函数中引入类别权重来调整各类别对总体损失的贡献比例,从而平衡小类别样本在训练过程中的重要性。
- 类别权重的设计思路依赖各类别样本原始分布的状况。
- 若类别i对应的样本数Ni小于全体类别样本数均值,则考虑为其赋予大于1的权重,进而在训练过程中使小类别样本误判惩罚得到放大;反之,则赋予小于1的权重。
- 类别权重的具体计算方式如式(12)所示。
- 将类别权重加入到softmax常见的交叉熵损失函数中,即得到带权学习的损失函数:
- 其中t代表当前样本所属类别的onehot编码,m是总类别数,yi表示softmax层将隐藏层向量映射为各类别的概率值。
基于权重的位置嵌入层
- 词嵌入方法是自然语言处理常用的字词表征手段,而位置嵌入方法的优势和效果已在transformer架构的相关研究中被证实。
- 对于位置嵌入,首先直接算得各字符与目标实体之间的相对距离p。
- 对句中所有字符进行相对距离计算后可得到两组位置向量:Sen1和Sen2,分别代表各字符到句中两个目标实体的相对距离所构成的向量。
- 类似于 word embedding,每个相对距离 pen1或pen2可通过式(15)被映射为唯一的离散值向量。其中 Ptable 指代位置嵌入表,n 代表用户指定的位置向量维度,类似的,ronehot 是大小为 2L 的 onehot 向量。
- 本节在传统位置嵌入方法的基础上,提出基于权重的位置嵌入,即为各字符所对应的 e 赋子相应的权重|L/penj|。因此,式(15)可更新为式(16)。
- 最终,多嵌入层将词嵌入与权重位置嵌入层的向量进行拼接作为最终输出。