CN112487820B - 一种中文医疗命名实体识别方法 - Google Patents
一种中文医疗命名实体识别方法 Download PDFInfo
- Publication number
- CN112487820B CN112487820B CN202110157254.4A CN202110157254A CN112487820B CN 112487820 B CN112487820 B CN 112487820B CN 202110157254 A CN202110157254 A CN 202110157254A CN 112487820 B CN112487820 B CN 112487820B
- Authority
- CN
- China
- Prior art keywords
- word
- vector
- medical
- text
- function
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Machine Translation (AREA)
- Medical Treatment And Welfare Office Work (AREA)
Abstract
本发明公开了一种中文医疗命名实体识别方法,通过基于注意力机制的语言预处理模型生成医疗文本中每个字的特征向量,通过基于双向门控循环网络的医疗实体识别模型生成最终的标签序列,根据标签序列识别医疗命名实体,基于注意力机制的语言预处理模型在实体识别之前预先生成增强语义的字向量,并在医疗实体识别模型中加入多头注意力层以提取医疗文本中字的多重语义,本发明不仅识别效果好,而且识别速度快。
Description
技术领域
本发明涉及一种医疗命名实体识别方法,属于自然语言处理中命名实体识别技术领域。
背景技术
自然语言处理是近几年热门研究方向,其目的是让计算机理解人类的语言并进行有效交互。命名实体识别技术是自然语言处理中一项非常重要的技术,其目的是识别语句中包含特定意义的实体,包括人名,地名,机构名,专有名词等。具体的命名实体识别任务又可分为通用领域的命名实体识别和特定领域的命名实体识别,如金融,医疗,军事领域等,本发明提出的命名实体识别方法基于医疗领域,主要用于识别电子病历,体检报告,药方等文本中的中文医疗命名实体,具体可应用于中文医疗知识图谱构建,智能医疗聊天机器人等多个应用场景中。
早期医疗领域命名实体识别主要采用基于词典和规则的方法,主要通过手动构建的医疗领域词典和定制的识别规则来识别命名实体。后来,基于统计学习的机器学习方法被应用于医疗命名实体识别模型中,其中运用较多的是条件随机场模型。近年来,随着硬件计算能力的大幅度提高,基于深度神经网络的方法已经被广泛地应用到医疗命名实体识别中,其中最常见的是使用双向长短期记忆网络和条件随机场的组合模型。
发明内容
发明目的:为了克服现有技术中难以应对医疗文本中命名实体专业性较强,实体之间互相嵌套,以及一字多义问题,本发明提供一种中文医疗命名实体识别方法,通过基于注意力机制的语言预处理模型生成医疗文本中每个字的特征向量,通过基于双向门控循环网络的医疗实体识别模型生成最终的标签序列,根据标签序列识别医疗命名实体,基于注意力机制的语言预处理模型在实体识别之前预先生成增强语义的字向量,并在医疗实体识别模型中加入多头注意力层以提取医疗文本中字的多重语义,从而有效提高识别效果。医疗领域缺乏高质量的标注数据,长短期记忆网络模型参数较多,训练时间较长,因此本发明使用双向门控循环网络代替双向长短期记忆神经网络,以提高实体识别的速度。
技术方案:为实现上述目的,本发明采用的技术方案为:
一种中文医疗命名实体识别方法,包括基于注意力机制的语言预处理模型和医疗实体识别模型。在语言预处理模型中,引入注意力机制,从而使生成的字向量可以学习到字符间长距离依赖关系,增强字向量的语义特征,例如对于包含中文医疗信息的文本,如电子病历,药方,体检报告等,首先将文本分割为字符,然后通过基于注意力机制的语言预处理模型生成每个字符的字向量。在医疗实体识别模型中,使用双向门控循环网络代替双向长短期记忆网络以提高模型训练速度,并添加多头注意力层进一步提取字的多重语义信息,提升了医疗命名实体识别的准确率,最后使用条件随机场生成最终的标签序列,根据标签序列识别文本中的医疗命名实体。中文医疗命名实体识别方法主要应用于医疗信息抽取,在中文医疗机器人,中文医疗知识图谱等多个领域具有重要的应用价值。传统的命名实体识别方法一般基于双向长短期记忆网络和条件随机场,双向长短期记忆网络无法并行处理数据,训练速度较慢,同时其对于中文医疗文本中存在的实体专业性较强,实体相互嵌套等问题缺乏良好的应对方案,因此本发明通过使用双向门控循环网络代替双向长短期记忆网络以提高训练速度,并通过一种基于注意力机制的语言预处理模型对字符进行训练并生成字向量,增强字的语义表示,同时在医疗实体识别模型的双向门控循环网络层后添加多头注意力层,进一步挖掘医疗文本的局部特征以及字的多重语义信息,从而提高了中文医疗命名实体识别的准确率和识别效率,具体包括以下步骤:
步骤1,将用于训练的医疗文本进行字符级切分,得到用于训练的医疗文本切分字符。将用于识别的医疗文本进行字符级切分得到用于识别的医疗文本切分字符。
步骤2,对用于训练的医疗文本切分字符进行标注,得到用于训练的标注医疗文本,其中,医疗命名实体的开始字符标注为‘B’,医疗命名实体的非开始字符标注为‘I’,不是实体的字符标注为‘O’。
步骤3,使用步骤2得到的用于训练的标注医疗文本对基于注意力机制的语言预处理模型进行训练,得到训练好的基于注意力机制的语言预处理模型。基于注意力机制的语言预处理模型包括依次连接的字嵌入层、位置向量嵌入层和注意力机制层。
步骤3.1,将步骤2得到的用于训练的标注医疗文本以句为单位送入基于注意力机
制的语言预处理模型的字嵌入层。字嵌入层使用跳字模型生成每一个字的字向量。跳字模
型使用一个中间字预测其周围的字,对于长度为L的医疗文本,文本序列中第个字表示为,最大化给定一随机中心字生成其所有背景字的概率:
其中,表示从文本中的第一个字开始计算概率,
表示对于每一个中心字计算所有与其距离不超过的背景字的出现概率,表示窗口大
小,表示以为中心字,为窗口大小,其各个背景字的出现概
率,式(1)等价于最小化第一损失函数:
其中,表示索引为的中心字向量,表示索引为的背景字向量,表示背
景字向量的转置,表示两个向量的点乘,表示对文本中的每一个字符都进行
点乘,表示以自然常数e为底数的指数函数。使用随机梯度下降法求解上式中的中心字
向量的梯度:
步骤3.2,将字嵌入层生成的字向量送往位置向量嵌入层,位置向量嵌入层使用位置向量表示每个字符的位置关系,并将字向量和位置向量叠加,获取字的新特征向量。位置向量计算公式如公式(5)和公式(6)所示:
其中,为二维矩阵,矩阵的列数和之前生成的字向量维度相同,的行表示每
一个字,列表示每一个字在各维度的位置向量,总列数等于字向量的总维数。为位置
向量的总维度,表示向量具体的维数,表示索引为的字的位置向量在偶数维度
的值,使用正弦函数计算。表示索引为的字的位置向量在奇数维度的值,使用余
弦函数计算。最后将位置向量和字向量相加得到字的新特征向量,如公式(7)所示:
步骤3.3,使用注意力机制学习字符间的长距离依赖关系,使字向量包含句中其它所有字的信息。注意力机制层的输出为最终生成字向量,进而完成基于注意力机制的语言预处理模型的训练。
步骤4,使用步骤2得到的用于训练的标注医疗文本对医疗实体识别模型进行训练,得到训练好的医疗实体识别模型,医疗实体识别模型包括依次连接的双向门控循环网络层、多头注意力层和条件随机场层。
步骤4 .1,使用双向门控循环网络层对字向量进行双向编码,双向门控循环网络层包括一个正向门控循环网络层和一个反向门控循环网络层,正向门控循环网络层学习后文特征,反向门控循环网络层学习前文特征,从而使生成的向量更好地捕捉前后文语义信息,学习上下文关系。门控循环网络层仅由更新门和重置门组成 ,其中更新门决定过去传递到未来的信息量,重置门决定过去信息的被遗忘量,门控循环网络层计算如公式(10)-公式(13)所示:
其中,为更新门在时刻的输出状态,为重置门在时刻的输出状态,为候
选状态,表示时刻网络的输出状态,表示当前时刻的输入状态,表示上一时刻门
控循环网络节点输出的隐藏状态,表示函数,表示激励函数为训练
更新门的权重参数,为训练重置门的权重参数,为计算候选状态时所用的权重
参数。表示两个向量相连。更新门用来控制当前时刻网络的输出状态中要保
留多少历史状态,重置门的作用是决定了候选状态对上一时刻门控循环网络节点
输出的隐藏状态的依赖程度。
其中,表示个注意力头计算的结果,表示总共有个注意力头,为生
成查询向量的权重参数,为生成键向量的权重参数,为生成值向量的权重参数,为维度的调节平滑项,为归一化指数函数,最后,拼接这次的计算
结果并做一次线性变换,得到对于每一时刻通过双向门控循环网络层的时刻网络的输
出状态的多头注意力运算结果,如公式(17)所示:
其中,表示输入句子x生成标签序列y的打分函数,为序列长度,为转移
得分矩阵,表示由标签转移到标签的转移得分,和表示句中起始和
终止标签,表示第个字被标记为的概率。归一化得到标签序列的最大概率,如
公式(19):
使用最大似然估计法求解医疗实体识别模型的最小化第二损失函数,如公式(20):
最后,根据标签序列识别文本中的医疗命名实体。其中,如果字符标注为(B),则代表其是医疗命名实体的首字符,如果字符标注为(I),则代表其是医疗命名实体的非开始部分,如果字符标注为(O),则代表其不是医疗命名实体。
步骤5,识别时,将用于识别的医疗文本切分字符导入到训练好的基于注意力机制的语言预处理模型中生成字向量。将得到的生成字向量导入训练好的医疗实体识别模型中识别文本中的医疗命名实体。
优选的:步骤3.3中注意力机制计算公式如公式(8)所示:
优选的:归一化指数函数softmax函数:
优选的:步骤4 .1中激励函数值域为(-1,1),表达式如公式(15)所示:
优选的:步骤4.3中利用维特比算法求得全局最优序列,如公式(21)所示:
本发明相比现有技术,具有以下有益效果:
本发明使用基于注意力机制的语言预处理模型对文本进行预处理并生成对应的字向量,使用双向门控循环网络层对字向量进行双向编码,使用多头注意力层进一步获取文本的局部特征以及实体的多重语义,最后使用条件随机场层生成最终的标签序列,根据标签序列识别文本中的医疗命名实体,解决了中文医疗命名实体识别不准确以及识别速度较慢的问题。通过基于注意力机制的语言预处理模型,对医疗文本中的每一个字生成包含字的位置特征和字符间联系的字向量,增强了字的语义表示。医疗实体识别模型中,使用双向门控循环网络代替了双向长短期记忆网络,一定程度上减小了训练的开销,提升模型训练的效率,并添加多头注意力层,进一步学习了医疗文本的局部特征以及字的多重语义,提升了医疗命名实体识别的准确率。
附图说明
图1为本发明具体流程示意图。
图2为基于注意力机制的语言预处理模型框架。
图3为医疗实体识别模型框架。
图4为门控循环网络示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种中文医疗命名实体识别方法,首先使用医疗文本在进行分割和标记处理后,对语言预处理模型进行训练,然后将待识别的医疗文本送入训练好的语言预处理模型生成增强语义的字向量,然后使用经过训练的医疗实体识别模型根据字向量生成标签序列,最后根据标签序列识别医疗命名实体,如图1所示,具体包括以下步骤:
步骤1,将用于训练的医疗文本进行字符级切分,得到用于训练的医疗文本切分字符。如医疗文本为‘未见明显骨折’,切分后为字符‘未’,‘见’,‘明’,‘显’,‘骨’,‘折’。将用于识别的医疗文本进行字符级切分得到用于识别的医疗文本切分字符。如输入文本为‘持续发热四天’,则经过处理后的文本为‘持’,‘续’,‘发’,‘热’,‘四’,‘天’。
步骤2,对用于训练的医疗文本切分字符进行标注,得到用于训练的标注医疗文本,其中,医疗命名实体的开始字符标注为‘B’,医疗命名实体的非开始字符标注为‘I’,不是实体的字符标注为‘O’。如对于医疗文本‘未见明显骨折’,最终的标注序列为‘未(O)’,‘见(O)’,‘明(O)’,‘显(O)’,‘骨(B)’,‘折(I)’,其中’BIO’标注用于区分医疗命名实体,为后续的医疗实体识别模型训练作准备。
步骤3,使用步骤2得到的用于训练的标注医疗文本对基于注意力机制的语言预处理模型进行训练,得到训练好的基于注意力机制的语言预处理模型。如图2所示,基于注意力机制的语言预处理模型包括依次连接的字嵌入层、位置向量嵌入层和注意力机制层,对于分割后的文本,首先通过字嵌入层使用跳字模型生成字向量,然后在位置向量嵌入层通过加入位置向量学习每个字符的位置信息,最后在注意力机制层学习每个字符和其它所有字符的联系,从而加强字的语义表示。
步骤3.1,将步骤2得到的用于训练的标注医疗文本以句为单位送入基于注意力机
制的语言预处理模型的字嵌入层。字嵌入层使用跳字模型生成每一个字的字向量。跳字模
型使用一个中间字预测其周围的字,对于长度为L的医疗文本,文本序列中第个字表示为,最大化给定一随机中心字生成其所有背景字的概率:
其中,表示从文本中的第一个字开始计算概率,
表示对于每一个中心字计算所有与其距离不超过m的背景字的出现概率,表示窗口大小,
生成的背景字与中心字的距离不大于,表示以为中心字,为窗
口大小,其各个背景字的出现概率,式(1)等价于最小化第一损失函数:
其中,表示索引为的中心字向量,表示索引为的背景字向量,表示背景
字向量的转置,表示两个向量的点乘,表示对文本中的每一个字符都进行点
乘,表示以自然常数e为底数的指数函数。使用随机梯度下降法求解上式中的中心字向
量的梯度:
使用式(4)迭代训练基于注意力机制的语言预处理模型直到第一损失函数值小于
第一阈值,第一阈值为事先设定好的常量,训练结束后,对于医疗文本中任意一索引
为的字,均得到其作为中心字的向量,使用作为字嵌入层的最终输出向量。
步骤3.2,将字嵌入层生成的字向量送往位置向量嵌入层,位置向量嵌入层使用位置向量表示每个字符的位置关系,并将字向量和位置向量叠加,获取字的新特征向量。位置向量计算公式如公式(5)和公式(6)所示:
其中,为二维矩阵,矩阵的列数和之前生成的字向量维度相同,的行表示每
一个字,列表示每一个字在各维度的位置向量,总列数等于字向量的总维数。表示字在医
疗文本中的索引,为位置向量的总维度,表示向量具体的维数,表示索引
为的字的位置向量在偶数维度的值,使用正弦函数计算。表示索引为的字的
位置向量在奇数维度的值,使用余弦函数计算。最后将位置向量和字向量相加得到字的新
特征向量,如公式(7)所示:
其中,表示索引为的字的位置向量,表示任意一索引为的字作为中心字
的字向量,表示嵌入了位置信息的新特征向量。在字向量中嵌入位置向量的目的是为
后续的注意力计算做准备。如果医疗文本中一个字和文本中另外两个内容相同但是所在位
置不同的字进行注意力计算,如果没有嵌入位置向量以表示区别,则会得到相同的注意力
计算结果,但事实上该字和这两个字的关联程度是不相同的,因此,必须使用位置向量表示
每个字符的位置关系。
步骤3.3,使用注意力机制学习字符间的长距离依赖关系,使字向量包含句中其它所有字的信息。字嵌入层生成的字向量使用背景字预测中心字,无法学习长距离字符的依赖关系。加入注意力机制,可以使字向量学习到句中所有其它字符的依赖关系。注意力机制具体计算公式如公式(8)所示:
注意力机制计算公式如公式(8)所示:
其中,表示注意力打分函数,表示查询向量,表示键向
量,表示值向量,,,通过字向量与对应的权重矩阵相乘获得。表示键向量维数
的平方根,用来防止相乘结果过大,函数为归一化指数函数,其具体数学表达式
如公式(9)所示:
注意力机制层的输出即为语言预处理模型最终生成的字向量。函数的
作用是对文本中所有字符打分并归一化,每个字符的分数都为正值且和为1。因此公式(8)
本质上是对文本中每一个字符的值向量进行加权求和,的值即为对应值向
量的权重系数。注意力机制层的输出为最终生成字向量,进而完成基于注意力机制的语言
预处理模型的训练。最终生成的字向量包含了字的位置信息以及句中每一个其它字符的依
赖关系,从而增强了字的语义,提高了医疗实体识别模型的准确率。
步骤4,使用步骤2得到的用于训练的标注医疗文本对医疗实体识别模型进行训
练,得到训练好的医疗实体识别模型,如图3所示,医疗实体识别模型包括依次连接的双向
门控循环网络层、多头注意力层和条件随机场层。医疗文本首先通过训练好的语言预处理
模型,生成对应的字向量。双向门控循环网络层由两层门控循环网络组成,对字向量进行双
向编码,充分学习前后文关系。多头注意力层对于双向门控循环网络层的输出进行多次
注意力运算,从而进一步学习医疗文本的局部特征以及字的多重语义,最后使用条件随机
场层生成最终的标签序列,根据标签序列识别医疗命名实体。
步骤4 .1,使用双向门控循环网络层对字向量进行双向编码,以充分学习前后文
关系,医疗领域命名实体构成复杂,实体的子序列也有可能是实体,如‘脾脏切除术’和‘脾
脏’,同时字符前后具有较强的关联性,在使用神经网络训练时要充分考虑字上下文的关
系。传统的命名实体识别模型常使用双向长短期记忆网络进行编码,但是长短期记忆网络
参数较多,训练速度较慢。双向门控循环网络层包括一个正向门控循环网络层和一个反向
门控循环网络层,正向门控循环网络层学习后文特征,反向门控循环网络层学习前文特征,
从而使生成的向量更好地捕捉前后文语义信息,学习上下文关系。门控循环网络是长短期
记忆网络的变体,仅由更新门和重置门组成 ,其中更新门决定过去传递到未来的信息量,
重置门决定过去信息的被遗忘量,相比于长短期记忆网络,双向门控循环网络参数更少,模
型精简,计算速度更快,更适合用于本发明提出的医疗实体识别模型。门控循环网络的具体
结构如图4所示,图中,表示向量的加权运算,表示数与矩阵的点乘算法,具体计算结
构如公式(10)-公式(13)所示:
其中,为更新门在时刻的输出状态,为重置门在时刻的输出状态,为候
选状态,表示时刻网络的输出状态,表示当前时刻的输入状态,表示上一时刻
门控循环网络节点输出的隐藏状态,表示函数,表示激励函数为训
练更新门的权重参数,为训练重置门的权重参数,为计算候选状态时所用的权
重参数,表示两个向量相连。更新门用来控制当前时刻网络的输出状态中要
保留多少历史状态,重置门的作用是决定了候选状态对上一时刻门控循环网络节
点输出的隐藏状态的依赖程度。
激励函数值域为(-1,1),表达式如公式(15)所示:
步骤4 .2,使用多头注意力层进一步提取多重语义含义:医疗文本中存在一词多
义现象,因此在双向门控循环网络后添加多头注意力层,进一步学习实体的依赖关系,捕捉
字的多重语义。头注意力层实质上是进行多次注意力运算,对于通过双向门控循环网络层
的时刻网络的输出状态,首先通过公式(16)进行单头注意力计算:
其中,表示个注意力头计算的结果,表示总共有个注意力头,即共计算次,为生成查询向量的权重参数,为生成键向量的权重参数,为生成值向量的
权重参数,为维度的调节平滑项,防止向量乘积过大,为归一化指数函
数,最后,拼接这次的计算结果并做一次线性变换,得到对于每一时刻通过双向门控循
环网络层的时刻网络的输出状态的多头注意力运算结果,如公式(17)所示:
步骤4.3,使用条件随机场层获取最优标签序列:在医疗命名实体识别模型中,双
向门控循环网络层只能获取包含进一步上下文信息的字向量,即使加入多头注意力层也无
法考虑标签之间的依赖关系,比如(I)标签必须在(B)标签之后。因此本发明采用条件随机
场层考虑标签之间的相邻关系来获取全局最优的标签序列。条件随机场模型是一种经典的
判别式概率无向图模型,该模型经常被应用于序列标注任务中,对于输入句子,句子标签序列 的打分为:
其中,表示输入句子x生成标签序列y的打分函数,为序列长度,为转
移得分矩阵,表示由标签转移到标签的转移得分,和表示句中
起始和终止标签,,这两个标签只在计算时临时添加,表示第个字被标记为的概
率。归一化得到标签序列的最大概率,如公式(19):
使用最大似然估计法求解医疗实体识别模型的最小化第二损失函数,如公式(20):
其中,表示第二损失函数值,迭代训练医疗实体识别模型直至第二损失函数
值小于第二阈值,第二阈值为事先设定好的常量,然后,利用维特比算法求得全
局最优序列,全局最优序列即为最终医疗领域命名实体识别的标注结果,如公式(21)所示:
最后,根据标签序列识别文本中的医疗命名实体。其中,如果字符标注为(B),则代表其是医疗命名实体的首字符,如果字符标注为(I),则代表其是医疗命名实体的非开始部分,如果字符标注为(O),则代表其不是医疗命名实体。如输入文本为‘持续发热四天’,则最终标注为‘持(O)’,‘续(O)’,‘发(B)’,‘热(I)’,‘四(O)’‘天(O)’根据标注识别出医疗命名实体‘发热’。
步骤5,识别时,将用于识别的医疗文本切分字符导入到训练好的基于注意力机制的语言预处理模型中生成字向量。将得到的生成字向量导入训练好的医疗实体识别模型中识别文本中的医疗命名实体。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (4)
1.一种中文医疗命名实体识别方法,其特征在于,包括以下步骤:
步骤1,将用于训练的医疗文本进行字符级切分,得到用于训练的医疗文本切分字符;将用于识别的医疗文本进行字符级切分得到用于识别的医疗文本切分字符;
步骤2,对用于训练的医疗文本切分字符进行标注,得到用于训练的标注医疗文本,其中,医疗命名实体的开始字符标注为‘B’,医疗命名实体的非开始字符标注为‘I’,不是实体的字符标注为‘O’;
步骤3,使用步骤2得到的用于训练的标注医疗文本对基于注意力机制的语言预处理模型进行训练,得到训练好的基于注意力机制的语言预处理模型;基于注意力机制的语言预处理模型包括依次连接的字嵌入层、位置向量嵌入层和注意力机制层;
步骤3.1,将步骤2得到的用于训练的标注医疗文本以句为单位送入基于注意力机制的
语言预处理模型的字嵌入层;字嵌入层使用跳字模型生成每一个字的字向量;跳字模型使
用一个中间字预测其周围的字,对于长度为L的医疗文本,文本序列中第个字表示为,
最大化给定一随机中心字生成其所有背景字的概率:
其中,表示从文本中的第一个字开始计算概率,表示
对于每一个中心字计算所有与其距离不超过的背景字的出现概率,表示窗口大小,表示以为中心字,为窗口大小,其各个背景字的出现概率,
式(1)等价于最小化第一损失函数:
步骤3.2,将字嵌入层生成的字向量送往位置向量嵌入层,位置向量嵌入层使用位置向量表示每个字符的位置关系,并将字向量和位置向量叠加,获取字的新特征向量;位置向量计算公式如公式(5)和公式(6)所示:
其中,为二维矩阵,矩阵的列数和之前生成的字向量维度相同,的行表示每一个
字,列表示每一个字在各维度的位置向量,总列数等于字向量的总维数;为位置向量
的总维度,表示向量具体的维数,表示索引为的字的位置向量在偶数维度的
值,使用正弦函数计算;表示索引为的字的位置向量在奇数维度的值,使用余
弦函数计算;最后将位置向量和字向量相加得到字的新特征向量,如公式(7)所示:
步骤3.3,使用注意力机制学习字符间的长距离依赖关系,使字向量包含句中其它所有字的信息;注意力机制层的输出为最终生成字向量,进而完成基于注意力机制的语言预处理模型的训练;
注意力机制计算公式如公式(8)所示:
归一化指数函数softmax函数:
步骤4,使用步骤2得到的用于训练的标注医疗文本对医疗实体识别模型进行训练,得到训练好的医疗实体识别模型,医疗实体识别模型包括依次连接的双向门控循环网络层、多头注意力层和条件随机场层;
步骤4 .1,使用双向门控循环网络层对字向量进行双向编码,双向门控循环网络层包括一个正向门控循环网络层和一个反向门控循环网络层,正向门控循环网络层学习后文特征,反向门控循环网络层学习前文特征,从而使生成的向量更好地捕捉前后文语义信息,学习上下文关系;门控循环网络层仅由更新门和重置门组成 ,其中更新门决定过去传递到未来的信息量,重置门决定过去信息的被遗忘量,门控循环网络层计算如公式(10)-公式(13)所示:
其中,为更新门在时刻的输出状态,为重置门在时刻的输出状态,为候选状
态,表示时刻网络的输出状态,表示当前时刻的输入状态,表示上一时刻门控循
环网络节点输出的隐藏状态,表示函数,表示激励函数为训练更
新门的权重参数,为训练重置门的权重参数,为计算候选状态时所用的权重
参数;表示两个向量相连;更新门用来控制当前时刻网络的输出状态中要
保留多少历史状态,重置门的作用是决定了候选状态对上一时刻门控循环网络
节点输出的隐藏状态的依赖程度;
其中,表示个注意力头计算的结果,表示总共有个注意力头,为生成查询
向量的权重参数,为生成键向量的权重参数,为生成值向量的权重参数,为维
度的调节平滑项,为归一化指数函数,最后,拼接这次的计算结果并做一次
线性变换,得到对于每一时刻通过双向门控循环网络层的时刻网络的输出状态的多
头注意力运算结果,如公式(17)所示:
其中,表示输入句子x生成标签序列y的打分函数,为序列长度,为转移得分
矩阵,表示由标签转移到标签的转移得分,和表示句中起始和终
止标签,表示第个字被标记为的概率;归一化得到标签序列的最大概率,如公式
(19):
使用最大似然估计法求解医疗实体识别模型的最小化第二损失函数,如公式(20):
最后,根据标签序列识别文本中的医疗命名实体;其中,如果字符标注为(B),则代表其是医疗命名实体的首字符,如果字符标注为(I),则代表其是医疗命名实体的非开始部分,如果字符标注为(O),则代表其不是医疗命名实体;
步骤5,识别时,将用于识别的医疗文本切分字符导入到训练好的基于注意力机制的语言预处理模型中生成字向量;将得到的生成字向量导入训练好的医疗实体识别模型中识别文本中的医疗命名实体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110157254.4A CN112487820B (zh) | 2021-02-05 | 2021-02-05 | 一种中文医疗命名实体识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110157254.4A CN112487820B (zh) | 2021-02-05 | 2021-02-05 | 一种中文医疗命名实体识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112487820A CN112487820A (zh) | 2021-03-12 |
CN112487820B true CN112487820B (zh) | 2021-05-25 |
Family
ID=74912336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110157254.4A Active CN112487820B (zh) | 2021-02-05 | 2021-02-05 | 一种中文医疗命名实体识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112487820B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113033207B (zh) * | 2021-04-07 | 2023-08-29 | 东北大学 | 基于逐层感知机制的生物医学嵌套类型实体识别方法 |
CN113241128B (zh) * | 2021-04-29 | 2022-05-13 | 天津大学 | 基于分子空间位置编码注意力神经网络模型的分子性质预测方法 |
CN113051897B (zh) * | 2021-05-25 | 2021-09-10 | 中国电子科技集团公司第三十研究所 | 一种基于Performer结构的GPT2文本自动生成方法 |
CN113223656A (zh) * | 2021-05-28 | 2021-08-06 | 西北工业大学 | 一种基于深度学习的药物组合预测方法 |
CN114239585B (zh) * | 2021-12-17 | 2024-06-21 | 安徽理工大学 | 一种生物医学嵌套命名实体识别方法 |
CN114692636B (zh) * | 2022-03-09 | 2023-11-03 | 南京海泰医疗信息***有限公司 | 一种基于关系分类与序列标注的嵌套命名实体识别方法 |
CN114332872B (zh) * | 2022-03-14 | 2022-05-24 | 四川国路安数据技术有限公司 | 一种基于图注意力网络的合同文档容错信息提取方法 |
CN115796407B (zh) * | 2023-02-13 | 2023-05-23 | 中建科技集团有限公司 | 一种生产线故障预测方法及相关设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115721A (zh) * | 2020-09-28 | 2020-12-22 | 青岛海信网络科技股份有限公司 | 一种命名实体识别方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368541B (zh) * | 2018-12-06 | 2024-06-11 | 北京搜狗科技发展有限公司 | 命名实体识别方法及装置 |
CN110781683B (zh) * | 2019-11-04 | 2024-04-05 | 河海大学 | 一种实体关系联合抽取方法 |
CN111626056B (zh) * | 2020-04-11 | 2023-04-07 | 中国人民解放军战略支援部队信息工程大学 | 基于RoBERTa-BiGRU-LAN模型的中文命名实体识别方法及装置 |
CN111783466A (zh) * | 2020-07-15 | 2020-10-16 | 电子科技大学 | 一种面向中文病历的命名实体识别方法 |
-
2021
- 2021-02-05 CN CN202110157254.4A patent/CN112487820B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112115721A (zh) * | 2020-09-28 | 2020-12-22 | 青岛海信网络科技股份有限公司 | 一种命名实体识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112487820A (zh) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112487820B (zh) | 一种中文医疗命名实体识别方法 | |
CN109471895B (zh) | 电子病历表型抽取、表型名称规范化方法及*** | |
CN111858931B (zh) | 一种基于深度学习的文本生成方法 | |
CN110083682A (zh) | 一种基于多轮注意力机制的机器阅读理解答案获取方法 | |
CN111738007B (zh) | 一种基于序列生成对抗网络的中文命名实体识别数据增强算法 | |
CN109800437A (zh) | 一种基于特征融合的命名实体识别方法 | |
CN112257449B (zh) | 命名实体识别方法、装置、计算机设备和存储介质 | |
CN111985239A (zh) | 实体识别方法、装置、电子设备及存储介质 | |
CN111881256B (zh) | 文本实体关系抽取方法、装置及计算机可读存储介质设备 | |
CN111460824A (zh) | 一种基于对抗迁移学习的无标注命名实体识别方法 | |
CN113297364A (zh) | 一种面向对话***中的自然语言理解方法及装置 | |
CN111145914B (zh) | 一种确定肺癌临床病种库文本实体的方法及装置 | |
CN113641809A (zh) | 一种基于XLNet-BiGRU-CRF的智能问答方法 | |
CN115600597A (zh) | 基于注意力机制和词内语义融合的命名实体识别方法、装置、***及存储介质 | |
CN114781375A (zh) | 一种基于bert与注意力机制的军事装备关系抽取方法 | |
Yang et al. | Sequence-to-sequence prediction of personal computer software by recurrent neural network | |
CN115169349A (zh) | 基于albert的中文电子简历命名实体识别方法 | |
CN111523320A (zh) | 一种基于深度学习的中文病案分词方法 | |
CN115238693A (zh) | 一种基于多分词和多层双向长短期记忆的中文命名实体识别方法 | |
CN116720519B (zh) | 一种苗医药命名实体识别方法 | |
CN114969343B (zh) | 结合相对位置信息的弱监督文本分类方法 | |
CN116362242A (zh) | 一种小样本槽值提取方法、装置、设备及存储介质 | |
US20240104353A1 (en) | Sequence-to sequence neural network systems using look ahead tree search | |
CN113792120B (zh) | 图网络的构建方法及装置、阅读理解方法及装置 | |
CN115291888A (zh) | 基于自注意力交互式网络的软件社区仓库挖掘方法及装置 |
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 |