CN110032739B - 中文电子病历命名实体抽取方法及系统 - Google Patents
中文电子病历命名实体抽取方法及系统 Download PDFInfo
- Publication number
- CN110032739B CN110032739B CN201910313195.8A CN201910313195A CN110032739B CN 110032739 B CN110032739 B CN 110032739B CN 201910313195 A CN201910313195 A CN 201910313195A CN 110032739 B CN110032739 B CN 110032739B
- Authority
- CN
- China
- Prior art keywords
- character
- word
- model
- input
- layer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明公开了一种中文电子病历命名实体抽取方法及系统。该方法包括:通过字符嵌入层将输入语句中的每个字映射为一个向量;采用LSTM模型输入字符序列,获得隐表示向量;将每个字作为以该字为结尾的语义单位的最后一个字,进行语义分割,得到该字对应的所有网格编码;将每个字的所有网格编码进行线性组合,得到最后的每个字符的向量,其中,线性组合中的权重由自注意力机制给出;采用深度残差网络作为输出解码层,解码出命名实体链。本发明中文电子病历命名实体抽取方法及系统可以自动从中文电子病历中抽取各种医学命名实体,且提高了抽取效率,免去了病历结构化过程中人工消耗。
Description
技术领域
本发明属于医疗文本数据挖掘技术领域,特别是涉及一种中文电子病历命名实体抽取方法及系统,尤其用于一种名为多系统萎缩的罕见病的中文电子病历文本医学命名实体的识别和提取。
背景技术
一方面,近年来我国各级医院逐渐采用电子病案管理系统代替传统的手写病历,从而累积了越来越多的电子病历。常规的电子病历中,信息的主要载体是自然语言,比如,影像报告、用药记录、病程报告和病例检查报告等。可以说,这些自然语言文本蕴含着患者诊疗过程中的主要临床信息。另一方面,随着以大数据、人工智能为代表的信息技术与医学的深度融合,催生了诸如精准医疗、临床决策支持、医学数据挖掘、疾病风险评估等一系列新的概念和方法。
但是,这些新概念、新方法的实现高度依赖巨量的真实、准确、可靠的结构化的诊疗数据。通常医院无法直接使用电子病历中的信息、更无法使其服务于临床。临床电子病历设计的初衷是面向记录,而不是面向研究,也就是说,医生会把临床的所有的情况原原本本地记录下来,但却并没有针对信息做面向研究和应用的加工处理。这样一来,临床电子病历大部分都是自然语言,这种文本信息放到计算机里无法进行任何形式的计算,所以首先要做的是数据结构化。也就是说,现实中的病历数据大都是非结构化的。正因为如此,将非结构化的医疗数据进行结构化成为一个必要而关键的步骤。考虑到数据量巨大,若依靠人工来进行结构化,其经济成本无疑将十分高昂。所以,利用计算机自动的从电子病历中提取结构化的临床信息是一种理性的选择。
电子病历的命名实体识别(Named Entity Recognition,NER),是读入电子病历文本,识别和抽取出与医学临床相关的实体,结合数据源“现病史记录”的内容及特点,将它们归类到预定义类别。在电子病历结构化过程中,从病例文本提取出各种医学关心的概念类(症状、时间、部位、程度等等)是一个关键问题。一些疾病的名称,医院里甚至有上百种表达方式。所以,要从整段的自然语言文本里提出数据,如果没有技术支撑,需要巨大的人力投入。中文电子病历的命名实体识别的初衷在此。
医学信息抽取系统是病例结构化系统的子系统,一种可以自动将症状、时间、修饰符、治疗方式和诊断结果提取出来的系统,对于病例结构化系统的性能有重大影响。信息提取的准确性对于后续医疗数据分析流程有着基础性的影响。因此,一个好的信息提取系统可以帮助提高病例结构化的准确性,也能更高效和准确地服务于医学数据挖掘、临床决策支持、临床风险评估等。目前尚无针对罕见病电子病历进行专门优化的医学命名实体识别并抽取的方法和系统。
发明内容
基于上述问题,本发明目的在于提供一种中文电子病历命名实体抽取方法,尤其是用于对罕见病电子病历进行专门优化的医学命名实体的识别和抽取;以提高抽取效率,免去病历结构化过程中人工消耗。
本发明的另一目的在于提供一种中文电子病历命名实体抽取系统。
上述目的是通过以下技术方案实现的:
根据本发明的一个方面,本发明提供的一种中文电子病历命名实体抽取方法,包括以下步骤:
步骤一,通过字符嵌入层将输入语句中的每个字映射为一个向量;
步骤二,采用LSTM模型输入字符序列,获得隐表示向量;将每个字作为以该字为结尾的语义单位的最后一个字,进行语义分割,得到该字对应的所有网格编码;将每个字的所有网格编码进行线性组合,得到最后的每个字符的向量,其中,线性组合中的权重由自注意力机制给出;
步骤三,采用深度残差网络作为输出解码层,解码出命名实体链。
优选地,步骤二中,所述LSTM模型如下:
其中,ct和ht分别表示第t个时间步的内在状态和输出状态;xt表示第t个时间步输入到模型的字向量;模型输入的字符序列为C=(c1,c2,...,cn)。
进一步地,步骤二中,计算方法如下:
其中:xb,e:=(xb,xb+1,…,xe)
其中,wb,e表示字符序列中第b个到第e个字符构成的连续字符串所形成的网格,b∈{1,2,…,n},e∈{1,2,…,n};Ab-1表示序列中第b-1个位置上字符在经过自注意力层后的输出值。
更进一步地,步骤二中,线性组合中的权重由自注意力机制给出的注意力值给出,在模型训练中,通过反向传播不断调整模型参数,得到合理权重分配;
注意力机制模型由下式表示:
其中,Ae-w,e-1、xe-w+1,e分别为注意力机制模型的状态输入量和字符向量输入,Ae为注意力机制模型的输出,即表示序列中第t个位置上字符在经过自注意力层后的输出值;
优选地,在步骤二中,网格wb,e的计算方法如下:
初始状态:(cb-1;hb-1)=(Cb-1;Hb-1)
输出状态:(cb,e;hb,e)=(ce;he)
其中:wb,e:=Concat(cb,e,hb,e)
At:=Concat(Ct,Ht)
其中,t∈{1,2,…,n},b∈{1,2,…,n},e∈{1,2,…,n},wb,e表示字符序列中第b个到第e个字符构成的连续字符串所形成的网格,cb-1和hb-1表示第b-1个时间步的内在状态和输出状态,Cb-1和Hb-1分别表示构成Ab-1的两部分向量,b-1表示第b-1个时间步上的对应向量;cb,e和hb,e表示字序列中从第b个到第e个之间的字符子串中每个字符依次输入到模型后,得到的最末内在状态和最末输出状态,也即第e个内在状态和输出状态,ce和he表示第e个时间步的内在状态和输出状态;
其中,序列中第t个位置上字符在经过自注意力机制后的输出值At表示为:At:=Concat(Ct,Ht);其中,Ct和Ht分别表示构成At的两部分向量,t表示第t个时间步上的对应向量,每个At分别由内在状态向量Ct和输出状态向量Ht构成。
更优选地,所述自注意力机制控制信息流动方向的计算公式如下:
其中,Query、Key、Value表示自注意力模块的三个输入矩阵,dk表示矩阵Query的列数;
所述自注意力机制为多头注意力机制,多头注意力机制模型如下:
MultiHead(Q,K,V)=Concat(head1,head2,…,headh)·WO
Q=K=V=X=(we,e,we-1,e,we-2,e,…,we-w+1,e)
Ae=Tanh(Relu(MultiHead(Q,K,V))·Watt)
优选地,在步骤三中,所述深度残差网络中包含两种映射,其中,一种是恒等映射x,表示其本身;另一种是残差映射F(x),且所述F(x)为长短时记忆网络;所述深度残差网络最后输出为H(x)=F(x)+x。
进一步地,所述深度残差网络利用语境的高层语义特征进行校正分类,包括:通过LSTM层提取抽象的局部语义特征,对分类概率进行校正步骤;以及通过softmax层将高层的语义特征变换为预定义类别的概率步骤。
更进一步地,所述LSTM层包括两个输入,一个是初始状态,另一个是待处理的时间序列,计算公式如下:
LSTM:(0;0;Ai-R,i+R)→Oi
其中,0表示初始状态(置零);Ai-R,i+R表示第i-R到i+R个字符之间的字符语义编码;Oi表示提取的中心字符i的潜在语义特征;
所述softmax层将高层的语义特征变换为预定义类别的概率的计算公式如下:
Prob=Softmax(O+A)
其中,Prob表示所得的实体识别结果,O表示Oi所连接成的矩阵,O=[O1,O2,...,On];A表示Ai所连接成的矩阵,A=[A1,A2,...,An]。
根据本发明的另一个方面,本发明提供的一种用于罕见病的中文电子病历命名实体抽取系统,该系统包括:
初始化单元,用于通过字符嵌入层将输入语句中的每个字映射为一个向量;
自适应单元,用于输出最后的字符向量;以及
解码单元,用于采用深度残差网络作为输出解码层,解码出命名实体链;
其中,所述自适应单元包括:
LSTM处理模块,用于采用LSTM模型输入字符序列,获得隐表示向量;
网格编码模块,用于将每个字作为以该字为结尾的语义单位的最后一个字,进行语义分割,得到该字对应的所有网格编码;
权重分析模块,用于将每个字的所有网格编码线性组合,采用自注意力机制分析权重,输出最后的字符向量。
有益效果:
本发明用于罕见病的中文电子病历命名实体抽取方法及系统既可以更好的融合词的信息又可以避免分词错误造成的累积误差,显著地提高了实体识别的准确率。
本发明不但对输入语句中的每个字编码,而且对语句中的每个潜在的词进行编码;较之传统的基于单字的NER方法,本发明的模型可以更有效的利用词和词序列的信息;较之传统的基于词的NER方法,本发明可以在一定程度上缓解分词错误造成的累积误差。本发明中采用自注意力模型的算法,可以在一个句子中的各种分词方式中,自动选择对于NER任务而言最佳的字、词组合与分割方式,实现了更好的中文电子病历命名实体识别效果。
本发明是罕见病中文电子病历结构化的必要步骤,可以自动的从病历中抽取各种医学命名实体,可以免去了病例结构化过程中人工消耗,大大提高了病例结构化效率。
附图说明
图1是本发明中文电子病历命名实体抽取方法流程示意图;
图2是本发明中文电子病历命名实体抽取系统的结构示意图;
图3是本发明实施例中输入语句中的成词潜在路径的示意图;
图4是本发明实施例中通过自注意力模块控制信息在句中流动方式的示意图;
图5是本发明实施例中自注意力网络搜索算法的整体结构示意图;
图6是图5中的自注意力模块的结构示意图;
图7是本发明自注意力模块中决定信息流动方向的示意图;
图8是本发明残差递归网络的结构示意图;
图9是本发明实施例中残差递归网络对结果进行修正的示意图;
图10是本发明实施例中标注格式的示意图。
具体实施方式
下面结合下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述:
图1示意性示出了本发明中文电子病历命名实体抽取方法的流程,图2示出了本发明中命名实体抽取系统的结构,该系统实现如图1所示的流程。如图2所示(中文电子病历)命名实体抽取系统包括:初始化单元10、自适应单元20、以及解码单元30,其中,自适应单元20包括:LSTM处理模块21、网格编码模块22、以及权重分析模块23。本发明通过终端设备的处理器执行计算机程序实现方法的各个步骤,即实现各单元/模块的功能(各单元/模块存储在终端设备的存储器中)。如图1所示,本发明提供的中文电子病历命名实体抽取方法,包括:
步骤S10,通过字符嵌入层将输入语句中的每个字映射为一个向量,从而将输入语句转换为二维矩阵。
步骤S21,采用LSTM模型输入字符序列,获得隐表示向量;
步骤S22,将每个字作为以该字为结尾的语义单位的最后一个字,进行语义分割,得到该字对应的所有网格编码;
步骤S23,将每个字的所有网格编码进行线性组合,得到最后的每个字符的向量(对于该字命名实体分类最佳的编码方式),其中,线性组合中的权重由自注意力机制给出;
步骤S30,采用深度残差网络作为输出解码层,解码出命名实体链。
中文电子病历命名实体识别(NER)任务中,实体边界和实体类别是联合预测的。中文NER则与中文分词问题密切相关,具体地说,命名实体的边界同时也是词的边界。现有技术中的中文实体识别的方法是,先进行中文分词,然后再对词序列进行序列标注,由于相当比例的实体是分词结果的表外词(OOV),而错误的分词必然导致错误的NER,所以,先分词再NER的思路存在潜在的误差传播(error propagation)问题。本发明采用自注意力网格搜索(Self-Lattice)的神经网络算法,用于中文电子病历命名实体识别(NER),该算法不但对输入语句中的每个字编码,而且对语句中的每个潜在的词进行编码,更好的融合词的信息,且又可以避免现有技术中分词错误造成的累积误差,显著地提高了实体识别的准确率。
现有技术中基于字的NER方法存在一个缺点:没有充分引入词和词序信息,而词很可能隐含对NER有意义的重要信息,基于此,本发明使用LSTM模型将句子中有潜在成词可能性的连续的字的信息整合为一个词的信息,然后使用自注意力机制选择合理的整合路径。如图3所示,构建了一个自适应网格模块来划分待处理的语句。算法倾向于接受一些词,如:“长江大桥”,“长江”,“大桥”,拒绝一些词序列,比如人名“江大桥”,从而从语境中甄别出潜在的感兴趣的实体。
由于每句话最多可能有指数级的分词方式,本发明使用融合LSTM模型的自注意力网格模型来自动的控制“信息”在句中的(从句首到句末的)流动路径。如图4所示:自注意力模块将自动的控制信息在句中流动方式。通过NER训练集数据,算法将在语境中尝试各种不同的连字成词的策略,自动选择对于NER最优的(合理的)成词方式。与现有技术中基于字的算法或基于词的算法比较,本发明既可以更好的融合词的信息又可以避免分词错误造成的累积误差。
本发明Self-Lattice算法的整体结构,如图5所示。本发明的模型可以视为一种基于字符的模型的自然扩展,这个模型中,通过字符嵌入层进行初始化,在自适应网络模块中使用LSTM层从输入字符序列获得其隐表示向量,并用自注意力机制(Self-AttentionMechanism)模块来控制信息流,更具体地说,就是选择不同的字向量组合和融合方式。本发明模型输出端集成了一个残差网络,具体地说是一个ResLSTM(残差递归网络),并用ResLSTM网络从隐藏向量中解码出命名实体链,Prob即为实体识别结果。
下面对本发明各部分进行具体描述:
第一个层为embedding层:词嵌入是自然语言处理领域中一类语言模型和特征提取方法的总称,其做法大致是将每个单词映射到一个实值高位空间中,而不是只有0和1的离散空间。这样,可以使用少的多的维数就可以表示某种表示对象。本发明的模型中,就采用了词嵌入这种表示方法。本发明模型构建在字符即便,因此使用的词嵌入实际上是字嵌入,即本发明的算法也采用字符嵌入方法作为模型的输入层。Embedding层将每个病例自然语句的字映射为一个向量,也就是将输入语句变换为一个二维矩阵,矩阵的行维数是字向量维数,矩阵的列维数是句子的长度。
基本的循环(recurrent)LSTM模型描述如公式(2),其中,使用内在状态ct和输出状态ht表示每个输入时间步上输出;xt表示第t个时间步输入到模型的字向量。具体的,σ是按元素的Sigmoid函数。⊙是按元素的乘法,tanh代表双曲正切函数。WcT和b分别代表LSTM中变换的权重和偏置。it、ot和ft分别表示LSTM在t时刻的输入门值、输出门值和遗忘门值。
ct=ft⊙ct-1+it⊙ct
ht=ot⊙tanh(ct) 公式(2)
公式(2)可简写为下面的公式(3):
Self-Lattice模块——自注意力网格:如图6所示的自注意力(self-attention)模块。算法中,每个字都理解为以这个字为结尾的某个语义单位的最后一个字。比如“行走不稳”中的“稳”字理解为“行走不稳”这个症状语义单位的末尾字。这里把“行走不稳”中的“行走不稳”、“走不稳”、“不稳”、“稳”四种语义分割方式记为以“稳”为边界的四个网格,如图6所示。基于该思路,本发明的算法在考虑某个字(比如“稳”)的所属的命名实体类时,需要输入该字对应的所有网格(“行走不稳”、“走不稳”、“不稳”、“稳”)编码,具体采用其中的何种网格编码或者采用何种编码的线性组合,本发明采用了自注意力机制的方法,找到对于分类这个任务来说,最佳的编码方式,即采用自注意力机制给出线性组合中的权重。
每个字和可能和他紧邻的前面若干个字组合成不同的网格。本发明采用符号wb,e表示字符序列中第b个到第e个字符构成的连续字符串所形成的网格,图6中以we-0,e、we-1,e,we-2,e,we-3,e等来表示所形成的网格。每个网格wb,e计算方法如下:
其中,t∈{1,2,…,n},b∈{1,2,…,n},e∈{1,2,…,n},wb,e表示字符序列中第b个到第e个字符构成的连续字符串所形成的网格,cb-1和hb-1表示第b-1个时间步的内在状态和输出状态,Cb-1和Hb-1分别表示构成Ab-1的两部分向量,b-1表示第b-1个时间步上的对应向量;cb,e和hb,e表示字序列中从第b个到第e个之间的字符子串中每个字符依次输入到模型后,得到的最末内在状态和最末输出状态,也即第e个内在状态和输出状态,ce和he表示第e个时间步的内在状态和输出状态;
At表示序列中第t个位置上字符在经过自注意力层后的输出值;Ct和Ht表示分别表示构成At的两部分向量,t表示第t个时间步上的对应向量,每个At分别由内在状态向量Ct和输出状态向量Ht构成。
公式(4)可简写为(5),其中,t∈{1,2,…,n},b∈{1,2,…,n},e∈{1,2,…,n};
其中,t∈{1,2,…,n},b∈{1,2,…,n},e∈{1,2,…,n},Ab-1表示序列中第b-1个位置上字符在经过自注意力层后的输出值;xb,e表示序列中从第b个到第e个之间的子串中每个字的字向量构成的向量序列;xb,xb+1,…,xe分别表示b,b+1,…,e时间步输入到模型的字向量;
至此获得编码网格wb,e的方法。本发明自适应网络模块最后采用的每个字符的向量是由每个字的所有网格编码的线性组合得到的,其中,线性组合中的权重由自注意力机制给出的注意力值给出;在模型训练中,通过反向传播不断调整模型参数,从而得到较为合理权重分配。也就是,接下来,使用自注意力机制,从相邻的网格中选择对于命名实体识别最为有利的连接方式。具体地就是用自注意力机制从we-L,e,we-L+1,e,…,we,e选择合理的网格wb,e,作为预测该网格位置上分类的依据,其中,L为最长成词距离,b∈[e-L+1,e]。
决定算法中信息流动方向的自注意力(self-attention)模块的结构图,如图7所示,大致过程包括:输入三个矩阵Q、K、V,做线性变换,通过自注意力机制模块中的各种运算(矩阵乘法、伸缩、归一化指数函数、矩阵乘法等),经向量并联,线性变换,双曲正确函数,输出等;其数学描述如下公式(6)所示:
其中,Query、Key、Value表示自注意力模块的三个输入矩阵,dk表示矩阵Query的列数。
本发明所用自注意力机制(Multi-Head Self-Attention),模型如公式(7)所示:
综上所述,本模型的网格及自注意力部分可简写为公式(8):
其中,Ae-w,e-1、xe-w+1,e分别为Self-Lattice模块的状态输入量和字符向量输入,Ae为Self-Lattice模型的输出,含义与At含义相同,即表示序列中第e个位置上字符在经过自注意力层后的输出值。A=(A1,A2,…,An),n为输入句子的长度,至此,我们得到了每个输入句子的编码作为下个ResLSTM模块层的输入;其中,A=(A1,A2,…,An),n为输入句子的长度;A1,A2,…,An表示序列中从第1个到第n个字符经过自注意力层后得到输出序列。
残差递归网络(ResLSTM):是ResNet(深度残差网络Residual Network)的最新一个变种,ResNet的核心思想是引入一个所谓的“数据捷径”(Identity ShortcutConnection),使得模块的输入可以越过一个或多个层,用以解决自然语言处理问题,具体地说,是命名实体识别,ResLSTM结构如图8所示。这里的捷径连接可以理解为简单地执行了恒等变换,不会产生额外的参数,也不会增加计算复杂度。在实现了压缩了网络的深度的同时,使得残差层的输入成为更高抽象层的特征。残差映射使用这个局部的更高抽象层的特征对结果进行修正,即利用语境的高层语义特征校正分类,如图9所示,采用的标注格式如图10所示。
深度神经网络领域中,梯度消失使得误差很难反向传播到更靠近输入端的层,导致接近输入端的参数无法得到恰当的训练,其结果是,随着网络加深,其性能不仅无法提高,甚至开始降低。本发明设计ResLSTM模块可以提高模型在小数据情况下(规模较小的电子病历数据集)的性能。
而且,通过引入残差层,还增强了误差的反向传播,使神经网络的训练更为容易。残差结构描述如公式(9)所示,通过递归,可以得到深度L的残差结构表达式,如公式(10):
xl+1=xl+F(xl,Wl) 公式(9)
和ResNet一样,本发明中的ResLSTM也包含两种映射(Mapping):一种是恒等映射(Identity Mapping),由图8中标有x的数据线表示,表示其本身;另一种是残差映射(Residual Mapping),由图8中由标有F(x)的模块表示。故,ResLSTM最后输出为H(x)=F(x)+x。但与ResNet不同的是,本发明中的F(x)具体为长短时记忆网络(LSTM)。由于本发明是处理时间序列问题,LSTM通常能更有效的提取序列特征,实现较好的效果。
本发明算法的输出解码层没有采用通常的CRF模型,而是采用了ResLSTM模型作为模型的输出层,这么做可以提高准确率。其直观解释为:如果残差网络中的残差部分退化为恒值函数F(x)=0(这对于任意神经网络都可以实现),此时H(x)=x,同时Self-Lattice层变为输出层,我们的神经网络就退化为一个较为浅层的网络。而对于一个较为复杂的学习问题,其目标函数记为y(x),处于退化状态的模型可能无法很好的学习,即H(x)与y(x)相差较大。这时,若采用非退化情形的残差结构,误差e=y(x)-H(x)=y(x)-x变为e=y(x)-H(x)=y(x)-F(x)-x,这样一来,为减少e提供了更多可能。
对于反向传播,假设损失函数为∈,根据反向传播的链式法则可以得到:
可以发现分为两部分:不通过残差模块传递的和通过残差模块传递的第一部分保证了信号能直接传回到任意的浅层xl,同时,残差模块也保证了不会出现梯度消失情形,因为第二部分不可能为-1,这就意味着,最后的不等于0,从而梯度不会消失。
所述深度残差网络利用语境的高层语义特征进行校正分类,包括:通过LSTM层提取抽象的局部语义特征,对分类概率进行校正步骤;以及通过softmax层将高层的语义特征变换为预定义类别的概率步骤;ResLSTM包括LSTM模型和softmax层,算法更细节的数学描述如公式(12)、公式(13)、以及公式(14):
LSTM:(0,0,Ai-R,i+R)→Oi 公式(12)
其中,0表示初始状态置零;Ai-R,i+R表示第i-R到i+R个字符之间的字符语义编码;Oi表示提取的中心字符i的潜在语义特征;这里的式子与前文的LSTM符号表示含义相同,均表示状态c=0和h=0。
需要补充的是,LSTM模型有两个输入,一个是初始状态,另一个是待处理的时间序列。这里每次输出长度为2R+1的序列(Ai-R,Ai-R+1,...,Ai+R);初始状态置零,LSTM目的在于提取抽象的局部语义特征,对分类概率进行校正,并不需要同过引入初始值的方式而带入全局特征,比如,当对一句话中的第i个字符的实体类别做分类时,此模块只抽取第i-R到i+R个字符之间的字符语义编码作为输入,通过LSTM网络提取其中心字符(第i个字符)的潜在语义特征,校正实体识别分类概率。
接下来是softmax层,如公式(13),将高层的语义特征变换为预定义类别的概率:
Prob=Softmax(O+A) 公式(13)
其中,公式(13)中的Prob即为所得的实体识别结果,O表示Oi所连接成的矩阵,O=[O1,O2,...,On];A表示Ai所连接成的矩阵,A=[A1,A2,...,An]。。
此外,公式(14)表示了对于Self-Lattice层的输出做的Padding。其作用在于将Self-Lattice层的输出进行处理,以其作为残差层的输入。更具体的说,由于残差层对序列中任意位置的解码都需要依赖这个位置前后R个位置的信息。由于开始和结束位置并不存在上文和下文,所以本发明人为的将残差层的输入序列以补0的方式前后各延长R个单位。
本发明中的数据集标注格式,如图10所示,训练集中,标注了表型实体。采用IOBES标注格式。B表示“begin”,I表示“in”,E:表示“end”,S表示“single”,O表示“others”。每个表型命名实体开始的词都被标注B,每个表型命名实体的中间和结尾都被标注为“I”和“E”,若表型实体为单个字符则标记为“S”,非表型实体的字符标记为“O”。
本发明与基于词的方法和基于字的LSTM-CRF方法相比,本发明可以显著的提高实体识别的准确率。按照严格指标计算,本发明取得了最佳效果,其性能测试结果如表1所示(其中,Precision表示准确率,Recall表示召回率,F1score表示Precision和Recall的调和平均数):
表1性能测试结果
由上表可知,本发明总体命名实体识别的F1_score达到了92.66%,实体识别的准确率显著提高。
Claims (7)
1.一种中文电子病历命名实体抽取方法,其特征在于,该方法包括以下步骤:
步骤一,通过字符嵌入层将输入语句中的每个字映射为一个向量;
步骤二,采用LSTM模型输入字符序列,获得隐表示向量;将每个字作为以该字为结尾的语义单位的最后一个字,进行语义分割,得到该字对应的所有网格编码;将每个字的所有网格编码进行线性组合,得到最后的每个字符的向量,其中,线性组合中的权重由自注意力机制给出;
步骤三,采用残差递归网络即ResLSTM作为输出解码层,解码出命名实体链,其中,注意力机制模型的输出作为残差递归网络的输入;
所述ResLSTM中包含两种映射,一种是恒等映射x,表示其本身;另一种是残差映射F(x),所述残差递归网络最后输出为H(x)=F(x)+x,其中,所述F(x)为长短时记忆网络;
所述ResLSTM利用语境的高层语义特征进行校正分类,包括LSTM模型和softmax层,通过LSTM层提取抽象的局部语义特征,对分类概率进行校正;通过softmax层将高层的语义特征变换为预定义类别的概率;其中,
LSTM:(0,0,Ai-R,i+R)→Oi 公式(12)
公式(12)中,0表示初始状态置零;Ai-R,i+R表示第i-R到i+R个字符之间的字符语义编码;Oi表示提取的中心字符i的潜在语义特征;
softmax层:Prob=Softmax(O+A) 公式(13)
公式(13)中,Prob即为所得的实体识别结果,O表示Oi所连接成的矩阵,O=[O1,O2,…,On];A表示Ai所连接成的矩阵,A=[A1,A2,…,An];
公式(14)表示对于Self-Lattice层的输出做的Padding处理,以其作为残差层的输入,其中,将残差层的输入序列以补0的方式前后各延长R个单位。
5.根据权利要求2所述的中文电子病历命名实体抽取方法,其特征在于,在步骤二中,网格wb,e的计算方法如下:
初始状态:(cb-1;hb-1)=(Cb-1;Hb-1)
输出状态:(cb,e;hb,e)=(ce;he)
其中:wb,e:=Concat(cb,e,hb,b)
At:=Concat(Ct,Ht)
其中,t∈{1,2,…,n},b∈{1,2,…,n},e∈{1,2,…,n};wb,e表示字符序列中第b个到第e个字符构成的连续字符串所形成的网格;cb-1和hb-1表示第b-1个时间步的内在状态和输出状态,Cb-1和Hb-1分别表示构成Ab-1的两部分向量,b-1表示第b-1个时间步上的对应向量;cb,e和hb,e表示字序列中从第b个到第e个之间的字符子串中每个字符依次输入到模型后,得到的最末内在状态和最末输出状态,也即第e个内在状态和输出状态,ce和he表示第e个时间步的内在状态和输出状态;
序列中第t个位置上字符在经过自注意力机制后的输出值At表示为:At:=Concat(Ct,Ht);其中,Ct和Ht分别表示构成At的两部分向量,t表示第t个时间步上的对应向量,每个At分别由内在状态向量Ct和输出状态向量Ht构成。
6.根据权利要求5所述的中文电子病历命名实体抽取方法,其特征在于,所述自注意力机制控制信息流动方向的计算公式如下:
其中,Query、Key、Value表示自注意力模块的三个输入矩阵,dk表示矩阵Query的列数;
所述自注意力机制为多头注意力机制,多头注意力机制模型如下:
MultiHead(Q,K,V)=Concat(head1,head2,…,headh)·WO
Q=K=V=X=(we,e,we-1,e,we-2,e,…,we-w+1,e)
Ae=Tanh(Relu(MultiHead(Q,K,V))·Watt)
7.一种中文电子病历命名实体抽取系统,其特征在于,根据权利要求1-6任一项所述的中文电子病历命名实体抽取方法进行抽取,该系统包括:
初始化单元,用于通过字符嵌入层将输入语句中的每个字映射为一个向量;
自适应单元,用于输出最后的字符向量;以及
解码单元,用于采用残差递归网络ResLSTM作为输出解码层,解码出命名实体链,其中,注意力机制模型的输出作为残差递归网络的输入;
其中,所述自适应单元包括:
LSTM处理模块,用于采用LSTM模型输入字符序列,获得隐表示向量;
网格编码模块,用于将每个字作为以该字为结尾的语义单位的最后一个字,进行语义分割,得到该字对应的所有网格编码;
权重分析模块,用于将每个字的所有网格编码线性组合,采用自注意力机制分析权重,输出最后的字符向量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910313195.8A CN110032739B (zh) | 2019-04-18 | 2019-04-18 | 中文电子病历命名实体抽取方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910313195.8A CN110032739B (zh) | 2019-04-18 | 2019-04-18 | 中文电子病历命名实体抽取方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110032739A CN110032739A (zh) | 2019-07-19 |
CN110032739B true CN110032739B (zh) | 2021-07-13 |
Family
ID=67238932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910313195.8A Active CN110032739B (zh) | 2019-04-18 | 2019-04-18 | 中文电子病历命名实体抽取方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110032739B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110766955B (zh) * | 2019-09-18 | 2022-08-26 | 平安科技(深圳)有限公司 | 基于动作预测模型的信号调节方法、装置和计算机设备 |
CN110619124B (zh) * | 2019-09-19 | 2023-06-16 | 成都数之联科技股份有限公司 | 一种结合注意力机制与双向lstm的命名实体识别方法及系统 |
CN110851575B (zh) * | 2019-09-23 | 2022-09-16 | 深思考人工智能科技(上海)有限公司 | 一种对话生成系统及对话实现方法 |
CN110750992B (zh) * | 2019-10-09 | 2023-07-04 | 吉林大学 | 命名实体识别方法、装置、电子设备及介质 |
CN111914097A (zh) * | 2020-07-13 | 2020-11-10 | 吉林大学 | 基于注意力机制和多层级特征融合的实体抽取方法与装置 |
CN112016274B (zh) * | 2020-09-08 | 2024-03-08 | 平安科技(深圳)有限公司 | 医学文本结构化方法、装置、计算机设备及存储介质 |
CN112084336A (zh) * | 2020-09-09 | 2020-12-15 | 浙江综合交通大数据中心有限公司 | 一种高速公路突发事件的实体提取和事件分类方法及装置 |
CN112148882B (zh) * | 2020-11-27 | 2021-09-10 | 北京惠及智医科技有限公司 | 病历文本处理方法、装置、电子设备及存储介质 |
CN112711948B (zh) * | 2020-12-22 | 2022-11-11 | 北京邮电大学 | 一种中文句子的命名实体识别方法及装置 |
CN112685549B (zh) * | 2021-01-08 | 2022-07-29 | 昆明理工大学 | 融入篇章语义的涉案新闻要素实体识别方法及系统 |
CN113536799B (zh) * | 2021-08-10 | 2023-04-07 | 西南交通大学 | 基于融合注意力的医疗命名实体识别建模方法 |
CN114154493B (zh) * | 2022-01-28 | 2022-06-28 | 北京芯盾时代科技有限公司 | 一种短信类别的识别方法及装置 |
CN114334159B (zh) * | 2022-03-16 | 2022-06-17 | 四川大学华西医院 | 一种术后风险预测自然语言数据增强模型及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108460013A (zh) * | 2018-01-30 | 2018-08-28 | 大连理工大学 | 一种基于细粒度词表示模型的序列标注模型 |
CN108604227A (zh) * | 2016-01-26 | 2018-09-28 | 皇家飞利浦有限公司 | 用于神经临床释义生成的系统和方法 |
CN108647214A (zh) * | 2018-03-29 | 2018-10-12 | 中国科学院自动化研究所 | 基于深层神经网络翻译模型的解码方法 |
CN109471895A (zh) * | 2018-10-29 | 2019-03-15 | 清华大学 | 电子病历表型抽取、表型名称规范化方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8380650B2 (en) * | 2007-01-29 | 2013-02-19 | Nec Corporation | Information extraction rule making support system, information extraction rule making support method, and information extraction rule making support program |
CN104915386B (zh) * | 2015-05-25 | 2018-04-27 | 中国科学院自动化研究所 | 一种基于深度语义特征学习的短文本聚类方法 |
CN106202054B (zh) * | 2016-07-25 | 2018-12-14 | 哈尔滨工业大学 | 一种面向医疗领域基于深度学习的命名实体识别方法 |
CN106650813B (zh) * | 2016-12-27 | 2019-11-15 | 华南理工大学 | 一种基于深度残差网络和lstm的图像理解方法 |
CN107977361B (zh) * | 2017-12-06 | 2021-05-18 | 哈尔滨工业大学深圳研究生院 | 基于深度语义信息表示的中文临床医疗实体识别方法 |
-
2019
- 2019-04-18 CN CN201910313195.8A patent/CN110032739B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108604227A (zh) * | 2016-01-26 | 2018-09-28 | 皇家飞利浦有限公司 | 用于神经临床释义生成的系统和方法 |
CN108460013A (zh) * | 2018-01-30 | 2018-08-28 | 大连理工大学 | 一种基于细粒度词表示模型的序列标注模型 |
CN108647214A (zh) * | 2018-03-29 | 2018-10-12 | 中国科学院自动化研究所 | 基于深层神经网络翻译模型的解码方法 |
CN109471895A (zh) * | 2018-10-29 | 2019-03-15 | 清华大学 | 电子病历表型抽取、表型名称规范化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110032739A (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110032739B (zh) | 中文电子病历命名实体抽取方法及系统 | |
CN111382272B (zh) | 一种基于知识图谱的电子病历icd自动编码方法 | |
CN112527999B (zh) | 引入农业领域知识的抽取式智能问答方法及系统 | |
CN112002411A (zh) | 一种基于电子病历的心脑血管病知识图谱问答方法 | |
CN111737975A (zh) | 文本内涵质量的评估方法、装置、设备及存储介质 | |
CN117076653B (zh) | 基于思维链及可视化提升上下文学习知识库问答方法 | |
EP4211591A1 (en) | Method and system for identifying citations within regulatory content | |
CN113704546A (zh) | 基于空间时序特征的视频自然语言文本检索方法 | |
CN117151220B (zh) | 一种基于实体链接与关系抽取的行业知识库系统及方法 | |
CN116682553A (zh) | 一种融合知识与患者表示的诊断推荐系统 | |
CN113657105A (zh) | 基于词汇增强的医学实体抽取方法、装置、设备及介质 | |
CN111428513A (zh) | 一种基于卷积神经网络的虚假评论分析方法 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN110852076B (zh) | 一种自动化疾病编码转换的方法及装置 | |
CN117708339B (zh) | 一种基于预训练语言模型的icd自动编码方法 | |
CN113920379A (zh) | 一种基于知识辅助的零样本图像分类方法 | |
CN115757801B (zh) | 用于医疗文本的基于决策树的模型训练方法和装置 | |
CN116719840A (zh) | 一种基于病历后结构化处理的医疗信息推送方法 | |
CN114997190A (zh) | 机器翻译方法、装置、计算机设备和存储介质 | |
CN114580423A (zh) | 一种基于Bert与Scat的页岩气领域命名实体识别方法 | |
CN114387602A (zh) | 医疗ocr数据优化模型训练方法、优化方法及设备 | |
CN114372467A (zh) | 命名实体抽取方法及装置、电子设备、存储介质 | |
CN114444467A (zh) | 一种中医文献内容分析方法和装置 | |
CN113486668A (zh) | 一种电力知识实体识别方法、装置、设备和介质 | |
CN113821571A (zh) | 基于bert和改进pcnn的食品安全关系抽取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |