基于BiLSTM-CRF的命名实体识别在临床电子病历的研究与应用

作者: 廖天正 林晓兰 陈永辉 严晓明 刘昭欣 梁会营

基于BiLSTM-CRF的命名实体识别在临床电子病历的研究与应用0

关键词:电子病历;命名实体识别;条件随机场;双向长短期记忆网络

中图分类号:TP3 文献标识码:A

文章编号:1009-3044(2024)28-0017-03

0 引言

随着医疗领域信息化的迅速发展,电子病历已成为现代医疗系统中的重要组成部分。电子病历记录了患者的详细医疗信息病史、诊断、治疗方案和随访记录等,为医疗决策、个性化治疗、临床研究、患者管理等提供了丰富的信息[1-2]。电子病历通常以非结构化形式文本存在,拼写错误、不规范用语,导致信息提取和利用困难[3]。因此,高效、准确地从电子病历提取有价值的医学信息,成为当前重要的研究课题。

命名实体识别(NER) 作为自然语言处理中的关键技术,旨在自动识别并分类文本中的实体。传统的NER方法主要依赖于规则和词典,过于简单鲁棒性差[4]。基于统计学习的方法,如条件随机场,通过标注大量训练数据来学习实体边界和类型,这些方法虽然相较于基于规则的方法有所提升,但在面对复杂的语言现象和上下文依赖时,仍存在一定局限性[5]。

本文结合了双向长短期记忆网络和条件随机场的混合模型BiLSTM-CRF,用于从电子病历中自动提取医学实体。通过双向长短期记忆网络捕捉文本的上下文信息,并结合CRF进行标签序列优化,以提高实体识别的准确性和鲁棒性,在处理序列标注问题上具有优越的性能。

1 实验方法

1.1 序列标注

数据来源于CCKS2017任务二:面向电子病历的命名实体识别。在本次命名实体识别任务中,目标是从中文电子病历中自动识别出医学相关的命名实体,具体包括以下几类实体:症状和体征,检查和检验,治疗,疾病和诊断,身体部位。

本研究使用了BIOES标注方法是一种详细的序列标注方法,通过将每个元素标记为“B”(开头)、“I”(中间)、“O”(外部)、“E”(结尾)或“S”(单独实体)来明确区分实体的边界和类型。具体来说,“B-X”表示实体的开头,“I-X”表示实体的中间部分,“E-X”表示实体的结尾,而“S-X”用于表示一个单独的实体,“O”表示不属于任何实体。这种方法有助于提高命名实体识别的精度和准确性。

研究处理了原始数据后使用Python 编程语言,JieBa分词进行标注,同时将中文标签,“症状和体征”“检查和检验”“治疗”“疾病和诊断”“身体部位”分别对应为“SYMPTOM”“CHECK”“TREATMENT”“DISEASE”“BODY”,最终序列标注后的临床电子病历,“身体”如上表1所示,分别进行“字粒度”和“词粒度”的提取,“疾病与诊断”词标注如表2所示。

1.2 条件随机场

条件随机场广(CRF) 泛应用于中文分词、命名实体识别和词性标注等任务中,通常使用“线性链条件随机场”来简称条件随机场。在模型中,随机变量X和Y 具有相同的线性序列结构,这与文本的自然顺序相匹配,体现了线性特性。两种主要的线性条件随机场是最大团是相邻3个顶点的集合以及最大团是相邻2个顶点的集合。

条件随机场通过定义全局特征函数来直接建模给定输入序列条件下的输出标注序列的条件概率。给定输入序列X = {x1,x2,...,xn }  和对应的输出标注序列Y = {y1,y2,...,y n } ,在条件概率P (Y|X )上,通过特征函数fk = { yn - 1,yn,x,n }来描述标注之间以及标注和输入之间的相互关系,并通过特征函数的权重λk 进行参数化,通过前向后向算法等动态规划算法高效地进行训练和推断。

1.3 双向长短期记忆网络BiLSTMLSTM

(Long Short-Term Memory) 是一种循环神经网络(RNN) 的变种。RNN在处理序列数据时表现出显著效果,能够挖掘时序信息和语义信息。对于中文文本序列而言,RNN可以结合上下文信息进行模型训练,而不仅仅是单个词语的标签训练。通过引入三个门控机制来实现长期记忆和遗忘,包括遗忘门(forgetgate) 、输入门(input gate) 和输出门(output gate) 。这些门控制着信息的流动,允许网络选择性地记住或忘记输入数据中的信息。

双向长短期记忆网络(Bidirectional Long Short-Term Memory, BiLSTM) 是一种常用于序列建模的深度学习模型,它结合了正向和反向两个方向的信息来捕捉序列数据中的上下文信息。BiLSTM通过在输入序列的两个方向上分别运行两个独立的LSTM网络来实现这一目的。具体来说,BiLSTM的输入序列首先通过一个正向LSTM 网络进行处理,然后通过一个反向LSTM网络进行处理。正向LSTM按照输入序列的顺序逐步读取数据,而反向LSTM则按照相反的顺序读取数据。每个LSTM网络都包含一个记忆单元和三个门(遗忘门、输入门和输出门),用于捕捉序列中的长期依赖关系。 双向长短期记忆网络模型结构,如图3所示。

1.4 序列标注模型BiLSTM-CRF

虽然通过BiLSTM模型可以获取每个字的向量表示并得到各个实体类别的分数,然后选择分数最高的类别作为命名实体识别的预测结果,但这种方法在实际应用中的效果并不十分准确。为了提高准确性,文本结合了BiLSTM和CRF的神经网络方法,在这种方法中,仍然使用BiLSTM模型来提取训练集的特征,但在最后的输出层使用CRF来替代简单的Softmax函数进行分策。CRF模型中的转移特征考虑了输出标注之间的关联性和合理性,从而提高了命名实体识别的准确性。

2 实验与分析

任务的输入是一组临床病历电子文档,记录了病人在医院诊断治疗的全过程。任务的输出要求提供文档中与医学相关的命名实体的字符串边界,以及每个实体对应的类别。共定义了5 类命名实体:“SYMPTOM”“CHECK”“TREATMENT”“DISEASE”“BODY”。数据为CCKS2017中Task2提供的电子病历,包含患者的信息体征、体查、治疗等非结构化信息。

数据集包含100份患者病史,将1~80份当作训练集、81~100当作测试集合,模型结合“词粒度”与“字粒度”,两种维度进行训练。使用序列标注模型BiLSTM-CRF进行电子病历的实体提取同时对比CRF 模型,分别进行以单字符和词组的训练进行对比以模型的精确率、召回率、F1分数评价模型效果。

表3为BiLSTM-CRF模型字粒度结果,在字粒度模型上,疾病和诊断类型的精确率最高为0.95,检查和检验的精确率最低为0.52,召回率最高的为疾病和诊断为0.96,召回率最低的为检查和检验为0.51,F1分数最高的为身体部位为0.94,最低的为检查和检验为0.51。

表4为BiLSTM-CRF模型词粒度结果,在词粒度模型上,疾病和诊断类型的精确率最高为0.95,检查和检验的精确率最低为0.38,召回率最高的为身体部位为0.94,召回率最低的为检查和检验为0.62,F1分数最高的为身体部位为0.93,最低的为检查和检验为0.47,对比字粒度模型,检查和检验的召回率有着明显的提升。

表5为CFR、BiLSTM-CRF在不同粒度上面的对比。

从表5可以得出,BiLSTM-CRF在词模型和字模型上面均优于CRF模型。文本使用的BiLSTM-CRF模型在捕捉序列特征和建模标签依赖关系方面表现出色,能够有效提高命名实体识别的准确性

3结束语

在这项工作中,本研究本文结合了双向长短期记忆网络和条件随机场的混合模型对电子病历中的命名实体识别进行了研究与应用。实验结果表明,模型在捕捉序列特征和建模标签依赖关系方面表现出色,能够有效提高命名实体识别的准确性。通过CCKS2017任务二的数据集进行测试,模型在五类命名实体(身体部位、症状体征、检查检验、疾病诊断和治疗)的识别中取得了良好的效果。

本文为电子病历的命名实体识别提供了一种有效的方法,为医疗信息的自动化处理和分析奠定了基础,具有重要的实际应用价值。未来的工作可以进一步优化模型结构,结合更多的上下文信息和外部知识,以进一步提升识别性能。

上一篇 点击页面呼出菜单 下一篇