1.基于注意力机制和全局检索的药物推荐方法,其特征在于,包括如下步骤:步骤S1,基于注意力机制获取数据库中的患者健康表示,所述患者健康表示包括患者的诊断信息和手术信息;
步骤S1的具体实现方式如下;
步骤S11,从MIMIC‑III数据库中获取患者的诊断信息和手术信息,并将患者的诊断信息和手术信息投影到嵌入空间;
步骤S12,利用对齐余弦相似度来获取每个诊断信息与每个手术信息之间的关联,并通过残差计算得到更为准确的诊断信息嵌入和手术信息嵌入:步骤S13,通过多头自注意力机制、残差连接和层归一化对诊断信息嵌入进行编码,给定三个输入矩阵 ,和 ,多头注意力函数 被定义为:;
;
;
其中,参数矩阵 , 是可学习的,h为头的个数,Q表示query向量,K表示key向量,V表示value向量,s表示嵌入空间的维数;经过多头注意力处理后,再利用残差连接和层归一化来得到诊断信息最终表示 :;
;
其中, 的目的是从多个视图捕获诊断信息内部的交互信息, 表示诊断信息嵌入, 为前馈神经网络, 为可学习权重,LN(·)表示层归一化函数;
利用同样的方法得到手术信息最终表示 ;
步骤S14,将诊断信息最终表示和手术信息最终表示进行连接,第i个患者的第t次访问的当前健康表示通过前馈神经网络 表示:;
其中, 是可学习参数,是连接操作;
为了获取更为全面的病例信息,设计循环神经网络RNN来动态获取患者的历史访问信息,得到患者的病例信息:;
步骤S2,基于图卷积网络获取数据库中的药物表示,所述药物表示通过整合EHR图与DDI图获得;
步骤S2中,所述EHR图是电子健康记录中开药信息所构成的图,每个节点表示一种药,若两种药在同一次开药中,则这两个节点有一条边,获取MIMIC‑III数据库中患者的用药信息为 ,这里的 是 的列向量,数值1表示药物出现在此次用药信息中,数值0表示药物未出现在此次用药信息中, 为药物集的总数,则EHR图的邻接矩阵表示为,DDI图的邻接矩阵 通过数据集MIMIC‑III中获得发生恶性反应的药物对来表示;
使用 和 分别表示EHR图和DDI图,其中,M是药物集, 和 分别为EHR图和DDI图的边缘集,使用邻接矩阵 表示 和 中的信息,意味着第 个药物与第 个药物出现在同一次开药中, 意味着第个药物与第 个药物会发生恶性反应;
使用两层图卷积网络GCN来嵌入图信息:;
;
;
其中, 表示EHR图的关系生成表示, 表示DDI图的关系生成表示, 是ReLU非线性激活函数,药物特征矩阵 ,邻接矩阵 , ,是单位矩阵,是 的度矩阵, 和 为可学习的权重;
最后,结合两个生成关系表示 和 ,得到最终的药物表示 :;
其中,为可学习参数;
步骤S3,通过步骤S2得到的药物表示和步骤S1得到的患者健康表示点积,从而获取到针对某一患者的健康药物级药物推荐表示;
步骤S4,构建一个患者记忆模块表示存储每个患者的健康表示和药物表示信息,获取患者自身的历史访问药物推荐表示的相似度,再通过全局检索获取患者与其他同病症患者的药物推荐表示的相似度,最后得到访问级的药物组合;
步骤S5,结合步骤S3中的药物推荐表示和步骤S4中的访问级的药物组合,得到最终的药物推荐表示;
步骤S6,构建损失函数对步骤S1‑S5构成的整体药物推荐网络进行训练,包括DDI损失、多标签损失和二元交叉熵损失;
步骤S7,将测试患者的诊断信息和手术信息以及历史诊断信息、历史手术信息和历史药物表示输入到训练好的整体药物推荐网络中,获得预测的药物推荐表示。
2.如权利要求1所述的基于注意力机制和全局检索的药物推荐方法,其特征在于:步骤S11的具体实现方式如下;
定义 为MIMIC‑III数据库中所有患者的电子健康档案,其中N为患者总数,第i个患者 共有 次访问医院的记录,定义诊断集、手术集 以及药物集 ,其
中 分别是所有诊断、手术和药物的数量,那么患者的每次就诊表示为;
对于患者i第t次访问的诊断信息 和手术信息 ,通过向量矩阵点积将相应的信息投影到嵌入空间中:;
;
其中 分别是所有诊断集、手术集的数量;这里得到了诊断信息和手术信息嵌入后的结果 、 , 是诊断信息嵌入矩阵, 是手术信息嵌入矩阵,s表示嵌入空间的维数,表中每一行都是不同信息编码的嵌入向量。
3.如权利要求2所述的基于注意力机制和全局检索的药物推荐方法,其特征在于:利用对齐余弦相似度来获取每个诊断信息 与每个手术信息 之间的关联:
;
;
其中, 表示当前患者一个诊断信息与所有手术信息之间的关联, 和分别表示诊断集和手术集的大小,LN(·)表示层归一化函数, 为手术集权重,是由当前诊断集计算得出的,再通过相同的方式计算得出诊断集权重 :;
;
其中, 表示当前患者一个手术与所有诊断信息之间的关联;
最后,通过残差计算得到更为准确的诊断信息嵌入和手术信息嵌入:;
;
其中, 和 为可训练的参数,表示元素的数乘。
4.如权利要求1所述的基于注意力机制和全局检索的药物推荐方法,其特征在于:步骤S3中,首先通过药物表示 和患者表示 点积计算得到健康药物级的得分,得分再进行残差连接的前馈神经网络 ,得到的结果再通过层归一化LN进一步参数化,得到患者i的健康药物级的药物表示 :;
;
其中, 是sigmoid函数, 为中间变量, 为可学习的参数,t表示第t次访问。
5.如权利要求4所述的基于注意力机制和全局检索的药物推荐方法,其特征在于:步骤S4中,构建一个患者记忆模块来存储所有患者的健康表示信息 和相对应的患者的药物表示信息 ,其中上标表示患者编号,下标表示访问次数;
首先获取当前患者与其他患者的病例相似情况,这里筛选出相似病例的患者,减少信息冗余,采用Cosine相似度计算:;
其中, 表示当前患者与患者k之间病例信息的相似度, 为ReLu函数, ,即不计算自己与自己的相似度, 表示相似度函数;
进一步的,获取到患者i自身历史访问 相似度的药物信息:;
;
;
其中, 表示患者i的第j次访问的健康表示与第t次访问的健康表示之间的相似度, 为上述相似度所生成的药物表示, 为 与 之间的相似度, 表示第i个患者的第j次访问的真实药物表示;
患者i与其他患者 相似度的药物推荐信息的计算结果如下:;
;
;
其中, 表示患者i的第t次访问的健康表示与患者k的第j次访问的健康表示之间的相似度, 为上述相似度所生成的药物表示, 为 与 之间的相似度, 表示第k个患者的第j次访问的真实药物表示;
使用一个sigmoid函数 将两部分结合得到访问级的药物组合:;
其中,表示元素乘积。
6.如权利要求5所述的基于注意力机制和全局检索的药物推荐方法,其特征在于:步骤S5中,将药物推荐表示与访问级的药物组合进行点乘,并使用一个sigmoid函数 进行输出:;
其中 表示元素乘积, 是最终药物推荐组合的概率表示,最后,通过阈值 实现推荐的药物组合,选择大于 的项作为最终药物组合。
7.如权利要求1所述的基于注意力机制和全局检索的药物推荐方法,其特征在于:步骤S6中,基于DDI邻接矩阵 ,DDI损失函数设计为:;
其中,和 分别表示当前患者推荐结果中的第i个药物概率与第j个药物概率, 为药物的总数;
多标签损失 函数和二元交叉熵损失函数 分别为:;
;
其中, 是当前患者真实药物集中的第i个药物,若 ,则说明真实药物集中的第i个药物是真实给患者开出的药物,反之 ,则说明真实药物集中的第i个药物是没有给患者开出的药物;{·}表示只获取满足大括号内表达式的第i个药物所对应的推荐结果的概率 ,{·}表示只获取满足大括号内表达式的第j个药物所对应的推荐结果的概率,上面的损失函数是为一次访问定义的,在训练期间,损失反向传播将在患者水平上通过所有访问的平均损失进行;
最终的损失函数如下:
;
其中,和 为两个超参数。