基于多跳路径的生物医学知识库补全方法及装置

文档序号:29629094发布日期:2022-04-13 15:24阅读:118来源:国知局
基于多跳路径的生物医学知识库补全方法及装置

1.本发明属于知识图谱技术领域,尤其涉及一种基于多跳路径的生物医学知识库补全方法及装置。


背景技术:

2.了解癌症、hiv和covid-19等复杂疾病需要丰富的生物学、化学和医学知识。这些知识在发现疾病的治疗方法的过程中起着至关重要的作用——例如,确定药物靶点需要知道哪些基因或蛋白质与疾病有关,而设计药物需要预测药物分子是否会与特定的靶蛋白相互作用。此外,为了减轻设计新药的巨大成本,药物再利用涉及验证现有药物对其它疾病的作用。由于这些任务具有多个学科交叉重合的挑战性,因此需要机器学习技术来自动实现。因为生物医学中实体之间存在许多联系,但生物医学知识库中存在着实体关系的大量缺失,例如药物和疾病之间,疾病与基因之间等。因为基于路径的生物医学知识库补全方法不需要外部工具和逻辑规则,而受到广泛关注。路径指的是在生物医学知识库中,一对实体之间包含的实体和有向的实体关系组成的路径。而在生物医学知识库中两个实体之间单跳路径的数量远远少于多跳路径,并且多跳路径提供的信息多于单跳路径,因此基于多跳路径的生物医学知识库补全方法更受欢迎。在生物医学知识库中,一对实体之间的多跳路径有很多,但并不是每一条路径对关系补全都有贡献,因此随机获取的路径集合包含噪声。为了降低噪声路径的影响,注意力机制被广泛应用到路径集合中,注意力机制在模型训练过程中动态地对每条路径分配权重,并且将权重集中分配到对关系补全有贡献的路径上。


技术实现要素:

3.本发明是为了推进生物医学知识库中实体关系的补全而提出的,为了完善生物医学知识库中的实体关系,使用了注意力机制联合实体描述以获取路径中实体的表示;为了充分利用路径信息,使用了注意力机制来综合每条路径的预测关系向量和给定关系向量的差的绝对值以获取最终的预测关系。本发明不使用外部工具,不产生累计误差。
4.本发明一方面提供了一种基于多跳路径的生物医学知识库补全方法,包括以下步骤:
5.步骤1:对生物医学知识库中的三元组数据进行预处理,包括:获取数据集中实体的名称及描述;将实体名称及描述转化为词向量的形式并保存;选择待测试的实体关系;从数据集中抽取多跳路径,并对路径进行负采样,将抽取的路径以及负采样得到的路径构成多跳路径集合,将多跳路径集合划分成训练集和测试集;
6.步骤2:将预处理后的实体名称向量和实体描述向量集合输入到注意力机制中,以获取实体的最终表示向量;
7.步骤3:将每条路径中实体的最终表示向量输入到长短时记忆网络lstm中对实体进行编码,将lstm每个时间步的隐藏状态作为本层输出;
8.步骤4:将步骤3的输出向量和路径中包含的实体关系向量进行拼接,将拼接后的
向量输入到lstm中进行编码,将最后一个时间步的隐藏状态作为该条路径预测的实体关系向量;
9.步骤5:重复步骤2-4,对多跳路径集合中剩余的路径进行编码,得到预测的实体关系向量集合,将实体关系向量集合输入到注意力机制中,得到实体对缺失的实体关系。
10.进一步地,所述步骤1中预处理具体为:
11.(1.1)获取数据集中实体的名称及描述,对于数据集中缺少描述的实体,从drugbank、disease ontology、gene ontology中抓取对应的实体描述;
12.(1.2)使用预训练的词向量将实体名称转换为词向量,对实体描述进行分词,并将分词后的结果同实体名称一样转换为词向量集合,并保存;
13.(1.3)在数据集中选择最常见的若干种实体关系作为被测关系;
14.(1.4)使用广度优先方法在数据集中获取实体对之间的多跳路径,并对每对实体随机抽取若干条路径进行负采样;
15.(1.5)将抽取的路径以及负采样得到的路径构成多跳路径集合,将多跳路径集合划分成训练集和测试集。
16.进一步地,所述步骤2中获取实体的最终表示向量具体为:
17.将实体名称ek和实体描述τk={t
k,1
,

,t
k,n-1
,t
k,n
}输入到注意力机制中,计算实体描述中不同词的权重α
k,o

[0018][0019]zk,o
=f(v(t
k,o
)+v(ek)),o=1,2,

,n
[0020]
其中α
k,o
代表实体描述τk中第o个词t
k,o
的权重,z
k,o
是一个中间变量,v(t
k,o
),v(ek)分别代表实体描述τk中第o个词的向量和实体名称ek向量,f(
·
)是全连接网络,n表示实体描述中词的数量;
[0021]
将得到的权重α
k,o
与实体描述向量集合的乘积之和作为实体ek的最终表示向量ek,*表示按位相乘。
[0022]
进一步地,所述步骤3中对实体进行编码具体为:
[0023]
每条路径中包含m个实体,使用lstm对路径中包含的实体的最终表示向量[e1,

,e
m-1
,em]进行编码,将每个时间步的隐藏状态[h1,

,h
m-1
,hm]作为编码结果,[h1,

,h
m-1
,hm]=lstm([e1,

,e
m-1
,em])。
[0024]
进一步地,所述步骤4中对实体关系进行编码具体为:
[0025]
将步骤3得到的结果[h1,

,h
m-1
,hm],与路径中包含的实体关系向量[v(r1),

,v(r
m-1
),v(rm)]进行拼接,每条路径中包括m-1个实体关系,为了使实体数量和关系数量匹配,为每条路径增加一个路径结束标志v(rm);将拼接后得到的结果输入到lstm网络中,将lstm网络最后一个时间步的隐藏状态作为该路径预测的关系向量p1。
[0026]
进一步地,所述步骤5中关系补全具体为:
[0027]
重复步骤2-4,对多跳路径集合中剩余的路径进行编码,得到预测的实体关系向量集合p=[p1,

,p
n-1
,pn],n是多跳路径集合中路径的数量;将实体关系向量集合p和给定的实体关系向量r之差的绝对值输入到注意力机制中,对所有路径的误差进行汇总,得到缺失
的实体关系;
[0028]
注意力机制汇总误差的方法如下:
[0029]
δi=|r-pi|
[0030]hi
=f(pi+r)
[0031][0032][0033]
p(r|e1,em)=δ(f(ε(p,r)))
[0034]
其中δi是第i条路径产生的误差,hi是一个中间变量,f(
·
)是全连接网络,βi是第i条路径的权重,ε(p,r)是多跳路径集合的误差汇总向量,δ(
·
)是sigmoid函数,p(r|e1,em)是预测的实体对(e1,em)与给定关系r的概率向量,取p(r|e1,em)的最大值对应的实体关系作为实体对缺失的关系。
[0035]
本发明另一方面提供了一种基于多跳路径的生物医学知识库补全装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现上述基于多跳路径的生物医学知识库补全方法。
[0036]
本发明还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述基于多跳路径的生物医学知识库补全方法。
[0037]
本发明的有益效果是:在生物医学知识库补全领域中,提出了一种误差汇总方法,该方法使用注意力机制对多跳路径集合中每条路径产生的误差分配权重,使用权重与误差的乘积之和的形式对误差进行汇总,该方法比常见的取误差平均值或者最大值的方法更有效,不仅充分利用了路径信息,而且便于对误差进行优化,具有更好的竞争性。
附图说明
[0038]
图1是本发明基于多跳路径的生物医学知识库补全方法的流程图。
[0039]
图2是本发明基于多跳路径的生物医学知识库补全装置的结构图。
具体实施方式
[0040]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
[0041]
最后说明,以上为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明揭露的技术范围内,可以轻易的对本发明的技术方案进行修改或同等替换,都应涵盖在本发明的权利要求范围当中。
[0042]
如图1所示,本发明实施例提出的一种基于多跳路径的生物医学知识库补全方法,该方法包括以下步骤:
[0043]
步骤1:对生物医学知识库中的三元组数据进行预处理,包括:获取数据集中实体的名称及描述,所述实体包括药品、疾病、基因;将实体名称及描述转化为词向量的形式并保存;选择待测试的实体关系;从数据集中抽取多跳路径,并对路径进行负采样,将抽取的路径以及负采样得到的路径构成多跳路径集合,将多跳路径集合划分成训练集和测试集;
预处理具体为:
[0044]
(1.1)获取数据集中实体的名称及描述,对于数据集中缺少描述的实体,从drugbank、disease ontology、gene ontology中抓取对应的实体描述;
[0045]
(1.2)使用预训练的词向量将实体名称转换为词向量,对实体描述进行分词,并将分词后的结果同实体名称一样转换为词向量集合,并保存;
[0046]
(1.3)在数据集中选择最常见的若干种实体关系作为被测关系,本实施例中,采用最常见的4种实体关系:'treats','presents','associates','causes';
[0047]
(1.4)使用广度优先方法在数据集中获取实体对之间的多跳路径,并对每对实体随机抽取若干条路径进行负采样,本实施例中,随机抽取10条路径进行负采样;
[0048]
(1.5)将抽取的路径以及负采样得到的路径构成多跳路径集合,将多跳路径集合划分成训练集和测试集,本实施例中训练集与测试集的比例为80%和20%。
[0049]
步骤2:将预处理后的实体名称向量和实体描述向量集合输入到注意力机制中,以获取实体的最终表示向量;获取实体的最终表示向量具体为:
[0050]
将实体名称ek和实体描述τk={t
k,1
,

,t
k,n-1
,t
k,n
}输入到注意力机制中,计算实体描述中不同词的权重α
k,o

[0051][0052]zk,o
=f(v(t
k,o
)+v(ek)),o=1,2,

,n
[0053]
其中α
k,o
代表实体描述τk中第o个词y
k,o
的权重,z
k,o
是一个中间变量,v(t
k,o
),v(ek)分别代表实体描述τk中第o个词的向量和实体名称ek向量,f(
·
)是全连接网络,n表示实体描述中词的数量;
[0054]
将得到的权重α
k,o
与实体描述向量集合的乘积之和作为实体ek的最终表示向量ek,*表示按位相乘。
[0055]
步骤3:将每条路径中实体的最终表示向量输入到长短时记忆网络lstm中对实体进行编码,将lstm每个时间步的隐藏状态作为本层输出;对实体进行编码具体为:
[0056]
每条路径中包含m个实体,使用lstm对路径中包含的实体的最终表示向量[e1,

,e
m-1
,em]进行编码,将每个时间步的隐藏状态[h1,

,h
m-1
,hm]作为编码结果,[h1,

,h
m-1
,hm]=lstm([e1,

,e
m-1
,em])。
[0057]
步骤4:将步骤3的输出向量和路径中包含的实体关系向量进行拼接,将拼接后的向量输入到lstm中进行编码,将最后一个时间步的隐藏状态作为该条路径预测的实体关系向量;对实体关系进行编码具体为:
[0058]
将步骤3得到的结果[h1,

,h
m-1
,hm],与路径中包含的实体关系向量[v(r1),

,v(r
m-1
),v(rm)]进行拼接,每条路径中包括m-1个实体关系,为了使实体数量和关系数量匹配,为每条路径增加一个路径结束标志v(rm);将拼接后得到的结果输入到lstm网络中,将lstm网络最后一个时间步的隐藏状态作为该路径预测的关系向量p1。
[0059]
步骤5:重复步骤2-4,对多跳路径集合中剩余的路径进行编码,得到预测的实体关系向量集合,将实体关系向量集合输入到注意力机制中,得到实体对缺失的实体关系;关系补全具体为:
[0060]
重复步骤2-4,对多跳路径集合中剩余的路径进行编码,得到预测的实体关系向量集合p=[p1,

,p
n-1
,pn],n是多跳路径集合中路径的数量;将实体关系向量集合p和给定的实体关系向量r之差的绝对值输入到注意力机制中,对所有路径的误差进行汇总,得到缺失的实体关系;
[0061]
注意力机制汇总误差的方法如下:
[0062]
δi=|r-pi|
[0063]hi
=f(pi+r)
[0064][0065][0066]
p(r|e1,em)=δ(f(ε(p,r)))
[0067]
其中δi是第i条路径产生的误差,hi是一个中间变量,f(
·
)是全连接网络,βi是第i条路径的权重,ε(p,r)是多跳路径集合的误差汇总向量,δ(
·
)是sigmoid函数,p(r|e1,em)是预测的实体对(e1,em)与给定关系r的概率向量,取p(r|e1,em)的最大值对应的实体关系作为实体对缺失的关系。
[0068]
与前述基于多跳路径的生物医学知识库补全方法的实施例相对应,本发明还提供了基于多跳路径的生物医学知识库补全装置的实施例。
[0069]
参见图2,本发明实施例提供的一种基于多跳路径的生物医学知识库补全装置,包括存储器和一个或多个处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,用于实现上述实施例中的基于多跳路径的生物医学知识库补全方法。
[0070]
本发明基于多跳路径的生物医学知识库补全装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本发明基于多跳路径的生物医学知识库补全装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0071]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0072]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0073]
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理
器执行时,实现上述实施例中的基于多跳路径的生物医学知识库补全方法。
[0074]
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备的外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(smart media card,smc)、sd卡、闪存卡(flash card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
[0075]
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1