Page 416 - 《软件学报》2026年第3期
P. 416
邹鑫 等: 基于多源信息结构化序列建模的药物推荐方法 1379
EHR信息编码 患者纵向表征 药物表征
下一状态向量 S t+1
药物记录 m t−1 E m h m t−1 压缩 编码器 输入病人访问嵌入 P t Q 掩码自 注意力 线性映射 多层感知机 输出病人访问嵌入 P t 解码 t 多热 t
输出
药物
向量
向量
K
m
y
V
诊断编码 d t 压缩 编码器 Q K 交叉 注意力 V 当前状态向量 S t 解码器
t
h d
E d
结构化关系表征
拉近 K a:V a Query overall
程序编码 p t E p h p t 压缩 编码器 DDI图G d 推远 EHR图G e 知识增强检索 反向传播
K c:V c
...
K n:V n
图 3 基于多源信息结构化序列建模的药物推荐方法的总体框架
2.1 基本定义
定义 1. 纵向电子健康记录. 纵向电子健康记录是一种详细记录患者医疗历史信息的数据结构, 它以纵向向量
的形式存储了患者的完整病史. 这种数据结构包括了诊断代码、手术代码和药物代码, 这些代码都是以二进制的
]
[ t t t V t |D| t |P| t |M|
形式表示的, 即多热向量. 这些向量可以表示为 d , p ,m , 其中 d ∈ {0,1} , p ∈ {0,1} , m ∈ {0,1} , 跨越不同
t=1
T D、 、
的时间点直到当前时间点 . P M 表示相应的集合.
定义 2. 药物组合推荐. 给定患者的电子健康记录 (EHR) 数据, 包括诊断序列 ⟨ d ,d ,...,d t ⟩ 和手术序列 ⟨p ,
2
1
1
2 t ⟨ 1 2 t−1 ⟩ , 以及药物-药物相互作用 A d , 我们的目标是学习一个药物推
p ,..., p ⟩, 药物序列 m ,m ,...,m (DDI) 邻接矩阵
t
t
d
p
t
ˆ y
t
荐函数 Rec, 根据患者在时间点 的诊断代码 、手术代码 , 产生一个多热输出 .
2.2 EHR 信息编码
在临床诊疗过程中, 医师通常根据患者当前的诊断和手术信息来制定相应的药物治疗方案. 此外, 当患者拥有
过往的医疗记录时, 医师还会综合考虑患者的病史、手术史以及用药史, 以便为患者提供更为个性化的药物治疗
建议. 为了实现这一目标, 可以通过编码这些医疗信息来生成一个密集且高质量的患者健康表征. 本文使用诊断、
手术和药物这 3 个代码序列作为输入, 其中药物代码始终位于其他两个医疗记录之后. 对于仅有单次就诊记录的
患者, 由于缺乏历史医疗信息, 本文采用了填充嵌入的方法来处理药物代码输入. 这种方法旨在捕捉患者健康状况
与药物治疗之间的关联性, 且允许模型处理不同长度的输入序列, 确保模型能够在只有有限医疗记录的情况下也
能为患者提供合理的药物组合方案.
为了有效挖掘纵向 EHR 数据中患者健康信息, 本研究构建了两个嵌入矩阵 E d 和 E p E d ∈ R |D|×dim 和 E p ∈ R |P|×dim
,
dim 代表嵌入空间的维度. 给定一个多热编码的诊断
的每一行分别对应于一个特定诊断或手术的嵌入向量, 其中
|P|
t
t |D| p ∈ {0,1} , 本文通过输入向量与嵌入矩阵的点积操作将相应的诊断和手术代码映射
向量 d ∈ {0,1} 和手术向量
到嵌入空间中, 具体映射过程如下所示:
t t t t
h = d E d , h = p E p (1)
p
d
其中, h 是诊断代码的嵌入向量, h 是手术代码的嵌入向量. 该嵌入方法使得模型能够在嵌入空间中捕获诊断与
t
t
d p
手术之间的语义关联, 进而提高模型对 EHR 数据的挖掘能力. 同样地, 药物输入向量也被映射成相应的嵌入向量
t−1
h t−1 = m E m , 其中 m t−1 表示前一次问诊 t −1 时间点的药物记录向量, 通过这样的映射, 药物信息也能够在统一的
m
嵌入空间中与诊断和手术信息建立起内在联系.
进一步地, 为了充分挖掘 EHR 数据中隐含的细粒度信息, 本文构建了压缩编码器将前期学到的嵌入映射至一

