CN112487820B - 一种中文医疗命名实体识别方法 - Google Patents

一种中文医疗命名实体识别方法 Download PDF

Info

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
Application number
CN202110157254.4A
Other languages
English (en)
Other versions
CN112487820A (zh
Inventor
司逸晨
管有庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Posts and Telecommunications
Original Assignee
Nanjing University of Posts and Telecommunications
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Posts and Telecommunications filed Critical Nanjing University of Posts and Telecommunications
Priority to CN202110157254.4A priority Critical patent/CN112487820B/zh
Publication of CN112487820A publication Critical patent/CN112487820A/zh
Application granted granted Critical
Publication of CN112487820B publication Critical patent/CN112487820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning 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的医疗文本,文本序列中第
Figure 626399DEST_PATH_IMAGE001
个字表示为
Figure 619763DEST_PATH_IMAGE002
,最大化给定一随机中心字生成其所有背景字的概率:
Figure 967567DEST_PATH_IMAGE003
(1)
其中,
Figure 173421DEST_PATH_IMAGE004
表示从文本中的第一个字开始计算概率,
Figure 555860DEST_PATH_IMAGE005
表示对于每一个中心字计算所有与其距离不超过
Figure 720126DEST_PATH_IMAGE006
的背景字的出现概率,
Figure 165013DEST_PATH_IMAGE006
表示窗口大 小,
Figure 564771DEST_PATH_IMAGE007
表示以
Figure 677083DEST_PATH_IMAGE008
为中心字,
Figure 746670DEST_PATH_IMAGE006
为窗口大小,其各个背景字
Figure 567602DEST_PATH_IMAGE009
的出现概 率,式(1)等价于最小化第一损失函数:
Figure 380838DEST_PATH_IMAGE010
(2)
其中,
Figure 613236DEST_PATH_IMAGE011
表示对数损失函数。
假设中心字
Figure 712779DEST_PATH_IMAGE008
在文本中索引为
Figure 663417DEST_PATH_IMAGE001
,背景字
Figure 280344DEST_PATH_IMAGE012
在文本中索引为
Figure 491882DEST_PATH_IMAGE013
,第一损失函数 中给定中心字生成背景字的条件概率通过归一化指数函数
Figure 903272DEST_PATH_IMAGE014
为:
Figure 934682DEST_PATH_IMAGE015
(3)
其中,
Figure 89720DEST_PATH_IMAGE016
表示索引为
Figure 296710DEST_PATH_IMAGE001
的中心字向量,
Figure 239520DEST_PATH_IMAGE017
表示索引为
Figure 899172DEST_PATH_IMAGE013
的背景字向量,
Figure 592321DEST_PATH_IMAGE018
表示背 景字向量的转置,
Figure 778452DEST_PATH_IMAGE019
表示两个向量的点乘,
Figure 531644DEST_PATH_IMAGE020
表示对文本
Figure 678592DEST_PATH_IMAGE021
中的每一个字符
Figure 300066DEST_PATH_IMAGE022
都进行 点乘,
Figure 950490DEST_PATH_IMAGE023
表示以自然常数e为底数的指数函数。使用随机梯度下降法求解上式中的中心字 向量
Figure 140163DEST_PATH_IMAGE024
的梯度:
Figure 899041DEST_PATH_IMAGE025
(4)
使用式(4)迭代训练基于注意力机制的语言预处理模型直到第一损失函数值小于 第一阈值
Figure 933993DEST_PATH_IMAGE026
,训练结束后,对于医疗文本中任意一索引为
Figure 704503DEST_PATH_IMAGE001
的字,均得到其作为中心字的向 量
Figure 422667DEST_PATH_IMAGE024
步骤3.2,将字嵌入层生成的字向量送往位置向量嵌入层,位置向量嵌入层使用位置向量表示每个字符的位置关系,并将字向量和位置向量叠加,获取字的新特征向量。位置向量计算公式如公式(5)和公式(6)所示:
Figure 544206DEST_PATH_IMAGE027
(5)
Figure 382849DEST_PATH_IMAGE028
(6)
其中,
Figure 132500DEST_PATH_IMAGE029
为二维矩阵,矩阵的列数和之前生成的字向量维度相同,
Figure 663975DEST_PATH_IMAGE029
的行表示每 一个字,列表示每一个字在各维度的位置向量,总列数等于字向量的总维数。
Figure 7232DEST_PATH_IMAGE030
为位置 向量的总维度,
Figure 39779DEST_PATH_IMAGE031
表示向量具体的维数,
Figure 519302DEST_PATH_IMAGE032
表示索引为
Figure 221678DEST_PATH_IMAGE001
的字的位置向量在偶数维度 的值,使用正弦函数计算。
Figure 176865DEST_PATH_IMAGE033
表示索引为
Figure 91731DEST_PATH_IMAGE001
的字的位置向量在奇数维度的值,使用余 弦函数计算。最后将位置向量和字向量相加得到字的新特征向量,如公式(7)所示:
Figure 956919DEST_PATH_IMAGE034
(7)
其中,
Figure 456296DEST_PATH_IMAGE035
表示索引为
Figure 508565DEST_PATH_IMAGE001
的字的位置向量,
Figure 492702DEST_PATH_IMAGE024
表示任意一索引为
Figure 71451DEST_PATH_IMAGE001
的字作为中心字 的字向量,
Figure 850051DEST_PATH_IMAGE036
表示嵌入了位置信息的新特征向量。
步骤3.3,使用注意力机制学习字符间的长距离依赖关系,使字向量包含句中其它所有字的信息。注意力机制层的输出为最终生成字向量,进而完成基于注意力机制的语言预处理模型的训练。
步骤4,使用步骤2得到的用于训练的标注医疗文本对医疗实体识别模型进行训练,得到训练好的医疗实体识别模型,医疗实体识别模型包括依次连接的双向门控循环网络层、多头注意力层和条件随机场层。
步骤4 .1,使用双向门控循环网络层对字向量进行双向编码,双向门控循环网络层包括一个正向门控循环网络层和一个反向门控循环网络层,正向门控循环网络层学习后文特征,反向门控循环网络层学习前文特征,从而使生成的向量更好地捕捉前后文语义信息,学习上下文关系。门控循环网络层仅由更新门和重置门组成 ,其中更新门决定过去传递到未来的信息量,重置门决定过去信息的被遗忘量,门控循环网络层计算如公式(10)-公式(13)所示:
Figure 779830DEST_PATH_IMAGE037
(10)
Figure 567657DEST_PATH_IMAGE038
(11)
Figure 876279DEST_PATH_IMAGE039
(12)
Figure 215993DEST_PATH_IMAGE040
(13)
其中,
Figure 977276DEST_PATH_IMAGE041
为更新门在
Figure 568794DEST_PATH_IMAGE042
时刻的输出状态,
Figure 620670DEST_PATH_IMAGE043
为重置门在
Figure 741073DEST_PATH_IMAGE042
时刻的输出状态,
Figure 520810DEST_PATH_IMAGE044
为候 选状态,
Figure 775074DEST_PATH_IMAGE045
表示
Figure 792709DEST_PATH_IMAGE042
时刻网络的输出状态,
Figure 615171DEST_PATH_IMAGE046
表示当前时刻的输入状态,
Figure 475680DEST_PATH_IMAGE047
表示上一时刻门 控循环网络节点输出的隐藏状态,
Figure 143422DEST_PATH_IMAGE048
表示
Figure 405776DEST_PATH_IMAGE049
函数,
Figure 133560DEST_PATH_IMAGE050
表示激励函数
Figure 356731DEST_PATH_IMAGE051
为训练 更新门
Figure 719842DEST_PATH_IMAGE052
的权重参数,
Figure 977648DEST_PATH_IMAGE053
为训练重置门
Figure 610754DEST_PATH_IMAGE054
的权重参数,
Figure 711434DEST_PATH_IMAGE055
为计算候选状态
Figure 720979DEST_PATH_IMAGE044
时所用的权重 参数。
Figure 833291DEST_PATH_IMAGE056
表示两个向量相连。更新门
Figure 293091DEST_PATH_IMAGE041
用来控制当前时刻网络的输出状态
Figure 490855DEST_PATH_IMAGE045
中要保 留多少历史状态
Figure 304090DEST_PATH_IMAGE047
,重置门
Figure 661122DEST_PATH_IMAGE043
的作用是决定了候选状态
Figure 901610DEST_PATH_IMAGE044
对上一时刻门控循环网络节点 输出的隐藏状态
Figure 852249DEST_PATH_IMAGE047
的依赖程度。
步骤4 .2,使用多头注意力层进一步提取多重语义:多头注意力层实质指进行两 次以上的注意力头运算,对于通过双向门控循环网络层的
Figure 826765DEST_PATH_IMAGE042
时刻网络的输出状态
Figure 648090DEST_PATH_IMAGE057
,首先通 过公式(16)进行单头注意力计算:
Figure 59480DEST_PATH_IMAGE058
(16)
其中,
Figure 356469DEST_PATH_IMAGE059
表示
Figure 511507DEST_PATH_IMAGE060
个注意力头计算的结果,
Figure 452918DEST_PATH_IMAGE060
表示总共有
Figure 425422DEST_PATH_IMAGE060
个注意力头,
Figure 819494DEST_PATH_IMAGE061
为生 成查询向量的权重参数,
Figure 778223DEST_PATH_IMAGE062
为生成键向量的权重参数,
Figure 698775DEST_PATH_IMAGE063
为生成值向量的权重参数,
Figure 717546DEST_PATH_IMAGE064
Figure 959434DEST_PATH_IMAGE065
维度的调节平滑项,
Figure 721853DEST_PATH_IMAGE066
为归一化指数函数,最后,拼接这
Figure 637857DEST_PATH_IMAGE060
次的计算 结果并做一次线性变换,得到对于每一时刻
Figure 686584DEST_PATH_IMAGE042
通过双向门控循环网络层的
Figure 55249DEST_PATH_IMAGE042
时刻网络的输 出状态
Figure 355780DEST_PATH_IMAGE057
的多头注意力运算结果,如公式(17)所示:
Figure 250924DEST_PATH_IMAGE067
(17)
其中,
Figure 345919DEST_PATH_IMAGE068
表示多头注意力层的计算结果,
Figure 201879DEST_PATH_IMAGE069
为权重参数;
步骤4.3,使用条件随机场层获取最优标签序列:对于输入句子
Figure 430735DEST_PATH_IMAGE070
,句子标签序列
Figure 55752DEST_PATH_IMAGE071
的打分为:
Figure 587227DEST_PATH_IMAGE072
(18)
其中,
Figure 553653DEST_PATH_IMAGE073
表示输入句子x生成标签序列y的打分函数,
Figure 930408DEST_PATH_IMAGE074
为序列长度,
Figure 675510DEST_PATH_IMAGE075
为转移 得分矩阵,
Figure 502520DEST_PATH_IMAGE076
表示由标签
Figure 67494DEST_PATH_IMAGE077
转移到标签
Figure 513519DEST_PATH_IMAGE078
的转移得分,
Figure 503340DEST_PATH_IMAGE079
Figure 111039DEST_PATH_IMAGE080
表示句中起始和 终止标签,
Figure 163309DEST_PATH_IMAGE081
表示第
Figure 272079DEST_PATH_IMAGE082
个字被标记为
Figure 991773DEST_PATH_IMAGE077
的概率。归一化得到
Figure 35953DEST_PATH_IMAGE083
标签序列的最大概率,如 公式(19):
Figure 201617DEST_PATH_IMAGE084
(19)
其中,
Figure 723865DEST_PATH_IMAGE085
表示真实的标签序列,
Figure 298066DEST_PATH_IMAGE086
表示所有可能标签序列的集合。
使用最大似然估计法求解医疗实体识别模型的最小化第二损失函数,如公式(20):
Figure 372201DEST_PATH_IMAGE087
(20)
其中,
Figure 399063DEST_PATH_IMAGE088
表示第二损失函数值,迭代训练医疗实体识别模型直至第二损失函数 值
Figure 849636DEST_PATH_IMAGE088
小于第二阈值
Figure 543923DEST_PATH_IMAGE089
,然后,利用维特比算法求得全局最优序列,全局最优序列即为最 终医疗领域命名实体识别的标注结果。
最后,根据标签序列识别文本中的医疗命名实体。其中,如果字符标注为(B),则代表其是医疗命名实体的首字符,如果字符标注为(I),则代表其是医疗命名实体的非开始部分,如果字符标注为(O),则代表其不是医疗命名实体。
步骤5,识别时,将用于识别的医疗文本切分字符导入到训练好的基于注意力机制的语言预处理模型中生成字向量。将得到的生成字向量导入训练好的医疗实体识别模型中识别文本中的医疗命名实体。
优选的:步骤3.3中注意力机制计算公式如公式(8)所示:
Figure 664325DEST_PATH_IMAGE090
(8)
其中,
Figure 303117DEST_PATH_IMAGE091
表示注意力分数,
Figure 432747DEST_PATH_IMAGE092
表示查询向量,
Figure 715961DEST_PATH_IMAGE093
表示键向量,
Figure 896013DEST_PATH_IMAGE094
表示值向量,
Figure 897467DEST_PATH_IMAGE064
表示键向量维数的平方根,
Figure 565209DEST_PATH_IMAGE014
函数为归一化指数函数。
优选的:归一化指数函数softmax函数:
Figure 93142DEST_PATH_IMAGE095
(9)
其中,
Figure 820927DEST_PATH_IMAGE096
表示数组,
Figure 44098DEST_PATH_IMAGE097
表示数组
Figure 905743DEST_PATH_IMAGE096
中的第
Figure 163549DEST_PATH_IMAGE098
个元素,
Figure 796656DEST_PATH_IMAGE099
的值即为数组
Figure 897336DEST_PATH_IMAGE096
中第
Figure 172460DEST_PATH_IMAGE098
个元素的指数与其它所有元素指数和的比值。
优选的:步骤4 .1中
Figure 19193DEST_PATH_IMAGE049
函数值域为(-1,1),表达式如公式(14)所示:
Figure 980458DEST_PATH_IMAGE100
(14)
其中,
Figure 178221DEST_PATH_IMAGE101
表示函数的输入。
优选的:步骤4 .1中激励函数值域为(-1,1),表达式如公式(15)所示:
Figure 991456DEST_PATH_IMAGE102
(15)
优选的:步骤4.3中利用维特比算法求得全局最优序列,如公式(21)所示:
Figure 82909DEST_PATH_IMAGE103
(21)
其中,
Figure 323398DEST_PATH_IMAGE104
为集合中使得分函数取得最大值的标签序列。
本发明相比现有技术,具有以下有益效果:
本发明使用基于注意力机制的语言预处理模型对文本进行预处理并生成对应的字向量,使用双向门控循环网络层对字向量进行双向编码,使用多头注意力层进一步获取文本的局部特征以及实体的多重语义,最后使用条件随机场层生成最终的标签序列,根据标签序列识别文本中的医疗命名实体,解决了中文医疗命名实体识别不准确以及识别速度较慢的问题。通过基于注意力机制的语言预处理模型,对医疗文本中的每一个字生成包含字的位置特征和字符间联系的字向量,增强了字的语义表示。医疗实体识别模型中,使用双向门控循环网络代替了双向长短期记忆网络,一定程度上减小了训练的开销,提升模型训练的效率,并添加多头注意力层,进一步学习了医疗文本的局部特征以及字的多重语义,提升了医疗命名实体识别的准确率。
附图说明
图1为本发明具体流程示意图。
图2为基于注意力机制的语言预处理模型框架。
图3为医疗实体识别模型框架。
图4为门控循环网络示意图。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
一种中文医疗命名实体识别方法,首先使用医疗文本在进行分割和标记处理后,对语言预处理模型进行训练,然后将待识别的医疗文本送入训练好的语言预处理模型生成增强语义的字向量,然后使用经过训练的医疗实体识别模型根据字向量生成标签序列,最后根据标签序列识别医疗命名实体,如图1所示,具体包括以下步骤:
步骤1,将用于训练的医疗文本进行字符级切分,得到用于训练的医疗文本切分字符。如医疗文本为‘未见明显骨折’,切分后为字符‘未’,‘见’,‘明’,‘显’,‘骨’,‘折’。将用于识别的医疗文本进行字符级切分得到用于识别的医疗文本切分字符。如输入文本为‘持续发热四天’,则经过处理后的文本为‘持’,‘续’,‘发’,‘热’,‘四’,‘天’。
步骤2,对用于训练的医疗文本切分字符进行标注,得到用于训练的标注医疗文本,其中,医疗命名实体的开始字符标注为‘B’,医疗命名实体的非开始字符标注为‘I’,不是实体的字符标注为‘O’。如对于医疗文本‘未见明显骨折’,最终的标注序列为‘未(O)’,‘见(O)’,‘明(O)’,‘显(O)’,‘骨(B)’,‘折(I)’,其中’BIO’标注用于区分医疗命名实体,为后续的医疗实体识别模型训练作准备。
步骤3,使用步骤2得到的用于训练的标注医疗文本对基于注意力机制的语言预处理模型进行训练,得到训练好的基于注意力机制的语言预处理模型。如图2所示,基于注意力机制的语言预处理模型包括依次连接的字嵌入层、位置向量嵌入层和注意力机制层,对于分割后的文本,首先通过字嵌入层使用跳字模型生成字向量,然后在位置向量嵌入层通过加入位置向量学习每个字符的位置信息,最后在注意力机制层学习每个字符和其它所有字符的联系,从而加强字的语义表示。
步骤3.1,将步骤2得到的用于训练的标注医疗文本以句为单位送入基于注意力机 制的语言预处理模型的字嵌入层。字嵌入层使用跳字模型生成每一个字的字向量。跳字模 型使用一个中间字预测其周围的字,对于长度为L的医疗文本,文本序列中第
Figure 8457DEST_PATH_IMAGE001
个字表示为
Figure 484437DEST_PATH_IMAGE008
,最大化给定一随机中心字生成其所有背景字的概率:
Figure 571342DEST_PATH_IMAGE003
(1)
其中,
Figure 248311DEST_PATH_IMAGE004
表示从文本中的第一个字开始计算概率,
Figure 279721DEST_PATH_IMAGE005
表示对于每一个中心字计算所有与其距离不超过m的背景字的出现概率,
Figure 700338DEST_PATH_IMAGE006
表示窗口大小, 生成的背景字与中心字的距离不大于
Figure 641749DEST_PATH_IMAGE006
Figure 870647DEST_PATH_IMAGE007
表示以
Figure 530298DEST_PATH_IMAGE008
为中心字,
Figure 489027DEST_PATH_IMAGE006
为窗 口大小,其各个背景字
Figure 409579DEST_PATH_IMAGE009
的出现概率,式(1)等价于最小化第一损失函数:
Figure 162771DEST_PATH_IMAGE010
(2)
其中,
Figure 168773DEST_PATH_IMAGE011
表示对数损失函数。
假设中心字
Figure 665613DEST_PATH_IMAGE008
在文本中索引为
Figure 440671DEST_PATH_IMAGE001
,背景字
Figure 630344DEST_PATH_IMAGE012
在文本中索引为
Figure 999009DEST_PATH_IMAGE013
,第一损失函数 中给定中心字生成背景字的条件概率通过归一化指数函数
Figure 660059DEST_PATH_IMAGE014
归一化为:
Figure 696149DEST_PATH_IMAGE015
(3)
其中,
Figure 56723DEST_PATH_IMAGE016
表示索引为
Figure 912683DEST_PATH_IMAGE001
的中心字向量,
Figure 875960DEST_PATH_IMAGE017
表示索引为
Figure 766556DEST_PATH_IMAGE013
的背景字向量,
Figure 157086DEST_PATH_IMAGE018
表示背景 字向量的转置,
Figure 500342DEST_PATH_IMAGE019
表示两个向量的点乘,
Figure 142676DEST_PATH_IMAGE020
表示对文本
Figure 746833DEST_PATH_IMAGE021
中的每一个字符
Figure 449210DEST_PATH_IMAGE022
都进行点 乘,
Figure 279763DEST_PATH_IMAGE023
表示以自然常数e为底数的指数函数。使用随机梯度下降法求解上式中的中心字向 量
Figure 83377DEST_PATH_IMAGE024
的梯度:
Figure 682986DEST_PATH_IMAGE025
(4)
使用式(4)迭代训练基于注意力机制的语言预处理模型直到第一损失函数值小于 第一阈值
Figure 290685DEST_PATH_IMAGE026
,第一阈值
Figure 733167DEST_PATH_IMAGE026
为事先设定好的常量,训练结束后,对于医疗文本中任意一索引 为
Figure 982883DEST_PATH_IMAGE001
的字,均得到其作为中心字的向量
Figure 171419DEST_PATH_IMAGE024
,使用
Figure 340232DEST_PATH_IMAGE024
作为字嵌入层的最终输出向量。
步骤3.2,将字嵌入层生成的字向量送往位置向量嵌入层,位置向量嵌入层使用位置向量表示每个字符的位置关系,并将字向量和位置向量叠加,获取字的新特征向量。位置向量计算公式如公式(5)和公式(6)所示:
Figure 145377DEST_PATH_IMAGE027
(5)
Figure 667625DEST_PATH_IMAGE028
(6)
其中,
Figure 366460DEST_PATH_IMAGE029
为二维矩阵,矩阵的列数和之前生成的字向量维度相同,
Figure 581540DEST_PATH_IMAGE029
的行表示每 一个字,列表示每一个字在各维度的位置向量,总列数等于字向量的总维数。
Figure 608402DEST_PATH_IMAGE001
表示字在医 疗文本中的索引,
Figure 560440DEST_PATH_IMAGE030
为位置向量的总维度,
Figure 989147DEST_PATH_IMAGE031
表示向量具体的维数,
Figure 375129DEST_PATH_IMAGE032
表示索引 为
Figure 13921DEST_PATH_IMAGE001
的字的位置向量在偶数维度的值,使用正弦函数计算。
Figure 877972DEST_PATH_IMAGE033
表示索引为
Figure 426765DEST_PATH_IMAGE001
的字的 位置向量在奇数维度的值,使用余弦函数计算。最后将位置向量和字向量相加得到字的新 特征向量,如公式(7)所示:
Figure 842703DEST_PATH_IMAGE034
(7)
其中,
Figure 844157DEST_PATH_IMAGE035
表示索引为
Figure 777478DEST_PATH_IMAGE001
的字的位置向量,
Figure 39832DEST_PATH_IMAGE024
表示任意一索引为
Figure 767616DEST_PATH_IMAGE001
的字作为中心字 的字向量,
Figure 256367DEST_PATH_IMAGE036
表示嵌入了位置信息的新特征向量。在字向量中嵌入位置向量的目的是为 后续的注意力计算做准备。如果医疗文本中一个字和文本中另外两个内容相同但是所在位 置不同的字进行注意力计算,如果没有嵌入位置向量以表示区别,则会得到相同的注意力 计算结果,但事实上该字和这两个字的关联程度是不相同的,因此,必须使用位置向量表示 每个字符的位置关系。
步骤3.3,使用注意力机制学习字符间的长距离依赖关系,使字向量包含句中其它所有字的信息。字嵌入层生成的字向量使用背景字预测中心字,无法学习长距离字符的依赖关系。加入注意力机制,可以使字向量学习到句中所有其它字符的依赖关系。注意力机制具体计算公式如公式(8)所示:
注意力机制计算公式如公式(8)所示:
Figure 85389DEST_PATH_IMAGE090
(8)
其中,
Figure 343195DEST_PATH_IMAGE091
表示注意力打分函数,
Figure 507460DEST_PATH_IMAGE092
表示查询向量,
Figure 342561DEST_PATH_IMAGE093
表示键向 量,
Figure 352105DEST_PATH_IMAGE094
表示值向量,
Figure 729997DEST_PATH_IMAGE092
Figure 658639DEST_PATH_IMAGE093
Figure 794271DEST_PATH_IMAGE094
通过字向量与对应的权重矩阵相乘获得。
Figure 26669DEST_PATH_IMAGE064
表示键向量维数 的平方根,用来防止相乘结果过大,
Figure 267157DEST_PATH_IMAGE014
函数为归一化指数函数,其具体数学表达式 如公式(9)所示:
Figure 578315DEST_PATH_IMAGE095
(9)
其中,
Figure 195241DEST_PATH_IMAGE096
表示数组,
Figure 16567DEST_PATH_IMAGE097
表示数组
Figure 818170DEST_PATH_IMAGE096
中的第
Figure 724946DEST_PATH_IMAGE098
个元素,
Figure 879984DEST_PATH_IMAGE099
的值即为数 组
Figure 946029DEST_PATH_IMAGE096
中第
Figure 793899DEST_PATH_IMAGE098
个元素的指数与其它所有元素指数和的比值。
注意力机制层的输出即为语言预处理模型最终生成的字向量。
Figure 453550DEST_PATH_IMAGE106
函数的 作用是对文本中所有字符打分并归一化,每个字符的分数都为正值且和为1。因此公式(8) 本质上是对文本中每一个字符的值向量进行加权求和,
Figure 271334DEST_PATH_IMAGE107
的值即为对应值向 量的权重系数。注意力机制层的输出为最终生成字向量,进而完成基于注意力机制的语言 预处理模型的训练。最终生成的字向量包含了字的位置信息以及句中每一个其它字符的依 赖关系,从而增强了字的语义,提高了医疗实体识别模型的准确率。
步骤4,使用步骤2得到的用于训练的标注医疗文本对医疗实体识别模型进行训 练,得到训练好的医疗实体识别模型,如图3所示,医疗实体识别模型包括依次连接的双向 门控循环网络层、多头注意力层和条件随机场层。医疗文本首先通过训练好的语言预处理 模型,生成对应的字向量。双向门控循环网络层由两层门控循环网络组成,对字向量进行双 向编码,充分学习前后文关系。多头注意力层对于双向门控循环网络层的输出
Figure 67251DEST_PATH_IMAGE108
进行多次 注意力运算,从而进一步学习医疗文本的局部特征以及字的多重语义,最后使用条件随机 场层生成最终的标签序列,根据标签序列识别医疗命名实体。
步骤4 .1,使用双向门控循环网络层对字向量进行双向编码,以充分学习前后文 关系,医疗领域命名实体构成复杂,实体的子序列也有可能是实体,如‘脾脏切除术’和‘脾 脏’,同时字符前后具有较强的关联性,在使用神经网络训练时要充分考虑字上下文的关 系。传统的命名实体识别模型常使用双向长短期记忆网络进行编码,但是长短期记忆网络 参数较多,训练速度较慢。双向门控循环网络层包括一个正向门控循环网络层和一个反向 门控循环网络层,正向门控循环网络层学习后文特征,反向门控循环网络层学习前文特征, 从而使生成的向量更好地捕捉前后文语义信息,学习上下文关系。门控循环网络是长短期 记忆网络的变体,仅由更新门和重置门组成 ,其中更新门决定过去传递到未来的信息量, 重置门决定过去信息的被遗忘量,相比于长短期记忆网络,双向门控循环网络参数更少,模 型精简,计算速度更快,更适合用于本发明提出的医疗实体识别模型。门控循环网络的具体 结构如图4所示,图中,
Figure 86023DEST_PATH_IMAGE109
表示向量的加权运算,
Figure 590560DEST_PATH_IMAGE110
表示数与矩阵的点乘算法,具体计算结 构如公式(10)-公式(13)所示:
Figure 352980DEST_PATH_IMAGE037
(10)
Figure 268983DEST_PATH_IMAGE038
(11)
Figure 52132DEST_PATH_IMAGE039
(12)
Figure 686375DEST_PATH_IMAGE040
(13)
其中,
Figure 986907DEST_PATH_IMAGE041
为更新门在
Figure 147629DEST_PATH_IMAGE042
时刻的输出状态,
Figure 977045DEST_PATH_IMAGE043
为重置门在
Figure 98585DEST_PATH_IMAGE042
时刻的输出状态,
Figure 327441DEST_PATH_IMAGE044
为候 选状态,
Figure 686878DEST_PATH_IMAGE045
表示
Figure 218354DEST_PATH_IMAGE042
时刻网络的输出状态,
Figure 187709DEST_PATH_IMAGE046
表示当前时刻的输入状态,
Figure 830043DEST_PATH_IMAGE047
表示上一时刻 门控循环网络节点输出的隐藏状态,
Figure 575145DEST_PATH_IMAGE048
表示
Figure 136576DEST_PATH_IMAGE049
函数,
Figure 701550DEST_PATH_IMAGE050
表示激励函数
Figure 272208DEST_PATH_IMAGE051
为训 练更新门
Figure 871817DEST_PATH_IMAGE052
的权重参数,
Figure 479516DEST_PATH_IMAGE053
为训练重置门
Figure 921999DEST_PATH_IMAGE054
的权重参数,
Figure 906135DEST_PATH_IMAGE055
为计算候选状态
Figure 360250DEST_PATH_IMAGE044
时所用的权 重参数,
Figure 27599DEST_PATH_IMAGE056
表示两个向量相连。更新门
Figure 567164DEST_PATH_IMAGE041
用来控制当前时刻网络的输出状态
Figure 354992DEST_PATH_IMAGE045
中要 保留多少历史状态
Figure 53826DEST_PATH_IMAGE047
,重置门
Figure 3328DEST_PATH_IMAGE043
的作用是决定了候选状态
Figure 889244DEST_PATH_IMAGE044
对上一时刻门控循环网络节 点输出的隐藏状态
Figure 480762DEST_PATH_IMAGE047
的依赖程度。
Figure 643891DEST_PATH_IMAGE111
函数值域为(-1,1),表达式如公式(14)所示:
Figure 154506DEST_PATH_IMAGE100
(14)
其中,
Figure 668664DEST_PATH_IMAGE101
表示函数的输入。
激励函数值域为(-1,1),表达式如公式(15)所示:
Figure 798294DEST_PATH_IMAGE102
(15)
步骤4 .2,使用多头注意力层进一步提取多重语义含义:医疗文本中存在一词多 义现象,因此在双向门控循环网络后添加多头注意力层,进一步学习实体的依赖关系,捕捉 字的多重语义。头注意力层实质上是进行多次注意力运算,对于通过双向门控循环网络层 的
Figure 707607DEST_PATH_IMAGE042
时刻网络的输出状态
Figure 530069DEST_PATH_IMAGE057
,首先通过公式(16)进行单头注意力计算:
Figure 265944DEST_PATH_IMAGE112
(16)
其中,
Figure 323899DEST_PATH_IMAGE059
表示
Figure 196040DEST_PATH_IMAGE060
个注意力头计算的结果,
Figure 189404DEST_PATH_IMAGE060
表示总共有
Figure 802788DEST_PATH_IMAGE060
个注意力头,即共计算
Figure 274220DEST_PATH_IMAGE060
次,
Figure 266447DEST_PATH_IMAGE061
为生成查询向量的权重参数,
Figure 555346DEST_PATH_IMAGE062
为生成键向量的权重参数,
Figure 265813DEST_PATH_IMAGE063
为生成值向量的 权重参数,
Figure 275357DEST_PATH_IMAGE064
Figure 276418DEST_PATH_IMAGE065
维度的调节平滑项,防止向量乘积过大,
Figure 80426DEST_PATH_IMAGE113
为归一化指数函 数,最后,拼接这
Figure 543768DEST_PATH_IMAGE060
次的计算结果并做一次线性变换,得到对于每一时刻
Figure 481637DEST_PATH_IMAGE042
通过双向门控循 环网络层的
Figure 448456DEST_PATH_IMAGE042
时刻网络的输出状态
Figure 688945DEST_PATH_IMAGE057
的多头注意力运算结果,如公式(17)所示:
Figure 764217DEST_PATH_IMAGE114
(17)
其中,
Figure 381143DEST_PATH_IMAGE068
表示多头注意力层的计算结果,
Figure 202469DEST_PATH_IMAGE060
表示总共有
Figure 4071DEST_PATH_IMAGE060
个注意力头,
Figure 176427DEST_PATH_IMAGE069
为权重参数。 多头注意力层扩展了医疗实体识别模型专注于不同位置的能力,从而进 一步提取医疗文本中字的多重语义。
步骤4.3,使用条件随机场层获取最优标签序列:在医疗命名实体识别模型中,双 向门控循环网络层只能获取包含进一步上下文信息的字向量,即使加入多头注意力层也无 法考虑标签之间的依赖关系,比如(I)标签必须在(B)标签之后。因此本发明采用条件随机 场层考虑标签之间的相邻关系来获取全局最优的标签序列。条件随机场模型是一种经典的 判别式概率无向图模型,该模型经常被应用于序列标注任务中,对于输入句子
Figure 65885DEST_PATH_IMAGE070
,句子标签序列
Figure 898974DEST_PATH_IMAGE115
的打分为:
Figure 481265DEST_PATH_IMAGE072
(18)
其中,
Figure 875338DEST_PATH_IMAGE116
表示输入句子x生成标签序列y的打分函数,
Figure 958700DEST_PATH_IMAGE074
为序列长度,
Figure 754618DEST_PATH_IMAGE075
为转 移得分矩阵,
Figure 773389DEST_PATH_IMAGE117
表示由标签
Figure 779392DEST_PATH_IMAGE077
转移到标签
Figure 276232DEST_PATH_IMAGE078
的转移得分,
Figure 192235DEST_PATH_IMAGE079
Figure 240963DEST_PATH_IMAGE080
表示句中 起始和终止标签,,这两个标签只在计算时临时添加,
Figure 875207DEST_PATH_IMAGE081
表示第
Figure 175738DEST_PATH_IMAGE082
个字被标记为
Figure 303837DEST_PATH_IMAGE077
的概 率。归一化得到
Figure 664412DEST_PATH_IMAGE083
标签序列的最大概率,如公式(19):
Figure 645006DEST_PATH_IMAGE084
(19)
其中,
Figure 483649DEST_PATH_IMAGE085
表示真实的标签序列,
Figure 374245DEST_PATH_IMAGE086
表示所有可能标签序列的集合。
使用最大似然估计法求解医疗实体识别模型的最小化第二损失函数,如公式(20):
Figure 905720DEST_PATH_IMAGE087
(20)
其中,
Figure 108031DEST_PATH_IMAGE088
表示第二损失函数值,迭代训练医疗实体识别模型直至第二损失函数 值
Figure 15944DEST_PATH_IMAGE088
小于第二阈值
Figure 620101DEST_PATH_IMAGE118
,第二阈值
Figure 322478DEST_PATH_IMAGE118
为事先设定好的常量,然后,利用维特比算法求得全 局最优序列,全局最优序列即为最终医疗领域命名实体识别的标注结果,如公式(21)所示:
Figure 153031DEST_PATH_IMAGE103
(21)
其中,
Figure 333476DEST_PATH_IMAGE104
为集合中使得分函数取得最大值的标签序列。
最后,根据标签序列识别文本中的医疗命名实体。其中,如果字符标注为(B),则代表其是医疗命名实体的首字符,如果字符标注为(I),则代表其是医疗命名实体的非开始部分,如果字符标注为(O),则代表其不是医疗命名实体。如输入文本为‘持续发热四天’,则最终标注为‘持(O)’,‘续(O)’,‘发(B)’,‘热(I)’,‘四(O)’‘天(O)’根据标注识别出医疗命名实体‘发热’。
步骤5,识别时,将用于识别的医疗文本切分字符导入到训练好的基于注意力机制的语言预处理模型中生成字向量。将得到的生成字向量导入训练好的医疗实体识别模型中识别文本中的医疗命名实体。
以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (4)

1.一种中文医疗命名实体识别方法,其特征在于,包括以下步骤:
步骤1,将用于训练的医疗文本进行字符级切分,得到用于训练的医疗文本切分字符;将用于识别的医疗文本进行字符级切分得到用于识别的医疗文本切分字符;
步骤2,对用于训练的医疗文本切分字符进行标注,得到用于训练的标注医疗文本,其中,医疗命名实体的开始字符标注为‘B’,医疗命名实体的非开始字符标注为‘I’,不是实体的字符标注为‘O’;
步骤3,使用步骤2得到的用于训练的标注医疗文本对基于注意力机制的语言预处理模型进行训练,得到训练好的基于注意力机制的语言预处理模型;基于注意力机制的语言预处理模型包括依次连接的字嵌入层、位置向量嵌入层和注意力机制层;
步骤3.1,将步骤2得到的用于训练的标注医疗文本以句为单位送入基于注意力机制的 语言预处理模型的字嵌入层;字嵌入层使用跳字模型生成每一个字的字向量;跳字模型使 用一个中间字预测其周围的字,对于长度为L的医疗文本,文本序列中第
Figure 710600DEST_PATH_IMAGE001
个字表示为
Figure 652011DEST_PATH_IMAGE002
, 最大化给定一随机中心字生成其所有背景字的概率:
Figure 765460DEST_PATH_IMAGE003
(1)
其中,
Figure 159533DEST_PATH_IMAGE004
表示从文本中的第一个字开始计算概率,
Figure 587103DEST_PATH_IMAGE005
表示 对于每一个中心字计算所有与其距离不超过
Figure 383021DEST_PATH_IMAGE006
的背景字的出现概率,
Figure 932951DEST_PATH_IMAGE006
表示窗口大小,
Figure 814319DEST_PATH_IMAGE007
表示以
Figure 780001DEST_PATH_IMAGE002
为中心字,
Figure 430425DEST_PATH_IMAGE006
为窗口大小,其各个背景字
Figure 354519DEST_PATH_IMAGE008
的出现概率, 式(1)等价于最小化第一损失函数:
Figure 519921DEST_PATH_IMAGE009
(2)
其中,
Figure 289294DEST_PATH_IMAGE010
表示对数损失函数;
假设中心字
Figure 794224DEST_PATH_IMAGE002
在文本中索引为
Figure 685957DEST_PATH_IMAGE001
,背景字
Figure 541918DEST_PATH_IMAGE011
在文本中索引为
Figure 849402DEST_PATH_IMAGE012
,第一损失函数中给 定中心字生成背景字的条件概率通过归一化指数函数
Figure 474419DEST_PATH_IMAGE013
为:
Figure 537053DEST_PATH_IMAGE014
(3)
其中,
Figure 614730DEST_PATH_IMAGE015
表示索引为
Figure 991485DEST_PATH_IMAGE001
的中心字向量,
Figure 471008DEST_PATH_IMAGE016
表示索引为
Figure 704543DEST_PATH_IMAGE012
的背景字向量,
Figure 3937DEST_PATH_IMAGE017
表示背景字向 量的转置,
Figure 918803DEST_PATH_IMAGE018
表示两个向量的点乘,
Figure 518412DEST_PATH_IMAGE019
表示以自然常数e为底数的指数函数;使用随 机梯度下降法求解上式中的中心字向量
Figure 922849DEST_PATH_IMAGE020
的梯度:
Figure 975118DEST_PATH_IMAGE021
(4)
使用式(4)迭代训练基于注意力机制的语言预处理模型直到第一损失函数值小于第一 阈值
Figure 428096DEST_PATH_IMAGE022
,训练结束后,对于医疗文本中任意一索引为
Figure 882211DEST_PATH_IMAGE001
的字,均得到其作为中心字的向量
Figure 457549DEST_PATH_IMAGE020
步骤3.2,将字嵌入层生成的字向量送往位置向量嵌入层,位置向量嵌入层使用位置向量表示每个字符的位置关系,并将字向量和位置向量叠加,获取字的新特征向量;位置向量计算公式如公式(5)和公式(6)所示:
Figure 997115DEST_PATH_IMAGE023
(5)
Figure 253784DEST_PATH_IMAGE024
(6)
其中,
Figure 562406DEST_PATH_IMAGE025
为二维矩阵,矩阵的列数和之前生成的字向量维度相同,
Figure 308645DEST_PATH_IMAGE025
的行表示每一个 字,列表示每一个字在各维度的位置向量,总列数等于字向量的总维数;
Figure 69927DEST_PATH_IMAGE026
为位置向量 的总维度,
Figure 130287DEST_PATH_IMAGE027
表示向量具体的维数,
Figure 293415DEST_PATH_IMAGE028
表示索引为
Figure 210556DEST_PATH_IMAGE001
的字的位置向量在偶数维度的 值,使用正弦函数计算;
Figure 718854DEST_PATH_IMAGE029
表示索引为
Figure 317326DEST_PATH_IMAGE001
的字的位置向量在奇数维度的值,使用余 弦函数计算;最后将位置向量和字向量相加得到字的新特征向量,如公式(7)所示:
Figure 334960DEST_PATH_IMAGE030
(7)
其中,
Figure 688581DEST_PATH_IMAGE031
表示索引为
Figure 424456DEST_PATH_IMAGE001
的字的位置向量,
Figure 561039DEST_PATH_IMAGE020
表示任意一索引为
Figure 698760DEST_PATH_IMAGE001
的字作为中心字的字 向量,
Figure 426544DEST_PATH_IMAGE032
表示嵌入了位置信息的新特征向量;
步骤3.3,使用注意力机制学习字符间的长距离依赖关系,使字向量包含句中其它所有字的信息;注意力机制层的输出为最终生成字向量,进而完成基于注意力机制的语言预处理模型的训练;
注意力机制计算公式如公式(8)所示:
Figure 180874DEST_PATH_IMAGE033
(8)
其中,
Figure 652306DEST_PATH_IMAGE034
表示注意力分数,
Figure 378954DEST_PATH_IMAGE035
表示查询向量,
Figure 12061DEST_PATH_IMAGE036
表示键向量,
Figure 519265DEST_PATH_IMAGE037
表示 值向量,
Figure 528810DEST_PATH_IMAGE038
表示键向量维数的平方根,
Figure 109964DEST_PATH_IMAGE013
函数为归一化指数函数;
归一化指数函数softmax函数:
Figure 179551DEST_PATH_IMAGE039
(9)
其中,
Figure 908472DEST_PATH_IMAGE040
表示数组,
Figure 721708DEST_PATH_IMAGE041
表示数组
Figure 422947DEST_PATH_IMAGE040
中的第
Figure 397857DEST_PATH_IMAGE042
个元素,
Figure 879654DEST_PATH_IMAGE043
的值即为数组
Figure 231000DEST_PATH_IMAGE040
中 第
Figure 786747DEST_PATH_IMAGE042
个元素的指数与其它所有元素指数和的比值;
步骤4,使用步骤2得到的用于训练的标注医疗文本对医疗实体识别模型进行训练,得到训练好的医疗实体识别模型,医疗实体识别模型包括依次连接的双向门控循环网络层、多头注意力层和条件随机场层;
步骤4 .1,使用双向门控循环网络层对字向量进行双向编码,双向门控循环网络层包括一个正向门控循环网络层和一个反向门控循环网络层,正向门控循环网络层学习后文特征,反向门控循环网络层学习前文特征,从而使生成的向量更好地捕捉前后文语义信息,学习上下文关系;门控循环网络层仅由更新门和重置门组成 ,其中更新门决定过去传递到未来的信息量,重置门决定过去信息的被遗忘量,门控循环网络层计算如公式(10)-公式(13)所示:
Figure 932557DEST_PATH_IMAGE044
(10)
Figure 636071DEST_PATH_IMAGE045
(11)
Figure 791109DEST_PATH_IMAGE046
(12)
Figure 201362DEST_PATH_IMAGE047
(13)
其中,
Figure 783653DEST_PATH_IMAGE048
为更新门在
Figure 177725DEST_PATH_IMAGE049
时刻的输出状态,
Figure 667612DEST_PATH_IMAGE050
为重置门在
Figure 463530DEST_PATH_IMAGE049
时刻的输出状态,
Figure 951143DEST_PATH_IMAGE051
为候选状 态,
Figure 566932DEST_PATH_IMAGE052
表示
Figure 63772DEST_PATH_IMAGE049
时刻网络的输出状态,
Figure 714197DEST_PATH_IMAGE053
表示当前时刻的输入状态,
Figure 638290DEST_PATH_IMAGE054
表示上一时刻门控循 环网络节点输出的隐藏状态,
Figure 803692DEST_PATH_IMAGE055
表示
Figure 838645DEST_PATH_IMAGE056
函数,
Figure 343575DEST_PATH_IMAGE057
表示激励函数
Figure 172991DEST_PATH_IMAGE058
为训练更 新门
Figure 780950DEST_PATH_IMAGE059
的权重参数,
Figure 619593DEST_PATH_IMAGE060
为训练重置门
Figure 41347DEST_PATH_IMAGE061
的权重参数,
Figure 307244DEST_PATH_IMAGE062
为计算候选状态
Figure 119342DEST_PATH_IMAGE051
时所用的权重 参数;
Figure 496097DEST_PATH_IMAGE063
表示两个向量相连;更新门
Figure 772357DEST_PATH_IMAGE048
用来控制当前时刻网络的输出状态
Figure 209155DEST_PATH_IMAGE052
中要 保留多少历史状态
Figure 774128DEST_PATH_IMAGE054
,重置门
Figure 954574DEST_PATH_IMAGE050
的作用是决定了候选状态
Figure 288603DEST_PATH_IMAGE051
对上一时刻门控循环网络 节点输出的隐藏状态
Figure 896302DEST_PATH_IMAGE054
的依赖程度;
步骤4 .2,使用多头注意力层进一步提取多重语义:多头注意力层实质指进行两次以 上的注意力头运算,对于通过双向门控循环网络层的
Figure 682993DEST_PATH_IMAGE049
时刻网络的输出状态
Figure 667129DEST_PATH_IMAGE064
,首先通过 公式(16)进行单头注意力计算:
Figure 917982DEST_PATH_IMAGE065
(16)
其中,
Figure 696582DEST_PATH_IMAGE066
表示
Figure 704989DEST_PATH_IMAGE067
个注意力头计算的结果,
Figure 227237DEST_PATH_IMAGE067
表示总共有
Figure 535859DEST_PATH_IMAGE067
个注意力头,
Figure 282098DEST_PATH_IMAGE068
为生成查询 向量的权重参数,
Figure 308960DEST_PATH_IMAGE069
为生成键向量的权重参数,
Figure 369320DEST_PATH_IMAGE070
为生成值向量的权重参数,
Figure 532448DEST_PATH_IMAGE038
Figure 652851DEST_PATH_IMAGE071
维 度的调节平滑项,
Figure 901429DEST_PATH_IMAGE072
为归一化指数函数,最后,拼接这
Figure 562218DEST_PATH_IMAGE067
次的计算结果并做一次 线性变换,得到对于每一时刻
Figure 845432DEST_PATH_IMAGE049
通过双向门控循环网络层的
Figure 136736DEST_PATH_IMAGE049
时刻网络的输出状态
Figure 607031DEST_PATH_IMAGE064
的多 头注意力运算结果,如公式(17)所示:
Figure 274773DEST_PATH_IMAGE073
(17)
其中,
Figure 209231DEST_PATH_IMAGE074
表示多头注意力层的计算结果,
Figure 671436DEST_PATH_IMAGE075
为权重参数;
步骤4.3,使用条件随机场层获取最优标签序列:对于输入句子
Figure 894607DEST_PATH_IMAGE076
,句子 标签序列
Figure 366040DEST_PATH_IMAGE077
的打分为:
Figure 92688DEST_PATH_IMAGE078
(18)
其中,
Figure 725794DEST_PATH_IMAGE079
表示输入句子x生成标签序列y的打分函数,
Figure 232999DEST_PATH_IMAGE080
为序列长度,
Figure 242543DEST_PATH_IMAGE081
为转移得分 矩阵,
Figure 823697DEST_PATH_IMAGE082
表示由标签
Figure 887425DEST_PATH_IMAGE083
转移到标签
Figure 819609DEST_PATH_IMAGE084
的转移得分,
Figure 632844DEST_PATH_IMAGE085
Figure 130822DEST_PATH_IMAGE086
表示句中起始和终 止标签,
Figure 371310DEST_PATH_IMAGE087
表示第
Figure 525211DEST_PATH_IMAGE088
个字被标记为
Figure 876558DEST_PATH_IMAGE083
的概率;归一化得到
Figure 494621DEST_PATH_IMAGE089
标签序列的最大概率,如公式 (19):
Figure 906011DEST_PATH_IMAGE090
(19)
其中,
Figure 812787DEST_PATH_IMAGE091
表示真实的标签序列,
Figure 702245DEST_PATH_IMAGE092
表示所有可能标签序列的集合;
使用最大似然估计法求解医疗实体识别模型的最小化第二损失函数,如公式(20):
Figure 378077DEST_PATH_IMAGE093
(20)
其中,
Figure 757106DEST_PATH_IMAGE094
表示第二损失函数值,迭代训练医疗实体识别模型直至第二损失函数值
Figure 151178DEST_PATH_IMAGE094
小于第二阈值
Figure 844328DEST_PATH_IMAGE095
,然后,利用维特比算法求得全局最优序列,全局最优序列即为最终 医疗领域命名实体识别的标注结果;
最后,根据标签序列识别文本中的医疗命名实体;其中,如果字符标注为(B),则代表其是医疗命名实体的首字符,如果字符标注为(I),则代表其是医疗命名实体的非开始部分,如果字符标注为(O),则代表其不是医疗命名实体;
步骤5,识别时,将用于识别的医疗文本切分字符导入到训练好的基于注意力机制的语言预处理模型中生成字向量;将得到的生成字向量导入训练好的医疗实体识别模型中识别文本中的医疗命名实体。
2.根据权利要求1所述一种中文医疗命名实体识别方法,其特征在于:步骤4 .1中
Figure 640246DEST_PATH_IMAGE056
函数值域为(-1,1),表达式如公式(14)所示:
Figure 862280DEST_PATH_IMAGE096
(14)
其中,
Figure 743648DEST_PATH_IMAGE097
表示函数的输入。
3.根据权利要求2所述一种中文医疗命名实体识别方法,其特征在于:步骤4 .1中激励函数值域为(-1,1),表达式如公式(15)所示:
Figure 37226DEST_PATH_IMAGE098
(15)。
4.根据权利要求3所述一种中文医疗命名实体识别方法,其特征在于:步骤4.3中利用维特比算法求得全局最优序列,如公式(21)所示:
Figure 687650DEST_PATH_IMAGE099
(21)
其中,
Figure 611744DEST_PATH_IMAGE100
为集合中使得分函数取得最大值的标签序列。
CN202110157254.4A 2021-02-05 2021-02-05 一种中文医疗命名实体识别方法 Active CN112487820B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112115721A (zh) * 2020-09-28 2020-12-22 青岛海信网络科技股份有限公司 一种命名实体识别方法及装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
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 电子科技大学 一种面向中文病历的命名实体识别方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
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