System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于Bert-FFMCNN文本分类的中医病名预测方法技术_技高网

一种基于Bert-FFMCNN文本分类的中医病名预测方法技术

技术编号:40466811 阅读:10 留言:0更新日期:2024-02-22 23:21
本发明专利技术公开了一种基于Bert‑FFMCNN文本分类的中医病名预测方法,属于分类技术领域,包括以下步骤:S1、通过中医特征聚合模块提取中医病例文本的特征;S2、将得到的融合后的特征Z通过中医病名预测模块进行分类预测,得到患者患有某种病症的概率,其中概率值最高的一类病症作为中医病名预测的结果。本发明专利技术采用上述的一种基于Bert‑FFMCNN文本分类的中医病名预测方法,可以弥补中医智能诊疗领域的不足。

【技术实现步骤摘要】

本专利技术涉及分类,尤其是涉及一种基于bert-ffmcnn文本分类的中医病名预测方法。


技术介绍

1、中医诊断时,中医根据中医四诊所获得的信息,分析患者的相应症状,做出鉴别诊断。然而,由于中医诊断的模糊性和主观性,在诊断推理过程中容易出现误诊,降低了中医诊断的准确性,削弱了患者对中医的信心。

2、针对这一问题,一些研究人员利用中医的病历信息,将中医诊断转化为分类问题,使用基于文本分类的方法来对临床数据进行分析和处理,从中提取有用的特征和知识,实现中医诊断的智能化和标准化,降低中医诊断过程中的模糊性和主观性的影响。

3、文本分类是自然语言处理中的一个重要任务,传统的文本分类方法通常基于词袋模型或词向量模型,将文本表示为固定长度的向量,然后使用机器学习算法如支持向量机、随机森林或神经网络进行分类。这些方法虽然简单易实现,但这些方法忽略了文本中词语之间的顺序和语义关系、无法处理未登录词(out-of-vocabulary)和多义词(polysemy),对于中医领域的文本分类效果不佳。

4、近年来,随着深度学习在自然语言处理领域的广泛应用,出现了一些基于神经网络模型的文本分类方法,如卷积神经网络(cnn)、循环神经网络(rnn)、长短期记忆网络等。这些方法虽能够捕捉文本中词语之间的上下文信息和语义依赖关系,但是这些方法需要大量的计算资源和时间进行训练,且对长序列、语义复杂的中医病历文本的分类效果不理想。


技术实现思路

1、本专利技术的目的是提供一种基于bert-ffmcnn文本分类的中医病名预测方法,以解决
技术介绍
中的问题,可以弥补中医智能诊疗领域的不足。

2、为实现上述目的,本专利技术提供了一种基于bert-ffmcnn文本分类的中医病名预测方法,包括以下步骤:

3、s1、通过中医特征聚合模块提取中医病例文本的特征;

4、s11、将症状描述x1输入至bert模型中,得到一个形状为[batch_size,sequence_length,hidden_size]的字向量序列tokens1=[t0,t1,…,t127];然后将tokens1作为特征融合模块的输入,计算每个token对整个序列的贡献度,并通过加权求和得到整个序列的文本特征z1;

5、s12、将主诉症状x2输入至bert模型中,得到一个形状为[batch_size,sequence_length,hidden_size]的字向量序列tokens2=[t0’,t1’,…,t15’];然后将tokens2作为多尺度卷积神经网络模块的输入,提取主诉症状的文本特征z2;

6、s13、将得到的特征z1和z2使用torch.cat函数进行拼接,得到融合后的特征z;;

7、z=torch.cat((z1,z2),dim=1) (1)

8、其中,dim=1表示在维度1上进行拼接;其中,维度1为列方向;

9、s2、将步骤s13得到的融合后的特征z通过中医病名预测模块进行分类预测,得到患者患有某种病症的概率,其中概率值最高的一类病症作为中医病名预测的结果;

10、y=wc·z+bc (2)

11、y=argmax(y) (3)

12、式中,y是输出向量,表示每个类别的预测概率;wc是分类器层的权重矩阵,矩阵中的每一行对应一个类别的权重;bc是分类器层的偏置单元;

13、然后使用argmax函数取出y中的最大值对应的索引,根据索引查询字典得到中医病名预测结果y。

14、优选的,步骤s11中,症状描述x1是包含性别、年龄、规范化主诉、规范化现病史的文本序列。

15、优选的,步骤s12中,主诉症状x2为短文本序列。

16、优选的,特征融合模块是一个基于多层感知器和自注意力的文本编码器。

17、优选的,步骤s11中,计算每个token对整个序列的贡献度,并通过加权求和得到整个序列的文本特征z1,包括以下步骤:

18、s111、通过基于多层感知器和relu激活函数对tokens1进行非线性变换;

19、s112、自注意力的文本编码器计算每个输入字符对于整个输入序列的重要性,然后通过softmax函数将每个输入字符的注意力分数转换为注意力权重,最后加权求和得到整个序列的特征表示;

20、x=relu(wmlp·e+bmlp) (4)

21、attention_scores=watt·x+batt (5)

22、

23、

24、其中,e是x1在bert模型中输出的字向量序列tokens1=[t0,t1,…,t127];wmlp、bmlp和watt、batt分别为多层感知机层和注意力层的权重矩阵和偏置单元,i表示输入序列中的第i个字符;

25、在bert模型训练之初,bert模型为w和b进行随机初始化,而后权重矩阵w和偏置单元b中的值通过bert模型训练过程进行自学习更新迭代,attention_scores和attention_weights分别是注意力分数和注意力权重,衡量每个字向量对整个序列的重要程度,seq_len为bert模型的输入的文本序列的长度。

26、优选的,步骤s12中,多尺度卷积神经网络模块包括三个不同大小的卷积核,分别是3×3、4×4、5×5。

27、优选的,步骤s2中,通过focal loss调节不同样本的权重,focal loss计算如下:

28、fl(pt)=-(1-pt)γlog(pt) (8)

29、其中,γ为调制因子,γ>1;pt(0≤pt≤1)为模型输出的预测为某类疾病的概率。

30、因此,本专利技术采用上述一种基于bert-ffmcnn文本分类的中医病名预测方法,其技术效果如下:

31、(1)双输入的bert-ffmcnn模型,模型中的中医特征聚合模块根据两个输入的特点分别对其进行处理,提取其文本特征和上下文语义关系,然后将两个通道提取到的特征进行拼接,得到更加丰富、综合的特征表示。

32、(2)中医病名预测模块将得到的特征表示输入分类层进行中医病名预测,从而模拟中医诊断的过程,该方法在一定程度上可以弥补中医智能诊疗领域的不足,且无论是在技术上还是中医临床经验知识的运用上,本专利技术都具有一定的创新性,并在性能上得到了一定的提升。

33、下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。

本文档来自技高网...

【技术保护点】

1.一种基于Bert-FFMCNN文本分类的中医病名预测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于Bert-FFMCNN文本分类的中医病名预测方法,其特征在于,步骤S11中,症状描述X1是包含性别、年龄、规范化主诉、规范化现病史的文本序列。

3.根据权利要求1所述的一种基于Bert-FFMCNN文本分类的中医病名预测方法,其特征在于,步骤S12中,主诉症状X2为短文本序列。

4.根据权利要求1所述的一种基于Bert-FFMCNN文本分类的中医病名预测方法,其特征在于,特征融合模块是一个基于多层感知器和自注意力的文本编码器。

5.根据权利要求4所述的一种基于Bert-FFMCNN文本分类的中医病名预测方法,其特征在于,步骤S11中,计算每个token对整个序列的贡献度,并通过加权求和得到整个序列的文本特征Z1,包括以下步骤:

6.根据权利要求5所述的一种基于Bert-FFMCNN文本分类的中医病名预测方法,其特征在于,步骤S12中,多尺度卷积神经网络模块包括三个不同大小的卷积核,分别是3×3、4×4、5×5。

7.根据权利要求6所述的一种基于Bert-FFMCNN文本分类的中医病名预测方法,其特征在于,步骤S2中,通过Focal Loss调节不同样本的权重,Focal Loss计算如下:

...

【技术特征摘要】

1.一种基于bert-ffmcnn文本分类的中医病名预测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于bert-ffmcnn文本分类的中医病名预测方法,其特征在于,步骤s11中,症状描述x1是包含性别、年龄、规范化主诉、规范化现病史的文本序列。

3.根据权利要求1所述的一种基于bert-ffmcnn文本分类的中医病名预测方法,其特征在于,步骤s12中,主诉症状x2为短文本序列。

4.根据权利要求1所述的一种基于bert-ffmcnn文本分类的中医病名预测方法,其特征在于,特征融合模块是一个基于多层感知器和自注意力的文本编码器。

【专利技术属性】
技术研发人员:李灿东
申请(专利权)人:福建中医药大学
类型:发明
国别省市:

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

1