首页> 中国专利> 药物关系分类模型构建方法、药物关系分类方法及系统

药物关系分类模型构建方法、药物关系分类方法及系统

摘要

本发明公开了一种药物关系分类模型构建方法、药物关系分类方法及系统。本发明利用BioBERT中提取出与药物名相关的知识和使用关键语义子句代替全部句子,丢弃无关紧要词构建预训练数据集,对包括依次设置的语义和药物知识抽取层;药物知识增强层;语义和药物知识融合层和分类层的神经网络进行训练构建分类模型。本发明分类准确率提高,且减缓了标记噪声样本对模型训练时造成的负面影响。

著录项

  • 公开/公告号CN113806531A

    专利类型发明专利

  • 公开/公告日2021-12-17

    原文格式PDF

  • 申请/专利权人 西北大学;

    申请/专利号CN202110987573.8

  • 发明设计人 孙霞;陈嘉诚;金鑫;邓瑶;张梦延;

    申请日2021-08-26

  • 分类号G06F16/35(20190101);G06F16/36(20190101);G06F40/289(20200101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构61216 西安恒泰知识产权代理事务所;

  • 代理人史玫

  • 地址 710069 陕西省西安市太白北路229号

  • 入库时间 2023-06-19 13:45:04

说明书

技术领域

本发明涉及药物关系分类模型构建及分类方法,具体涉及一种基于 BioBERT和GHM loss的药物关系分类模型构建及分类方法。

背景技术

药物关系是指同时或在一段时间内服用两种或更多种药物所产生的综合效应。这种效应可分为协同效应,拮抗效应和非相互作用。药物之间的相互拮抗效应会对患者造成严重的健康风险。药物关系抽取(DDIE)任务是自然语言处理领域的典型的关系提取任务,旨在检测和识别药物对的语义关系,对减少药物安全事故,促进生物医学技术的发展具有重要意义。

近年来,随着深度学习的发展和应用,有越来越多基于神经网络的方法应用在药物关系抽取任务上,这类方法的创新集中在设计独特的注意力机制,堆叠更深的网络层数,依赖语法信息等方面。但是随着如BERT等预训练语言模型的出现,导致模型结构逐渐统一,性能也逐渐达到瓶颈。于是,有研究者开始使用与药物实体相关的知识去增加药物关系抽取的表现。但目前主流的利用药物知识的方法首先利用爬虫从药物数据库或维基百科上爬取与药物名相关的外部知识,然后通过神经网络将外部知识转为为计算机可以理解的语义向量,最后与药物文本结合去抽取药物关系。

现有的药物关系分类方法存在依赖外部知识和受标注噪声影响,导致药物关系分类的准确率不高的问题。

发明内容

针对现有技术的缺陷或不足,本发明提供了一种药物关系分类模型构建方法。

为此,本发明所提供的方法包括

步骤1,构建原始药物文本集并进行预处理

1.1构建原始药物文本集,所构建原始药物文本集由多个原始句子构成,每个原始句子中包含至少两个药物名称,所述至少两个药物名称中包含有两个目标药物名称;对每个原始句子中的两个目标药物名称的药物关系进行标注,得到药物关系标签集;

1.2采用BioBERT分词词典对每个原始句子进行分词处理;得到分词处理后的药物文本集;

1.3对每个分词处理后的句子中的两个目标药物名称中的其中一个目标药物名称前后均添加$符号,另一个目标药物名称前后均添加#符号;得到标记后的药物文本集;

1.4对步骤1.3处理后的集合中的每个token映射为该token在BioBERT 分词词典中的对应索引值;得到预处理后的药物文本集;

1.5选取每个原始句子中的关键词和非关键词;

1.6将步骤1.3处理后的每个句子中的关键词的token标记为1,非关键词和$符号及#符号的token标记为0,得到每个句子的关键语义子句标记向量;得到关键语义子句标记向量集合;

步骤2,将所述的预处理后的药物文本集和关键语义子句标记向量集合作为输入,将所述的药物关系标签集作为输出,训练神经网络,获得药物关系分类模型;

所述的神经网络包括依次设置的语义和药物知识抽取层;药物知识增强层;语义和药物知识融合层;和分类层;

所述的语义和药物知识抽取层为经过预训练的语言模型BioBERT,所述语义和药物知识抽取层对预处理后的药物文本集进行处理,得到每个句子的表示矩阵;

所述药物知识增强层的输入为每个句子的表示矩阵和关键语义子句标记向量,将每个句子的表示矩阵中的非关键词对应的向量及$符号和#符号对应的向量删除,得到每个句子的关键句子表示矩阵;

所述语义和药物知识融合层对每个关键句子表示矩阵中所包含的药物名称的向量和非药物名称的向量进行融合,得到每个原始句子对应的句子表示向量,该句子表示向量作为分类层的输入。

进一步,所述语义和药物知识融合层是由依次连接的双向长短期记忆神经网络和全连接层块构成,将关键句子表示矩阵输入双向长短期记忆神经网络得到正向句子表示向量和反向的句子表示向量,全连接层块对正向句子表示向量和反向的句子表示向量进行融合,得到融合了正、反向语义的句子表示向量。

进一步,所述步骤1.5中采用基于语法依赖信息的方法选取每个原始句子中的关键词和非关键词。

进一步,所述的分类层包括全连接层和softmax函数层。

优选的,所述训练过程中使用GHM损失函数。

本发明同时提供了一种药物关系分类方法。为此,本发明所提供的所述方法包括:

步骤一,识别待分类句子中所包含的药物名称,如待分类句子中包含有两个药物名称时,将所含有的两个药物名称作为目标药物名称直接执行步骤二;如待分类句子中包含三个以上药物名称时,遍历其中的两个药物名称组合作为目标药物名称,分别执行步骤二;

步骤二,采用上述步骤1.2-1.6对待分类句子进行处理,得到待分类句子的预处理后的药物文本和关键语义子句标记向量;

步骤三,将所得预处理后的药物文本和关键语义子句标记向量输入权利要求1构建的模型中,输出待分类句子中任意两个药物名称之间的药物关系类别。

本发明还提供了一种药物关系分类系统。为此,本发明提供的药物关系分类系统包括数据预处理模块和分类模块,所述数据预处理模块用于执行上述步骤一和二;所述分类模块用于执行上述步骤三。

与现有技术相比,本发明具有以下技术特点:

本发明通过输入不经过药物致盲,且标记药物实体的文本,从BioBERT 中提取出与药物名相关的知识,使得分类准确率提高;

本发明通过使用关键语义子句代替全部句子,丢弃了无关紧要词,使得存储在药物实体对应向量表示中的药物知识的效果提升,使得分类准确率提高。

本发明通过使用GHM作为损失函数,减缓了标记噪声样本对模型训练时造成的负面影响,使得分类准确率提高。

附图说明

图1为本发明的一个实施例中提供的一句话的语法依赖解析图。

具体实施方式

除非有特殊说明,本文中的术语和方法根据相关领域普通技术人员的认识理解或采用已有相关方法实现。

本发明所述的原始药物文本集可取自业内已经公开的数据集,或通过生物医学文献和论文等方式进行采集,获取的文本可以为文献和论文的局部或整体,但需要保证文本语义表达完整。所述原始药物文本集中的处理单元为原始句子,例如“Barbituratesandglutethimide should not be administered to patientsreceiving coumarin drug.”,其中“Barbiturates”、“glutethimide”和“coumarin drug”为药物名称词,剩下的单词为其他单词。

本发明所述的药物名称是指原始句子中所客观包含的药物名称,目标药物名称是指每次分析、标注、处理操作时所针对的多个药物名称中的两个具体的药物名称,例如原始句子“Barbituratesand glutethimide should not be administered topatientsreceiving coumarin drug.”中包含三个药物名称:“Barbiturates”、“glutethimide”和“coumarin drug”,这三个药物名称中任意两个为目标药物名称。

本发明所述的药物关系标签包括下述五种中的任一种或两种以上,五种分别是advice建议,effect作用,mechanism药物机理,int正向以及无关系 false;这些关系词的实质含义根据药学领域相关知识定义。

本发明使用BioBERT分词词典对原始句子进行分析处理,其通过 WordPiece技术,将每一个word切片成更小的单位token,词典由所有的 token组成;例如单词chloramphenicol被切片后的结果为 [’ch’,’##lora’,’##mp’,’##hen’,’##ico’,’##l’],里面的’ch’,‘##lora’等均为token。

为了使模型捕捉到目标药物名称的位置,本发明对所述的分词后的药物文本集中的目标药物名称前后添加药物实体标记,通过对分词后的药物文本集中的两个目标药物名称前后分别添加’$’和’#’标记。

为了使得文本内容输入到分类模型中,本发明通过查询BioBERT分词词典,将标记后的药物文本集中的token都映射为其在BioBERT字典中的对应索引值。所述BioBERT的分词词典为文献Devlin J,Chang M W,Lee K,et al.Bert: Pre-training of deepbidirectional transformers for language understanding[J]. arXiv preprintarXiv:1810.04805,2018.中所公开的分词词典。

本发明所述选取每个原始句子中的关键词和非关键词可选有已有相关方法实现,如采用基于语法依赖信息的方法,具体如由药物名称和其最小公共祖先节点(LCA)组成的子树,药物名称间的最短依赖路径(SDP),基于LCA 的优化方法(KSS)等。

本发明所构建的模型首先使用预训练语言模型BioBERT将每一个原始句子中词转化为其表示矩阵,其中包括目标药物的表示向量和其他词的表示向量;目标药物名称的表示向量包含与药物名称相关的知识,其他的词的表示向量包含其本身的融合了上下文信息的更精准的语义信息;目标药物名称词相对于其他词的数量很少,这会导致目标药物的表示向量中所含的药物知识被其他词的表示向量淹没;

为了提升药物知识的作用,将语义和药物知识抽取层所得到的所有词的表示向量送入到药物知识增强层,在增强层中,通过利用关键语义子句标记向量,仅保留关键语义子句中的词对应的词表示向量;

再将这些词表示向量送入语义和药物知识融合层,在语义和药物知识融合层中,将所包含的目标药物名称的向量和非药物名称的向量进行融合,得到每个原始句子对应的句子表示向量,该句子表示向量作为分类层的输入。

本发明网络中的分类层包括全连接层和softmax函数层;还可以是最后由全连接层+softmax层结束的其他网络结构。由全连接层和Softmax函数层组成的分类层,根据类别的数量输出数字向量形式的药物关系标签,从而确定最后的药物关系分类的最终结果,全连接层和Softmax函数层的每一个输出节点代表一个药物类别,分类器最终输出的药物标签是给定药物实体对属于各个药物类别的概率,并且该概率值在[0,1];例如,现假定药物关系有 2种,分别代表有关系和没有关系,则Softmax函数层的输出节点设置为2 个,即有两种药物关系,分别代表positive和negative,假如Softmax函数层输出的数字向量形式的药物关系标签为p[positive,negative]=[0.1,0.9], 即Softmax函数层输出的结果中,存在positive的概率值为0.1,存在negative 的概率值为0.9,然后以此来判断.

实施例1:

在本实施例中为采用本发明的方法构建一具体的药物关系分类模型;

在本实例中,采用DDIExtraction 2013药物关系数据集作为药物关系文本对神经网络进行训练和测试,将整个数据集的80%作为训练集、20%作为测试集,即训练集由27792条原始句子样例组成,测试集由6409条药物关系文本样例组成。然后使用划分好的训练集对神经网络进行10次训练,选取10次训练中模型效果最好的模型作为神经网络的最终模型。每个原始句子中至少需要包含两个目标药物名称词,这两个目标药物名称词为涉及药物关系分类的药物单词,其余均为其他单词,例如,在本实施例中原始药物文本为:“Barbituratesand glutethimide should not be administered to patientsreceivingcoumarin drug.”,其中“Barbiturates”和“glutethimide”为目标药物名称词;

还例如,在本实施例中原始药物文本为:“Barbiturates and glutethimideshould not be administered to patientsreceiving coumarin drug.”,其中“glutethimide”和“coumarin drug”为目标药物名称词;

又例如,在本实施例中原始药物文本为:“Barbiturates and glutethimideshould not be administered to patientsreceiving coumarin drug.”,其中“Barbiturates”和“coumarin drug”为目标药物名称词;

该实施例的分词处理通过使用BioBERT的分词词典来实现,将句子中的每一个词划分为更小的token;例如“chloramphenicol”通过BioBERT的分词词典将被切分为[’ch’,’##lora’,’##mp’,’##hen’,’##ico’,’##l’]’,对每一个句子都进行分词,得到分词后的药物文本集;

该实施例对分词后的句子添加药物实体标记后的示例:分词后的为句子为“['Bar','##bit','##ura','##tes','and','g','##lut','##eth','##im','##ide', 'should','not','be','administered','to','patients','receiving','co','##uma','##rin','drugs','.']”添加药物实体标记后为句子为“['$','Bar','##bit','##ura','##tes','$','and','#','g','##lut','##eth','##im','##ide','#','should','not','be', 'administered','to','patients','receiving','co','##uma','##rin','drugs','.'];对每一个句子都进行目标药物标记,得到标记后的药物文本集;

通过查询BioBERT分词词典,将标记药物实体后的药物文本集中的token 都映射为其在BioBERT分词词典中的对应索引值;例如,对一个标记目标药物名称后的药物文本集中的句子”['$','Bar','##bit','##ura','##tes','$','and', '#','g','##lut','##eth','##im','##ide','#','should','not','be','administered','to', 'patients','receiving','co','##uma','##rin','drugs','.']”,其映射后的句子为[109, 6523,9208,4084,3052,109,1105,108,176,25937,8767,4060,3269,108, 1431,1136,1129,8318,1106,4420,4172,1884,10161,4854,5557,119];对每一个句子都进行映射,得到预处理后的药物文本集;

所述的原始药物文本集进行语法依赖解析并获得与两个药物实体相关的关键语义子句,该实施例参考文献“Zhang Y,Qi P,Manning C D.Graph convolution overpruned dependency trees improves relation extraction[J]. arXiv preprintarXiv:1809.10185,2018”中公开的方法选取每个原始句子中的关键词和非关键词:

首先使用在2020年发布的专门针对生物医学文本进行语言解析的语法解析工具stanza对原始句子进行语法依赖解析,得到每一个词的语法依赖词;然后以词为结点,以词到依赖词为边,构建一颗语法依赖树,如图1所示为原始句子“Barbituratesandglutethimide should not be administered to patientsreceiving coumarin drug.”(目标药物名称为Barbiturates和 glutethimide)的语法依赖树;

在构造完语法依赖树后,首先需要确定两个目标药物名称节点的最小公共父节点;然后寻找从一个目标药物名称出发,通过最小公共子节点到另一个目标药物名称的最小公共子树,最小公共子树的边在图1中被标记为虚线;然后保留所有距离子树上节点小于等于1的节点对应的词,形成关键语义子句,在关键语义子句中的词被标记为斜体;图1对应的关键语义子句为Bar biturates and glutethimide.;

最后,将步骤1.3处理后的每个句子中的关键词的token标记为1,非关键词和$符号及#符号的token标记为0,得到每个句子的关键语义子句标记向量;得到关键语义子句标记向量集合;得到结果示例:[0,1,1,1,1,0,1, 0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0]。

该实施例的预训练语言模型BioBERT采用文献“Lee J,Yoon W,Kim S,et al.BioBERT:a pre-trained biomedical language representation model for biomedicaltext mining[J].Bioinformatics,2020,36(4):1234-1240.)”中公开的训练好的模型;所述的药物知识增强层包括关键语义子句抽取器;该实施例的语义和药物知识融合层包括BiLSTM(双向长短期记忆神经网络)和MLP (全连接层块);首先使用BiLSTM得到所有词表示向量对应的正向和反向的句子表示向量,再使用MLP融合正向和反向的句子表示向量,得到最终的融合了正反向语义的句子表示向量,最后将句子表示向量送入到分类层中进行分类层;

在本实施例中,预训练语言模型BioBERT输出的词表示向量长度为768, BiLSTM输出的每个方向的句子表示向量长度均为768,MLP层输出的最终句子表示向量长度为300.

在本实施例中,分类层包括全连接层和softmax函数层。在本实施例中,药物关系包括5种,分别是advice建议,effect作用,mechanism药物机理, int正向以及无关系false。

该实施例采用上述的输入与输出对所述的神经网络使用GHM损失函数进行训练,获得药物关系分类模型。

对比例1:

该对比例的与实施例1不同的是训练时所用损失函数为交叉熵 (Rubinstein,R.(1999).The cross-entropy method for combinatorialand continuousoptimization.Methodology and computing in appliedprobability, 1(2),127–190.)。

对比例2:

该对比例的与实施例1不同的是训练时所用损失函数为focal loss(Lin, T.-Y.et al.(2017).Focal loss for dense object detection.In Proceedings of theIEEE international conference on computer vision,pages 2980–2988.)。

实施例2:

该实施例是采用实施例1所建模型对待分类原始句子中的目标药物名称关系进行分类:

在本实施例中,待分类原始句子示例“Synergism was observed when GL wascombined with cefazolin against Bacillus subtilis and Klebsiella oxytoca.”,其中第一个目标药物名称词为GL,第二个目标药物名称词为cefazolin;

该待分类的原始句子经处理后的预处理后的药物文本为:[156,10941, 10805,1863,1108,4379,1165,109,144,2162,109,1108,3490,1114, 108,172,11470,10961,27719,108,1222,18757,6617,24960,4841,19 621,1548,1105,148,1513,4832,10387,1742,184,16844,2430,2599, 119];关键语义子句标记向量为:[0,0,0,0,0,1,0,0,0,0,0,0,0,0, 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]。

通过训练好的药物关系分类模型行药物关系分类,输出的药物关系数字向量标签为:

P[mechanism,advice,effect,int,false]=[0.02,0.02,0.9,0.02,0.04] 即两个目标药物GL、cefazolin之间的存在mechanism的概率为2%,即两个目标药物GL、cefazolin之间的存在advice的概率为2%,即两个目标药物GL、cefazolin之间的存在e ff e c t的概率为90%,即两个目标药物GL、 cefazolin之间的存在int的概率为2%,即两个目标药物GL、 cefazolin之间的存在false的概率为4%,其中存在effect关系的概率最高为 90%,因此采用药物关系神经网络将两个目标药物GL、cefazolin之间的关系分类为effect关系。

本发明与现有技术、及对比例中药物分类算法相比,其性能比较表1,在评价一个药物关系分类方法性能好坏时,准确率、召回率和F值越大,说明药物关系分类模型性能越好,从表1中可以看出,本发明提出的药物关系神经网络在准确率、召回率和F值三个指标上优于其他方法,且我们不需要依赖与药物相关的外部知识,并缓解了标注噪声问题,使得在药物关系分类上拥有不依赖与药物相关的外部知识且卓越的药物分类能力。

表1本发明提供的药物关系分类方法与其他药物关系分类方法性能对比

[3]Li D,Ji H.Syntax-aware multi-task graph convolutional networks forbiomedical relation extraction[C]//Proceedings of the Tenth InternationalWorkshop on Health Text Mining and Information Analysis(LOUHI 2019).2019: 28-33.

[4]Peng Y,Yan S,Lu Z.Transfer learning in biomedical natural languageprocessing:an evaluation of BERT and ELMo on ten benchmarking datasets[J].arXiv preprint arXiv:1906.05474,2019.

[5]Zhu Y,Li L,Lu H,et al.Extracting drug-drug interactions from textswith BioBERT and multiple entity-aware attentions[J].Journal of biomedicalinformatics,2020,106:103451.

[6]Asada M,Miwa M,Sasaki Y.Using Drug Descriptions and MolecularStructures for Drug-Drug Interaction Extraction from Literature[J].Bioinformatics,2021。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号