Bi-LSTM-CRF Network for Clinical Event Extraction With Medical Knowledge Features

期刊

IEEE Access ( Volume: 10) 2022年10月–3区

作者

张顺利 河南科技学院信息工程系

影响因子

创新点

解决低频词引起的识别误差

(1)提出了一种神经架构,对句子中每个单词的上下文信息进行建模,可以自动学习单词上下文信息,避免人工特征引起的识别错误。

BILSTM+CRF --最开始应用于应用于命名实体识别

(2)引入领域知识特征,增强具有相似含义的不同临床词汇的语义关联,提高低频词汇的识别率。

(3)在两个著名的临床事件识别数据集上评估我们的方法。在每个数据集上,该方法优于其他最先进的方法,包括基于机器学习的方法,深度基于学习的方法和基于Bert的方法。

研究方法

BILSTM+CRF

首先,利用卷积神经网络(convolutional neural networks, CNNs)对单词的形态结构进行建模,实现字符级单词嵌入;从开源临床知识系统中提取临床意义特征。

随后,将字符级和词级词嵌入和整个句子的临床意义特征连接起来,并输入双向LSTM (Bi-LSTM)来建模上下文信息。

最终,CRF层被用来联合解码整个句子的标签。

测试数据集:THYME语料库和2012 i2h2数据集

结论

文中,提出了一种用于临床事件提取的神经网络架构。首先利用CNN来表示单词和医学领域语言的形态特征,以增强不同临床术语之间的关联,然后使用Bi-LSTM来自动学习单词的上下文语义。最后,利用CRF层为整个句子输出标签。在两个公共临床数据集上的实验表明,该方法在F1分数上有很好的表现,所采用的医学知识特征对低频词的识别是有效的。

整理

首先,利用卷积神经网络(convolutional neural networks, CNNs)对单词的形态结构进行建模,实现字符级单词嵌入;从开源临床知识系统中提取临床意义特征。

随后,将字符级和词级词嵌入和整个句子的临床意义特征连接起来,并输入双向LSTM (Bi-LSTM)来建模上下文信息。

最终,CRF层被用来联合解码整个句子的标签。

使用具有长短期记忆的循环神经网络来构建架构。(上图明了神经网络方法的架构)

步骤

具体而言,该体系结构由四层组成:

(1)单词预处理层

(2)输入嵌入层

(3)Bi-LSTM层 --BLSTM(双向长短期记忆神经网络)

(4)CRF层(条件随机场)

具体来说,单词预处理层将每个文档分成句子和单词,输入嵌入层将句子中的每个单词映射到一个向量表示序列。将句子的向量表示序列输入Bi-LSTM层,该层输出包含每个对应单词的每个标签的概率的向量序列。最后,CRF层根据前一层的概率向量序列输出最可能的预测标签序列(输出符合标注转移约束条件的、最大可能的预测标注序列)。所有层次都是共同学习的。

一、单词预处理层(Word Preprocessing Layer)

在单词预处理层,使用斯坦福 CoreNLP 工具包(3.4版)

C. Manning, M. Surdeanu, J. Bauer, J. Finkel, S. Bethard and D. McClosky, “The Stanford CoreNLP natural language processing toolkit”, Proc. 52nd Annu. Meeting Assoc. Comput. Linguistics Syst. Demonstrations, pp. 55-60, 2014.

来分割文档。变成句子,然后把这些句子标记成单词。把所有的单词都变成了他们的小写形式,用字母“X”替换所有数字,删除所有动词时态。

二、输入嵌入层(Input Embedding Layer)

输入嵌入层,取一个句子的单词序列{s1, s2,…,sn)作为输入,输出其向量表示序列{x1, x2,…,xn}。上图给出了单词表示层的概述。一个词的输入嵌入包括四种嵌入:随机嵌入(random embedding)、字符级嵌入( character-level embedding)、词级嵌入(word-level embedding)和mk嵌入(mk-embedding)。随机词嵌入首先随机初始化,然后在训练中进行联合调优。

字符级嵌入( character*/ˈkærəktə®/*-level embedding)

先前的研究表明,形态学特征(如单词的前缀或后缀)对临床事件识别很有用。卷积神经网络(CNN)被用于建模单词的字符级信息。

给定一个单词s = {a1, a2,…,am}, ai表示它的第i个字符,我们首先映射每个字符ai到一个字符嵌入emb(ai)。设C表示卷积窗口大小,则字符ai的向量表示richr是(2 × C +1)个字符的拼接。例如,当C = 1时 —>(emb表示一个字符嵌入)

其中“[]”表示向量拼接操作。然后CNN的卷积核需要对单词中的所有字符进行m次卷积,对于每一次卷积i,核输出Zi,计算方法为:

其中W1和b1为学习得到的参数矩阵和偏置向量,tanh为激活函数。为了获得单词的字符级向量表示richr,将最大池化操作应用于所有输出Z1, Z2,…, Z,则richr表示为:

词级嵌入

词级嵌入通常在大型未标记数据集上进行预训练,以初始化它们的单词语义特征,并在训练期间使用监督方法进行调优。在本文中,选择了域与任务相一致的预训练词嵌入,因此在训练过程中不进行调优。我们认为预训练的词嵌入已经代表了全局信息,不需要再进行调整。这里,Vc表示一个查找表,直接将一个单词映射到一个向量表示。

mk嵌入

Mk嵌入是UMLS中定义的语义类型。在UMLS中,具有相似含义的医学术语被映射到相同的概念,并且概念根据其语义类型进行组织。例如,单词“肺”和“肺”链接到公共概念唯一标识符(CUI) CUI: Coo24109,单词“胸部”和“腔”具有相同的语义类型“身体位置或区域”。UMLS语义网络的语义类型特征在之前的研究中被证明是有效的。本文通过开源系统cTAKEs获取单词的UMLS语义类型,将UMLS中未识别的单词设置为填充零的向量。

三、Bi-LSTM层

循环神经网络(Recurrent Neural Network, RNN)是一种用于对序列信息建模的神经网络结构。理论上,它可以利用任何长度的句子中的信息,但在实践中,由于梯度消失/爆炸问题,LSTM网络是为了处理这些问题而设计的。

P. Razvan, M. Tomas, and B. Yoshua, ‘‘On the difficulty of training recurrent neural networks,’’ Comput. Sci., vol. 52, no. 3, pp. 337–345, 2012.

LSTM网络与RNN相同,只是隐藏层单元被专门建造的存储单元所取代,称为LSTM单元。LSTM单元由多个门组成,这些门控制遗忘信息和传递到下一个时间步骤的比例。更具体地说,给定一个向量,在每一步时,每个LSTM单元以为输入,根据以下公式生成隐藏状态和存储单元:

对于一个标准的LSTMs来说,它的缺点是不能利用句子的将来信息,只知道过去的上下文含义。临床事件表达识别是一种序列标记任务;在句子中使用上下文信息(包括前文和后文)是有益的。双向LSTM (Bi-LSTM)是解决这一问题的有效方法。主要思想是将每个序列分别送入正向LSTM和反向LSTM,两个单独的LSTM(两个隐藏层)的结果连接起来形成最终输出。

图显示了一个带有临床句子的双向LSTMs示例。对于给定的句子在包含n个单词的临床文本中,Bi-LSTM层取向量序列作为输入;xi是si的词级嵌入、字符级嵌入、随机嵌入和mk嵌入的拼接:

根据计算两种表示:正向的LSTM计算正向的隐藏状态反向的LSTM计算反向的隐藏状态Bi-LSTM层的是将正向和反向的隐藏状态拼接得到的。

四 、CRF 层

CRFs是一类无向概率图模型,它已被证明为在临床领域提取实体非常有效。尽管Bi-LSTM模型在POS标记等某些任务中取得了成功,但其独立分类标签是有限的。在序列标记任务中,考虑相邻标签之间的相关性是有益的。因此,在图1中,通过将Bi-LSTM的输出向量送入CRF层来构建模型。

对于输入句子,将表示为Bi-LSTM层输出的分数矩阵。的大小是n*k,其中k是不同标签的数量,对应句子中第i个单词的第j个标签的得分。对于的预测序列,其得分可表示为:

其中A为过渡分数矩阵,表示从标签i到标签j预测输出序列的转换得分。是句子的开始标签和结束标签,将它们添加到可能的标签集中。预测得到最大分数的输出序列:

用IOB2格式编码输出标签。标签B-EVIDENTIAL表示一个标记,它是一个EVIDENTIAL类型事件实体的开始,而I-N/ A表示一个标记,它位于N/A类型事件实体内部。通过这种方法,CRF模型同时预测实体的跨度和类型。

实验结果

A 实验设置

1)数据集

在两个广泛使用的公共临床数据集:百里香语料库和2012 i2b2数据集上评估了所提出的方法。百里香数据库包含192份来自梅奥临床中心的癌症患者的未鉴定的临床和病理记录,这些记录在clinical TempEval挑战上多次发布。训练集、开发集和测试集包括293、147和152个文档,分别包含38890、20974和18990个事件表达式。该语料库包括三种类型的临床事件实体,即ASPECTUAL、evidence和N/A。2012 i2b2数据集包含来自伙伴医疗保健和贝斯以色列女执事医疗中心的310份出院记录,该数据集由2012 i2b2挑战发布。训练集和测试集分别包含190条和120条记录,分别包含16619和13593个事件表达式。数据集包括六种类型的临床事件实体,即PROBLEM, TREATMENT, TEST, OCCURRENCE, evidence, CLINICAL_DEPT。每个数据集被分成三个部分:训练集、开发集和测试集。对于百里香语料库,我们使用了数据集作者提供的官方拆分。因为2012年i2b2没有官方的开发集,所以我们按照之前的工作拆分数据集。

2)指标

通过Precision §、Recall ®和F1-score (F1)的百分比来评估所有模型的性能。Precision是指真正例与系统预测的示例的比例,Recall是指真正例与人类注释的示例的比例。如果我们只考虑Precision或Recall rate,我们不能准确地评估一个模型的质量,所以我们使用F1分数来兼容准确率和召回率。F1指标定义如下:

由于训练过程中网络权值的随机初始化和批次的洗牌会影响模型的最终结果,因此在每个数据集上运行三次训练和评估过程,并将三次实验的平均分数作为我们的最终实验结果。

3)基线

为了进一步证明模型的有效性,将该方法与之前8种最先进的临床事件提及识别方法(UTHealth[26]、UTA-5[31]、Char-LSTM[17]、Bio_BERT[18]、RoBERTa-MIMIC[19]、UMLSBERT[20]、CRFs_X[24]和BERT-Large[44])进行了比较。基于机器学习的方法包括UTHealth和CRFs_X,它们分别在THYME语料库和i2b2 2012数据集上获得了最好的分数。深度学习方法包括UTA-5和Char-LSTM,分别在THYME语料库和i2b2 2012数据集上获得了深度学习方法中最高的分数。我们的比较方法还包括四种最先进的基于bert的模型(Bio_BERT, RoBERTaMIMIC, UMLSBERT和BERT-Large)。在基于bert__2012的方法中,BERT-Large在i2b2事件识别上得分最高。UMLSBERT是一种基于bert_t的方法,它在预训练阶段集成了领域知识。

B.训练和参数设置

我们利用梯度下降算法来训练我们的模型,并在之前的工作中使用AdaGrad算法。导数由标准反向传播计算。我们采用dropout方法来防止我们的神经网络在之后出现过拟合。我们将dropout方法应用于Bi-LSTM层的输入和输出向量上,对于THYME语料库,dropout率固定为0.4,对于2012 i2b2语料库,dropout率固定为0.3。使用dropout后,我们的模型性能得到了明显的改善,dropout的结果如表所示。

C.百里香语料库评价

上表展示了我们的方法在THYME语料库上进行事件表达式识别的结果,并与之前六个最先进的系统进行了比较。在之前的研究的鼓励下,我们同时认识到事件及其类型。

UTHealth和 UTA-5 的结果来自他们发表的论文。在深度机器方法中,Char-LSTM在2012年2月2日获得了最先进的结果,Bio_BERT、RoBERTa-MIMIC和UMLSBERT是基于BERT的方法,在2012年2月2日获得了最先进的结果。因为这些方法在THYME语料库上没有发表的结果,所以我们使用作者提供的参数设置在THYME上运行他们发布的源代码并输出最高的结果,这些结果用“*”标记。我们采用配对双尾Student’s t-tests(t检验),我们的方法与其他方法之间p < 0.05。

与基于机器学习的方法UTHealth相比,我们的方法获得了更好的P、R和F1值。在Semeval-2016 Task12比赛中取得最佳成绩。他们的分数与我们的分数相差不大,但在他们的方法中使用了临床和自然语言处理领域的大量特征。UTA-5使用RNN来预测事件跨度,将每个单词的词性标签和形状信息作为额外的特征,他们的结果远低于我们的结果。与Char-LSTM方法相比,我们的方法取得了显著的改进。我们的方法与他们的方法相似,只有两个不同之处:(1)我们将UMLS中的概念唯一标识符映射为输入特征;(2)我们使用CNN模型来表示字符级信息,而他们使用LSTM。这些结果表明,我们使用的CNN模型和医学知识特征比他们的模型更有效。

我们运行了三个基于BERT的模型[18],[19],[20],它们的作者分别提供了最佳参数;他们的成绩都比我们低。这可能是由于这些基于BERT的模型有太多的层和复杂的架构;在特定于任务的体系结构上微调整个语言模型是一项复杂的工作。

为了进一步评估我们的方法的性能,我们通过改变置信阈值绘制了Char_LSTM, UMLSBERT和我们的模型的ROC (receiver operating characteristic)和PR (Precision/Recall)曲线。结果如下图所示。

从fpr图可以看出,我们的方法的AUC (ROC曲线下的面积)比另外两种模型更大。在Recall图中,我们的模型曲线几乎完全包围了另外两种方法的PR曲线。这表明我们的方法在性能上比其他模型更有效。

D. i2b2 2012数据集评价

上表显示了之前最好的六种方法与我们在i2b2 2012数据集上提出的方法的比较。由于大多数最好的系统还没有发布事件类型识别的结果,我们只是将事件表达的识别结果与相关系统进行比较。有些方法没有在论文中公布其Precision和Recall值,这些结果用“-”代替。我们采用配对双尾Student’s t-tests,我们的方法与其他方法之间p < 0.05。CRFs_X是一种基于机器学习的方法,在i2b2 2012上,它在机器学习方法中取得了最好的成绩,他们使用了五组特征,包括词法上下文,句法上下文,本体论,句、词的特征;而我们的模型只增加了UMLS提供的特性,略微提高了CRFs_X 0.21%,实现了卓越的性能。与百里香语料库的比较类似,我们的方法比Char-LSTM方法取得了显著的改进。我们必须指出,他们的结果(92.28)是一个部分匹配的F1值,而我们的部分匹配F1高于他们的(93.29)。与这些基于BERT的模型相比,我们的模型获得了更高的精度、召回率和F1分数,比Si等人报告的最佳模型结果在F1上提高了13.5%。我们使用领域知识作为特征的算法与UMLSBERT相似,我们的F1值比他们的高15.69%,表明我们的方法更有效。

E.消融分析

为了量化我们的深度神经网络模型的每一层的作用,我们对每个任务进行了4个不同的实验,通过消融测试;每个任务的所有这些模型都使用前面几节中所示的相同的超参数运行。烧蚀试验结果见上表。去除CNN层后,查全率和查准率明显下降,说明字符级表示对我们的任务是有效的。去除mark嵌入后,召回率从90.44下降到89.70,说明mark嵌入是有效的特征,领域知识可以提高低频词的识别率。去掉LSTM (Backward)层后,模型性能明显下降;证明了Bi-LSTM的必要性。去除CRF层后,性能明显下降。这表明联合解码标签序列的CRF层可以有效地提高神经网络模型的最终性能。

h .讨论

为了研究我们的模型在每种类型的临床实体上的表现,我们在下面两表中列出了我们的方法在“严格”标准下对每种类型的临床实体的表现。我们的模型在某些类型上表现良好,例如i2b2 2012上的“TEST”和“TREATMENT”,以及THYME语料库上的“N/A”。然而,一些实体类别的F1值很低,如i2b2 2012上的“OCCURRENCE”和“CLINICAL_DEPT”,THYME语料库上的“aspect”。不同类型的识别性能差异很大,这可能主要是由于训练数据集中样本之间的不平衡造成的,例如在THYME训练数据集中,ASPECTUAL类型的样本只占1.4%,而N/A类型的样本占92.8%。

通过案例研究,进一步验证了该模型在低频词识别方面的优势。我们将该方法与Char-LSTM[17]和UMLSBERT[20]在临床事件识别任务中进行了比较。我们从百里香语料库测试集中随机选取两个句子为例,具体结果见表9所示。第1列表示包含新事件跨度的句子,这些句子在训练集中不存在;第二栏表示句子中提到的金子。第3列、第4列和第5列分别表示我们的模型Char-LSTM、UMLSBERT的预测结果。

从上表可以看出,Char-LSTM模型不能识别“CHF”和“IDA”这两个词,这两个词都是医学术语的缩写,在训练数据集中没有出现。而我们的方法(Bi-LSTMCRF+MK)和UMLSBERT可以识别这些实体。因为我们的方法采用了来自UMLS的CUI作为医学知识特征(mark -embedding),遵循了前人的工作。在这里,“CHF”是“充血性心力衰竭”的首字母缩略词,它们与“cardiac”有相似的意思,因此可以映射到同一个CUI,“IDA”是“缺铁性贫血”的首字母缩略词。虽然单词“IDA”和“CHF”没有出现在训练集中,但由于它们的同义词出现在训练集中,因此它们被正确识别。从上面的例子可以证实,我们的方法可以学习不同临床同义词的关联,提高低频词的识别率。虽然我们的方法取得了良好的性能,但也存在一定的局限性:1)提出的方法也适用于中文文本中的实体识别,但我们没有在中文数据集上进行比较。这些实验将在未来进行。2)虽然医学领域知识可以提高低频词的识别率,但我们只对语义相似词的分组信息进行建模,没有考虑词之间的层次关系。因此,如何建立一个涵盖所有同义词书写形式的分层地图,并将其整合到神经网络中是我们未来的工作。

相关链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: