基于深度记忆交互的药物相互作用预测模型构建方法

未命名 08-12 阅读:75 评论:0


1.本发明涉及药物间相互作用预测技术领域,更具体的是涉及一种基于深度记忆交互的药物相互作用预测模型构建方法。


背景技术:

2.药物-药物相互作用(ddi)在药物开发和用药中起着重要作用,有效识别潜在的ddi对公共卫生至关重要,因为它可以在一定程度上避免药物的不良影响,现实中的ddi有几十种类型,且有的药物之间不只存在一种关系,存在多种关系,现有的基于网络的计算模型通常采用聚合式图嵌入方法聚合节点的邻域信息以更好的学习药物之间的多关系信息,然而这些方法在构建邻域时多采用均匀采样函数,忽略了邻居节点自身性质的差异,此外,现有的大多数方法只集中在与药物相关的三元组进行独立分析进行编码,而没有考虑药物的属性以及挖掘三元组之间的交互信息、节点属性以及节点之间的交互信息。
3.因此,提出一种基于深度记忆交互的药物相互作用预测模型构建方法来解决上述问题很有必要。


技术实现要素:

4.本发明的目的在于:为了解决现有的基于网络的计算模型在构建邻域时多采用均匀采样函数,忽略了邻居节点自身性质的差异,而且现有的大多数方法只集中在与药物相关的三元组进行独立分析进行编码,而没有考虑药物的属性以及挖掘三元组之间的交互信息、节点属性以及节点之间的交互信息的问题,本发明提供一种基于深度记忆交互的药物相互作用预测模型构建方法。
5.本发明为了实现上述目的具体采用以下技术方案:
6.基于深度记忆交互的药物相互作用预测模型构建方法,包括以下步骤:
7.s1、从生物医学知识图集合g中删除所有的ddi三元组事实,得到一个不完全子集g


8.s2、从不完全子集g

中选择一个任意药物的di,设定一个三元组(di,r,dj),通过哈希预处理对药物di进行预编码;
9.s3、基于s2中对于药物di的预编码,通过双向叠加lstm单元构建编码器层,即bi-lstm,计算编码器层的输出h(t);
10.s4、基于s3中得到的编码器层的输出h(t),通过对t个lstm单元堆叠之后,使用注意力机制构建解码器层,即解码器层lstm+attention,计算出该药物的三元组(di,r,dj)的初始化向量e∈rd;
11.s5、基于s4中初始化向量e∈rd,构建图嵌入层,基于任意药物di以及初始向量c(i),来计算药物节点的多阶全局表示;
12.s6、通过多头点积注意力和深度神经网络构建记忆交互模块,确定该三元组(di,r,dj)最终药物实体di、药物实体dj和关系r的最终向量表示;
13.s7、构建预测模型,通过拼接和全连接运算对s6中的药物实体di、药物实体dj和关系r的最终向量表示进行计算,得到该三元组的分数,并对预测模型进行训练。
14.进一步地,所述s2中哈希预处理的具体步骤为:
15.s21、设定si是di的smiles序列;
16.s22、将si输入哈希函数中,得到一个机器可以理解的药物嵌入向量ei∈rm,
17.ei=hash([a1,a2,a3,

,an])
[0018]
其中:an表示序列si中的一个原子,n表示序列si的长度。
[0019]
进一步地,所述s3中计算编码器层的输出h(t)具体步骤为:
[0020]
s31、首先将s22中药物嵌入向量e∈rm采用reshape重塑为e∈r
t
×d,
[0021]
其中:d表示编码器-解码器层的潜在维数,t为编码器层lstm单元数;
[0022]
s32、然后计算lstm单元的输出h(t),所述h(t)根据其前一个单元的输出h(t-1)、细胞状态c(t-1)和当前细胞的输入e(t)共同决定,具体为:
[0023]
h(t)=lstm(h(t-1),c(t-1),e(t))
[0024]
其中:h(t)表示正向输出;
[0025]
s33、计算编码器在t时刻的输出h(t),
[0026]
h(t)=[h(t),h

(t)]
[0027]
其中:h

(t)表示反向输出,编码器的输出h(t)表示将lstm在t时刻的正向输出和反向输出连接得到。
[0028]
进一步地,所述s32中编码器层的输出h(t)具体计算步骤如下;
[0029]
s321、由遗忘门确定从细胞状态中丢弃的信息f(t),
[0030]
f(t)=σ(wf·
[h(t-1),e(t)]+bf)
[0031]
其中:σ表示sigmoid函数,wf表示遗忘门的权重矩阵,bf表示遗忘门的偏置项;
[0032]
s322、确定被添加到网络结构或细胞状态中的信息i(t),
[0033]
i(t)=σ(wi·
[h(t-1),e(t)]+bi)
[0034]
其中:wi表示输入门的权重矩阵;bi表示输入门的偏置项;
[0035]
计算用于描述当前输入状态的
[0036][0037]
其中:wc表示计算细胞状态的权重矩阵,bc表示计算细胞状态的偏置项;
[0038]
s323、对细胞状态进行更新,将细胞状态c(t-1)更新为c(t),
[0039][0040]
其中:f(t)
×
c(t-1)表示忘记旧的值,表示用于添加新的值;
[0041]
s324、由o(t)决定输出的信息,并计算h(t),
[0042]
o(t)=σ(wo·
[h(t-1),e(t)]+bo)
[0043]
h(t)=o(t)
×
tanh(c(t))
[0044]
其中:wo表示输入门的权重矩阵;bo表示输入门的偏置项。
[0045]
进一步地,所述s3中编码器层输出源序列中每个时间步长j的隐藏状态h(j)后,由所述s4中解码器层输出目标序列中每一个时间步长i的隐藏状态s(i),然后计算药物di的上下文向量c(i),具体步骤如下:
[0046]
s41、将score函数插入mlp中,通过公式e(ij)=score(s(i),h(j))将源序列与目标序列对齐;
[0047]
其中:e(ij)表示目标时间步长i和源时间步长j的对齐得分,h(j)表示源序列隐藏状态,s(i)表示目标序列隐藏状态;
[0048]
s42、使用softmax函数对对齐得分进行归一化,以检索注意力权重α(ij),
[0049][0050]
s43、计算编码器h(j)的注意权值α(ij)与源序列隐藏状态的乘积的线性和,得到上下文向量c(i),
[0051][0052]
将所述解码器在时间步长i时的参与上下文向量与目标隐藏状态连接,生成参与隐藏向量s(i),然后将参与隐藏向量s(i)输入到全连接层和平均池化层产生保存属性特征的药物初始化向量e∈rd。
[0053]
进一步地,所述s5中图嵌入层由邻域采样以及信息传播和聚合构成;
[0054]
所述s5中计算药物节点的多阶全局表示具体步骤如下:
[0055]
s51、所述邻域采样采用社区抽样,通过采用非均匀采样方法,来计算药物节点邻域与局部图的连接强度c(v),
[0056][0057]
其中:v表示目标节点,n(v)表示目标节点的邻域,|n(ui)∩n(v)|表示目标节点的邻域中节点与任意一个邻域节点的领域交集的个数,d表示节点的度值,节点的度值等于与节点直接相连的连边数;
[0058]
s52、信息传播和聚合中,对于任意一个药物di,经过邻域采样操作之后,获取了di邻域信息,来计算药物di的一阶邻域信息
[0059][0060]
其中:α(di,r,t)表示三元组的注意力权重(di,r,t),e
t
表示尾实体t的嵌入向量;
[0061]
s53、将药物di的初始化向量与邻域信息结合获取药物的一阶全局表示
[0062][0063]
其中:a表示聚合函数,表示该药物di的初始化向量;
[0064]
s54、通过堆叠更多的传播层来构造表示层,假设总共有l个传播层,di在第l层的表示为:
[0065][0066]
[0067][0068]
其中:表示尾实体t在l层之前的层生成的嵌入向量。
[0069]
进一步地,信息传播和聚合中由于每个邻域对药物节点的作用不同,其重要性由药物节点与药物邻域构成的三元组的注意权重来衡量,这些三元组的注意力权重根据所涉及节点di及其各自语义关系的嵌入计算为
[0070]
α(di,r,t)=e
t
·er
[0071]
其中:e
t
和er由正态化的glorot初始化得到。
[0072]
进一步地,所述s6中确定该三元组(di,r,dj)最终药物实体di、药物实体dj和关系r的最终向量表示的具体步骤为:
[0073]
s61、初始化记忆矩阵m;
[0074]
s62、通过多头点积注意力机制完成记忆间的交互;
[0075]
s63、对记忆矩阵进行线性映射,
[0076]
query(q=mwq)
[0077]
key(k=[m;x]wk)
[0078]
value(v=[m;x]wv)
[0079]
其中:[m;x]表示m和x的行拼接;
[0080]
s64、用query在key上做点乘attention,得到的权重可用于对v做加权平均得到更新的m


[0081][0082]
其中:dk是key向量的维度;
[0083]
用m

进行每一步的更新来引入循环,将以前的记忆矩阵m与经过dnn与残差操作之后的向量进行点乘,得到输入对应的编码向量也就是药物实体di、药物实体dj和关系r最终向量表示。
[0084]
进一步地,所述s7中通过拼接和全连接运算对步骤六中的和进行计算的具体方法如下:
[0085][0086]
其中:σ表示激活函数sigmoid。
[0087]
进一步地,所述s7中对预测模型进行训练的方法如下:
[0088]
给定一组药物-关系-药物三元组事实n=n
+
∪n-和对应的真实标签y,通过最小化交叉熵损失函数:
[0089][0090]
对预测模型进行训练。
[0091]
与现有技术相比,本发明的有益效果在于:
[0092]
1、本发明能够优先采样与生物医药知识图谱中连接强度大的邻域,这个药物知识图谱不仅包含与药物有关的三元组,还包含药物的属性信息。
[0093]
2、本发明通过构建记忆交互模块,能够充分捕捉给定药物三元组的依赖关系,通过对给定三元组的嵌入表示进行拼接和全连接操作来给定三元组是否存在相互作用的概率。
[0094]
3、本发明通过构建编码器层和解码器层,然后优先采样邻域节点和采用注意的多跳聚合方式,以学习药物节点向量表示,能够有效地捕获具有语义关系的高阶连通性。
[0095]
4、本发明所提供的预测模型能够充分利用生物医学图谱中节点属性以及节点之间的交互信息,提高ddi的预测性能。
附图说明
[0096]
图1为本发明预测模型的工作流程示意图;
[0097]
图2为本发明中记忆交互模块的工作流程示意图。
具体实施方式
[0098]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0099]
请参阅图1-2,一种基于深度记忆交互的药物相互作用预测模型构建方法,包括以下步骤:
[0100]
s1、生物医学知识图谱由多种现实世界的生物分子(如蛋白质、药物、疾病)和它们之间的相互作用关系组成,生物医学知识图集合g表示为分子-关系-分子三元组集,表示为{(h,r,t)|h,t∈ε,r∈r},其中ε为分子实体集,r为关系集,在g中,每个三元组都描述了分子h与分子t相互作用,它们的关系类型是r,从生物医学知识图集合g中删除所有的ddi三元组事实,得到一个不完全子集g

,任务是将分数f(di,r,dj)分配给可能的边(di,r,dj)(di,dj∈g

,i≠j),以确定这些三元组属于g的可能性有多大;
[0101]
s2、从不完全子集g

中选择一个任意药物的di,它的属性是由不同种类的原子(如c,h,0)和它们之间的连接键组成的smiles序列,设定一个三元组(di,r,dj),通过哈希预处理对药物di进行预编码,因为哈希函数能够将任意长度的明文映射到固定长度的字符串;
[0102]
s3、基于s2中对于药物di的预编码,通过双向叠加lstm单元构建编码器层,即bi-lstm,全面捕获药物的属性信息,计算编码器层的输出h(t);
[0103]
s4、基于s3中得到的编码器层的输出h(t),通过对t个lstm单元堆叠之后,使用注意力机制构建解码器层,即解码器层lstm+attention,计算出该药物的三元组(di,r,dj)的初始化向量e∈rd;
[0104]
s5、基于s4中初始化向量e∈rd,构建图嵌入层,基于任意药物di以及初始向量c(i),来计算药物节点的多阶全局表示;
[0105]
s6、(di,r,t)是一个独立的三元组,我们从短序列的角度出发,设计一个记忆交互模块充分捕捉三元组(di,r,t)之间潜在的依赖关系;类似rnn的结构,利用记忆交互模块,使每个内存与所有其他内存进行交互,并根据参与的信息更新其内容,通过多头点积注意力和深度神经网络构建记忆交互模块,确定该三元组(di,r,dj)最终药物实体di、药物实体dj
和关系r的最终向量表示;
[0106]
s7、构建预测模型,通过拼接和全连接运算对s6中的药物实体di、药物实体dj和关系r的最终向量表示进行计算,得到该三元组的分数,并对预测模型进行训练。
[0107]
具体的,s2中哈希预处理的具体步骤为:
[0108]
s21、设定si是di的smiles序列;
[0109]
s22、将si输入哈希函数中,得到一个机器可以理解的药物嵌入向量ei∈rm,
[0110]ei
=hash([a1,a2,a3,

,an])
[0111]
其中:an表示序列si中的一个原子,n表示序列si的长度。
[0112]
具体的,s3中计算编码器层的输出h(t)具体步骤为:
[0113]
s31、首先将s22中药物嵌入向量e∈rm采用reshape重塑为e∈r
t
×d,
[0114]
其中:d表示编码器-解码器层的潜在维数,t为编码器层lstm单元数;
[0115]
s32、然后计算lstm单元的输出h(t),h(t)根据其前一个单元的输出h(t-1)、细胞状态c(t-1)和当前细胞的输入e(t)共同决定,具体为:
[0116]
h(t)=lstm(h(t-1),c(t-1),e(t))
[0117]
其中:h(t)表示正向输出;
[0118]
s33、计算编码器在t时刻的输出h(t),
[0119]
h(t)=[h(t),h

(t)]
[0120]
其中:h

(t)表示反向输出,编码器的输出h(t)表示将lstm在t时刻的正向输出和反向输出连接得到。
[0121]
具体的,s32中编码器层的输出h(t)具体计算步骤如下;
[0122]
s321、由遗忘门确定从细胞状态中丢弃的信息,该步骤会读取和输入数据点乘计算得到一个输出值,其决定了上一时刻的状态有多少会保留到当前时刻,
[0123]
f(t)=σ(wf·
[h(t-1),e(t)]+bf)
[0124]
其中:σ表示sigmoid函数,wf表示遗忘门的权重矩阵,bf表示遗忘门的偏置项;
[0125]
s322、确定被添加到网络结构或细胞状态中的信息,
[0126]
i(t)=σ(wi·
[h(t-1),e(t)]+bi)
[0127]
其中:wi表示输入门的权重矩阵;bi表示输入门的偏置项;
[0128]
计算用于描述当前输入状态的它的值是根据上一次的输出和本次的输出来进行计算的
[0129][0130]
其中:wc表示计算细胞状态的权重矩阵,bc表示计算细胞状态的偏置项;
[0131]
s323、对细胞状态进行更新,将细胞状态c(t-1)更新为c(t),
[0132][0133]
其中:f(t)
×
c(t-1)表示忘记旧的值,表示用于添加新的值;
[0134]
s324、由o(t)决定输出的信息,并计算h(t),
[0135]
o(t)=σ(wo·
[h(t-1),e(t)]+bo)
[0136]
h(t)=o(t)
×
tanh(c(t))
[0137]
其中:wo表示输入门的权重矩阵;bo表示输入门的偏置项。
[0138]
具体的,s3中编码器层输出源序列中每个时间步长j的隐藏状态h(j)后,由s4中解码器层输出目标序列中每一个时间步长i的隐藏状态s(i),然后计算药物di的上下文向量c(i),具体步骤如下:
[0139]
s41、将scote函数插入mlp中,通过公式e(ij)=score(s(i),h(j))将源序列与目标序列对齐;
[0140]
其中:e(ij)表示目标时间步长i和源时间步长j的对齐得分,h(j)表示源序列隐藏状态,s(i)表示目标序列隐藏状态;
[0141]
s42、使用softmax函数对对齐得分进行归一化,以检索注意力权重α(ij),
[0142][0143]
s43、计算编码器h(j)的注意权值α(ij)与源序列隐藏状态的乘积的线性和,得到上下文向量c(i),
[0144][0145]
将解码器在时间步长i时的参与上下文向量与目标隐藏状态连接,生成参与隐藏向量s(i),然后将参与隐藏向量s(i)输入到全连接层和平均池化层产生保存属性特征的药物初始化向量e∈rd。
[0146]
具体的,s5中图嵌入层由邻域采样以及信息传播和聚合构成;
[0147]
s5中计算药物节点的多阶全局表示具体步骤如下:
[0148]
s51、邻域采样采用社区抽样,考虑到生物医药知识图谱中的邻域大小不一致,统一为每个药物节点构建一个固定大小的邻居集,如果单纯地随机采样这些邻居节点,则可能导致包含更多信息的节点被忽略,或者导致对构建嵌入没有帮助的节点被选择,因此通过采用非均匀采样方法,来计算药物节点邻域与局部图的连接强度c(v),
[0149][0150]
其中:v表示目标节点,n(v)表示目标节点的邻域,|n(ui)∩n(v)|表示目标节点的邻域中节点与任意一个邻域节点的领域交集的个数,d表示节点的度值,节点的度值等于与节点直接相连的连边数,等式右侧表示邻域中节点与目标节点和邻域集以外的节点的一步连接数,度值是节点的重要属性之一,能够反映节点在图中的重要程度,一般来说,度值较大的节点包含更多的局部结构信息,对生成有效的嵌入更有帮助,提高邻域与局部图的连接强度的一个有效方式是优先采样度值较大的节点,对于邻域集合小于拟采样的邻居个数,则在邻域集合中采取随机有放回采样;
[0151]
s52、信息传播和聚合中,对于任意一个药物di,经过邻域采样操作之后,获取了di邻域信息,作为α(di,r,t)沿(di,r,t)传播的衰减因子,来计算药物di的一阶邻域信息
[0152][0153]
其中:α(di,r,t)表示三元组的注意力权重(di,r,t),e
t
表示尾实体t的嵌入向量;
[0154]
s53、将药物di的初始化向量与邻域信息结合获取药物的一阶全局表示
[0155][0156]
其中:a表示聚合函数,表示该药物di的初始化向量;
[0157]
s54、通过堆叠更多的传播层来构造表示层,然后聚合从所选邻居传播的一阶邻域信息,具体地,假设总共有l个传播层,di在第l层的表示为:
[0158][0159][0160][0161]
其中:表示尾实体t在l层之前的层生成的嵌入向量。
[0162]
具体的,信息传播和聚合中由于每个邻域对药物节点的作用不同,其重要性由药物节点与药物邻域构成的三元组的注意权重来衡量,这些三元组的注意力权重根据所涉及节点di及其各自语义关系的嵌入计算为:
[0163]
α(di,r,t)=e
t
·er
[0164]
其中:e
t
和er由正态化的glorot初始化得到。
[0165]
具体的,s6中确定该三元组(di,r,dj)最终药物实体di、药物实体dj和关系r的最终向量表示的具体步骤为:在每个时间步接收到新的输入x时(在这里x根据时间顺序依次是序列(di,r,t)中的每一个元素),记忆都需要重新编码。
[0166]
s61、初始化记忆矩阵m;
[0167]
s62、通过多头点积注意力机制完成记忆问的交互;
[0168]
s63、对记忆矩阵进行线性映射,
[0169]
query(q=mwq)
[0170]
key(k=[m;x]wk)
[0171]
value(v=[m;x]wv)
[0172]
其中:[m;x]表示m和x的行拼接;
[0173]
s64、用query在key上做点乘attention,得到的权重可用于对v做加权平均得到更新的m

[0174][0175]
其中:dk是key向量的维度;
[0176]
用m

进行每一步的更新来引入循环,将以前的记忆矩阵m与经过dnn与残差操作之后的向量进行点乘,得到输入对应的编码向量也就是药物实体di、药物实体dj和关系r最终向量表示。
[0177]
具体的,s7中通过拼接和全连接运算对步骤六中的和进行计算的具体方法如下:
[0178][0179]
其中:σ表示激活函数sigmoid。
[0180]
具体的,s7中对预测模型进行训练的方法如下:
[0181]
给定一组药物-关系-药物三元组事实n=n
+
∪n-和对应的真实标签y,通过最小化交叉熵损失函数:
[0182][0183]
对预测模型进行训练。
[0184]
实验数据
[0185]
数据集:kegg我们解析来自kegg的来源,并将其映射到drugbank标识符,结果是1,925种已批准的药物和56,983种已批准的ddi,kegg-drug是一个流行的和广泛使用的数据库,提供了各种药物信息,kegg-drug详细统计情况见表1,需要注意的是,收集到的生物医药知识图谱数据集不应该包含任何关于ddi的明确信息,因此,我们排除kegg中url:drug-drug-interaction形式的信息,关于药物的属性,药物的smiles序列从5.1.7版本的drugbank下载;
[0186]
表1 kegg-drug数据集统计
[0187][0188]
实验设置和结果(见表2):将模型是在一台配备intel corei7 2.6ghz和16gb ram的工作机器上用tensorflow实现的,上述基线算法也部署在同一台机器上,其参数由其原始工作中推荐的值设置,此外,在比较中使用的所有算法的嵌入大小都固定为32(d=32)。对于模型的参数,设n=4,l=1,原因将在参数敏感性分析部分进行分析,并将所有已批准的ddi作为阳性样本按8:1:1的比例随机分为训练集、验证集和测试集,再从然后从各个阶段正样本的互补集中随机选取相同数量的负样本,首先报告了所有模型在kegg-drug上的五倍交叉验证的性能,此六个指标用于评估模型的性能,包括acc(accuracy),、pre(precision)、rec(recall)、f1(f1 score)、auc(area under rocurve)and aupr(area under precision recall)。
[0189]
表2模型与所有基线对比的实验结果
[0190][0191][0192]
消融实验
[0193]
验证聚合函数,结果见表3。
[0194]
表3模型聚合函数的选取
[0195][0196]
以上,仅为本发明的较佳实施例,并不用以限制本发明,本发明的专利保护范围以权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。

技术特征:
1.基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:包括以下步骤:s1、从生物医学知识图集合g中删除所有的ddi三元组事实,得到一个不完全子集g

;s2、从不完全子集g

中选择一个任意药物的d
i
,设定一个三元组(d
i
,r,d
j
),通过哈希预处理对药物d
i
进行预编码;s3、基于s2中对于药物d
i
的预编码,通过双向叠加lstm单元构建编码器层,即bi-lstm,计算编码器层的输出h(t);s4、基于s3中得到的编码器层的输出h(t),通过对t个lstm单元堆叠之后,使用注意力机制构建解码器层,即解码器层lstm+attention,计算出该药物的三元组(d
i
,r,d
j
)的初始化向量e∈r
d
;s5、基于s4中初始化向量e∈r
d
,构建图嵌入层,基于任意药物d
i
以及初始向量c(i),来计算药物节点的多阶全局表示;s6、通过多头点积注意力和深度神经网络构建记忆交互模块,确定该三元组(d
i
,r,d
j
)最终药物实体d
i
、药物实体d
j
和关系r的最终向量表示;s7、构建预测模型,通过拼接和全连接运算对s6中的药物实体d
i
、药物实体d
j
和关系r的最终向量表示进行计算,得到该三元组的分数,并对预测模型进行训练。2.根据权利要求1所述的基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:所述s2中哈希预处理的具体步骤为:s21、设定s
i
是d
i
的smiles序列;s22、将s
i
输入哈希函数中,得到一个机器可以理解的药物嵌入向量e
i
∈r
m
,e
i
=hash([a1,a2,a3,...,a
n
])其中:a
n
表示序列s
i
中的一个原子,n表示序列s
i
的长度。3.根据权利要求2所述的基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:所述s3中计算编码器层的输出h(t)具体步骤为:s31、首先将s22中药物嵌入向量e∈r
m
采用reshape重塑为e∈r
t
×
d
,其中:d表示编码器-解码器层的潜在维数,t为编码器层lstm单元数;s32、然后计算lstm单元的输出h(t),所述h(t)根据其前一个单元的输出h(t-1)、细胞状态c(t-1)和当前细胞的输入e(t)共同决定,具体为:h(t)=lstm(h(t-1),c(t-1),e(t))其中:h(t)表示正向输出;s33、计算编码器在t时刻的输出h(t),h(t)=[h(t),h

(t)]其中:h

(t)表示反向输出,编码器的输出h(t)表示将lstm在t时刻的正向输出和反向输出连接得到。4.根据权利要求3所述的基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:所述s32中编码器层的输出h(t)具体计算步骤如下;s321、由遗忘门确定从细胞状态中丢弃的信息f(t),f(t)=σ(w
f
·
[h(t-1),e(t)]+b
f
)其中:σ表示sigmoid函数,w
f
表示遗忘门的权重矩阵,b
f
表示遗忘门的偏置项;s322、确定被添加到网络结构或细胞状态中的信息i(t),
i(t)=σ(w
i
·
[h(t-1),e(t)]+b
i
)其中:w
i
表示输入门的权重矩阵;b
i
表示输入门的偏置项;计算用于描述当前输入状态的计算用于描述当前输入状态的其中:w
c
表示计算细胞状态的权重矩阵,b
c
表示计算细胞状态的偏置项;s323、对细胞状态进行更新,将细胞状态c(t-1)更新为c(t),其中:f(t)
×
c(t-1)表示忘记旧的值,表示用于添加新的值;s324、由o(t)决定输出的信息,并计算h(t),o(t)=σ(w
o
·
[h(t-1),e(t)]+b
o
)h(t)=o(t)
×
tanh(c(t))其中:w
o
表示输入门的权重矩阵;b
o
表示输入门的偏置项。5.根据权利要求4所述的基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:所述s3中编码器层输出源序列中每个时间步长j的隐藏状态h(j)后,由所述s4中解码器层输出目标序列中每一个时间步长i的隐藏状态s(i),然后计算药物d
i
的上下文向量c(i),具体步骤如下:s41、将score函数插入mlp中,通过公式e(ij)=score(s(i),h(j))将源序列与目标序列对齐;其中:e(ij)表示目标时间步长i和源时间步长j的对齐得分,h(j)表示源序列隐藏状态,s(i)表示目标序列隐藏状态;s42、使用softmax函数对对齐得分进行归一化,以检索注意力权重α(ij),s43、计算编码器h(j)的注意权值α(ij)与源序列隐藏状态的乘积的线性和,得到上下文向量c(i),将所述解码器在时间步长i时的参与上下文向量与目标隐藏状态连接,生成参与隐藏向量s(i),然后将参与隐藏向量s(i)输入到全连接层和平均池化层产生保存属性特征的药物初始化向量e∈r
d
。6.根据权利要求5所述的基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:所述s5中图嵌入层由邻域采样以及信息传播和聚合构成;所述s5中计算药物节点的多阶全局表示具体步骤如下:s51、所述邻域采样采用社区抽样,通过采用非均匀采样方法,来计算药物节点邻域与局部图的连接强度c(v),
其中:v表示目标节点,n(v)表示目标节点的邻域,|n(u
i
)∩n(v)|表示目标节点的邻域中节点与任意一个邻域节点的领域交集的个数,d表示节点的度值,节点的度值等于与节点直接相连的连边数;s52、信息传播和聚合中,对于任意一个药物d
i
,经过邻域采样操作之后,获取了d
i
邻域信息,来计算药物d
i
的一阶邻域信息的一阶邻域信息其中:α(d
i
,r,t)表示三元组的注意力权重(d
i
,r,t),e
t
表示尾实体t的嵌入向量;s53、将药物d
i
的初始化向量与邻域信息结合获取药物的一阶全局表示结合获取药物的一阶全局表示其中:a表示聚合函数,表示该药物d
i
的初始化向量;s54、通过堆叠更多的传播层来构造表示层,假设总共有l个传播层,d
i
在第l层的表示为:为:为:其中:表示尾实体t在l层之前的层生成的嵌入向量。7.根据权利要求6所述的基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:信息传播和聚合中由于每个邻域对药物节点的作用不同,其重要性由药物节点与药物邻域构成的三元组的注意权重来衡量,这些三元组的注意力权重根据所涉及节点d及其各自语义关系的嵌入计算为:α(d
i
,r,t)=e
t
·
e
r
其中:e
t
和e
r
由正态化的glorot初始化得到。8.根据权利要求1所述的基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:所述s6中确定该三元组(d
i
,r,d
j
)最终药物实体d
i
、药物实体d
j
和关系r的最终向量表示的具体步骤为:s61、初始化记忆矩阵m;s62、通过多头点积注意力机制完成记忆间的交互;s63、对记忆矩阵进行线性映射,query(q=mw
q
)key(k=[m;x]w
k
)value(v=[m;x]w
v
)其中:[m;x]表示m和x的行拼接;s64、用query在key上做点乘attention,得到的权重可用于对v做加权平均得到更新的m


其中:d
k
是key向量的维度;用m

进行每一步的更新来引入循环,将以前的记忆矩阵m与经过dnn与残差操作之后的向量进行点乘,得到输入对应的编码向量也就是药物实体d
i
、药物实体d
j
和关系r最终向量表示。9.根据权利要求8所述的基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:所述s7中通过拼接和全连接运算对步骤六中的和进行计算的具体方法如下:其中:σ表示激活函数sigmoid。10.根据权利要求9所述的基于深度记忆交互的药物相互作用预测模型构建方法,其特征在于:所述s7中对预测模型进行训练的方法如下:给定一组药物-关系-药物三元组事实n=n
+
∪n-和对应的真实标签y,通过最小化交叉熵损失函数:对预测模型进行训练。

技术总结
本发明公开了一种基于深度记忆交互的药物相互作用预测模型构建方法,涉及药物间相互作用预测技术领域,首先构建了一个编码器-解码器层,从药物节点在KG中的属性中学习药物节点的初始嵌入,然后优先采样邻域节点和采用注意的多跳聚合方式,以学习药物节点向量表示,最后通过构建预测模型来预测药物间相互作用。本发明能够充分利用生物医学图谱中节点属性以及节点之间的交互信息,提高DDI的预测性能。提高DDI的预测性能。提高DDI的预测性能。


技术研发人员:李润知 王菁 陈刚
受保护的技术使用者:郑州大学
技术研发日:2023.05.16
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐