本发明涉及自然语言处理,具体为一种融合多粒度特征的中文医疗文本命名实体识别方法。
背景技术:
1、伴随着科技的日新月异,和互联网的不断发展,得以让医疗领域在各个方面都取得了显著的进步和增长,同时也使得医疗文本数据呈指数式增长。医疗文本数据包括电子病历数据、药物说明、科研文献等。虽然产生了大量的医疗文本数据,如何高效准确的识别出这些数据中的有效实体一直是需要不断解决的问题。
2、中文医疗命名实体识别其目的是从医学诊疗记录或者医学文献等相关的文本中抽取出具有特定专业语义的命名实体,例如疾病、症状、药物、治疗方法等类型的实体。作为临床决策的重要依据之一,中文医学命名实体识别可以帮助医生快速了解患者的实际情况,从而可以提高临床决策的效率。中文医学文本具有特殊的语言书写规则和很强的专业性。然而,目前大多数主流的命名实体识别方法是基于英文文本语料集的,这些模型在处理中文医学命名实体识别任务时,往往缺乏足够的泛化能力。
3、近几年深度学习的崛起,使得命名实体识别的研究更进一步,模型更加复杂,实体识别更加准确。但是现有方法在生成词嵌入方面都过于单一,没有充分利用文本数据缺乏较多的语义信息和外部知识。如bert-ilstm-crf模型是一种经典的命名实体识别方法,使用bert模型对文本进行编码得到上下文的特征嵌入,然后通过bilstm层进一步捕捉序列中的上下文信息,最后应用crf层进行实体标注。所以为了完善文本生成词嵌入方面缺乏语义信息的问题。如专利cn111597815a将汉字的拼音和五笔信息转化成对应的向量与字向量进行融合,形成最终的词嵌入,从而提升词嵌入的语义信息,来提高模型的识别能力。以上模型方法生成的词嵌入只考虑到基于字符级粒度角度,并未有考虑到词级粒度的语义特征,基于字符的方法不能充分利用已知的词汇信息和词汇间的序列信息,因此词典信息的引入对基于字符的中文命名实体识别方法有明显的提升。如专利cn113889281a不仅融合了字符级粒度的语义信息,还对文本数据构建出字典树,对文本中的每个字符通过字典树查找出对应的多个匹配词,利用注意力机制将多个匹配词所构成的词汇信息整合,输出字符的词特征。以达到利用词汇信息和字符的字形信息来提升命名实体识别效果的作用
4、在医疗文本命名实体识别的方法中,词嵌入包含更多的语义信息,将会提升识别的效果。然而以上方法生成的词嵌入包含的语义信息较少不够完善,仅包含字符级粒度和词级粒度的语义信息缺少句子级粒度的语义信息。
技术实现思路
1、(一)解决的技术问题
2、针对现有技术的不足,本发明提供了一种融合多粒度特征的中文医疗文本命名实体识别方法,主要为解决现有的方法生成的词嵌入包含的语义信息较少不够完善,仅包含字符级粒度和词级粒度的语义信息缺少句子级粒度的语义信息的问题。
3、(二)技术方案
4、为实现上述目的,本发明提供如下技术方案:
5、一种融合多粒度特征的中文医疗文本命名实体识别方法,包括以下步骤:
6、s1:数据预处理,获取需要进行命名实体识别的中文医疗文本数据和标注数据,对医疗文本数据进行预处理,生成训练集、验证集、测试集;
7、s2:数据嵌入,对预处理后文本数据的每个字符通过预训练语言模型得到对应的字嵌入;
8、s3:转换字符,对预处理后文本数据的每个字符统一转换为思源黑体的字形图,并通过卷积操作输出汉字的图像特征嵌入,再将字符全部转化为笔画串通过卷积操作提取汉字的笔画串特征嵌入,将两个嵌入拼接组成汉字图形嵌入;
9、s4:字符匹配,紧接着将每个字符通过医学词典匹配到所对应的匹配词集合,通过统计训练集、验证集、测试集中各个词汇出现的频率,以词频为依据将得到四个匹配词,最后将得到的匹配词转换为词特征嵌入;
10、s5:计算融合,计算出s1中每句话生成的字嵌入的平均值,取每句话的开始标志位[cls]位置的输出向量,将两者通过自注意力机制进行融合,得到句子特征嵌入;
11、s6:特征嵌入融合,将s2和s3得到的特征嵌入直接拼接,得到字符级特征嵌入,将字符级特征嵌入与s4中的词特征嵌入通过交叉注意力机制动态的融合得到新的嵌入;
12、s7:二次融合,将s5和s6中的嵌入,通过基于权重的自适应动态融合得到最终的词嵌入;
13、s8:预测标签,将s7得到的最终词嵌入输入到bilstm-crf模型中预测相应的实体标签。
14、进一步的,所述s2的处理方式为对于长度为n的输入文本为c={c1,c2,…,cn},其中ci为文本中第i个字符,将文本中第个字符输入到预训练语言模型中,预训练语言模型为bert,得到对应的字嵌入为
15、在前述方案的基础上,所述s3的处理方式为先将每个字符与思源黑体字体库匹配,转化为对应的字形图,之后对字形图进行两次二维卷积和最大池化操作,将卷积得到的特征图进行展平操作,紧接着通过全连接层得到字符向量的尺寸,重新建立文本句子的界限,得到对应的特征向量为紧接着对字符笔画特征提取,将字符转化为笔画串,截断或补充到固定长度,并通过两次一维卷积和最大池化操作,再通过全连接层得到字符向量尺寸,重新建立文本句子的界限,得到的对应的特征向量为将得到两特征向量进行拼接得到汉字图形嵌入为
16、作为本发明在进一步的方案,所述s4的处理方式为将整理的临床检查、医疗器械、手术操作、疾病诊断、症状体征、药物名称、解剖部位这六项词表与搜狗医学词库结合,构建医学词典l,通过bmes标注法对实体进行标注,即b为实体的开头,m为实体的中间位置,e为实体的结尾,s为单个字符为实体的情况,字符根据医学词典进行匹配,得到四个集合分别为bl、ml、el、sl,集合bl是包含以当前字符为开头的词汇,集合ml包含当前字符在词汇中部的词汇,集合el包含以当前字符为结尾的词汇,集合sl为当前单个字符为词汇的集合,在得到当前字符ci的匹配词集合后,统计训练集、测试集、验证集中各个匹配词出现的频率,将词频作为权重,将词汇向量化表示,把向量进行拼接得到词特征嵌入,其中bl的向量表示为:
17、
18、其中,ew(w)为词嵌入查找表,z(w)为词汇w在词典中出现的频率,同理可得到其他三个匹配词集合的向量表示,即:v(ml)、v(el)、v(sl),最后得到词特征嵌入wd(ci)=[v(bl);v(ml);v(el);v(sl)]。
19、进一步的,所述s5的处理方式为计算每句话生成的字嵌入的平均值sp和得到句子嵌入特征sf,每句话生成的字嵌入的平均值计算公式为其中n为每句话的字符个数,是第i个字符的字嵌入,句子嵌入特征的得到方式为sf=attention([sp;[cls]]),其中[cls]为bert输出的每句话的开始标志位输出向量其中蕴含着整句话的语义信息,attention(·)为自注意力机制。
20、在前述方案的基础上,所述s6的处理方式为第i个字符的字符级特征嵌入为cli,cli与第i个字符的词特征嵌入通过交叉注意力机制动态的融合得到新的嵌入为nei:
21、
22、其中cross attention(·)为交叉注意力机制。
23、作为本发明在进一步的方案,所述s7中通过基于权重的自适应动态融合得到第i个字符的最终的词嵌入fxi:z=sigmoid(w·conv([nei;sf]))
24、fxi=z·nei+(1-z·sf)
25、其中w是可学习的权重参数,conv是卷积操作,在这里通过使用一维卷积进行卷积操作,代替矩阵乘法运算,再通过全连接层存储学习到的参数,使用sigmoid函数控制输出结果,得到权重值,根据输入字符的不同自适应动态的调整权重值。
26、进一步的,所述s8中将最终的词嵌入输入到bilstm-crf,先进入到bilstm得到全局的上下文向量表示,表示为:
27、
28、然后使用crf,对上下文的向量表示进行解码,预测最终的实体标签序列。
29、(三)有益效果
30、与现有技术相比,本发明提供了一种融合多粒度特征的中文医疗文本命名实体识别方法,具备以下有益效果:
31、1、本发明通过融合字符级、词级和句子级的语义信息使得词嵌入包含更加丰富的语义信息,能捕捉到更多层次的上下文信息对理解和识别医疗文本中的实体至关重要,并且通过对不同粒度之间语义信息使用不同融合方式的方法,能够更有效地整合不同粒度的特征,避免了信息孤立和过拟合的问题,使得特征融合更加高效。
32、2、本发明中由于使用了多种粒度的语义信息,该发明生成的词嵌入可以适应不同的医疗文本环境,无论文本长度、句子结构还是专业领域知识,都能有较好的表现,可体现出本发明适应性强的优点,由于词嵌入包含了更丰富的语义信息,因此在医疗文本命名实体识别任务中,使用这种词嵌入能够提高识别的准确性和效率。
33、3、本发明由于采用了多种粒度的语义信息融合,使生成的词嵌入对于文本中的噪声、拼写错误等问题具有较好的鲁棒性,同时通过采用不同粒度的语义信息融合方式,在参数设置和模型训练时可以更好地控制过拟合风险,提高模型的泛化能力。
1.一种融合多粒度特征的中文医疗文本命名实体识别方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种融合多粒度特征的中文医疗文本命名实体识别方法,其特征在于,所述s2的处理方式为对于长度为n的输入文本为c={c1,c2,…,cn},其中ci为文本中第i个字符,将文本中第个字符输入到预训练语言模型中,预训练语言模型为bert,得到对应的字嵌入为
3.根据权利要求1所述的一种融合多粒度特征的中文医疗文本命名实体识别方法,其特征在于,所述s3的处理方式为先将每个字符与思源黑体字体库匹配,转化为对应的字形图,之后对字形图进行两次二维卷积和最大池化操作,将卷积得到的特征图进行展平操作,紧接着通过全连接层得到字符向量的尺寸,重新建立文本句子的界限,得到对应的特征向量为紧接着对字符笔画特征提取,将字符转化为笔画串,截断或补充到固定长度,并通过两次一维卷积和最大池化操作,再通过全连接层得到字符向量尺寸,重新建立文本句子的界限,得到的对应的特征向量为将得到两特征向量进行拼接得到汉字图形嵌入为
4.根据权利要求1所述的一种融合多粒度特征的中文医疗文本命名实体识别方法,其特征在于,所述s4的处理方式为将整理的临床检查、医疗器械、手术操作、疾病诊断、症状体征、药物名称、解剖部位这六项词表与搜狗医学词库结合,构建医学词典l,通过bmes标注法对实体进行标注,即b为实体的开头,m为实体的中间位置,e为实体的结尾,s为单个字符为实体的情况,字符根据医学词典进行匹配,得到四个集合分别为bl、ml、el、sl,集合bl是包含以当前字符为开头的词汇,集合ml包含当前字符在词汇中部的词汇,集合el包含以当前字符为结尾的词汇,集合sl为当前单个字符为词汇的集合,在得到当前字符ci的匹配词集合后,统计训练集、测试集、验证集中各个匹配词出现的频率,将词频作为权重,将词汇向量化表示,把向量进行拼接得到词特征嵌入,其中bl的向量表示为:
5.根据权利要求1所述的一种融合多粒度特征的中文医疗文本命名实体识别方法,其特征在于,所述s5的处理方式为计算每句话生成的字嵌入的平均值sp和得到句子嵌入特征sf,每句话生成的字嵌入的平均值计算公式为其中n为每句话的字符个数,是第i个字符的字嵌入,句子嵌入特征的得到方式为sf=attention([sp;[cls]]),其中[cls]为bert输出的每句话的开始标志位输出向量其中蕴含着整句话的语义信息,attention(·)为自注意力机制。
6.根据权利要求1所述的一种融合多粒度特征的中文医疗文本命名实体识别方法,其特征在于,所述s6的处理方式为第i个字符的字符级特征嵌入为cli,cli与第i个字符的词特征嵌入通过交叉注意力机制动态的融合得到新的嵌入为nei:
7.根据权利要求1所述的一种融合多粒度特征的中文医疗文本命名实体识别方法,其特征在于,所述s7中通过基于权重的自适应动态融合得到第i个字符的最终的词嵌入fxi:z=sigmoid(w·conv([nei;sf]))
8.根据权利要求1所述的一种融合多粒度特征的中文医疗文本命名实体识别方法,其特征在于,所述s8中将最终的词嵌入输入到bilstm-crf,先进入到bilstm得到全局的上下文向量表示,表示为:
