利用药物知识和句法依存关系的药物相互作用关系抽取方法

文档序号:29739053发布日期:2022-04-21 18:42阅读:212来源:国知局
利用药物知识和句法依存关系的药物相互作用关系抽取方法

1.本发明属于自然语言处理的技术领域,涉及利用药物知识和句法依存关系的药物相互作用关系抽取方法。


背景技术:

2.药物相互作用指一种药物的效应受到另一种药物、食物或者环境的影响而发生改变的现象。生物医学文献的爆炸式增长产生了大量关于药物相互作用的信息,然而精确的从生物医学文献中抽取出药物相互作用关系是至关重要的。
3.近年来,随着神经网络的发展,许多基于神经网络的方法被应用于药物相互作用关系抽取,药物相互作用关系抽取也取得了飞速发展。对于给定生物医学文献中包含多个药物实体的句子,模型经过计算来判断药物实体之间的关系。
4.然而现有基于神经网络的药物相互作用关系抽取模型往往只利用了文本自身的语义信息,忽视了生物医学领域专业知识的重要性。同时有关药物相互作用的文本多为长难句,这会对模型理解其语义产生影响。


技术实现要素:

5.为了解决现有基于神经网络的药物相互作用关系抽取模型只关注药物相互作用文本本身语义,而忽视专业领域知识造成模型不能充分理解药物相互作用实体语义以及现有模型难以理解药物相互作用文本长难句的问题,本发明提供了一种利用药物知识和句法依存关系的药物相互作用关系抽取方法,通过引入生物领域专业知识,药物相互作用关系抽取模型可以学习到药物实体更丰富的信息,进而药物相互作用关系抽取模型可以更好的理解药物相互作用文本语义。同时,通过引入句法依存关系,药物相互作用关系抽取模型可以学习到药物相互作用文本的句法信息,从而更好地完成药物相互作用关系抽取的任务。
6.为此,本发明提供了以下技术方案:
7.本发明提供了一种利用药物知识和句法依存关系的药物相互作用关系抽取方法,所述方法包括:
8.s1、从药物语料库中获取药物相互作用文本,并从药物知识库中生成药物知识文本,所述药物知识文本由在药物知识库上爬取到的药物相互作用文本中对应的药物实体的解释信息构成;
9.s2、将所述药物知识文本和所述药物相互作用文本输入预训练模型biobert,得到药物相互作用文本的语义特征;
10.s3、获取所述药物相互作用文本的句法依存关系,将句法依存关系转换为邻接矩阵;将所述邻接矩阵和s2得到的所述药物相互作用文本的语义特征一起输入图卷积神经网络模型,得到药物相互作用文本的句法特征;
11.s4、将s2得到的所述药物相互作用文本的语义特征和s3得到的所述药物相互作用本文的句法特征相融合,得到药物相互作用文本的向量表示,把所述药物相互作用文本的
向量表示输入softmax分类器进行分类,得到药物相互作用关系预测结果。
12.进一步地,从药物知识库中生成药物知识文本,包括:
13.使用爬虫技术对药物知识库上药物实体的解释信息进行爬取,将爬取到的药物解释信息作为药物知识;
14.过滤爬取到的解释信息,并删除与药物实体无关的信息,得到药物知识文本。
15.进一步地,所述药物知识库包括:drugbank和维基百科wikipedia。
16.进一步地,将所述药物知识文本和所述药物相互作用文本输入预训练模型biobert,得到药物相互作用文本的语义特征,包括:
17.解析药物语料库中的药物相互作用文本,并在每句话中的药物实体两侧加上特殊标记符号,以便区分药物实体;
18.将所述药物知识文本经过预训练模型biobert得到药物知识对应的向量表示,将药物相互作用文本经过预训练模型biobert得到的药物相互作用文本的初始语义特征向量表示;
19.将获取到的药物相互作用文本初始语义特征和对应的药物知识文本特征相融合,获得药物相互作用文本的语义特征。
20.进一步地,获取所述药物相互作用文本的句法依存关系,包括:利用stanfordcorenlp工具得到所述药物相互作用文本的句法依存关系。
21.又一方面,本发明还提供了一种利用药物知识和句法依存关系的药物相互作用关系抽取装置,所述装置包括:
22.药物知识获取单元,用于从药物语料库中获取药物相互作用文本,并从药物知识库中生成药物知识文本,所述药物知识文本由在药物知识库上爬取到的药物相互作用文本中对应的药物实体的解释信息构成;
23.语义特征获取单元,用于将所述药物获取单元得到的所述药物知识文本和所述药物相互作用文本输入预训练模型biobert,得到药物相互作用文本的语义特征;
24.句法特征获取单元,用于获取所述药物相互作用文本的句法依存关系,将句法依存关系转换为邻接矩阵;将所述邻接矩阵和所述语义特征获取单元得到的所述药物相互作用文本的语义特征一起输入图卷积神经网络模型,得到药物相互作用文本的句法特征;
25.药物相互作用关系预测单元,用于将所述语义特征获取单元得到的所述药物相互作用文本的语义特征和所述句法特征获取单元得到的所述药物相互作用本文的句法特征相融合,得到药物相互作用文本的向量表示,把所述药物相互作用文本的向量表示输入softmax分类器进行分类,得到药物相互作用关系预测结果。
26.又一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机指令集,计算机指令集被处理器执行时实现如上述一种利用药物知识和句法依存关系的药物相互作用关系抽取方法。
27.与现有技术相比,本发明的有益效果是:
28.1)本发明中,应用爬虫技术得到药物实体对应的药物知识文本,然后将药物知识文本经过预训练模型biobert得到实体的药物知识向量表示。将实体向量与实体的药物知识向量融合得到最终的实体向量。通过引入药物实体对应的药物知识信息,可以让模型学习到更丰富的实体信息,解决了现有模型忽视专业知识而对药物相互作用文本语义理解偏
差的问题。
29.2)本发明中,药物相互作用文本通过stanfordcorenlp工具得到句法依存关系,将句法依存关系对应的邻接矩阵和文本特征送入图卷积神经网络gcn得到药物相互作用文本的句法信息。通过引入句法信息,可以让模型充分学习药物相互作用文本句法依存关系,辅助模型完成药物相互作用分类任务。有效解决模型不能充分理解药物相互作用文本长难句的问题。
30.3)本发明中,将得到的文本最终向量和药物相互作用文本的句法信息融合得到最终的药物相互作用文本向量表示。利用最终得到的向量进行分类。模型可以有效提升药物相互作用关系分类精度。
附图说明
31.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
32.图1为本发明实施例中药物相互作用关系抽取模型图;
33.图2为本发明实施例中一种利用药物知识和句法依存关系的药物相互作用关系抽取方法的流程示意图;
34.图3为本发明实施例中药物知识处理过程示意图;
35.图4为本发明实施例中获取句法依存关系的流程示意图。
具体实施方式
36.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
37.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
38.本发明提供的利用药物知识和句法依存关系的药物相互作用抽取方法中,首先应用爬虫技术从药物知识库(包括drugbank数据库(drugbank数据库是阿尔伯塔大学将详细的药物数据和全面的药物目标信息结合起来,真实可靠的生物信息学和化学信息学数据库)和维基百科wikipedia)爬取到药物实体对应的解释信息,将获取到的药物知识经过预训练模型获得药物知识的向量表示,将药物相互作用文本经过预训练模型得到药物相互作
用文本的语义向量表示,随后将药物知识向量和语义向量融合得到最终的语义向量表示。斯坦福句法分析工具(stanfordcorenlp)是目前国际上主流的句法分析工具,通过stanfordcorenlp能够生成药物相互作用文本的句法依赖图或句法依赖树。在此基础上,使用图卷积神经网络从上面生成的句法依赖结果中进一步提取句法特征。如图1所示,该药物相互作用关系抽取模型融合了预训练模型biobert得到的语义特征和图卷积神经网络得到的句法特征,最后将融合向量送入到softmax分类器,判断药物相互作用关系。
39.如图2所示,其示出了本发明实施例中一种利用药物知识和句法依存关系的药物相互作用关系抽取方法的流程图,该方法包括以下具体步骤:
40.s1、生成药物知识文档:
41.药物知识文本由在drugbank数据库和维基百科wikipedia上爬取到的药物相互作用文本中对应的药物实体的解释信息构成。
42.具体实施时,使用爬虫技术对维基百科wikipedia和drugbank数据库上药物实体的解释信息进行爬取,将爬取到的药物解释信息作为药物知识。
43.由于某些单词可能存在偏差,因此需要先过滤解释信息,并删除与实体无关的信息,以避免无用信息对药物相互作用关系抽取模型性能的影响。
44.对于药物知识文档中的一个句子,本发明实施例中将其表示为se={e1,e2,...,en},式中ei为se中第i个单词,n代表句子的长度。
45.s2、提取药物相互作用文本的语义特征:
46.药物相互作用文本的语义特征由预训练模型biobert提取,在提取时以药物知识文本和药物相互作用文本作为预训练模型biobert的输入。
47.在具体实施中,s2包括以下具体步骤:
48.s21、解析ddi 2013语料库(ddi提取-2013共享任务)中的数据,并在每句话中的药物实体两侧加上特殊标记符号,以便区分药物实体。
49.对于给定ddi2013语料库中的一个语句s,将其表示为s={w1,w2,w3,...,wn},wi为s中第i个单词,n代表句子长度。
50.对句子中的单词进行分词,用一个d维向量表示每个token,句子的最大序列长度为n。并且在每个序列的开头添加一个嵌入(“[cls]”)。此外,在每个药物实体的两侧插入特殊符号。第一个药物实体两侧的特殊符号为“$”,第二个药物实体两侧的特殊符号为“#”。本发明不使用“drug1”和“drug2”替换句子中的实体,而是保留药物实体的原始语义信息,以便更好地匹配实体信息。
[0051]
对于ddi 2013语料库中给定的带有实体e1和e2的句子s,其从预训练模型biobert模型输出的最终隐藏状态为h0。向量hi到hj是实体e1的最终隐藏状态向量,hk到hm是实体e2的最终隐藏状态向量。本发明经过计算获得每个实体的向量表示。经过激活和全连接操作之后得到e1和e2的输出分别为h
′1和h
′2。这个过程可以用以下等式表示:
[0052]
[0053][0054]
对于第一个token(即“[cls]”的最终隐藏状态向量),添加了一个激活操作和一个全连接层,其形式表示为:
[0055]
h'0=w0(tanh(h0))+b0ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0056]
等式中矩阵w0、w1、w2具有相同的尺寸,即w0∈rd×d,w1∈rd×d,w2∈rd×d,其中d是来自预训练模型biobert的隐藏层大小,b0,b1,b2为偏置向量。
[0057]
s22、将s1中获取到的药物知识文本经过预训练模型biobert得到药物知识对应的向量表示,同样将药物相互作用文本经过预训练模型biobert得到的药物相互作用文本的初始语义特征向量表示。
[0058]
本发明同样经过预训练模型biobert模型获得外部生物知识,即药物知识的语义特征表示。
[0059]
如图3所示,首先本发明将药物实体名称与药物实体解释向量一一对应,然后将带有实体解释信息的向量与其对应的实体向量进行融合,最终得到更丰富的药物实体向量表示。对于与药物实体e1匹配成功的外部信息句子se,本发明经过预训练模型biobert得到cls的最终隐藏层向量h
e1
。h
e1
、h
e2
分别表示药物实体e1和e2解释信息向量。将药物实体e1和e2的最终向量h
′1,h
′2分别与其对应的药物实体的药物知识向量表示he
′1、he
′2平均得到新的实体表示h
″1,h
″2。he
′1、he
′2的计算方式如下列等式所示:
[0060]
he
′1=w3(tanh(h
e1
))+b3ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0061]
he'2=w4(tanh(h
e2
))+b4ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0062]
以上过程得到了药物相互作用文本的cls隐层向量、融合后的药物实体向量表示。
[0063]
s23、将获取到的药物相互作用文本初始语义特征和对应的药物知识文本特征相融合以获得最终的药物相互作用文本语义特征。
[0064]
将s22得到的这些向量拼接得到药物相互作用文本的语义特征表示为:
[0065]
fb=w5[concat(h'0,h
″1,h
″2)]+b5ꢀꢀꢀꢀ
(6)
[0066]
等式中w3,w4,w5为权重矩阵,b3,b4,b5为偏置向量。
[0067]
s3、提取药物相互作用文本的句法特征:
[0068]
在具体实施时,s3具体包括以下步骤:
[0069]
s31、将药物相互作用数据集中的语句经过stanfordcorenlp工具得到药物相互作用文本的句法依存关系,将句法依存关系转换为邻接矩阵。
[0070]
定义一个图为g=(v,e),其中v表示图中节点的集合,即药物相互作用中文本s经过分词后的每一个单词,e表示边的集合即具有依赖关系的两个词节点。
[0071]
如图4所示,把ddi 2013语料库中的句子s利用stanfordcorenlp工具得到句法依存关系,将这种关系表示为:d=[(
‘ai’,pi,pj)],ai表示依存树属性,pi表示节点位置。然后把句法依存关系转为邻接矩阵a,其中a∈rn×n。随后将单位矩阵加入邻接矩阵中:
[0072][0073]
公式中的in表示单位矩阵。
[0074]
s32、将邻接矩阵和步骤s2)得到的药物相互作用文本特征一起送入图卷积神经网
络来获取药物相互作用文本的句法特征。
[0075]
本发明实施例中,选用两层的图卷积神经网络来抽取句子的句法信息。将邻接矩阵和数据集中的句子的特征表示h0送入图卷积神经网络,最终的结果作为句子的隐层表示为h
(l+1)

[0076][0077]
式(8)中的是加入单位矩阵之后的邻接矩阵,是邻接矩阵的度矩阵。σ表示激活函数,在这里选用relu激活函数。h
(l)
是第l层的特征,h
(0)
=h0,θ是第l层中的可训练的权重矩阵。最终的句法特征表示为:
[0078][0079]
式(9)中的w6∈rc×h为输入层到隐藏层的权重矩阵,w7∈rh×f为隐藏层到输出层的权重矩阵,c为输入层的大小,h为隐藏层的大小,f为输出层的大小。
[0080]
s4、药物相互作用关系预测:
[0081]
将s2得到的药物相互作用的文本特征和s3得到的药物相互作用本文的句法特征相融合得到最终的药物相互作用文本的向量表示,然后把最终向量表示送入softmax获得分类结果。
[0082]
药物相互作用关系抽取是一个多分类任务,对于数据集中的每一个句子中的两个实体,都要将它们归为某一类。ddi 2013语料库中有五类,分别为:effect、mechanism、advice、int和negative。
[0083]
本发明通过准确率(precision)、召回率(recall)、宏观f1值(macro-f1)的值来证明本发明的药物相互作用关系抽取模型的性能。计算公式如下所示:
[0084][0085][0086][0087]
上式中pi、ri、f1i分别为每一个类别上的准确率、召回率和宏观f1值。本发明实施例中,使用softmax作为分类器,通过softmax得到每一类的概率分布。在训练时将交叉熵作为损失函数。如图4中模型的特征融合方式所示,将特征fb和特征fg拼接后的结果f

送入分类器。选择概率最大的类别作为本发明实施例中的分类结果:
[0088]f′
=w

[concat(fb,fg)]+b
′ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0089]
p=softmax(f

)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0090]
上式中p表示输出的概率,w

∈r
l
×
2d
为权重矩阵,l为药物相互作用关系类别的数量,b

是偏置向量,d是来自预训练模型biobert的隐藏层大小。
[0091]
本发明实施例中,可以充分利用药物知识来获得更广泛的药物实体表示,以便模
型理解药物相互作用文本语义,解决了药物实体名称大多是特定领域的名词,大多数现有模型忽略了专业领域知识和语法信息的重要性的问题。另一方面,句法特征对于从长而复杂的句子中抽取药物相互作用关系是有价值的。本发明实施例中的方法可以应用句法图神经网络来有效地捕捉句子的句法信息,有效解决了药物实体复杂难以理解和药物相互作用文本过长的问题。
[0092]
对应本发明中的一种利用药物知识和句法依存关系的药物相互作用关系抽取方法,本发明还提供了一种利用药物知识和句法依存关系的药物相互作用关系抽取装置,包括:
[0093]
药物知识获取单元,用于从药物语料库中获取药物相互作用文本,并从药物知识库中生成药物知识文本,所述药物知识文本由在药物知识库上爬取到的药物相互作用文本中对应的药物实体的解释信息构成;
[0094]
语义特征获取单元,用于将所述药物获取单元得到的所述药物知识文本和所述药物相互作用文本输入预训练模型biobert,得到药物相互作用文本的语义特征;
[0095]
句法特征获取单元,用于获取所述药物相互作用文本的句法依存关系,将句法依存关系转换为邻接矩阵;将所述邻接矩阵和所述语义特征获取单元得到的所述药物相互作用文本的语义特征一起输入图卷积神经网络模型,得到药物相互作用文本的句法特征;
[0096]
药物相互作用关系预测单元,用于将所述语义特征获取单元得到的所述药物相互作用文本的语义特征和所述句法特征获取单元得到的所述药物相互作用本文的句法特征相融合,得到药物相互作用文本的向量表示,把所述药物相互作用文本的向量表示输入softmax分类器进行分类,得到药物相互作用关系预测结果。
[0097]
对于本发明实施例的一种利用药物知识和句法依存关系的药物相互作用关系抽取装置而言,由于其与上面实施例中的一种利用药物知识和句法依存关系的药物相互作用关系抽取方法相对应,所以描述的比较简单,相关相似之处请参见上面实施例中一种利用药物知识和句法依存关系的药物相互作用关系抽取方法部分的说明即可,此处不再详述。
[0098]
本发明实施例还公开了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机指令集,计算机指令集被处理器执行时实现如上文任一实施例所提供的一种利用药物知识和句法依存关系的药物相互作用关系抽取方法。
[0099]
在本发明所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0100]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0101]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0102]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0103]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1