System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于BERT的食物、中草药成分与疾病、症状的关系提取方法技术_技高网

基于BERT的食物、中草药成分与疾病、症状的关系提取方法技术

技术编号:40963500 阅读:4 留言:0更新日期:2024-04-18 20:42
本发明专利技术公开了一种基于BERT的食物、中草药成分与疾病、症状的关系提取方法,通过将实体标签标注的非结构化文本数据对搭建的BERT+CRF模型进行模型训练获取实体识别的BertNER模型,增加了在对实体训练和识别过程中精度,提高了识别效果;根据实体识别的BertNER模型对数据清洗后的论文集进行实体识别,并对初始实体关系提取数据集中的实体进行掩码处理并保存;采用BioBert模型对掩码处理后的数据集进行训练,以获取实体关系提取RE模型实现食物、中草药成分与疾病、症状的实体关系预测,并对预测数据进行数据后处理获得最终的实体关系提取数据集,实现了数据集的预标注,弥补了该任务缺乏注释数据的不足,为未来在没有专家对数据标注的情况下自动提取实体关系提供了有效方法。

【技术实现步骤摘要】

本专利技术涉及自然语言处理中的实体命名识别(naming entity recognition,简称ner)与关系提取(relationship extraction),尤其涉及一种基于bert的食物、中草药成分与疾病、症状的关系提取方法。


技术介绍

1、在当今社会,人们越来越关注健康和医疗问题。食物和药物是日常生活中不可或缺的一部分,而它们与疾病和症状之间的关系也备受关注,深入了解药物成分与食物之间的相互作用有助于疾病的控制和治疗。

2、食物和中草药对人类健康的影响是许多生物医学研究的主题,然而,新发表文章的数量之多和主要是非结构化的形式阻碍了医学专业人员跟上最新的发现,并阻碍了知识库构建、决策支持和问答(qa)系统的发展。且迄今为止,国内多集中在研究食物或者疾病单方面的研究,缺少对于食物与疾病的自动提取方面的研究,且g cenikj等于2023年发表的论文提及了foodis,其采用的是英文数据集,数据集没有药物成分,疾病仅仅是疾病名称并未涉及到症状。同时,没有考虑多种药物成分联合起作用的情况以及受众人群。

3、为了更好地了解食物、中草药成分与疾病、症状之间的关系,亟需提出一种基于bert的食物、中草药成分与疾病、症状的关系提取方法。


技术实现思路

1、本专利技术提供一种基于bert的食物、中草药成分与疾病、症状的关系提取方法,以克服上述技术问题。

2、为了实现上述目的,本专利技术的技术方案是:

3、一种基于bert的食物、中草药成分与疾病、症状的关系提取方法,包括以下步骤:

4、s1:获取食物、中草药以及疫病症状的非结构化文本数据,并根据所述非结构化文本数据进行实体标签标注;并将实体标签标注的非结构化文本数据作为搭建的bert+crf模型的输入,进行模型训练以获取实体识别的bertner模型;

5、所述实体标签包括疾病、症状、食物、药物成分、人群以及生理特征;

6、s2:将知网上关于慢性病与饮食相关的论文集经过下载转成文本格式,并对文本格式的论文进行数据清洗,获取ner数据集;

7、根据所述实体识别的bertner模型对ner数据集进行实体识别,获取ner数据集中各论文中的实体,并经过人工标注各实体之间的关系,以获取初始实体关系提取数据集;

8、s3:对所述初始实体关系提取数据集中的实体进行掩码处理并保存,以获取优化关系提取数据集re train;将所述优化关系提取数据集re train划分为实体关系训练集与实体关系评估集;

9、采用biobert模型对实体关系训练集与实体关系评估集进行模型训练,以重构biobert模型参数获取实体关系提取re模型;

10、s4:通过获取的实体关系提取re模型进行实体关系预测,并对所述预测数据进行数据后处理,以获取最终的实体关系提取数据集。

11、进一步的,所述s1包括以下步骤:

12、s11:采用pythonjson库将实体标签标注的非结构化文本数据从json格式转成为bio格式的数据训练集;

13、s12:通过python transformers库的authotokenizer将bio格式的数据训练集文本转换为训练特征向量,以获取特征向量训练集;

14、s13:将所述特征向量训练集中的训练特征向量作为搭建的bert+crf模型的输入;将所述特征向量训练集中的实体对应的标签作为输出,对bert+crf模型进行网络训练;

15、且所述bert+crf模型包括依次连接的数据输入层、bert网络层以及crf网络层;所述数据输入层用于将实体命名的训练特征向量输入至bert网络层;所述bert网络层用于对输入的训练特征向量进行特征融合,获取实体词向量outputs,且所述bert网络层的输出端与crf网络层的输入端连接;基于所述crf网络层,采用torch的nn.linea将实体词向量outputs按照设置的实体标签分类,获取实体标签评估向量logits;

16、s14:根据所述训练特征向量的实体标签固定向量值label_ids,采用torchcrf的crf对实体标签评估向量logits纠正;

17、并基于第一评估函数,根据实体标签评估向量logits的纠正结果与实体标签固定向量值label_ids,获取当前评估分值f1 score;

18、所述第一评估函数的表达式为

19、f1 score=2*p*r/(p+r)

20、p=tp/(tp+fp)

21、r=tp/(tp+fn)

22、式中:p表示bert+crf模型的精确率;r表示bert+crf模型的召回率;tp表示正确识别的命名实体数量;fp表示被错误识别为命名实体的数量;fn表示未被识别的命名实体数量;

23、s15:判断所述当前评估分值f1 score与预设阈值的大小,若所述当前评估分值f1score大于预设阈值,则确认当前训练完成的bert+crf模型为bertner模型;

24、若所述当前评估分值f1 score小于等于预设阈值,则重新选取所述特征向量训练集中新的训练特征向量;重复执行步骤s13至s14进行迭代训练,直至所述当前评估分值f1score大于预设阈值,确认bert+crf模型的模型参数。

25、进一步的,所述s2包括以下步骤:

26、s21:下载知网上关于慢性病与饮食相关的论文集,并使用caj2pdf将论文集中的caj文件转成为pdf文件;并采用pypdf2将pdf文件转成为txt文本文件;

27、且所述pdf格式论文包括多个论文字段,所述论文字段至少包括论文名称、英文摘要以及论文正文;

28、s22:将所述pdf格式论文转换为txt文本格式,基于所述实体标签对txt文本格式的文本进行标注,并对所述txt文本格式的论文数据进行数据清洗;

29、并根据数据清洗后的论文数据获取无实体标签文本文件test.txt;

30、s23:通过python transformers库的authotokenizer将无实体标签文本文件test.txt的数据转换为待预测特征向量,以获取ner数据集;

31、s24:通过bertner模型对所述ner数据集中的待预测特征向量进行实体预测,获取实体预测结果向量predictions;

32、s25:采用numpy的argmax函数获得预测结果向量predictions的最大值索引preds_max;并根据实体预测结果向量predictions将最大值索引preds_max转换为实体标签文字;

33、s26:根据所述实体标签文字与无实体标签文本文件test.txt进行bio标注,获取包含实体标签bio格式的test_predictions.txt文件;

34、同时采用python本文档来自技高网...

【技术保护点】

1.一种基于BERT的食物、中草药成分与疾病、症状的关系提取方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于BERT的食物、中草药成分与疾病、症状的关系提取方法,其特征在于,所述S1包括以下步骤:

3.根据权利要求1所述的一种基于BERT的食物、中草药成分与疾病、症状的关系提取方法,其特征在于,所述S2包括以下步骤:

4.根据权利要求3所述的一种基于BERT的食物、中草药成分与疾病、症状的关系提取方法,其特征在于,S22中所述根据数据清洗后的论文数据获取无实体标签文本文件test.txt具体为

5.根据权利要求3所述的一种基于BERT的食物、中草药成分与疾病、症状的关系提取方法,其特征在于,所述S3具体包括以下步骤:

6.根据权利要求5所述的一种基于BERT的食物、中草药成分与疾病、症状的关系提取方法,其特征在于,所述S4具体包括以下步骤:

【技术特征摘要】

1.一种基于bert的食物、中草药成分与疾病、症状的关系提取方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种基于bert的食物、中草药成分与疾病、症状的关系提取方法,其特征在于,所述s1包括以下步骤:

3.根据权利要求1所述的一种基于bert的食物、中草药成分与疾病、症状的关系提取方法,其特征在于,所述s2包括以下步骤:

4.根据权利要求3所述的一种基于bert...

【专利技术属性】
技术研发人员:赵磊郭权韩立李承秀房颖康玲王灝彭钰莹
申请(专利权)人:大连东软信息学院
类型:发明
国别省市:

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

1