1. 引言
静脉血栓症(Venous Thromboembolism, VTE)作为全球重大健康问题之一,是住院患者非预期死亡的重要原因,其发病隐匿,极易被误诊、漏诊,被称为“沉默的杀手”。目前,人们采用VTE诊断方法主要是基于人工分析电子病历数据,填写线性加权评估表,对不同风险因素赋予权重,最终通过累加评估项分值确定患者的VTE风险等级。这种人工评估方式存在表项过多,严重增加医护人员的工作量,医生主动性不高,评估不及时的问题。同一个表项也会因医护人员的经验差异,出现评估结果不一致性的情况,导致评估结果准确度较低,患者错失最佳的治疗时机。
近年来,随着信息化建设在医疗卫生领域的深入推进,医疗大数据时代的到来,以电子病历为核心的临床信息系统生成了大量数据,这些数据蕴含了丰富的医疗信息,是研究患者身体状况的第一手资料,对医疗决策有着重大参考价值[1]。但由于电子病历数据往往以自由文本的形式存储,无法直接使用。因此,通过实体识别(Named Entity Recognition, NER)技术辅助医生智能评估VTE,从非结构化的文本中准确提取出结构化的、有价值的VTE特征数据取代人工的方式,是当前研究的一个重要任务。
2. 问题分析
早期实体识别依赖于词典和规则,需专家手动制定,效率低下且应用受限。随后,机器学习的到来,如隐马尔可夫[2]、最大熵[3]、支持向量机[4]及条件随机场[5]模型逐步替代传统方法,减少人工干预但需大量标注数据,且效果受特征选择的影响。深度学习的兴起,神经网络可自动提取语义,减少特征工程的依赖,如循环神经网络(Recurrent Neural Network, RNN) [6]、卷积神经网络(Convolutional Neural Network, CNN) [7]和Transformer [8]等模型得到了广泛应用。
深度神经网络技术在实体识别领域成效显著,但在实际医疗场景,VTE疾病特征实体识别准确率较低,主要原因是中文电子病历文本存在语义复杂、疾病信息多维性,即存在同一疾病特征词在不同的语义环境有不同的含义,识别疾病特征实体需结合上下文多维度语义提取文本特征,导致RNN出现长距离依赖问题。本文围绕这个问题,提出了并行神经网络实体识别模型(RoBERTa-BiLSTM-Parallel-IDCNN-CRF, RBPIC),提高VTE疾病特征实体识别准确率。
3. 基于并行神经网络的命名实体识别模型
VTE实体识别RBPIC模型主要包括两个部分:预训练RoBERTa模型、BiLSTM-Parallel-IDCNN-CRF模型。整体结构,如图1所示。
Figure 1. RBPIC model structure
图1. RBPIC模型结构图
3.1. RoBERTa预训练模型
RoBERTa的嵌入层接收字符级别语料
。通过求和不同嵌入层处理的X序列,得到嵌入向量
输出到RoBERTa的Trm层。RoBERTa嵌入层,如图2所示。在RoBERTa模型的嵌入层中为字符引入位置信息,即采用位置编码策略,通过正弦和余弦函数对字符进行编码,从而将字符的位置信息转化为特征矩阵。这种方式使相同字符在不同位置,能够形成各自不同的特征矩阵,更好地学习到病历文本中的疾病特征。
Figure 2. RoBERTa embedding layer
图2. RoBERTa嵌入层
嵌入层生成的向量
输入至RoBERTa模型,最终输出结果为
。
Figure 3. RoBERTa structure
图3. RoBERTa网络结构
RoBERTa的架构如图3所示,包含12个Transformer (Trm)层。每个Trm层由全连接前馈神经网络、多头自注意力机制,以及残差连接与归一化层共同组成。在经过Trm层的编码后,Softmax层对输出向量T进行归一化处理,随后将处理后的向量传递给下一个神经网络层。
3.2. BiLSTM-IDCNN-CRF神经网络层
RNN可以较好地处理时序序列,但在中文电子病历中,由于语义复杂,疾病信息多维性,识别疾病特征实体需结合上下文语义多维度提取文本特征。比如“TPR”,在病历文书中通常指“体温”、“脉搏”、“呼吸”三个指标,但是在心功能检查报告中指“外周血管总助力”。“TPR”文本在不同位置上所呈现的含义截然不同。在病历文本语义复杂的场景中,RNN模型需要提取句子中较远的语义特征,导致模型出现长距离依赖的问题。
长短期记忆网络(Long Short-Term Memory Neural Networks, LSTM)通过引入“门”机制和“细胞状态”来高效处理信息。门结构控制信息的出入流动,“细胞状态”可以长期保持存储状态,提升LSTM在长序列数据中捕捉依赖关系的性能[9]。
LSTM主要由三个核心组成部分构成:输入门、遗忘门和输出门。输入门的主要功能是控制新信息的引入,遗忘门负责决定哪些信息应该被保留以及哪些信息应当被丢弃,而输出门则用于确定最终需要输出的信息。具体如公式(1)输入门、公式(2)遗忘门、公式(3)输出门所示。
(1)
(2)
(3)
其中,输入门
;遗忘门
;输出门
;sigmoid激活函数
;门控单元权重矩阵W;偏置b;
表示LSTM单元在上一个时刻的隐藏状态;
则指的是LSTM单元在上一个时刻所存储的记忆信息。此外,T表示在第i时刻的输入向量,这亦是BERT层最终输出的向量。
LSTM通过其“门”结构,能够有效地管理特征信息的遗失,从而解决长距离依赖的问题。然而,单向LSTM网络仅能捕捉到过去的特征,无法获取未来数据特征。因此,本文选择使用BiLSTM模型,通过双向特征结合的方式来处理时间序列。这种方法在考虑前向特征的同时,也结合了后向数据特征,从而避免了由于句子语义复杂而导致的历史特征的丢失。
Figure 4. BiLSTM structure
图4. BiLSTM架构图
RoBERTa预训练层的输出向量
传送到BiLSTM神经网络层,并继续传递到下一个神经网络层。BiLSTM架构图,如图4所示。
通过上述的BiLSTM模型,虽然可以捕捉到电子病历文本整体的上下文特征,但是容易忽略文本局部特征。CNN在提取局部特征方面表现出色。膨胀卷积神经网络(DCNN)是CNN的一种特殊变体,通过在卷积核中引入膨胀距离,扩展了感受野的范围,这一方式有助于获取更多的局部特征[10]。迭代膨胀卷积神经网络(IDCNN)由多层带有不同膨胀率的卷积神经网络构成,通过前一层的膨胀卷积输出,对当前层的特性向量进行计算。
IDCNN计算方法,如公式(4)所示。
(4)
其中
为第i层膨胀卷积神经网络,
为第i层卷积网络学习到的特征向量。
IDCNN模型的局部特征处理能力相对DCNN模型来说更强。通过IDCNN模型解决BiLSTM存在的忽视局部特征的问题,提取VTE数据集全局特征,同时确保局部特征被完整保留。IDCNN架构如图5所示。
通过训练RoBERTa-BiLSTM-IDCNN模型,能够为每个标签产生特定分数,最终输出分数最高的标签。因输出的得分不够精确,导致有时会出现标签位置错误的情况。
推理层的条件随机场(CRF)能够通过在标签之间引入约束关系来辅助纠正预测过程中的错误。输入模型的序列为
,对应的标签序列为
,其得分公式如公式(5)所示。
(5)
代表得分矩阵,
到
的转移得分值记作
,而P则是指上一层的得分向量。第
层的标签
对应的得分值为
。Y标签序列的概率计算如公式(6)所示。
Figure 5. IDCNN structure
图5. IDCNN架构
(6)
涵盖了所有可能的标签组合序列。在解码阶段,为了确定最优的标签序列,采用了维特比算法。维特比算法被用于寻找最优路径,其具体的计算过程如公式(7)所示。
(7)
经上述系列步骤,CRF有效修正预测中的错误,提高识别的准确性。
因此,序列X输入模型后经过RoBERTa-BiLSTM-IDCNN-CRF模型的优化处理,得到准确的标签序列
。
4. 实验结果及分析
4.1. 实验数据
本文构建的实验数据来源于浙江省某省级三甲医院提供的2000份VTE住院患者电子病历。在临床医生的专业指导下,结合2023年发布的《肺血栓栓塞症诊治与预防指南》[11]关于静脉血栓栓塞症预防的相关内容,总结归纳出了需要标记的8种实体类型。本文采用BIOES标注法,“B”表示该字符为实体开头;“I”表示该字符为实体结尾;“O”表示该字符为非实体;“E”表示该字符为实体尾部;“S”表示单个字符为一个实体。标注结果如表1,随机选取70%实体数据集为训练数据,20%为测试数据,其余10%为验证数据。
4.2. 评价指标
模型评估的评价指标包括准确率(Precision, P)、召回率(Recall, R)和F1值,公式(8)~(10)。
(8)
(9)
(10)
Table 1. Entity type number statistics of VTE dataset
表1. VTE数据集的实体类型数量统计
实体类型 |
实体示例 |
疾病(Dis) |
2386 |
身体部位(Bod) |
320 |
药物(Dru) |
6816 |
手术(Ope) |
1710 |
其他治疗(Tre) |
2037 |
症状(Sym) |
21,952 |
检验(Ite) |
3672 |
检查(Pro) |
2241 |
4.3. 模型参数
在构建RBPIC模型时进行命名实体识别实验前,需要设定的超参数包括句子的最大长度、学习率、丢弃率等。以下是实验中使用的超参数设置,如表2所示。
Table 2. NER model parameter design
表2. 命名实体识别模型参数设计
参数名称 |
值 |
RoBERTa-embedding-size |
768 |
Max seq length |
250 |
batch size |
12 |
transformer |
12 |
LSTM_dim |
64 |
Learning rate |
1e−4 |
卷积核窗口大小 |
3 |
膨胀卷积块数 |
3 |
膨胀卷积距离 |
1, 1, 2 |
Dropout rate |
0.4 |
4.4. 实验结果
实验一:不同下游模型在实体识别任务中的表现。
如表3所示,BiLSTM-CRF模型与IDCNN-CRF模型相比,在准确率、召回率和F1值上均有所提升,表明BiLSTM模型具备更强的全局上下文信息提取能力。在BiLSTM-Attention-CRF模型提取能力略有下降,原因在于Attention机制过于强调权重分配,导致在处理大量医学专业术语时复杂的语义使整体特征提取能力受到影响。BiLSTM-Serial-IDCNN-CRF模型是在BiLSTM-CRF的基础上引入IDCNN模型进行串行连接,尽管此方法融合了两种模型的优点,增强了对局部特征的提取能力,但也因此增加了模型参数的计算量,从而延长了训练时间。相对而言,BiLSTM和IDCNN神经网络并行连接而形成的BiLSTM-Parallel-IDCNN-CRF模型在特征提取能力上优于串行连接方式。这是因为疾病特征实体具有多维复杂的语义结构,直接采用串行连接会削弱BiLSTM获取全局特征的能力,而并行连接则更有效地保留了全局特征。因此,本文提出的并行连接的神经网络模型在特征提取方面具有明显的优势。
Table 3. Entity identification of different downstream models
表3. 不同下游模型实体识别结果
下游模型 |
P |
R |
F1 |
IDCNN-CRF |
71.74% |
67.91% |
69.78% |
BiLSTM-CRF |
72.79% |
73.48% |
73.13% |
BiLSTM-Attention-CRF |
70.24% |
69.52% |
69.88% |
BiLSTM-Serial-IDCNN-CRF |
76.66% |
76.84% |
76.75% |
BiLSTM-Parallel-IDCNN-CRF |
80.32% |
79.89% |
80.10% |
实验二:不同BERT预训练模型在实体识别任务中的表现。
如表4所示,本文提出的下游模型BiLSTM-Parallel-IDCNN-CRF作为基础架构,在此基础上对比四种不同的预训练模型。BERT中文模型以字符为单位进行处理,在不同上下文中利用Transformer编码器动态生成向量表示,处理与上下文相关性强的任务。AlBert是BERT模型的一种简化版本,通过减少参数数量和实现层间参数共享来达到精简的目的。由于其规模较小,它的性能不及标准的BERT预训练模型。BioBert是一种特地为生物医学领域开发的BERT模型,在生物医学文献上进行额外预训练,部分实体与本文的VTE疾病匹配,因此可提升实体抽取的能力。RoBERTa是对BERT模型的一种优化和增强版本,它利用了更大规模的数据集、更高的batch大小以及中文全词遮罩的技术,相比BERT有更好的性能表现。实验结果证明了本文提出RBPIC模型的优越性。
Table 4. Different entity recognition situations of pre-trained models
表4. 不同的预训练模型实体识别结果
模型 |
P |
R |
F1 |
BERT-下游模型 |
81.34% |
83.42% |
82.37% |
AlBert-下游模型 |
80.72% |
82.25% |
81.48% |
BioBert-下游模型 |
83.23% |
83.43% |
83.33% |
RoBERTa-下游模型(本文模型) |
85.26% |
84.57% |
84.91% |
5. 结束语
本文首先分析了命名实体识别在实际医疗场景,因中文电子病历文本复杂的语义关系,导致在VTE病历中出现疾病特征实体抽取困难、实体识别准确率低的问题。据此,本文提出了一种基于并行的神经网络命名实体识别模型。通过语言表征RoBERTa模型,更好地学习到病历实体中的特征信息。通过把双向长短期记忆网络和迭代膨胀卷积神经网络由传统的串行连接改为并行连接,改善了在串行连接过程中双向长短期记忆网络获取全局特征能力减弱的问题,使并行连接的模型能从全局和局部两个方面获取文本信息,增强文本上下文特征的获取能力。实验证明,RoBERTa模型比BERT模型实体识别准确率提高了3.92%;并行连接的方式比串行连接的方式实体识别准确率提高了3.66%。本文提出的RBPIC模型,提高了VTE疾病特征实体提取的准确率,对后续医疗领域实体识别的研究具有一定的参考价值。