1.本发明涉及知识图谱和深度学习领域,基于图采样的知识图谱注意力机制的药物与药物相互作用预测方法,以预测药物与药物相互作用。
背景技术:2.药物与药物相互作用(drug drug interaction,ddi)通常指一种药物的药代动力学或药效动力学被另一种药物改变。当一种药物与另一种或多种药物合用发生药物相互作用时,患者会表现出许多不良药物反应,严重时会引发永久性后遗症或死亡。因此,为减轻药物相互作用影响,有效地识别潜在的药物相互作用显得至关重要。目前,大多数预测方法采用整合多个数据源的方法以获得更全的药物特征。这些方法都基于一种假设,即具有相似特征的药物将展现出类似的效果。目前较多预测方法是倾向于结合嵌入表示方法,自动学习药物表示,然后通过诸如矩阵分解,随机游走等方式对药物相互作用进行建模。尽管这些方法取得了良好的性能,但不足之处在于,它们将药物与药物相互作用建模为独立的数据样本,只考虑药物的某一类药理信息,并未综合考虑所有药理信息的关联性。
3.另一方面,由于知识图谱(knowledge graph,kg)的快速发展,推动了对关系推理和推荐系统的研究,知识图谱蕴含丰富的药物关联信息,属于一种多关系异构图,通过不同类型的关系连接实体,沿着知识图谱的关系来探索识别实体特征,从而提高药物与药物之间的相关性;最近已有研究将知识图谱用于药物相互作用预测。将知识图谱应用于机器学习模型,以使用各种嵌入方法提取药物特征。这些方法受制于知识图谱的规模,当知识图谱中实体较多,一般只对一定范围的相关的实体进行特征融合,以提取有效特征进行药物相关预测。这样造成两个缺点,一是当实体较多时,一定范围的特征融合会产生邻居爆炸问题,二是特征融合时并没有区分不同实体的相关性,以上两个问题导致训练出模型的泛化性和准确度都得不到提高,例如公开号为cn113012770a的专利公开了一种基于多模态深度神经网络的药物-药物相互作用事件预测方法、系统、终端及可读存储介质。
技术实现要素:4.为解决现有技术中知识图谱中实体之间的相关性和邻域信息中存在的上述局限性,本发明提供一种基于图采样的知识图谱注意力机制的药物与药物相互作用预测模型及其训练方法,所述预测模型训练方法的目标是获取知识图谱中的高阶结构和语义关系,通过基于图采样的训练形成机制,每个训练批次都在知识图谱中采用图随机采样的方法为每一药物构建高阶感知域,确保每个药物的感知域结构一致,增加模型的鲁棒性和泛化性,采用图注意力机制(graph attention network,gat),从邻域实体中学习特征,根据邻居实体特征的差异,学习出邻居实体不同的权重,以提高邻居实体特征融合的有效性,从而提升预测模型的精度。
5.为了达到以上的目的,第一方面,本发明提供了一种药物与药物相互作用预测模型训练方法,包括以下步骤:
6.步骤1:输入训练数据集,并设置训练参数,所述训练数据集包括:药物与药物相互作用矩阵对和药物知识图谱,所述训练参数包括:感知域深度h,邻域采样实体个数k;
7.步骤2:调用面向知识图谱的图随机采样算法构建感知域,具体为,从感知域中心即药物节点开始,遍历药物感知域中h层的每一个实体u,在实体u的一阶邻居实体中随机选择k个节点保存至集合中,再合入到h+1层感知域中,由此得到采样后的h层感知域;如图3所示图随机采样算法过程,知识图谱中心节点表示药物实体,从药物的一阶邻居节点中随机抽取三个实体作为感知域的第一层实体,从药物的二阶邻居节点中随机抽取第一层感知域实体的一阶邻居节点作为感知域的第二层实体,如此重复h次完成知识图谱的采样;
8.步骤3:将感知域中实体向量特征变换,具体为,对感知域中所有实体u的实体向量进行线性变换降低实体节点的特征维度;
9.步骤4:基于注意力机制的感知域特征提取,具体为,计算感知域中实体u与一阶邻居节点的权重系数,然后汇聚邻居节点嵌入向量及其权重系数,根据特征汇聚结果,更新实体u的特征向量,迭代h次后,更新药物实体特征向量;步骤5:计算药物对发生相互作用的概率,具体为,将更新后的药物实体特征向量进行归一化处理,计算药物对相关系数,再将结果输入到二分类器中计算损失;利用后向传播算法更新注意力网络参数,设置训练停止条件。
10.第二方面,本发明提供了由上述模型训练方法获得的不同药物之间相互作用关系的预测模型,将药物对的知识图谱输入模型即可获得两个药物之间的发生相互作用的相关系数,适用于所有类型药物的预测。
11.与现有技术相比,本发明具有以下有益技术效果:
12.本发明所述模型训练方法利用面向知识图谱的图随机采样技术处理图数据集,每个药物知识图谱实体数量不统一,根据图谱大小,在实验中设置合理的采样范围和采样实体个数来提升邻居节点的特征值;采样过程随机进行,不指定药物属性,可以增加模型的鲁棒性和泛化性。
13.与现有技术不同的是,本发明所述模型训练方法通过调用面向知识图谱的图随机采样算法构建感知域,再将感知域中的实体输入到图注意力网络中进行训练,汇聚感知域中的全部实体特征并更新药物实体的特征表达,以提高药物与药物相互作用预测模型的泛化性和准确度;所述训练方法中运用图注意力机制在知识图谱有向图中,在感知域上使用图注意力机制进行训练,计算感知域中的实体和一阶邻居实体之间的权重系数,现有技术中的模型训练中计算的是实体和关系之间的权重系数,本发明所述模型训练方法可以提高特征提取的有效性,从而提高模型预测精度。
附图说明
14.图1为本发明所述药物与药物相互作用预测方法框架;
15.图2为本本发明所述药物与药物相互作用预测方法流程图;
16.图3为本发明所述步骤s2的图随机采样示意图;
17.图4为具体实施方式中步骤s2的流程图;
18.图5为具体实施方式中步骤s4的流程图。
具体实施方式
19.为进一步了解本发明的内容,结合附图和具体实施方式对本发明所述预测模型及其训练方法进行详细描述,通过对具体的技术进行解释,并配合图例来进一步说明。
20.图1所示,本发明的整体框架,包括输入层,嵌入层,特征提取层和输出层。其中输入层执行数据集的输入和面向知识图谱的图随机采样算法,嵌入层执行实体向量的特征转换,特征提取层执行基于注意力机制的感知域特征提取算法,输出层执行药物对的相关系数预测和分类。
21.整个方法过程可以分为图采样过程和图训练过程。具体流程如图2所示。
22.步骤s1:输入药物与药物相互作用矩阵对和药物知识图谱g(v,e),其中nd表示药物数量,知识图谱g={(h,r,t)|h,t∈v,r∈e}以三元组形式存储,其中h表示三元组的头实体,t表示三元组的尾实体,r表示实体之间的关系,头实体h和尾实体t通过关系r相互连接,即尾实体t是头实体h一阶邻居,v表示实体节点集合,e表示实体关系集合。设置训练参数:感知域深度h,邻域采样实体个数k。
23.步骤s2:调用面向知识图谱的图随机采样算法构建感知域,具体流程如图4所示,包括如下步骤:
24.步骤s2.1,对于药物集合δ中的药物di构建知识图谱其中vi表示与药物di相关的实体节点集合,ei表示与vi相关的实体关系集合。
25.步骤s2.2,在药物di的知识图谱gi(vi,ei)中,表示药物di的实体向量,rf《h》为药物di的h层感知域,令h=0,第0层感知域
26.步骤s2.3,遍历中h层感知域中每一个实体u,在实体u的一阶邻居实体中随机选择k个节点保存至集合并合入到h+1层感知域:
27.步骤s2.4,如果h=h-1,算法结束,输出药物di的h层感知域rf《h》,否则令感知域层增加数h=h+1,跳转到(2.3)。
28.步骤s3:获得药物di的h层感知域rf《h》(h=0,...,h),对感知域rf《h》中所有实体u的实体向量进行线性变换降低实体节点的特征维度,计算公式如下:
[0029][0030]
其中表示线性转换矩阵,n<m,表示实体u的嵌入向量。
[0031]
步骤s4:基于注意力机制的感知域特征提取算法,具体流程如图5所示,包括如下步骤:
[0032]
步骤s4.1,对药物di的感知域rf《h》(h=0,...,h-1)中任意实体u的嵌入向量进行如下基于注意力机制的特征提取。
[0033]
步骤s4.2,获取实体u的嵌入向量在rf《h+1》的一阶邻居节点嵌入向量集合对于嵌入向量对和计算二者的权重系数:
[0034]
[0035]
其中,leakyrelu为非线性激活函数,可训练的权值向量权重矩阵||表示拼接运算。使用softmax函数对进行归一化,公式如下:
[0036][0037]
其中,α
u,k
为归一化的权重系数,表明实体u的上一层感知域邻居节点嵌入向量对的重要程度。
[0038]
步骤s4.3,汇聚实体u的上一层感知域邻居节点嵌入向量及其权重系数:
[0039][0040]
根据特征汇聚结果,更新实体u的特征向量:
[0041][0042]
其中,表示可训练的权重矩阵,表示偏重项向量,为更新后的实体u的特征向量。
[0043]
步骤s5:计算药物对发生相互作用的概率。包括如下步骤:
[0044]
步骤s5.1,训练batch包括b个药物反应对对batch中每一药物反应对(di,dj)中的di和dj分别调用所述面向知识图谱的图随机采样算法和所述基于注意力机制的感知域特征提取算法,分别获得di和dj特征向量和
[0045]
步骤s5.2,对和进行归一化处理后,计算药物di与药物dj的相关系数如下:
[0046][0047]
数值越接近1表示药物di和药物dj发生相互作用的可能性越大,反之,越接近0表示相互作用的可能性越小。
[0048]
步骤s5.3,计算二分类损失函数如下:
[0049][0050]
其中,y
i,j
为药物di和药物dj是否反应的真实标签,y
i,j
=1表示di和dj之间存在相互反应,y
i,j
=0表示不存在相互反应。
[0051]
步骤s5.4,训练集每个epoch包括p个batch,每个batch重复第五步,计算二分类损失,并利用后向传播算法更新“基于注意力机制的感知域特征提取算法”的参数,若连续10个epoch的二分类损失没有下降,就停止训练。
[0052]
实施例
[0053]
基于本发明的模型训练方法,以kegg数据集为例,以下给出具体的模型训练参数和测试结果。
[0054]
kegg数据集来自kegg基因数据库提供了专业的药物信息,描述了药物的临床药理信息包括副作用和药物相互作用,以及药物分子的数据包括化学结构、治疗通路和药物相互作用的蛋白质信息。
[0055]
本实施例使用bio2rdf工具为每个药物实体构建知识图谱,将每个药物、药理描述信息和药理属性值的url链接进行编号,共129910个实体,每个编号代表一个实体节点,实体编号值唯一。将药物和实体、实体和实体之间关系的url链接进行编号,共167种关系。利用数据集中的实体id和关系id来创建数据集。
[0056]
从官方网站中获取最新的药物数据,主要创建两个数据集:药物与药物相互作用矩阵对ddi和药物知识图谱kg。ddi所包括的内容有:1925个药物实体、56983组药物反应对。kg所包括的内容有:129910个药物描述实体(包括药物实体)、167种描述关系、362870对三元组。本实验kegg数据集的最终相关统计信息,如表1所示。
[0057]
表1 kegg数据集统计信息
[0058][0059][0060]
实验参数设置:本次实验参数设置如下:去拟合系数dropout设置为0.2、学习率learning rat设置为0.01训练轮数epoch设置为50、batchsize设置为2048、邻域采样实体个数k设置为16、感知域深度h设置为2、特征嵌入维度设置为64。
[0061]
测试例
[0062]
为验证感知域深度h对本发明所述预测模型的性能的影响,在其他实验参数保持一致的情况下,在kegg数据集上设置不同的感知域深度h来评估性能;
[0063]
具体模型性能评估指标采用分类准确度acc(accuracy),分类准确度acc是分类任务中最常用的评价指标,分类准确度的定义是测试集分类正确的样本数量占所有测试集样本数量的百分比。分类准确度度越高,则表示模型泛化性能越强。分类精度的公式为:
[0064][0065]
其中yi为测试集第i组药物反应对的真实标签,为测试集第i组药物反应对的预测标签,m为测试集x
test
的样本总数。i(
·
)为指示函数,公式如下:
[0066][0067]
邻域采样实体个数k设置为16,感知域中实体数量表示为n,实验结果如下表2所示:
[0068]
表2不同感知域深度h的性能比较
[0069][0070]
从表2可以看出h为2时,算法性能最好。在感知域深度为2层时,算法的性能比感知域深度为1层时的精度提高了1.5%,随着感知域深度增加,算法的性能提升的越来越少。直到感知域深度为3层时,算法的性能基本没有提高,在感知域深度为5层时,算法的性能骤然下降。从表中数据变化趋势来看算法的性能在感知域深度较少的时候,才能体现其性能。主要由于在感知域深度较大时,感知域中实体节点数量n以指数级增加,距离药物实体较远的近邻实体包含的相关信息较少,给模型带来了巨大的噪声,因此在实验中,我们选择h=2作为感知域深度。
[0071]
需要说明的是,本发明并不局限于上述实施方式,一切采用等同替换或等效替换形成的技术方案均属于本发明要求保护的范围。
技术特征:1.一种药物与药物相互作用预测模型训练方法,其特征在于,包括以下步骤:步骤s1,输入训练数据集,并设置训练参数,所述训练数据集包括:药物与药物相互作用矩阵对和药物知识图谱g(v,e),其中n
d
表示药物数量,所述训练参数包括:感知域深度h,邻域采样实体个数k;步骤s2,调用面向知识图谱的图随机采样算法构建感知域,包括:从感知域中心即药物节点开始,遍历药物感知域中h层的每一个实体u,在实体u的一阶邻居实体中随机选择k个节点保存至集合中,再合入到h+1层感知域中,由此得到采样后的h层感知域;步骤s3,将感知域中实体向量特征变换即获得药物d
i
的h层感知域rf<h>(h=0,...,h),所述对感知域rf<h>中所有实体u的实体向量进行线性变换降低实体节点的特征维度;步骤s4,基于注意力机制的感知域特征提取,包括:计算感知域中实体u与一阶邻居节点的权重系数,然后汇聚邻居节点嵌入向量及其权重系数,根据特征汇聚结果,更新实体u的特征向量,迭代h次后,更新药物实体特征向量;步骤s5,计算药物对发生相互作用的概率,包括:将更新后的药物实体特征向量进行归一化处理,计算药物对相关系数,再将结果输入到二分类器中计算损失;利用后向传播算法更新注意力网络参数,设置训练停止条件。2.根据权利要求1所述的一种药物与药物相互作用预测模型训练方法,其特征在于,步骤1中,所述知识图谱g={(h,r,t)|h,t∈v,r∈e}以三元组形式存储,其中h表示三元组的头实体,t表示三元组的尾实体,r表示实体之间的关系,头实体h和尾实体t通过关系r相互连接,即尾实体t是头实体h一阶邻居,v表示实体节点集合,e表示实体关系集合。3.根据权利要求2所述的一种药物与药物相互作用预测模型训练方法,其特征在于,步骤2,具体包括以下步骤:步骤s2.1,对于药物集合中的药物d
i
构建知识图谱其中v
i
表示与药物d
i
相关的实体节点集合,e
i
表示与v
i
相关的实体关系集合;步骤s2.2,在药物d
i
的知识图谱g
i
(v
i
,e
i
)中,表示药物d
i
的实体向量,rf<h>为药物d
i
的h层感知域,令h=0,第0层感知域步骤s2.3,遍历中h层感知域中每一个实体u,在实体u的一阶邻居实体中随机选择k个节点保存至集合并合入到h+1层感知域:步骤s2.4,若h=h-1,直接输出药物d
i
的h层感知域rf<h>,否则令感知域层增加数h=h+1,跳转到步骤s2.3。4.根据权利要求3所述的一种药物与药物相互作用预测模型训练方法,其特征在于,步骤3中,所述对感知域rf<h>中所有实体u的实体向量进行线性变换降低实体节点的特征维度,计算公式如下:
其中,表示线性转换矩阵,n<m,表示实体u的嵌入向量。5.根据权利要求4所述的一种药物与药物相互作用预测模型训练方法,其特征在于,步骤4,具体包括以下步骤:步骤s4.1,对药物d
i
的感知域rf<h>(h=0,...,h-1)中任意实体u的嵌入向量进行如下基于注意力机制的特征提取;步骤s4.2,获取实体u的嵌入向量在rf<h+1>的一阶邻居节点嵌入向量集合对于嵌入向量对和计算二者的权重系数:其中,leakyrelu为非线性激活函数,可训练的权值向量权重矩阵||表示拼接运算;使用softmax函数对进行归一化,公式如下:其中,α
u,k
为归一化的权重系数,表明实体u的上一层感知域邻居节点嵌入向量对的重要程度;步骤s4.3,汇聚实体u的上一层感知域邻居节点嵌入向量及其权重系数:根据特征汇聚结果,更新实体u的特征向量:其中,表示可训练的权重矩阵,表示偏重项向量,为更新后的实体u的特征向量。6.根据权利要求5所述的一种药物与药物相互作用预测模型训练方法,其特征在于,步骤5,具体包括以下步骤:步骤s5.1,训练batch包括b个药物反应对对batch中每一药物反应对(d
i
,d
j
)中的d
i
和d
j
分别调用所述面向知识图谱的图随机采样步骤和所述基于注意力机制的感知域特征提取步骤,分别获得d
i
和d
j
特征向量和步骤s5.2,对和进行归一化处理后,计算药物d
i
与药物d
j
的相关系数如下:的相关系数如下:数值越接近1表示药物d
i
和药物d
j
发生相互作用的可能性越大,反之,越接近0表示相互作用的可能性越小;步骤s5.3,计算二分类损失函数如下:
其中,y
i,j
为药物d
i
和药物d
j
是否反应的真实标签,y
i,j
=1表示d
i
和d
j
之间存在相互反应,y
i,j
=0表示不存在相互反应;步骤s5.4,训练集每个epoch包括p个batch,每个batch重复第五步,计算二分类损失,并利用后向传播算法更新所述步骤s4即基于注意力机制的感知域特征提取步骤的算法参数,若连续10个epoch的二分类损失没有下降,则停止训练。7.根据权利要求6所述的一种药物与药物相互作用预测模型训练方法,其特征在于,所述邻域采样实体个数k为16、感知域深度h设置为2。8.根据权利要求1-7中任意一项权利要求所述的药物与药物相互作用预测模型训练方法所获得的预测模型。9.权利要求8所述的预测模型在预测两种药物之间相互作用关系中的应用,其特征在于,将药物对的知识图谱输入模型即可获得两个药物之间的发生相互作用的相关系数。
技术总结本发明公开了一种药物与药物相互作用预测模型及其训练方法,所述的训练方法包括:所述预测模型训练方法的目标是获取知识图谱中的高阶结构和语义关系,通过基于图采样的训练形成机制,每个训练批次都在知识图谱中采用图随机采样的方法为每一药物构建高阶感知域,确保每个药物的感知域结构一致,增加模型的鲁棒性和泛化性,采用图注意力机制从邻域实体中学习特征,根据邻居实体特征的差异,学习出邻居实体不同的权重,以提高邻居实体特征融合的有效性,从而提升预测模型的精度。从而提升预测模型的精度。从而提升预测模型的精度。
技术研发人员:胡海峰 叶慧敏 吴建盛
受保护的技术使用者:南京邮电大学
技术研发日:2022.04.08
技术公布日:2022/7/5