一种基于生成模型的医学中文命名实体识别方法技术

技术编号:36437207 阅读:35 留言:0更新日期:2023-01-20 22:51
本发明专利技术属于数据处理领域,公开了一种基于生成模型的医学中文命名实体识别方法,该生成模型包括对抗训练模块和私有任务模块,其中所述对抗训练模块由一个Shared BiLSTM生成器、一个Self

【技术实现步骤摘要】
一种基于生成模型的医学中文命名实体识别方法


[0001]本专利技术属于数据处理领域,涉及面向医学命名实体识别的技术应用,具体的说是涉及一种基于生成模型的医疗领域中文命名实体识别方法。

技术介绍

[0002]命名实体识别(NER)是自然语言处理(NLP)的一项核心任务,旨在从非结构化文本中识别潜在实体及其类别。作为许多自然语言处理(NLP)下游任务如关系提取、信息检索的重要组成部分,命名实体识别(NER)一直是自然语言处理(NLP)界的一个热点问题。
[0003]最近命名实体识别(NER)的研究更加关注特定领域,例如医疗领域,该领域复杂且需要外部领域的专业知识。医学领域的命名实体识别(Clinical NamedEntity Recognition,CNER)旨在检测电子健康记录(HER)中的医疗实体,是进一步医学文本挖掘的一个重要步骤。
[0004]命名实体识别(NER)方法大致分为三类:基于规则和基于字典的方法、基于规则的方法和基于深度学习的方法,针对上述医学领域命名实体识别(CNER) 任务中存在的问题,现有技术方案存在以下问题:
[0005]1、基于词典的方法的基本思想是通过字符串模糊查找或者完全匹配的方法,但是随着新的实体名称不断涌现,词典的质量与大小有局限性;
[0006]2、基于规则的方法的基本思想是通过实体名称自身的特征和短语的常见搭配,来人为的指定一些规则,扩充规则集合,但是需要耗费巨大的人力资源和时间成本,规则一般只在某个特定的领域内有效,进行人工迁移的代价高,且规则移植性不强;
[0007]3、采用深度学习的方法是通过不断地优化模型训练,训练的模型在测试评估时表现出较好的性能。目前应用较多的模型有隐马尔可夫模型(HMM)、支持向量机(SVM)、最大熵马尔可夫模型(MEMM)、条件随机场模型(CRF)等,其中, CRF能对邻近标签对预测序列的影响问题进行有效地处理,所以在实体识别中应用较多且效果不错。
[0008]目前,最先进的英语NER方法是基于条件随机场的双向长短时记忆 (BiLSTM

CRF)方法,该方法将字符嵌入和单词嵌入作为输入,大量基于BiLSTM

CRF的模型已被广泛研究使用到英文CNER当中,如药品不良反应识别、文献级疾病等。
[0009]然而,中文CNER面临以下挑战:(1)一些实体因使用不标准的缩写或首字母缩写导致不能被识别出来;(2)同一实体的多种表现导致识别容易出错;(3) 中文缺乏有效的边界,语法比其他语言复杂。双向长短时记忆(BiLSTM

CRF) 的模型不能充分利用中文临床信息,基于词的分词算法容易出现分词错误,而基于字符的分词算法会遗漏词级信息,这对中文CNER影响很大。
[0010]考虑到上述中文的复杂性,目前较先进的中文NER方法是采用新的基于条件随机场的中文NER格结构LSTM(lattice LSTM

CRF)方法,该模型是一种基于字符的模型,具有相应的加权单词信息,优于基于单词和基于字符的LSTM基线模型,在多个数据集上实现了较先进的性能。
[0011]然而,上述所有这些NER任务都只使用已标记的样本来最大化性能,而忽略了未标记的样本。事实上,由于医学领域知识来注释样本的成本很高,大量的医学样本在生物医学领域是没有注释的;同时,由于隐私、道德和高度专业化的限制,带标注的中文医学NER数据很难获得且通常规模很小,这将导致收集到的特征过少,模型容易受到海量未标记数据的干扰,导致医学中文命名实体识别性能较差。因此,设计一个可提高医学领域海量未标记中文命名实体识别准确率的方法具有重要意义。

技术实现思路

[0012]为了解决现有技术中医学领域海量未标记中文命名实体识别性能差的缺陷,本专利技术提供了一种基于生成模型的医学中文命名实体识别方法,实现中文医学命名实体的有效识别。
[0013]为了达到上述目的,本专利技术是通过以下技术方案实现的:
[0014]本专利技术是一种基于生成模型的医学中文命名实体识别方法,该生成模型包括对抗训练模块和私有任务模块,其中所述对抗训练模块由一个Shared BiLSTM生成器、一个Self

Attention机制和一个CNN判别器组成,具体的,所述医学中文命名实体识别方法包括如下步骤:
[0015]步骤1:处理医疗中文命名实体语料库中的句子,将每个句子进行分类,形成两种数据集,分别用于对应的子任务,所述两种数据集分别为用于对抗训练模块的数据集和用于私有任务模块的数据集,
[0016]步骤2:将用于对抗训练模块的数据集中的句子与用于私有任务模块的数据集中的句子对齐,用于对抗训练模块和私有任务训练模块的数据集中相同且对齐的句子构成句子对,每个所述句子对被输入到所述生成模型中。
[0017]用于对抗训练的数据集和用于私有任务的数据集是相同的,均包含一个 CNER数据集以及一个CWS数据集,设CNER数据集中的一个字符为c
i
,则包含在CNER数据集中的一个句子表示为t=(c1,c2,c3,c4,

,c
n
),所述CNER数据集表示为C
CNER
=(t1,t2,t3,t4,

,t
q
),设CWS数据集中的一个字符为c'
i
,,则包含在CWS数据集中的一个句子表示为t'=(c'1,c'2,c'3,c'4,

,c'
n
),所述CWS数据集可以表示为C
CWS
=(t'1,t'2,t'3,t'4,

,t'
q
),其中n表示一个句子中所含字符数,q表示一个数据集中所含句子数,其中句子对被输入到所述生成模型中包括以下步骤:
[0018]步骤2

1:将所述句子对中的来自对抗训练的数据集的句子输入到对抗训练模块中,实现中文CNER任务的字符{c1,c2,c3,

,c
n
}和CWS任务的字符 {c'1,c'2,c'3,c'4,

,c'
n
}交替作为输入字符序列{s1,s2,s3,

,s
n
}输入对抗训练模块中,
[0019]步骤2

2:将所述句子对中的来自私有任务数据集的句子输入到相应的私有任务模块,实现来自中文CNER数据集中的句子字符{c1,c2,c3,

,c
n
}输入至中文CNER模块以及来自CWS数据集中的句子字符{c'1,c'2,c'3,c'4,

,c'
n
}输入至CWS 模块;
[0020]步骤3:输入对抗训练模块的字符序列,经过字嵌入转换为字向量,在字嵌入训练过程中,将中文医学文本作为神经网络的训练数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于生成模型的医学中文命名实体识别方法,其特征在于:所述生成模型包括对抗训练模块和私有任务模块,其中所述对抗训练模块由一个Shared BiLSTM生成器、一个Self

Attention机制和一个CNN判别器组成,具体的,所述医学中文命名实体识别方法包括如下步骤:步骤1:处理医疗中文命名实体语料库中的句子,将每个句子进行分类,形成两种数据集,分别用于对应的子任务,所述两种数据集分别为用于对抗训练模块的数据集和用于私有任务模块的数据集,步骤2:将用于对抗训练模块的数据集中的句子与用于私有任务模块的数据集中的句子对齐,用于对抗训练模块和私有任务训练模块的数据集中相同且对齐的句子构成句子对,每个所述句子对被输入到所述生成模型中;步骤3:输入对抗训练模块的字符序列,经过字嵌入转换为字向量,在字嵌入训练过程中,将中文医学文本作为神经网络的训练数据,经过神经网络训练后输出包含字的语义信息向量,所述字嵌入训练过程将每个字从高维空间嵌入至低维的连续向量空间,形成一个稠密向量,用于大数量级的中文医学文本表示;步骤4:将步骤3得到的字向量作为所述对抗训练模块中的Shared BiLSTM生成器的输入,所述Shared BiLSTM生成器采用从左到右的策略进行文本生成并合并字符序列两边的信息,输出BiLSTM隐藏层的状态;步骤5:利用对抗训练模块中的Self

Attention机制从Shared BiLSTM生成器的隐藏向量状态信息中获取句子不同的关键信息,并对这些信息赋予不同的实体特征权重,通过提取与整合得到固定大小的有用词向量,对抗训练模型进行批量计算;步骤6:使用对抗训练模块中的CNN判别器区分句子来自哪个私有任务数据集,其中,所述私有任务模块的数据集为中文CNER任务模块数据集或CWS任务模块数据集;步骤7:根据步骤6中CNN判别器的判别结果跳转至相应的中文CNER任务模块数据集或CWS任务模块数据集执行相应的任务,如果所述CNN判别器判断输出来自中文CNER任务模块数据集,则将Self

Attention机制的输出发送给独立CNER任务进行后续处理并输出医学文本句子序列标注结果,如果中文CNER任务模块数据集判断输出来自CWS任务模块数据集,则将Self

Attention机制的输出发送给独立CWS任务。2.根据权利要求1所述一种基于生成模型的医学中文命名实体识别方法,其特征在于:所述用于对抗训练的数据集和用于私有任务的数据集是相同的,均包含一个CNER数据集以及一个CWS数据集,设CNER数据集中的一个字符为,则包含在CNER数据集中的一个句子表示为(),所述CNER数据集表示为,设CWS数据集中的一个字符为,则包含在CWS数据集中的一个句子表示为,所述CWS数据集可以表示为,其中表示一个句子中所含字符数,表示一个数据集中所含句子数。3.根据权利要求2所述一种基于生成模型的医学中文命名实体识别方法,其特征在于:所述句子对被输入到所述生成模型中包括以下步骤:步骤2

1:将所述句子对中的来自对抗训练的数据集的句子输入到对抗训练模块中,实现中文CNER任务的字符{}和CWS任务的字符交替作为输入
字符序列{}输入对抗训练模块中,步骤2

2:将所述句子对中的来自私有任务数据集的句子输入到相应的私有任务模块,实现来自中文CNER数据集中的句子字符{}输入至中文CNER模块以及来自CWS数据集中的句子字符输入至CWS模块。4.根据权利要求3所述一种基于生成模型的医学中文命名实体识别方法,其特征在于:所述步骤7中CNN判别器的判别结果跳转至相应的中文CNER任务模块数据集执行中文CNER任务的具体过程包括如下步骤:步骤7
‑1‑
1:将步骤2

2的中文CNER数据集中的句子字符{}送入Lattice LSTM模型中进行处理;步骤7
‑1‑
2:所述Lattice LSTM模型对输入字符序列以及所有匹配字典的潜在单词进行编码,生成隐藏状态;步骤7
‑1‑
3:采用中文CNER任务模块中的Self

Attention机制提取中文CNER任务数据集中Lattice LSTM生成的关键特征并整合CWS任务模块以及对抗训练模块中的BiLSTM生成器生成的特征信息,生成隐藏状态;步骤7
‑1‑
4:结合步骤7
‑1‑
3所得隐藏状态之间的相关性,利用条件随机场模型CRF学习相邻关系来模拟标签之间的顺序关系,解码最终的序列标签以确保预测标签的合法性;步骤7
‑1‑
5:将步骤7
‑1‑
4的中文医学文预测标签结果输出至中文CNER结果集。5.根据权利要求4所述一种基于生成模型的医学中文命名实体识别方法,其特征在于:在所述7
‑1‑
2中,所述Lattice LSTM模型进行编码,生成隐藏状态的具体过程为:步骤7
‑1‑2‑
1:将中文CNER数据集中的句子字符{}的所有字符子序列储存在单元储存器中;步骤7
‑1‑2‑
2:将子序列和与词典进行词序列匹配,对每个单元字符匹配信息流循环路径;步骤7
‑1‑2‑
3:对每个单元字符匹配到的潜在词按照词长度进行排序;步骤7
‑1‑2‑
4:将当前字符向量和当前字与词典匹配到的潜在词均输入至Lattice LSTM模型中分别计算字级和词级的LSTM单元中的相关状态;步骤7
‑1‑...

【专利技术属性】
技术研发人员:郭永安吴杰钱琪杰王宇翱
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

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

1