基于深度学习的中药方剂解析方法及装置与流程

文档序号:31532797发布日期:2022-09-16 21:03阅读:203来源:国知局
基于深度学习的中药方剂解析方法及装置与流程

1.本发明涉及智能医疗技术领域,尤其涉及一种基于深度学习的中药方剂解析方法及装置。


背景技术:

2.随着智能医疗技术的发展,其应用在了医疗系统中的各个方面,例如,应用在中药方剂解析方面。中药是人们在日常生活中常用的药品,中药的治疗理念正逐渐被世界所接受,但同时,中药也因为其复杂性和不良反应而饱受质疑,如何提高中药可解析性是当下中药发展的重要问题。对中药方剂的解析是指对中药方剂进行分析得到中药方剂中各个成分的互作用。
3.现有技术中的基于深度学习的中药方剂解析方法往往存在解析可靠性低的问题。


技术实现要素:

4.本发明提供一种基于深度学习的中药方剂解析方法、装置、电子设备及存储介质,用以解决现有技术中中药方剂解析可靠性低的缺陷,实现提高中药方剂解析可靠性的目的。
5.本发明提供一种基于深度学习的中药方剂解析方法,包括:获取中药方剂的实体集合,所述实体集合中包括至少一个实体;将所述实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图;对所述初始节点图进行矩阵化处理,得到目标矩阵;对所述目标矩阵进行处理,得到目标链路集合;利用所述目标链路集合中的各个目标链路对所述实体集合中的各个实体对应的节点进行调整,得到目标节点图;利用所述目标节点图对所述实体集合中的各个所述实体进行解析。
6.根据本发明提供的一种基于深度学习的中药方剂解析方法,对所述初始节点图进行矩阵化处理,得到目标矩阵,包括:对所述初始节点图进行第一矩阵化处理,得到所述初始节点图对应的邻接矩阵;对所述初始节点图进行第二矩阵化处理,得到所述初始节点图对应的度矩阵;将所述度矩阵和所述邻接矩阵进行差值计算,得到中间矩阵;对所述中间矩阵进行归一化处理,得到所述目标矩阵。
7.根据本发明提供的一种基于深度学习的中药方剂解析方法,所述对所述目标矩阵进行处理,得到目标链路集合,包括:将所述目标矩阵输入到第一图卷积神经网络中,所述第一图卷积神经网络包括至少一个网络层;利用所述目标矩阵和第一隐藏信息向量,得到第二隐藏信息向量,所述第一隐藏信息向量为所述第一图卷积神经网络在候选层中候选节点的隐藏信息向量,所述第二隐藏信息向量为所述候选层的后向层中所述候选节点的隐藏信息向量;基于所述第一隐藏信息向量和第二隐藏信息向量,得到所述目标链路集合。
8.根据本发明提供的一种基于深度学习的中药方剂解析方法,所述基于所述第一隐藏信息向量和第二隐藏信息向量,得到所述目标链路集合,包括:对所述第一隐藏信息向量和第二隐藏信息向量进行卷积处理,得到目标隐藏信息向量;利用所述第一图卷积神经网
络的全局参数矩阵对所述目标隐藏信息向量进行处理,得到所述实体对应的节点之间的潜在相关信息向量;朝着满足相关信息向量调整条件的方向,对所述潜在相关信息向量进行调整,得到所述目标链路集合。
9.根据本发明提供的一种基于深度学习的中药方剂解析方法,所述朝着满足相关信息向量调整条件的方向,对所述潜在相关信息向量进行调整,得到所述目标链路集合,包括:在候选节点对之间,对所述潜在相关信息向量和目标相关信息向量进行差值计算,得到各个所述候选节点对对应的相关信息向量差值,所述候选节点对包括两个所述候选节点;对所述相关信息向量差值与零向量之间取最大值,得到各个最大值向量;
10.对各个所述最大值向量进行叠加处理,得到目标向量值;朝着所述目标向量值变小的方向调整,得到所述目标链路集合。
11.根据本发明提供的一种基于深度学习的中药方剂解析方法,所述对所述目标矩阵进行处理,得到目标链路集合,包括:将所述目标矩阵输入到第二图神经网络中,所述第二图神经网络中包括多头注意力模块,所述多头注意力模块包括至少一个注意力模块;在各个所述注意力模块中,基于矩阵维度,分别对所述目标矩阵进行处理,得到目标输出向量集合;对所述目标输出向量集合中的各个目标输出向量加权求和,得到多头注意力模块的第一输出向量;基于所述第一输出向量,得到目标链路集合。
12.根据本发明提供的一种基于深度学习的中药方剂解析方法,所述基于所述第一输出向量,得到目标链路集合,包括:将所述第一输出向量与所述前向图神经网络的输出向量进行求和,得到初始处理向量,所述前向图神经网络为所述第二图神经网络的前向网络;将所述初始处理向量经过第一归一化层处理后,得到归一化向量;将所述归一化向量输入到前馈网络层处理后,得到中间处理向量;对所述中间处理向量和所述归一化向量进行求和,得到目标处理向量;将所述目标处理向量输入到第二归一化层处理后,得到所述第二输出向量,所述第二输出向量为所述第二图神经网络的输出向量;基于所述第二输出向量,得到所述目标链路集合。
13.本发明还提供一种基于深度学习的中药方剂解析装置,包括:第一处理模块,用于获取中药方剂的实体集合,所述实体集合中包括至少一个实体;第二处理模块,用于将所述实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图;第三处理模块,用于对所述初始节点图进行矩阵化处理,得到目标矩阵;第四处理模块,用于对所述目标矩阵进行处理,得到目标链路集合;第五处理模块,用于利用所述目标链路集合中的各个目标链路对所述实体集合中的各个实体对应的节点进行调整,得到目标节点图;第六处理模块,用于利用所述目标节点图对所述实体集合中的各个所述实体进行解析。
14.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任一种所述基于深度学习的中药方剂解析方法的步骤。
15.本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种所述基于深度学习的中药方剂解析方法的步骤。
16.本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于深度学习的中药方剂解析方法的步骤。
17.本发明提供的基于深度学习的中药方剂解析方法、装置、电子设备及存储介质,通
过获取中药方剂的实体集合,该实体集合中包括至少一个实体;将该实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图;对初始节点图进行矩阵化处理,得到目标矩阵;对该目标矩阵进行处理,得到目标链路集合;利用该目标链路集合中的各个目标链路对实体集合中的各个实体对应的节点进行调整,得到目标节点图;利用目标节点图对实体集合中的各个实体进行解析。能够通过对初始节点图的一步步处理,得到目标节点图,根据目标节点图对各个实体进行解析,从而能够挖掘出潜在的中药方剂,剔除掉无效的中药方剂,从而提高了中药方剂解析的可靠性。
附图说明
18.为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1是本发明提供的基于深度学习的中药方剂解析方法的流程示意图之一;
20.图2是本发明提供的基于深度学习的中药方剂解析方法的流程示意图之二;
21.图3是本发明提供的基于深度学习的中药方剂解析方法的流程示意图之三;
22.图4是本发明提供的基于深度学习的中药方剂解析方法的流程示意图之四;
23.图5是本发明提供的基于深度学习的中药方剂解析方法的流程示意图之五;
24.图6是本发明提供的基于深度学习的中药方剂解析方法的流程示意图之六;
25.图7是本发明提供的基于深度学习的中药方剂解析方法的流程示意图之七;
26.图8是本发明提供的基于深度学习的中药方剂解析方法的实体示意图之一;
27.图9是本发明提供的基于深度学习的中药方剂解析方法的结构框图之一;
28.图10是本发明提供的基于深度学习的中药方剂解析方法的结构框图之二;
29.图11是本发明提供的基于深度学习的中药方剂解析方法的结构框图之三;
30.图12是本发明提供的基于深度学习的中药方剂解析方法的流程示意图之八;
31.图13是本发明提供的基于深度学习的中药方剂解析装置的结构示意图;
32.图14是本发明提供的电子设备的结构示意图。
具体实施方式
33.为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.下面结合图1-图7描述本发明的基于深度学习的中药方剂解析方法。
35.在一个实施例中,如图1所示,提供了一种基于深度学习的中药方剂解析方法,以该方法应用于服务器为例进行说明,包括以下步骤:
36.步骤102,获取中药方剂的实体集合,实体集合中包括至少一个实体。
37.其中,中药方剂是指对某个病症具有治疗作用的中药的配方。例如,病症表示为s,与其对应的配方表示为p,该配方p可以包括药物d1、药物d2和药物d3等。实体是指与上述中
药方剂相关的元素。例如,与该中药方剂相关的病症、配方、药物和药物分子等元素可以认为是实体。
38.具体地,服务器可以从存储有中药方剂的实体集合的结构型数据库或者中药化学数据库中,获取中药方剂的实体集合。
39.步骤104,将实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图。
40.其中,节点图是指将各个实体作为节点,利用节点之间的连接关系,将有连接关系的节点进行连接,将没有连接关系的节点不进行连接,得到初始节点图。
41.具体地,服务器获取中药方剂的实体集合之后,可以通过将实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图。例如,病症表示为s,与其对应的配方表示为p,该配方p可以包括药物d1、药物d2和药物d3,药物d1包括药物分子c,并且上述实体病症s、配方p、药物d1和药物分子c存在连接关系,则将病症s、配方p、药物d1和药物分子c进行连接,可以得到初始节点图。
42.步骤106,对初始节点图进行矩阵化处理,得到目标矩阵。
43.具体地,在服务器得到初始节点图之后,对该初始节点图进行矩阵化处理,得到目标矩阵。
44.在一个实施例中,服务器得到初始节点图之后,得到该初始节点图的邻接矩阵表示为a,度矩阵表示为d,并通过对该度矩阵d和邻接矩阵a计算差值,得到laplacian矩阵lc,并将该laplacian矩阵lc进行归一化处理,得到目标矩阵,该目标矩阵表示为l,则目标矩阵l可以表示为公式:
[0045][0046]
在一个实施例中,将该节点图以三元组的形式进行矩阵化处理,得到目标矩阵。例如,在初始节点图包括第i个节点vi,第j个节点vj,两个之间的连接关系r,则目标矩阵可以表示为e
ij
=(vi,r,vj)
i,j∈n
,其中,n表示节点数量。
[0047]
步骤108,对目标矩阵进行处理,得到目标链路集合。
[0048]
具体地,服务器得到目标矩阵之后,对目标矩阵进行处理,得到目标链路集合。
[0049]
在一个实施例中,服务器将得到的目标矩阵输入到图神经网络中进行编码,并将编码后目标矩阵进行解码后,得到初始节点图中节点之间的潜在相关信息向量,基于该潜在相关信息向量,得到目标链路集合。
[0050]
步骤110,利用目标链路集合中的各个目标链路对实体集合中的各个实体对应的节点进行调整,得到目标节点图。
[0051]
具体地,服务器得到目标链路集合之后,利用该目标链路集合中的各个目标链路对各个实体对应的节点进行调整,得到目标节点图。例如,目标链路集合中的存在目标链路e,该目标链路e连接的实体为病症s1和配方p1,但是在原有的初始节点图中,实体为病症s1和配方p1不存在连接关系,则根据目标链路e对初始节点图进行调整,得到的目标节点图为病症s1和配方p1存在连接关系的节点图。上述连接关系可以理解为相关关系。
[0052]
步骤112,利用目标节点图对实体集合中的各个实体进行解析。
[0053]
具体地,服务器得到目标节点图之后,通过目标节点图可以对实体集合中的各个
实体进行解析。例如,目标节点图为病症s2连接配方p2,配方p2连接药物d5,药物d5连接药物分子c1和c2,则可以对各个实体进行解析,得到与病症s2相关的中药方剂的相关信息。
[0054]
上述基于深度学习的中药方剂解析方法中,通过获取中药方剂的实体集合,该实体集合中包括至少一个实体;将该实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图;对初始节点图进行矩阵化处理,得到目标矩阵;对该目标矩阵进行处理,得到目标链路集合;利用该目标链路集合中的各个目标链路对实体集合中的各个实体对应的节点进行调整,得到目标节点图;利用目标节点图对实体集合中的各个实体进行解析。能够通过对初始节点图的一步步处理,得到目标节点图,根据目标节点图对各个实体进行解析,从而能够挖掘出潜在的中药方剂,剔除掉无效的中药方剂,从而提高了中药方剂解析的可靠性。
[0055]
在一个实施例中,如图2所示,对初始节点图进行矩阵化处理,得到目标矩阵包括:
[0056]
步骤202,对初始节点图进行第一矩阵化处理,得到初始节点图对应的邻接矩阵。
[0057]
具体地,服务器在得到初始节点图之后,将该节点图中的每个节点当作顶点,并将该顶点与邻接顶点之间连接的边作为边,组成二维数组,将该二维数组确定为邻接矩阵。
[0058]
步骤204,对初始节点图进行第二矩阵化处理,得到初始节点图对应的度矩阵。
[0059]
具体地,服务器得到初始节点图之后,对该初始节点图进行第二矩阵化处理,将该初始节点图中的与每个节点相关联的表的数量表示为各个节点作为顶点时的度,得到初始节点图对应的度矩阵。在该度矩阵的对角上的元素表示该节点作为顶点时的度。
[0060]
步骤206,对度矩阵和邻接矩阵进行差值计算,得到中间矩阵。
[0061]
具体地,服务器在得到上述度矩阵和邻接矩阵之后,对度矩阵和邻接矩阵进行差值计算,得到中间矩阵。假设中间矩阵表示为lc,度矩阵表示为d,邻接矩阵表示为a,则中间矩阵lc表示为公式:
[0062]
lc=d-a
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0063]
步骤208,对中间矩阵进行归一化处理,得到目标矩阵。
[0064]
具体地,服务器得到中间矩阵之后,为了消除度较小的节点特征缩小,或度较大节点的特征放大,对中间矩阵进行归一化处理,得到目标矩阵。该目标矩阵表示为l,则目标矩阵l表示公式如公式(1)。
[0065]
本实施例中,通过对初始节点图进行第一矩阵化处理,得到初始节点图对应的邻接矩阵,对初始节点图进行第二矩阵化处理,得到初始节点图对应的度矩阵,对度矩阵和邻接矩阵进行差值计算,得到中间矩阵,对中间矩阵进行归一化处理,得到目标矩阵,能够达到准确得到目标矩阵的目的。
[0066]
在一个实施例中,如图3所示,对目标矩阵进行处理,得到目标链路集合包括:
[0067]
步骤302,将目标矩阵输入到第一图卷积神经网络中,该第一图卷积神经网络包括至少一个网络层。
[0068]
具体地,服务器在得到目标矩阵后,可以将该目标矩阵输入到第一图卷积神经网络中。
[0069]
在一个实施例中,将上述目标矩阵l输入到具有两层卷积层的图卷积神经网络中进行编码。
[0070]
步骤304,利用目标矩阵和第一隐藏信息向量,得到第二隐藏信息向量,上述第一
隐藏信息向量为第一图卷积神经网络在候选层中候选节点的隐藏信息向量,第二隐藏信息向量为候选层的后向层中候选节点的隐藏信息向量。
[0071]
具体地,服务器在将目标矩阵输入到第一图卷积神经网络中后,通过对每个节点输入不同的邻近信息r来更新节点的嵌入,假设候选层为第k层,候选节点为第i个节点vi,该候选节点在第k层中的第一隐藏信息向量表示为则该候选节点在第k+1层中的第二隐藏信息向量表示为则第二隐藏信息向量可以表示为公式:
[0072][0073]
其中,σ为relu激活函数,wk为卷积核,该向量的维度为d
×
d。
[0074]
其中初始节点的特征向量可以表示为该特征向量表示为公式:
[0075][0076]
在一个实施例中,服务器在得到初始节点图之后,将具有n个节点的初始节点图通过embedding转换成d维的节点表征向量x,该节点表征向量x可以表示节点的信息。
[0077]
步骤306,基于第一隐藏信息向量和第二隐藏信息向量,得到目标链路集合。
[0078]
具体地,服务器在得到于第一隐藏信息向量和第二隐藏信息向量之后,可以基于第一隐藏信息向量和第二隐藏信息向量,得到目标隐藏信息向量,并将该目标隐藏信息向量输入到第一图卷积神经网络的解码器中处理,得到节点之间的潜在相关信息向量,朝着满足相关信息向量调整条件的方向,对潜在相关信息向量进行调整,得到目标链路集合。
[0079]
本实施例中,通过将目标矩阵输入到第一图卷积神经网络中,利用目标矩阵和第一隐藏信息向量,得到第二隐藏信息向量,上述第一隐藏信息向量为第一图卷积神经网络在候选层中候选节点的隐藏信息向量,第二隐藏信息向量为候选层的后向层中候选节点的隐藏信息向量,基于第一隐藏信息向量和第二隐藏信息向量,得到目标链路集合,能够达到通过隐藏信息向量,准确得到目标链路集合的目的。
[0080]
在一个实施例中,如图4所示,基于第一隐藏信息向量和第二隐藏信息向量,得到目标链路集合包括:
[0081]
步骤402,对第一隐藏信息向量和第二隐藏信息向量进行卷积处理,得到目标隐藏信息向量。
[0082]
具体地,服务器得到第一隐藏信息向量和第二隐藏信息向量之后,对第一隐藏信息向量和第二隐藏信息向量进行卷积处理,得到目标隐藏信息向量。目标隐藏信息向量表示为hi,则目标隐藏信息向量hi可表示为公式:
[0083][0084]
步骤404,利用第一图卷积神经网络的全局参数矩阵对目标隐藏信息向量进行处理,得到实体对应的节点之间的潜在相关信息向量。
[0085]
其中,全局参数矩阵是指能够对第一图卷积神经网络的全局进行调节的参数矩阵。潜在相关信息向量是指能够表示节点之间存在潜在相关关系的向量。例如,节点i和节点j之间可能存在相关关系,则能够表示出该可能存在的相关关系的向量,为节点i和节点j之间的潜在相关信息向量。
[0086]
具体地,服务器得到目标隐藏信息向量之后,利用该全局参数矩阵对上述目标隐藏信息向量进行处理,得到实体对应的节点之间的潜在相关信息向量。
[0087]
在一个实施例中,服务器将上述目标隐藏信息向量hi输入到第一图卷积神经网络的解码器中后,通过全局参数矩阵o对目标隐藏信息向量hi进行处理,得到潜在相关信息向量则潜在相关信息向量表示为公式:
[0088][0089]
步骤406,朝着满足相关信息向量调整条件的方向,对潜在相关信息向量进行调整,得到目标链路集合。
[0090]
其中,相关信息向量调整条件是指能够满足相关信息调整的条件,该条件可以为第一图卷积神经网络的损失函数变小的方向等。
[0091]
具体地,假设相关信息向量调整条件表示为函数目标链路集合表示为p
ij
,相关信息向量调整条件表示为公式:
[0092][0093]
则最小化上述相关信息向量调整条件得到满足条件的目标链路集合。
[0094]
本实施例中,通过对第一隐藏信息向量和第二隐藏信息向量进行卷积处理,得到目标隐藏信息向量,利用第一图卷积神经网络的全局参数矩阵对目标隐藏信息向量进行处理,得到实体对应的节点之间的潜在相关信息向量,朝着满足相关信息向量调整条件的方向,对潜在相关信息向量进行调整,得到目标链路集合,能够通过潜在相关信息向量的处理,达到得到可靠的目标链路集合的目的。
[0095]
在一个实施例中,如图5所示,朝着满足相关信息向量调整条件的方向,对潜在相关信息向量进行调整,得到目标链路集合包括:
[0096]
步骤502,在候选节点对之间,对潜在相关信息向量和目标相关信息向量进行差值计算,得到各个候选节点对对应的相关信息向量差值,该候选节点对包括两个候选节点。
[0097]
其中,候选节点对是指有两个候选节点的节点对,例如,第i个节点vi和第j个节点vj组成的候选节点对υ
ij
该候选节点对的潜在相关信息向量表示为目标相关信息向量表示为p
ij
,对潜在相关信息向量和目标相关信息向量p
ij
进行差值计算,得到各个候选节点对对应的相关信息向量差值p,相关信息向量差值p表示公式:
[0098][0099]
步骤504,对相关信息向量差值与零向量之间取最大值,得到各个最大值向量。
[0100]
具体地,服务器得到相关信息向量差值之后,可以利用最大值函数,对相关信息向量差值与零向量之间取最大值,得到各个最大值向量。假设,最大值向量表示为max,则最大值向量max表示为:
[0101]
max=max(0,p)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
[0102]
步骤506,对各个最大值向量进行叠加处理,得到目标向量值。
[0103]
具体地,服务器在得到最大值向量之后,对上述各个候选节点对对应的各个最大值向量进行叠加处理,得到目标向量值。假设,目标向量值表示为则目标向量值表示为公式:
[0104][0105]
步骤508,朝着目标向量值变小的方向调整,得到目标链路集合。
[0106]
具体地,服务器得到目标向量值之后,将该目标向量值朝着变小的方向调整,直至调整为目标向量值最小,得到目标链路集合。
[0107]
本实施例中,通过在候选节点对之间,对潜在相关信息向量和目标相关信息向量进行差值计算,得到各个候选节点对对应的相关信息向量差值,对相关信息向量差值与零向量之间取最大值,得到各个最大值向量,对各个最大值向量进行叠加处理,得到目标向量值,朝着目标向量值变小的方向调整,得到目标链路集合,能够达到得到精确的目标链路集合的目的。
[0108]
在一个实施例中,如图6所示,对目标矩阵进行处理,得到目标链路集合包括:
[0109]
步骤602,将目标矩阵输入到第二图神经网络中,该第二图神经网络中包括多头注意力模块,该多头注意力模块包括至少一个注意力模块。
[0110]
具体地,服务器在得到步骤106中三元组对应的目标矩阵e
ij
=(vi,r,vj)
i,j∈n
之后,将该目标矩阵输入到第二图神经网络中。该第二图神经网络包括多头注意力模块,该多头注意力模块包括至少一个注意力模块,将该目标矩阵分别输入到上述各个注意力模块中。需要说明书的是,上述三元组对应的目标矩阵e
ij
=(vi,r,vj)
i,j∈n
的长度数量表示为m,长度表示为l,其中长度l和矩阵维度d之间的关系表示为公式:
[0111]
l=2d+1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(11)
[0112]
例如,假设三元组表示为[

db00855



treats



c0020649

],db00855为氨基乙酰丙酸在蛋白质数据库中的唯一id号,c0020649是低血压在药物数据库的唯一id,该三元组表示氨基乙酰丙酸可以治疗低血压。如果将db00855看做一个实体对应的节点,c0020649看做另一个实体对应的节点,两个节点之间存在相关关系。
[0113]
步骤604,在各个注意力模块中,基于矩阵维度,分别对目标矩阵进行处理,得到目标输出向量集合。
[0114]
具体地,服务器将目标矩阵输入到第二图神经网络中之后,利用注意力模块,对每个输入的三元组e
ij
,计算三元组的q,k,v投影,再利用softmax操作将其结果归一化为概率分布,得到目标输出向量集合。具体表示为公式:
[0115][0116]
其中,zi是单个注意力头的输出向量,d表示矩阵维度。
[0117]
步骤606,对目标输出向量集合中的各个目标输出向量加权求和,得到多头注意力模块的第一输出向量。
[0118]
具体地,在服务器得到目标输出向量集合之后,对该集合中的各个目标输出向量加权求和,得到多头注意力模块的第一输出向量。
[0119]
在一个实施例中,将定义的线性投影矩阵w0作为加权求和的权值,该线性投影矩阵w0的大小为nb
×
n,与多注意力头做线性投影输出,输出大小为m
×
n的第一输出向量。对
目标输出向量集合中的各个目标输出向量zi进行加权求和,得到第一输出向量gi,第一输出向量gi表示为公式:
[0120]gi
=multiattn(gi)=[z0;...;zm]woꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0121]
步骤608,基于第一输出向量,得到目标链路集合。
[0122]
具体地,服务器在得到第一输出向量之后,将该第一输出向量通过一个残差连接的归一化层和两层前馈网络层处理后,再经过第二图神经网络中的解码器处理后,得到目标链路集合。
[0123]
本实施例中,通过将目标矩阵输入到第二图神经网络中,在各个注意力模块中,基于矩阵维度,分别对目标矩阵进行处理,得到目标输出向量集合,对目标输出向量集合中的各个目标输出向量加权求和,得到多头注意力模块的第一输出向量,基于第一输出向量,得到目标链路集合,能够达到通过第二图神经网络对目标矩阵进行处理,得到目标链路集合的目的。
[0124]
在一个实施例中,如图7所示,基于第一输出向量,得到目标链路集合包括:
[0125]
步骤702,将第一输出向量与前向图神经网络的输出向量进行求和,得到初始处理向量,上述前向图神经网络为第二图神经网络的前向网络。
[0126]
具体地,当前第二图神经网络的输出向量表示为hi,则前向图神经网络的输出向量表示为h
i-1
,初始处理向量表示为g
l
,则初始处理向量g
l
表示为公式:
[0127]gl
=h
i-1
+giꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)
[0128]
步骤704,将初始处理向量经过第一归一化层处理后,得到归一化向量。
[0129]
具体地,服务器得到初始处理向量之后,经过第二图神经网络的归一化层处理后,得到归一化向量,该归一化向量表示为则归一化向量表示为公式:
[0130][0131]
步骤706,将归一化向量输入到前馈网络层处理后,得到中间处理向量。
[0132]
具体地,服务器得到归一化向量之后,经过第二图神经网络的前馈网络层处理后,得到中间处理向量。中间处理向量表示为则中间处理向量表示为公式:
[0133][0134]
步骤708,对中间处理向量和归一化向量进行求和,得到目标处理向量。
[0135]
具体地,服务器得到中间处理向量和归一化向量之后,对中间处理向量和归一化向量进行求和,得到目标处理向量。
[0136]
步骤710,将目标处理向量输入到第二归一化层处理后,得到第二输出向量,该第二输出向量为第二图神经网络的输出向量。
[0137]
具体地,服务器得到目标处理向量之后,将该目标处理向量输入到第二归一化层处理后,得到第二输出向量,第二输出向量表示为hi,则第二输出向量hi表示为公式:
[0138][0139]
步骤712,基于第二输出向量,得到目标链路集合。
[0140]
具体地,服务器在得到第二输出向量之后,将该第二输出向量输入到具有6个串行的,与第二图神经网络相同结构的图卷积神经网络系统中,将该图卷积神经网络系统中的前三个图卷积神经网络作为编码器,将后三个图卷积神经网络作为解码器,在解码器中处
理后,输出m
·
n的矩阵后,进行矩阵转置然后输入到解码器中,解码后再经过softmax得到输出矩阵n
·
n,该矩阵表示为n个实体之间的潜在链路。该潜在链路为存在有潜在相关信息向量的链路,可以根据上述公式(7)及相关步骤,得到目标链路集合。
[0141]
本实施例中,通过将第一输出向量与前向图神经网络的输出向量进行求和,得到初始处理向量,上述前向图神经网络为第二图神经网络的前向网络,将初始处理向量经过第一归一化层处理后,得到归一化向量,将归一化向量输入到前馈网络层处理后,得到中间处理向量,对中间处理向量和归一化向量进行求和,得到目标处理向量,将目标处理向量输入到第二归一化层处理后,得到第二输出向量,基于第二输出向量,得到目标链路集合,能够达到通过第一输出向量,准确得到目标链路集合的目的。
[0142]
在一个实施例中,服务器在得到目标链路集合之后,将该目标链路集合保存在相关数据库中,以便于利用该目标链路集合中的各个目标链路对实体对应的目标节点图进行调整,更新原有实体对应的知识库。
[0143]
在一个实施例中,如图8所示,以与重要方剂相关的实体包括病症s,配方p,药物d和分子c为例。根据中药知识图谱库中各个实体以及各个实体之间的相关关系,组成初始节点图。
[0144]
在一个实施例中,如图9所示,以第一图卷积神经网络为两层卷积层的图卷积神经网络为例。通过将上述初始节点图输入到该两层卷积层的图卷积神经网络,通过第一层卷积层利用卷积核对初始节点图对应的laplacian矩阵和第一隐藏信息向量进行处理后,输入到第二层卷积层中,再经过相同处理后,将输出向量输出到解码器中进行处理,在解码器中利用全局参数矩阵对目标隐藏信息向量以及目标隐藏信息向量的转置向量进行处理后,得到目标链路集合。
[0145]
在一个实施例中,如图10所示,以第二图神经网络为transformer图神经网络为例。可以利用有6个同样的该transformer图神经网络组成的图神经网络系统为例。将前3个transformer图神经网络作为图神经网络系统的编码器,将后3个transformer图神经网络作为图神经网络系统的解码器,将m
×
l的三元组输入到第1个transformer图神经网络中,得到向量h1,依次类推,在第3个transformer图神经网络的输出端,输出向量h3,将该向量h3进行转置处理后,输出到解码器中,直至从第6个transformer图神经网络中输出,输出向量h6,将该输出向量h6经过softmax函数归一化处理后,得到上述目标链路集合。
[0146]
在一个实施例中,上述任意一个transformer图神经网络结构如图11所示。在transformer图神经网络结构中分布有多个注意力头模块,将上述目标矩阵分别输入到每个注意力头模块中,利用线性投影矩阵wo进行处理后,得到多头注意力头模块的输出向量gi,将该输出向量gi结合该transformer图神经网络的前向transformer图神经网络输出的向量h
i-1
,共同输入到第一归一化层,将第一归一化层处理后的向量输出到前馈网络层处理,结合第一归一化层处理后的向量和前馈网络层处理后的向量,输入到第二归一化层处理,输出transformer图神经网络的输出向量hi。
[0147]
在一个实施例中,如图12所示,以该方法应用到中药数据库的更新为例。首先从中药知识库中获取到中药知识相关的实体以及实体之间的关系,并以向量的形式输入到图神经网络中,生成新知识图谱,服务器接收评估方法,并根据该评估方法对新知识图谱进行评估,如果评估为好,则接受新知识图谱,并将新知识图谱保存到中药数据库中;如果评估为
差,则对新知识图谱进一步修正,得到修正后的新知识图谱保存到中药数据库中。
[0148]
下面对本发明提供的基于深度学习的中药方剂解析装置进行描述,下文描述的基于深度学习的中药方剂解析装置与上文描述的基于深度学习的中药方剂解析方法可相互对应参照。
[0149]
在一个实施例中,如图13所示,提供了一种基于深度学习的中药方剂解析装置1300,包括:第一处理模块1302、第二处理模块1304、第三处理模块1306、第四处理模块1308、第五处理模块1310和第六处理模块1312,其中:第一处理模块1302,用于获取中药方剂的实体集合,实体集合中包括至少一个实体;第二处理模块1304,用于将实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图;第三处理模块1306,用于对节点图进行矩阵化处理,得到目标矩阵;第四处理模块1308,用于对目标矩阵进行处理,得到目标链路集合;第五处理模块1310,用于利用目标链路集合中的各个目标链路对实体集合中的各个实体对应的节点进行调整,得到目标节点图;第六处理模块1312,用于利用目标节点图对实体集合中的各个实体进行解析。
[0150]
在一个实施例中,第三处理模块1306,用于对节点图进行第一矩阵化处理,得到节点图对应的邻接矩阵;对节点图进行第二矩阵化处理,得到节点图对应的度矩阵;将度矩阵和邻接矩阵进行差值计算,得到中间矩阵;对中间矩阵进行归一化处理,得到目标矩阵。
[0151]
在一个实施例中,第四处理模块1308,用于将目标矩阵输入到第一图卷积神经网络中,第一图卷积神经网络包括至少一个网络层;利用目标矩阵和第一隐藏信息向量,得到第二隐藏信息向量,第一隐藏信息向量为第一图卷积神经网络在候选层中候选节点的隐藏信息向量,第二隐藏信息向量为候选层的后向层中候选节点的隐藏信息向量;基于第一隐藏信息向量和第二隐藏信息向量,得到目标链路集合。
[0152]
在一个实施例中,第四处理模块1308,用于对第一隐藏信息向量和第二隐藏信息向量进行卷积处理,得到目标隐藏信息向量;利用第一图卷积神经网络的全局参数矩阵对目标隐藏信息向量进行处理,得到实体对应的节点之间的潜在相关信息向量;朝着满足相关信息向量调整条件的方向,对潜在相关信息向量进行调整,得到目标链路集合。
[0153]
在一个实施例中,第四处理模块1308,用于在候选节点对之间,对潜在相关信息向量和目标相关信息向量进行差值计算,得到各个候选节点对对应的相关信息向量差值,候选节点对包括两个候选节点;对相关信息向量差值与零向量之间取最大值,得到各个最大值向量;对各个最大值向量进行叠加处理,得到目标向量值;朝着目标向量值变小的方向调整,得到目标链路集合。
[0154]
在一个实施例中,第四处理模块1308,用于将目标矩阵输入到第二图神经网络中,第二图神经网络中包括多头注意力模块,多头注意力模块包括至少一个注意力模块;在各个注意力模块中,基于矩阵维度,分别对目标矩阵进行处理,得到目标输出向量集合;对目标输出向量集合中的各个目标输出向量加权求和,得到多头注意力模块的第一输出向量;基于第一输出向量,得到目标链路集合。
[0155]
在一个实施例中,第四处理模块1308,用于将第一输出向量与前向图神经网络的输出向量进行求和,得到初始处理向量,前向图神经网络为第二图神经网络的前向网络;将初始处理向量经过第一归一化层处理后,得到归一化向量;将归一化向量输入到前馈网络层处理后,得到中间处理向量;对中间处理向量和归一化向量进行求和,得到目标处理向
量;将目标处理向量输入到第二归一化层处理后,得到第二输出向量,第二输出向量为第二图神经网络的输出向量;基于第二输出向量,得到目标链路集合。
[0156]
图14示例了一种电子设备的实体结构示意图,如图14所示,该电子设备可以包括:处理器(processor)1410、通信接口(communications interface)1420、存储器(memory)1430和通信总线1440,其中,处理器1410,通信接口1420,存储器1430通过通信总线1440完成相互间的通信。处理器1410可以调用存储器1430中的逻辑指令,以执行基于深度学习的中药方剂解析方法,该方法包括:获取中药方剂的实体集合,实体集合中包括至少一个实体;将实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图;对节点图进行矩阵化处理,得到目标矩阵;对目标矩阵进行处理,得到目标链路集合;利用目标链路集合中的各个目标链路对实体集合中的各个实体对应的节点进行调整,得到目标节点图;利用目标节点图对实体集合中的各个实体进行解析。
[0157]
此外,上述的存储器1430中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0158]
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括计算机程序,计算机程序可存储在非暂态计算机可读存储介质上,所述计算机程序被处理器执行时,计算机能够执行上述各方法所提供的基于深度学习的中药方剂解析方法,该方法包括:获取中药方剂的实体集合,实体集合中包括至少一个实体;将实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图;对节点图进行矩阵化处理,得到目标矩阵;对目标矩阵进行处理,得到目标链路集合;利用目标链路集合中的各个目标链路对实体集合中的各个实体对应的节点进行调整,得到目标节点图;利用目标节点图对实体集合中的各个实体进行解析。
[0159]
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各方法提供的基于深度学习的中药方剂解析方法,该方法包括:获取中药方剂的实体集合,实体集合中包括至少一个实体;将实体集合中各个实体作为节点,根据节点之间的连接关系,得到初始节点图;对节点图进行矩阵化处理,得到目标矩阵;对目标矩阵进行处理,得到目标链路集合;利用目标链路集合中的各个目标链路对实体集合中的各个实体对应的节点进行调整,得到目标节点图;利用目标节点图对实体集合中的各个实体进行解析。
[0160]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0161]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0162]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1