一种基于多粒度文本嵌入的医学实体识别方法技术

技术编号:31309566 阅读:14 留言:0更新日期:2021-12-12 21:37
本发明专利技术涉及一种基于多粒度文本嵌入的医学实体识别方法,属于信息抽取和知识图谱构建技术领域。所述医学实体识别方法,包括:构建多粒度文本嵌入:通过预训练语言模型,构建多粒度文本嵌入,多粒度文本嵌入包括字符嵌入、词嵌入、词性嵌入、子串嵌入及短语嵌入;生成模式权重:根据医学术语构成模式,生成中文句子中所有字符的模式权重;结点嵌入表示学习:使用图注意力网络和模式强化注意力机制,进行结点嵌入表示学习;输出医学文本实体识别结果:采用条件随机场生成医学文本的实体类别标签,输出医学实体识别结果。所述方法解决了医学实体识别中图表示信息利用不足、文本分布式表示的嵌入粒度单一的问题,提高了医学实体识别的性能。能。能。

【技术实现步骤摘要】
一种基于多粒度文本嵌入的医学实体识别方法


[0001]本专利技术涉及一种基于多粒度文本嵌入的医学实体识别方法,属于信息抽取和知识图谱构建


技术介绍

[0002]医学实体识别是信息抽取和医学知识图谱构建领域的重要研究课题。医学实体识别是指从非结构化的医学文本中识别医学领域的实体或术语。医学实体识别技术能够为医学领域问答系统、医疗辅助诊断以及精准医学知识服务等领域提供技术和知识支撑。
[0003]医学实体识别方法主要包括基于规则的方法、基于统计机器学习的方法,以及基于深度学习的方法等。基于规则的医学识别方法的基本思想是,根据构建的医学实体构成规则从非结构化文本中识别医学实体,规则的构成要素包括关键字和词语类别等。
[0004]基于统计机器学习的医学实体识别方法主要包括采用最大熵、隐马尔科夫模型,条件随机场,以及支持向量机等模型来识别医学实体。该类方法是指将医学实体识别转化为分类问题或序列标注问题。例如,一种基于条件随机场和规则相结合的方法进行中文电子病历命名实体识别。首先,根据语言符号特征、后缀特征、关键词特征、词典特征和长度特征,采用条件随机场识别;然后,利用规则进行优化识别结果。
[0005]基于深度学习的医学实体识别方法包括对非结构化的输入文本的分布式表示或嵌入编码、语境或上下文语义编码,以及标签解码。输入文本的嵌入编码主要包括字符嵌入和词语嵌入。上下文语义编码模型包括卷积神经网络、双向长短期记忆网络,循环神经网络等。例如,一种方法是基于双向长短期记忆网络和条件随机场模型进行中文电子病历的医学实体识别。首先,生成每个词语的低维向量表示;然后,采用带有注意力机制的双向长短期记忆网络和条件随机场模型进行医学实体识别。
[0006]图注意力网络是在图卷积神经网络基础上,引入了注意力机制。图注意力网络已应用于问答系统的答案抽取、信息推荐和关系抽取等。
[0007]现有医学实体识别方法主要存在如下问题:第一,目前医学实体识别方法主要构建了文本的字符嵌入、词语嵌入和词性嵌入,较少引入短语嵌入和子串嵌入。第二,目前方法较少通过图注意力网络对医学文本建模进行实体识别。第三,目前方法较少融合基于模式或规则的方法和基于深度学习的方法,以充分有效集成这两种方法的优点。基于模式或规则的方法的性能较高,基于深度学习的方法不需要耗时耗力的特征工程,能够实现端到端的非线性学习。

技术实现思路

[0008]本专利技术的目的是为了解决医学实体识别中图表示信息利用不足、文本分布式表示的嵌入粒度单一,提出了一种基于多粒度文本嵌入的医学实体识别方法,该方法首先构建多粒度文本嵌入,包括字符嵌入、词嵌入、词性嵌入、子串嵌入以及短语嵌入,实现对医学文本的字符、词语、词性、短语和子串层面的多粒度的文本嵌入表示学习;然后,采用图注意力
网络、模式强化注意力机制以及条件随机场进行医学文本实体识别,具体为:第一,利用图注意力网络模型,实现对医学文本的图嵌入表示的构建,第二,将模式强化注意力机制引入到图注意力网络中增强结点的注意力权重,从而提高医学实体识别性能。
[0009]为了达到上述目的,本专利技术采取如下技术方案:
[0010]所述基于多粒度文本嵌入的医学实体识别方法,包括以下步骤:
[0011]步骤1:通过预训练语言模型构建多粒度文本嵌入,包括如下步骤:
[0012]步骤1.1:对于非结构化的中文医学文本,构建多粒度文本嵌入;
[0013]步骤1.1.1:利用预训练语言模型MC

Bert进行符号嵌入、分割嵌入和遮盖嵌入的学习,生成非结构化的中文医学文本的字符嵌入;
[0014]MC

Bert是根据中文医学数据训练生成的预训练模型;
[0015]对于非结构化的中文医学文本,预训练语言模型MC

Bert的输入由三种嵌入组成,分别是符号嵌入、分割嵌入和遮盖嵌入;
[0016]其中,符号嵌入是指每个词语的向量表示;分割嵌入用于区分两个自然语言句子,医学实体识别任务以句子为单位进行识别实体,因此每个词语具有相同的分割嵌入;遮盖嵌入中,若当前位置为输入句子的字符,则赋值为1;若当前位置为0,即不是输入句子的字符,则赋值为0;
[0017]对于中文句子CS,CS=(cc1,cc2,...,cc
n
),cc1,cc2,...,cc
n
为字符,采用预训练语言模型MC

Bert,生成句子CS的字符嵌入表示E
cc
如(1)所示:
[0018]E
cc
=(e
cc1
,e
cc2
,....,e
ccn
),E
cc
∈R
n
×
m
ꢀꢀꢀ
(1)
[0019]其中,n为句子长度,即句子中字符的数目,若字符数目不到n,则填充0;m为预训练模型MC

Bert设置的维度;e
cci
(i=1,2,...,n)为字符cc
i
的嵌入;字符嵌入表示E
cc
为的维度为n行m列;R
n
×
m
表示n行m列的实数矩阵;
[0020]步骤1.1.2:生成中文医学文本的词嵌入、词性嵌入以及短语嵌入;
[0021]首先,对于中文医学文本,使用jieba分词工具获得中文医学文本的词语,利用词性标注器Stanford postagger获得中文医学文本的词语的词性标记,利用句法分析器Stanford parser获得中文医学文本的短语标记;
[0022]然后,利用word2vec工具生成词嵌入、词性嵌入以及短语嵌入;
[0023]对于中文句子CS,CS=(cc1,cc2,...,cc
n
),cc1,cc2,...,cc
n
为字符,词嵌入,具体为:基于jieba分词工具获得中文医学文本的词语,利用word2vec获取所隶属词语的词嵌入;词性嵌入,具体为:基于获得中文医学文本的词语的词性标记,利用word2vec获取所隶属词语的词性嵌入;短语嵌入,具体为:基于获得中文医学文本的短语标记,利用word2vec获取所隶属短语的类型嵌入;
[0024]其中,词嵌入为E
cw
=(e
cw1
,e
cw2
,....,e
cwn
),其中,字符cc1,cc2,...,cc
n
所隶属的词语依次为cw1,cw2,...,cw
n
;e
cwi
(i=1,2,...,n)为词语cw
i
的嵌入;
[0025]词性嵌入为E
cpos
=(e
cpo1
,e
cpo2
,....,e
cpon<本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于多粒度文本嵌入的医学实体识别方法,其特征在于:包括以下步骤:步骤1:通过预训练语言模型构建多粒度文本嵌入,包括如下步骤:步骤1.1:对于非结构化的中文医学文本,构建多粒度文本嵌入;步骤1.1.1:利用预训练语言模型MC

Bert进行符号嵌入、分割嵌入和遮盖嵌入的学习,生成非结构化的中文医学文本的字符嵌入;对于非结构化的中文医学文本,预训练语言模型MC

Bert的输入由三种嵌入组成,分别是符号嵌入、分割嵌入和遮盖嵌入;步骤1.1.2:生成中文医学文本的词嵌入、词性嵌入以及短语嵌入;首先,对于中文医学文本,使用jieba分词工具获得中文医学文本的词语,利用词性标注器Stanford postagger获得中文医学文本的词语的词性标记,利用句法分析器Stanford parser获得中文医学文本的短语标记;然后,利用word2vec工具生成词嵌入、词性嵌入以及短语嵌入;步骤1.1.3:对于非结构化的中文医学文本,利用word2vec工具生成子串嵌入,具体为:首先,采集医学术语词典,构建医学术语子串集合,具体为:对于任意两个术语,提取两个术语的最长公共子串,添加到医学术语子串集合;若两个术语有多个相同长度的最长公共子串,则取第一个最长公共子串,添加到医学术语子串集合;其次,对医学术语子串集合中的子串,利用word2vec工具生成所有子串的嵌入表示;步骤1.1.4:将中文医学文本的字符嵌入、词嵌入、词性嵌入、短语嵌入以及子串嵌入进行拼接,构建多粒度文本嵌入;步骤1.2:对于非结构化的英文医学文本,构建多粒度文本嵌入,包括以下步骤:步骤1.2.1:利用预训练语言模型BioBert进行符号嵌入、分割嵌入和遮盖嵌入的学习,生成非结构化的英文医学文本的单词嵌入;BioBert是根据英文医学数据训练生成的预训练模型;步骤1.2.2:生成英文医学文本的字符嵌入、词性嵌入以及短语嵌入;对于英文医学文本,利用word2vec工具生成字符嵌入、词性嵌入、短语嵌入;步骤1.2.3:对于非结构化的英文医学文本,利用word2vec工具生成子串嵌入;首先,采集英文医学术语词典,构建医学术语子串集合;对于任意两个术语,提取两个术语的最长公共子串,添加到医学术语子串集合;若两个术语有多个相同长度的最长公共子串,则取第一个最长公共子串,添加到医学术语子串集合;其次,利用word2vec工具生成所有子串的嵌入表示;然后,对于英文文句子ES,ES=(ew1,ew2,...,ew
n
),ew1,ew2,...,ew
n
为单词,对于每个单词ew
i
(i=1,2,...,n),判断单词ew
i
是否包含医学术语子串集合中的子串;设单词ew
i
包含医学术语子串集合中的子串esubs1,esubs2,...,esubs
q
,子串esubs1,esubs2,...,esubs
q
的嵌入表示为e
es1
,e
es2
,....,e
esq
,则单词ew
i
的子串嵌入表示e
essi
为:对e
es1
,e
es2
,....,e
esq
相加求和,然后除以子串个数q的结果;若单词ew
i
不包含医学术语子串集合中的任何子串,则输出为自定义值;最后,对于句子ES中的每个单词ew
i
(i=1,2,...,n),按照以上步骤生成其对应的子串嵌入;句子ES的子串嵌入为E
ess
=(e
ess1
,e
ess2
,....,e
essn
);步骤1.2.4:将英文医学文本的字符嵌入、词嵌入、词性嵌入、短语嵌入以及子串嵌入进
行拼接,构建多粒度文本嵌入;步骤2:根据医学实体构成模式,生成中文句子中所有字符的模式权重,包括如下步骤:步骤2.1:构建中文医学实体构成模式;医学实体构成模式的构成形式为:“Y1+Y2+Y3+...+Y
k”;其中,Y1,Y2,Y3,...,Y
k
表示词语的类别,“+”表示字符串的链接操作;词语的类别包括否定词、临床表现、解剖部位、修饰词、疾病名称、体格检查、数值、量词以及药品;步骤2.2:生成中文句子中字符的模式权重;步骤3:使用图注意力网络和模式强化注意力机制,进行结点嵌入表示学习,包括如下步骤:步骤3.1利用全连接层对中文字符结点、或英文单词结点的嵌入维度进行变换;对于中文句子CS中每个字符的多粒度文本嵌入,输入至全连接层,对中文多粒度文本嵌入的嵌入维度进行转换;转换维度的原因是:多粒度文本嵌入维度需与步骤3.2中使用的图注意力网络的结点向量输入维度一致;同理,对于英文句子ES中每个单词的多粒度文本嵌入,输入至全连接层,对英文多粒度文本嵌入的嵌入维度进行转换;在全连接层中,首先,经过线性层转换维度;然后,利用dropout方法防止过拟合;最后,通过激活函数Relu防止梯度消失;步骤3.2:对于中文医学文本,利用中文句子中字符的模式权重,将图注意力网络的中文字符结点的注意力权重与模式权重相乘;对于英文医学文本,图注意力网络中英文单词结点的模式权重设为1;对于中文医学文本,图注意力网络的结点嵌入为字符的嵌入,字符嵌入为步骤3.1生成的字符嵌入;对于英文医学文本,图注意力网络的结点嵌入为单词的嵌入,单词嵌入为步骤3.1生成的单词嵌入;步骤3.2.1:计算图注意力网络中结点的注意力权重;步骤3.2.2:更新图注意力网络中结点的注意力权重;步骤4:采用条件随机场生成医学文本的实体类别标签,输出医学实体识别结果,具体为:生成中文字符或英文单词的实体类别标签;其中,基于条件随机场计算每个字符条件概率分布密度,也就是计算每个字符属于每种实体类别标签的概率,将概率最高的标签分配给对应的字符,作为字符的实体类别标签,进而输出医学实体识别结果;采用条件随机场对医学文本中句子进行序列标注,生成中文字符或英文单词的实体类别标签,输出医学文本实体识别结果。2.根据权利要求1所述的一种基于多粒度文本嵌入的医学实体识别方法,其特征在于:步骤1.1.1中的MC

Bert是根据中文医学数据训练生成的预训练模型;且步骤1.1.1中的符号嵌入是指每个词语的向量表示;分割嵌入用于区分两个自然语言句子,医学实体识别任务以句子为单位进行识别实体,因此每个词语具有相同的分割嵌入;遮盖嵌入中,若当前位置为输入句子的字符,则赋值为1;若当前位置为0,即不是输入句子的字符,则赋值为0。3.根据权利要求2所述的一种基于多粒度文本嵌入的医学实体识别方法,其特征在于:
步骤1.1.1中,对于中文句子CS,CS=(cc1,cc2,...,cc
n
),cc1,cc2,...,cc
n
为字符,采用预训练语言模型MC

Bert,生成句子CS的字符嵌入表示E
cc
如(1)所示:E
cc
=(e
cc1
,e
cc2
,....,e
ccn
),E
cc
∈R
n
×
m
(1)其中,n为句子长度,即句子中字符的数目,若字符数目不到n,则填充0;m为预训练模型MC

Bert设置的维度;e
cci
(i=1,2,...,n)为字符cc
i
的嵌入;字符嵌入表示E
cc
的维度为n行m列;R
n
×
m
表示n行m列的实数矩阵。4.根据权利要求3所述的一种基于多粒度文本嵌入的医学实体识别方法,其特征在于:步骤1.1.2中对于中文句子CS,CS=(cc1,cc2,...,cc
n
),cc1,cc2,...,cc
n
为字符,词嵌入,具体为:基于jieba分词工具获得中文医学文本的词语,利用word2vec获取所隶属词语的词嵌入;词性嵌入,具体为:基于获得中文医学文本的词语的词性标记,利用word2vec获取所隶属词语的词性嵌入;短语嵌入,具体为:基于获得中文医学文本的短语标记,利用word2vec获取所隶属短语的类型嵌入;其中,词嵌入为E
cw
=(e
cw1
,e
cw2
,....,e
cwn
),其中,字符cc1,cc2,...,cc
n
所隶属的词语依次为cw1,cw2,...,cw
n
;e
cwi
(i=1,2,...,n)为词语cw
i
的嵌入;词性嵌入为E
cpos
=(e
cpo1
,e
cpo2
,....,e
cpon
),其中,词语cw1,cw2,...,cw
n
的词性依次为cpo1,cpo2,...,cpo
n
;e
cpoi
(i=1,2,...,n)为词性cpo
i
的嵌入;短语嵌入为E
cph
=(e
cph1
,e
cph2
,....,e
cphn
),其中,字符cc1,cc2,...,cc
n
所隶属的短语类型依次为cph1,cph2,...,cph
n
;e
cphi
(i=1,2,...,n)为短语类型cph
i
的嵌入。5.根据权利要求4所述的一种基于多粒度文本嵌入的医学实体识别方法,其特征在于:步骤1.1.3中利用word2vec工具生成所有子串的嵌入表示后,对于每个词语cw
i
(i=1,2,...,n),判断该词语cw
i
是否包含医学术语子串集合中的子串;对于中文句子CS,CS=(cc1,cc2,...,cc
n
),cc1,cc2,...,cc
n
为字符,cc1,cc2,...,cc
n
所隶属的词语依次为:cw1,cw2,...,cw
n
;设词语cw
i
包含医学术语子串集合中的子串csubs1,csubs2,...,csubs
p
,子串csubs1,csubs2,...,csubs
p
的嵌入表示分别为e
cs1
,e
cs2
,....,e
csp
,则词语cw...

【专利技术属性】
技术研发人员:道捷张春霞彭成薛晓军王瞳徐天祥郭贵锁
申请(专利权)人:北京理工大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1