一种基于BERT模型的医疗文本关系抽取的方法与流程

文档序号:22239051发布日期:2020-09-15 19:50阅读:415来源:国知局
一种基于BERT模型的医疗文本关系抽取的方法与流程

本发明涉及数据挖掘、网络科学、深度神经网络,特别是涉及一种基于bert模型的医疗文本关系抽取的方法。



背景技术:

近年来,我国信息化建设越来越完善,医疗体系也逐渐进入信息化的时代。临床电子病历数据在不断的积累,并且这些临床病历数据已经成为医学研究领域的宝贵财富和重要的信息来源。目前,病历仍然以文本的数据形式存在。在医学临床诊疗过程中,病历的信息以文本或半结构化数据为主要记录形式。然而,病历文本是重要的医学诊疗知识来源,需要进行系统的数据处理和挖掘分析,形成具有理论和临床价值的诊疗知识,其中结构化信息的提取是实现数据挖掘分析的第一个关键环节,包括命名实体识别(namedentityrecognition,ner)和关系抽取(relationshipextraction,re)等基本步骤。

关系抽取通常是指在已知文本中实体对的情况下,抽取实体间的命名关系,并将抽取出来的实体对和关系进行规范化表示,其一般的形式化描述为三元组的形式<e1,rel,e2>,e1与e2代表实体,rel代表实体间的关系.通过提取实体间关系,获取更多实体间的语义联系,可以帮助计算机更好的处理大规模网络文本数据,以及理解非结构化文本的语义信息,在自然语言处理领域具有广阔的应用前景。围绕着实体间关系的发现和抽取,不少学者都展开了深入的研究。

目前关系抽取研究进展迅速,人们研究得出了大量不同的模型和方法.这些关系抽取方法大体上可以分为基于模式匹配的方法,基于机器学习的方法,和基于混合模型的方法。基于模式匹配的方法由专家预先依据限定领域实体关系的语法或语义信息人工制定出一套规则模板,并把测试文本中与模板语义相匹配的关系实例抽取出来。基于机器学习的方法利用各种统计学习的算法如支持向量机算法(supportvectormachine,svm)和条件随机场(conditionalrandomfields,crf)等,将关系抽取看作一个分类问题,从关系训练样例中抽取出特征进行学习,自动从测试语料中抽取关系。但是基于模式匹配效率低下,利用svm的方法不适合处理大规模的关系抽取任务,利用crf的方法难点在于如何获取高置信度的模式错误的模板会影响实体关系抽取的准确度。目前医疗领域关系抽取准确率仍然有较大的提高空间,因此多类型医学文本进行关系抽取的研究受到了越来越多的关注。

综上,传统的关系抽取算法中存在的很多亟待解决的问题,包括大规模关系抽取任务的限制以及获取更好的抽取效果,尚无有效的解决办法。



技术实现要素:

为了克服现有技术的不足,本发明提出一种基于bert模型的医疗文本关系抽取方法,采用了以卷积神经网络和循环神经网络为代表的深度学习算法,主要针对医疗文本,从医疗文本中提取出高层抽象属性。

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

一种基于bert模型的医疗文本关系抽取的方法,包括以下步骤:

步骤1:收集医疗文本,构建文本数据集;

步骤2:对数据集进行预处理;

步骤3:构建医疗文本关系抽取模型;

步骤4:将抽取结果进行结构化存储。

进一步,所述步骤1中,收集医疗文本,所述行为数据每一条须包括两个实体,实体之间须有相应的关系,即构成三元组,每条数据至少要包含1个三元组。

再进一步,所述步骤2中,根据步骤1中的收集的医疗文本数据集,进行实体抽取,抽取出实体后将其按照实体之间的关系进行整合,按照句号进行分句操作,送入医疗文本关系抽取模型中。

所述步骤3中,构建医疗文本关系抽取模型包括以下过程:

3.1)对训练集中每句话按照字进行划分,假设句子为x,则划分后得到序列表示x=[x0...xn],其中令x0=[cls],xn=[sep],x0,xn为字向量表征,在下文用token表示,a1=(i,j),a2=(k,l)为两个实体的token范围,其中0<i<j-1,j<k,k≤l-1,l≤n,两个实体之间的关系用三元组r=(x,a1,a2)表示,[xi...xj-1]为第一个实体,[xk...xl-1]为第二个实体;

3.2)将两个实体前后添加标识符,则x的序列表示如下所示:

x=[x0...[e1start]xi...xj-1[e1end]...[e2start]xk...xl-1[e2end]](1)

其中[e1start]、[e2start]分别为两个实体的开始标识符,[e1end]、[e2end]为结束标识符;

3.3)将上一步的tokens送入bert模型,分别输出句子中各个汉字的字向量,其中xi所对应的生成向量为vi,xj-1所对应的生成向量为vj-1,则第一个实体所对应的向量为vi到vj-1,相应的,第二个实体所对应的向量为vk到vl-1。将bert的[cls]表征(v0)及两个实体(v1、v2)所对应的输出向量分别设为v′0,v′1,v′2,则v′0,v′1,v′2所对应的生成公式如下所示:

v′0=w0[tanhv0]+b0(2)

其中w0、w1、w2为权重系数,拥有着相同的维度,b0、b1、b2为偏置项,也拥有着相同的维度;

3.4)将所求v′0、v′1、v′2进行拼接并送入全连接层中,最后进行分类,输出最终结果,全连接层及分类公式如下:

c=w3[concat(v′0,v′1,v′2)]+b3(5)

q=softmax(c)(6)

其中w3为权重系数,与w0、w1、w2拥有着相同的维度;b3为偏置项,与b0、b1、b2拥有着相同的维度;concat表示拼接操作,softmax为softmax函数。

所述步骤4中,将抽取结果进行结构化存储包括以下过程:

4.1)训练好模型后将经过预处理的医疗文本(处理方法与步骤2相同)送入模型中;

4.2)将模型输出结果按照对应关系送入mysql数据库中,进行结构化存储。

本发明的有益效果为:采用了以卷积神经网络和循环神经网络为代表的深度学习算法,主要针对医疗文本,从医疗文本中提取出高层抽象属性。

附图说明

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

图1为本发明实施例提供的对数据集进行预处理的流程图;

图2为本发明实施例提供的构建医疗文本关系抽取模型的流程图;

图3为本发明实施例提供的一种基于bert模型的医疗文本关系抽取方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种基于bert模型的医疗文本关系抽取的方法进行详细介绍。

参照图1~图3,一种基于bert模型的医疗文本关系抽取的方法,包括以下步骤:

步骤1:收集医疗文本,构建文本数据集;

步骤2:对数据集进行预处理;

步骤3:构建医疗文本关系抽取模型;

步骤4:将抽取结果进行结构化存储。

进一步,所述步骤1中,收集医疗文本,所述行为数据每一条须包括两个实体,实体之间须有相应的关系,即构成三元组,每条数据至少要包含1个三元组。

再进一步,所述步骤2中,根据步骤1中的收集的医疗文本数据集,进行实体抽取,抽取出实体后将其按照实体之间的关系进行整合,按照句号进行分句操作,送入医疗文本关系抽取模型中。

所述步骤3中,构建医疗文本关系抽取模型包括以下过程:

3.1)对训练集中每句话按照字进行划分,假设句子为x,则划分后得到序列表示x=[x0...xn],其中令x0=[cls],xn=[sep],x0,xn为字向量表征,在下文用token表示,a1=(i,j),a2=(k,l)为两个实体的token范围,其中0<i<j-1,j<k,k≤l-1,l≤n,两个实体之间的关系用三元组r=(x,a1,a2)表示,[xi...xj-1]为第一个实体,[xk...xl-1]为第二个实体;

3.2)将两个实体前后添加标识符,则x的序列表示如下所示:

x=[x0...[e1start]xi...xj-1[e1end]...[e2start]xk...xl-1[e2end]](1)

其中[e1start]、[e2start]分别为两个实体的开始标识符,[e1end]、[e2end]为结束标识符;

3.3)将上一步的tokens送入bert模型,分别输出句子中各个汉字的字向量,其中xi所对应的生成向量为vi,xj-1所对应的生成向量为vj-1,则第一个实体所对应的向量为vi到vj-1,相应的,第二个实体所对应的向量为vk到vl-1,将bert的[cls]表征(v0)及两个实体(v1、v2)所对应的输出向量分别设为v′0,v′1,v′2,则v′0,v′1,v′2所对应的生成公式如下所示:

v′0=w0[tanhv0]+b0(2)

其中w0、w1、w2为权重系数,拥有着相同的维度,b0、b1、b2为偏置项,也拥有着相同的维度;

3.4)将所求v′0、v′1、v′2进行拼接并送入全连接层中,最后进行分类,输出最终结果,全连接层及分类公式如下:

c=w3[concat(v′0,v′1,v′2)]+b3(5)

q=softmax(c)(6)

其中w3为权重系数,与w0、w1、w2拥有着相同的维度;b3为偏置项,与b0、b1、b2拥有着相同的维度;concat表示拼接操作,softmax为softmax函数。

所述步骤4中,将抽取结果进行结构化存储包括以下过程:

4.1)训练好模型后将经过预处理的医疗文本(处理方法与步骤2相同)送入模型中;

4.2)将模型输出结果按照对应关系送入mysql数据库中,进行结构化存储。

本发明实施例所提供的一种基于bert模型的医疗文本关系抽取的方法,

所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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