一种电子病历实体关系抽取方法与流程

文档序号:26014118发布日期:2021-07-23 21:35阅读:501来源:国知局
一种电子病历实体关系抽取方法与流程

本发明涉及文本信息挖掘领域,具体提供一种电子病历实体关系抽取方法。



背景技术:

医疗信息化的不断发展产生了大量的医疗数据,其中,电子病历记录了患者详细的诊疗过程,基于电子病历中的数据定制成相应疾病的专病队列,对于后续医疗工作者进行科学研究有着重要的作用。因此,如何准确快速的提取出文本中的有效数据,就需要引入数据挖掘技术。

基于模式匹配的实体关系抽取,实体关系抽取早期是通过模式匹配的方式进行的。模式匹配的过程主要运用了语言学和自然语言处理学的知识。在实体关系抽取之前,需要通过人工构造实体关系的特征词典或规则并将其存储下来。在实体关系抽取的过程中,将规则与预处理后的非结构文本相匹配,从而提取出实体关系三元组。然而,这种方法存在明显不足,该方法要求规则与词典的制定有专业的语言学基础,同时对自然语言处理学有深入的了解与研究,制定规则难度大,需要耗费大量的时间与人力,可迁移性差,无法直接植入至其他领域。

基于机器学习的实体关系抽取,该方法根据对人工语料的依赖程度,可分为有监督的实体关系抽取、半监督的实体关系抽取和无监督的实体关系抽取方法。有监督的实体关系抽取方法核心思想是对机器学习模型投入足量的已标记关系类别的训练语料,然后进行特定关系的匹配识别与抽取任务,有监督的抽取方法包括基于特征向量的方法和基于核函数的方法,但有监督的实体关系抽取方法仍需耗费大量的时间与人力对语料进行标注。

半监督的实体关系抽取方法的主要思想是根据人为预先设计好的关系类型,通过人工添加合适的少量的实体对作为训练语料,利用模式学习方式方法进行不断迭代学习,人工进行调整,最终生成关系数据集和序列模式,在一定程度上降低了对人工标注语料的依赖。目前基于板监督的实体关系抽取任务包含自举方法、标注传播算法、协同训练和主动学习方法,基于半监督的实体关系抽取方法虽然避免了耗时和繁琐的大量人工标注语料,仅需少量训练语料即可训练模型,但对储时标记数据的质量要求较高,并且迭代过程中模板的构建和优化对最后的效果有着至关重要的作用,这种方式普遍存在于训练过程中噪声引入,进而在训练过程中造成语义漂移的现象,因此该方法虽然准确率高,但是召回率低。

无监督的实体关系抽取无须进行人工标注数据,它首先利用某类聚类算法将实体上下句相似程度高的实体对聚成一类,然后选择频率最高的指代词作为该实体对的语义类别,常用的聚类算法有k-均值、自组织映射聚类算法、遗传算法,无监督的实体关系抽取虽然无须人工标注的训练语料,无须预先定义实体关系类型,可迁移性强,适合处理大规模的非结构化自然语言文本数据,但无监督式抽取需要事前定义聚类的阈值,同时无监督的实体关系抽取暂无客观的评价标准,且召回率和准确率与有监督抽取方法相比普遍较低。



技术实现要素:

本发明是针对上述现有技术的不足,提供一种实用性强的电子病历实体关系抽取方法。

本发明解决其技术问题所采用的技术方案是:

一种电子病历实体关系抽取方法,具有以下步骤:

s1、数据预处理;

s2、预训练语言模型训练词向量;

s3、搭建多标签模型;

s4、使用bert搭建一个实体抽取模型。

进一步的,在步骤s1中,定义数据预处理类,返回关于字的数组,同时建立token到id的索引以及id到token的索引;

数据预处理后会生成训练集、验证集和测试集,方式为相应的数据集加行号,且数据转换成tfrecord格式。

进一步的,定义数据预处理类时,主要对文本数据进行unicode转换、标点符号分割、中文字符分割和去除重音符号。

作为优选,所述token指文本处理后的最小单元,中文为字,英文为词。

进一步的,在步骤s2中,获取wordembedding以及positionembedding,其中wordembedding可以通过加载bert的预训练语言模型训练词向量。

进一步的,positionembedding保存了单词在序列中的相对或绝对位置。

进一步的,在步骤s3中,多标签分类模型采用了tensorflow中的tf.contrib.tpuestimator这一高级封装的api,如果是训练过程则返回loss和train_op,如果是验证过程则返回准确率评价指标,如果是test则返回预测结果。

进一步的,在步骤s4中,使用bert搭建一个实体抽取的模型,类别可以定义为[“[padding]”,“[category]”,“[##wordpiece]”,“[cls]”,“[sep]”,“b-sub”,“i-sub”,“b-obj”,“i-obj”,“o”],其中sub对应的就是subject,b-sub就是第一个实体开始的位置,后续的是i-sub,obj是第二个实体,本质上就是预测上述每一个tokens的标示,最后可根据标示提取出实体对。

进一步的,若一句话有多个三元组,在所述模型构建时,先依据第一个模型预测出来的关系类。

本发明的一种电子病历实体关系抽取方法和现有技术相比,具有以下突出的有益效果:

本发明相较于传统的模式匹配方法,不需要设计较多的专业知识,不需要定制大量的规则模板和大量的特征工程,且可以充分利用文本上下文信息。可以弥补有监督的实体关系抽取、半监督的实体关系和无监督的实体关系抽取的缺点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

附图1是一种电子病历实体关系抽取方法的流程示意图。

具体实施方式

为了使本技术领域的人员更好的理解本发明的方案,下面结合具体的实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例都属于本发明保护的范围。

下面给出一个最佳实施例:

如图1所示,本实施例中的一种电子病历实体关系抽取方法,将信息提取问题转换成两个连续的文本分类问题,第一个是多标签分类模型,第二个模型是基于第一个模型的结果构建的多分类单标签模型。

具有以下步骤:

s1、数据预处理,定义数据预处理类,主要对文本数据进行unicode转换、标点符号分割、中文字符分割、去除重音符号等操作,最后返回关于字的数组,同时建立token到id的索引以及id到token的索引,这里token指的是文本处理后的最小单元,中文是字,英文是词。数据预处理后会生成训练集、验证集、测试集,这里定义的方式是相应的数据集+行号,并且为了快速的读写数据,还需要将数据转换成tfrecord格式。

s2、预训练语言模型训练词向量:

获取wordembedding(词嵌入)以及positionembedding(位置嵌入),其中wordembedding可以通过加载bert的预训练语言模型训练自己的词向量,这样可以避免重新训练词向量消耗巨大的运算资源,其次为了充分利用上下文信息,本方法除了要考虑wordembedding还要考虑每个字的positionembedding,因为transformer不采用rnn结构,而是使用全局信息,不能利用单词的顺序信息,但这部分信息对于实体关系提取至关重要,所以在本方法中positionembedding保存了单词在序列中的相对或绝对位置。

s3、搭建多标签模型:

多标签分类模型搭建,模型采用了tensorflow中的tf.contrib.tpuestimator这一高级封装的api,其内部定义了loss、预测概率以及预测结果等,这样可以针对不同的状态返回不同的结果,如果是训练过程则返回loss,train_op等,如果是验证过程则返回准确率等评价指标,如果是test则返回预测结果。

s4、使用bert搭建一个实体抽取模型:

基于以上得到的关系和文本,使用bert搭建一个实体抽取的模型,其也可以归为一个多分类的单标签任务,类别可以定义为[“[padding]”,“[category]”,“[##wordpiece]”,“[cls]”,“[sep]”,“b-sub”,“i-sub”,“b-obj”,“i-obj”,“o”],其中sub对应的就是subject,b-sub就是第一个实体开始的位置,后续的是i-sub,obj是第二个实体,本质上就是预测上述每一个tokens的标示,最后可根据标示提取出实体对,考虑到一句话中可能有多个三元组,为此在该模型构建时,先依据第一个模型预测出来的关系类,如当前句子预测出3个关系,那么就重复该句话分成3个样本,那么3个样本就对应的时3个多分类单标签任务,为了使实体对和关系对应,所以第二个模型在计算loss的时候要综合考虑关系和token表示的预测。

上述具体的实施方式仅是本发明具体的个案,本发明的专利保护范围包括但不限于上述具体的实施方式,任何符合本发明的一种电子病历实体关系抽取方法权利要求书的且任何所述技术领域普通技术人员对其做出的适当变化或者替换,皆应落入本发明的专利保护范围。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1