Page 420 - 《软件学报》2026年第3期
P. 420
邹鑫 等: 基于多源信息结构化序列建模的药物推荐方法 1383
3. for t in 1 : V /*循环每次问诊*/
t
t
4. h = ∗ E ∗ ; /*嵌入表征, 公式 (1)*/
∗
[ ( ) ( ) ( )]
t
t
5. P = Ξ C t−1 ⊕Ξ C ⊕Ξ C t ; /*患者健康表征, 公式 (4)*/
m d p
]
[
t
6. ˆ P = F( Q ⊕Q W + P ); /*更新的患者纵向表征, 公式 (7)*/
t
T
t
t
c s 2
( )
7. G ∗ = ˜ A ∗ ReLU ˜ A ∗ E ∗ W ∗ ; /*EHR 和 DDI 图编码, 公式 (15), 公式 (16)*/
]
[ (
)
t
8. ˆ H = G σ D u ·D ; /*图结构引导的知识增强检索, 公式 (18)*/
t
t
T
t
e k v
t
t
t
9. ˆ y = Decoder([ ˆ P ⊕ ˆ H ]); /*公式 (19)*/
10. end for
L overall = L B +αL M +βL C ; /*计算损失*/
11.
12. end for
13. 根据损失优化网络参数 Θ; /*模型训练*/
算法 1 的时间复杂度, 主要在于以下 5 个核心组件的计算成本: 1) EHR 信息编码: 每个患者的 EHR 数据需要
经过诊断、手术和药物信息的嵌入转换, 复杂度为 O(d), 其中 d 为嵌入维度患者的 EHR 数据包含 T 次问诊, 则每
次问诊的编码复杂度为 O(d), 总计为 O(T ·d). 2) 患者纵向表征更新 (RAN 模块): 每次问诊的处理过程需要通过循
环注意力机制更新患者的纵向表征. RAN 模块的计算复杂度与问诊次数 T 和嵌入维度 d 成正比. 由于每次计算中
O(T ·d ). 3) 图对比学习模块: 图对比学习模块包括
2
涉及注意力权重的计算和历史状态的更新, 其时间复杂度为
2
EHR 图和 DDI 图的编码. 假设药物空间的大小为 |M|, 药物的嵌入维度为 d, 则图卷积计算复杂度为 O(|M|·d ) (公
式 (15) 和 (16)). 该复杂度与药物数量和嵌入维度相关, 并且在图卷积计算过程中, 需要进行两层图卷积运算. 此
外, 图对比学习损失的计算 (公式 (17)) 需要对正负样本对进行计算, 计算复杂度为 O(|M| ) (即需要遍历所有药物
2
t D 计算相似度 (公
t
组合). 4) 知识增强检索: 在知识增强检索中, 我们需要基于患者的健康表征 u 和历史药物组合
式 (18)). 历史药物记录的数量为 T , 每次计算的复杂度为 O(T ·d) (通过注意力机制来计算历史药物的加权聚合).
5) 解码器: 解码器 (公式 (19)) 需要将患者的综合表征和结构化嵌入作为输入, 进行全连接操作. 假设解码器的输
2
2
出维度为药物空间大小 |M|, 则计算复杂度为 O(|M|·d). 总体时间复杂度为 O(T ·d +|M|·d +T ·d).
3 实验分析
为了验证本研究所提出算法的有效性, 本文在公开可用的 MIMIC-III 和 MIMIC-IV 两个临床数据集上进行实
验, 并采取通用的评价标准, 以对模型的性能进行量化评估. 以下是具体的实验细节与结果分析.
3.1 实验数据
为了展示本文提出的 SSMD 模型的有效性, 本文在 MIMIC-III [52] 和 MIMIC-IV [53] 这两个公开可用的电子健康
记录数据集上进行了完整实验. 关于所使用数据集的详尽统计数据已在表 1 中提供. 诊断信息和手术序列是通过
ICD-9 (详见 http://www.icd9data.com/) 编码的. 此外, 本文从 Twosides 数据库 [54] 中筛选了排名靠前的 40 类 DDI,
具体数据由 ATC 第 3 级代码报告.
表 1 已处理数据集的统计信息
统计项 MIMIC-III MIMIC-IV
患者数量 6 350 9 036
问诊次数 15 032 20 616
平均/最大问诊次数 2.37/29 2.28/28
诊断空间 1 958 1 892
手术空间 1 430 4 939
药物空间 112 131

