Global-Recent Semantic Reasoning on Dynamic Text-Attributed Graphs with Large Language Models¶
会议: ICLR 2026
OpenReview: https://openreview.net/forum?id=puocvrFZRl
代码: https://github.com/Nala-YN/DyGRASP
领域: 图学习 / 动态文本属性图 / LLM × GNN
关键词: DyTAG, 动态图, 时序GNN, LLM推理, 隐式/显式推理, 链接预测
一句话总结¶
DyGRASP 用 LLM 的隐式推理抓"近期语义依赖"、用显式推理抓"全局语义演化",再与时序 GNN 融合,在动态文本属性图(DyTAG)上把目的节点检索 Hit@10 最高提升 34%,并将 LLM 推理复杂度从 \(O(|E|\cdot d)\) 降到 \(O(|E|)\)。
研究背景与动机¶
领域现状:现实中的电商、知识图谱、社交网络大量呈现为动态文本属性图(DyTAG)——节点和交互(边)都带文本,且随时间演化,每条交互形如 \(I=(u,r,v,t)\)。但现有方法几乎都针对静态 TAG:纯 GNN 擅长结构却只用 Bag-of-Words/词向量等浅层文本编码,语义理解弱;把 LLM 接入 TAG 的工作(TAPE、SimTeG、GraphGPT 等)又只生成静态嵌入或解释。
现有痛点:把这些方法直接搬到 DyTAG 有两个绕不过去的难点。其一,它们忽略了"近期—全局"两种时间粒度的语义动态——近期依赖("notebook"跟在"逛书店"后更可能指笔记本、跟在"逛电子店"后更可能指电脑)和全局演化(用户兴趣从文学缓慢迁移到科技)。其二,效率灾难:DyTAG 的文本主要挂在边上,而边数比节点数高几个数量级、时间戳成百上千,朴素地为每条交互拼接其历史交互喂给 LLM,token 复杂度高达 \(O(|E|\cdot d)\)(\(d\) 为平均度),完全无法扩展到真实图。
核心矛盾:要同时建模"多粒度时序语义",又要把 LLM 在海量动态边上的推理开销压到可接受。
本文目标:提出一个既能捕捉近期+全局语义、又把 LLM 复杂度降到线性的 DyTAG 推理框架。
核心 idea:用 LLM 的两种推理能力分工——隐式推理(取隐藏层 embedding)配滑动窗口抓近期语义、显式推理(生成文本摘要)配 RNN 式链抓全局语义,再用三层结构与时序 GNN 融合结构信息。
方法详解¶
整体框架¶
DyGRASP(Dynamic Global-Recent Adaptive Semantic Processing)分三步:(a) 隐式推理抽近期时序语义特征 \(\mathbf{F}^{rc}\);(b) 显式推理抽全局时序语义描述 \(D_i\);(c) 通过 Recent/Global/Graph 三个语义层 + Merge 层,把两类语义与时序 GNN 的结构特征逐层融合成节点综合表示,喂给下游任务(目的节点检索、未来链接预测)。
flowchart TB
subgraph A[a 隐式推理 近期语义]
A1[节点v全部交互按时间排序Nv] --> A2[滑动窗口分重叠批次Bi]
A2 --> A3[LLM单次前向取隐藏层<br/>因果序=时间序 防未来泄漏]
A3 --> A4[Mean Pooling → Frc]
end
subgraph B[b 显式推理 全局语义]
B1[Nv按时间戳均分s段Si] --> B2[RNN式链 Di=LLM Di-1,Si]
B2 --> B3[BERT编码 → Fgb]
end
A4 --> C
B3 --> C
subgraph C[c 融合]
C1[Recent Semantic层<br/>Transformer Encoder]
C2[Global Semantic层<br/>Transformer Encoder]
C3[Graph Structure层<br/>时序GNN TGAT/DyGFormer]
C1 & C2 & C3 --> C4[Merge层 MLP → M_L]
end
C4 --> D[下游任务 BCE训练]
关键设计¶
1. 节点中心的隐式推理:借 LLM 因果序对齐时间序,一次前向喂完一个节点的历史。朴素做法是边中心——为每条交互拼接其历史,复杂度 \(O(|E|\cdot d)\)。本文改成节点中心:把节点 \(v\) 的所有交互 \(N_v\) 按时间戳排成一条序列、一次性输入 LLM 取隐藏特征。关键洞察是 LLM 的因果注意力(单向)天然与时间序的单向性一致——序列里靠前的交互看不到靠后的,正好杜绝了未来信息泄漏;于是一次前向就能让所有交互同时获得来自各自历史的近期语义,把复杂度压到 \(O(|E|)\)(附录 C 有证明)。
2. 滑动窗口机制:用重叠批次同时解决上下文长度、算力与长输入退化三个问题。直接喂整条 \(N_v\) 会撞上 LLM 上下文上限、显存和"输入越长性能越差"。于是把 \(N_v\) 切成重叠批次:\(B_i=\{I_k \mid \tfrac{c}{2}i+1\le k\le \tfrac{c}{2}i+c\}\),窗口长 \(c\),每批前 \(c/2\) 条只作为后 \(c/2\) 条的时序上下文。每批用数据集专属 prompt 模板组织后送入 LLM,对每条交互的输出隐藏层做 mean pooling,得到近期语义特征 \(\mathbf{F}^{rc}_i\in\mathbb{R}^{d_{LLM}}\)。重叠保证了批与批之间近期依赖不断裂。
3. 显式推理 + RNN 式推理链:让 LLM 像带记忆一样累积式总结节点的全局演化。近期特征只覆盖局部,全局演化要靠 LLM 的生成能力。把 \(N_v\) 按时间戳均分成 \(s\) 段 \(S_i\),用一条 RNN 式链迭代生成描述:\(D_i=\text{LLM}(D_{i-1}, S_i)\),其中 \(D_0\) 是节点原始文本属性。关键是这个过程是累积的——\(D_{i-1}\) 不是上一段的局部特征,而是到当前段为止整个历史的滚动摘要,LLM 每步把新段 \(S_i\) 并入旧摘要(\(D_2\) 在 \(D_1\) 基础上并入 \(S_2\))。这样 \(D_i\) 就编码了从 \(S_1\) 到 \(S_i\) 的长程语义演化,每条交互只被喂两次,整体仍是 \(O(|E|)\)。
4. 三层语义 + Merge 层:把近期、全局、结构三路特征逐层对齐时间并融合。融合阶段为预测时刻 \(t\) 产出节点表示。Recent Semantic 层对 \(N^t_v\)(\(t\) 之前的交互)的 \(\mathbf{F}^{rc}_i\) 用可学习时间编码器编码时间间隔 \(\Delta t_i=t-t_i\) 并拼接 \(R^{(0)}_i=[P(\mathbf{F}^{rc}_i)\,\|\,T(t-t_i)]\),再过 Transformer Encoder;Global Semantic 层对 BERT 编码的 \(\mathbf{F}^{gb}_i\) 同样拼时间编码、过 Transformer,并用 \(\hat i=\max\{i\mid\hat t_i<t\}\) 截断防泄漏;Graph 层用 \(S^{(l)}=\text{MergeTGNN}(M^{(l-1)},\text{MPG}(v,t))\) 兼容任意消息传递时序 GNN(实现用 TGAT/DyGFormer)。三路经读出后用 MLP 融合:\(M^{(l)}=\text{Merge\_Layer}(\mathcal{R}_r(\{R^{(l)}_i\}),\mathcal{R}_g(\{G^{(l)}_i\}),S^{(l)})\),其中近期取 mean pooling、全局取链末特征 \(G^{(l)}_{\hat i}\)(因 RNN 链与注意力已把历史汇聚到末端)。最终 \(M^{(L)}\) 经 MLP + BCE 损失端到端训练。
实验关键数据¶
主实验表格(目的节点检索 Hit@10 %,以 DyGFormer 为底座)¶
| 数据集 | DyGFormer | DyGRASP(DyGFormer) | 提升 | 设定 |
|---|---|---|---|---|
| GDELT | 91.64 | 93.24 | +1.60 | 转导 |
| Enron | 92.04 | 99.40 | +7.36 | 转导 |
| Googlemap | 51.32 | 85.88 | +34.56 | 转导 |
| Stack_elec | 94.39 | 99.59 | +5.20 | 转导 |
| Googlemap | 43.84 | 81.14 | +37.30 | 归纳 |
| Stack_elec | 56.23 | 99.74 | +43.51 | 归纳 |
以 TGAT 为底座时归纳设定下 Stack_elec 也有 +45.48 的提升;未来链接预测(AP/AUC)同样全面领先。文本越丰富的数据集提升越大,凸显 LLM 的作用。
消融实验表格(Hit@10 %,Enron / Googlemap_CT 转导)¶
| 配置 | Enron | Googlemap_CT |
|---|---|---|
| Ours(完整) | 99.40 | 87.28 |
| −Global | 94.89 | 82.30 |
| −Recent | 97.31 | 81.73 |
| −Recent & −Global | 92.04 | 51.32 |
关键发现¶
- 近期与全局模块互补:单独加任一模块都涨,两个一起加超过任一单独,证实"近期—全局"语义互补。
- 跨 LLM 强泛化:在 Qwen2.5、Mistral、Llama-3.1 三族 LLM 上表现稳定、波动极小(如 Enron 上分别 99.05/97.98/99.40)。
- 跨 GNN 泛化:换 TGAT 或 DyGFormer 底座都有显著增益,模块化设计兼容任意消息传递时序 GNN。
- 效率:理论证明复杂度从 \(O(|E|\cdot d)\) 降到 \(O(|E|)\),使方法能扩展到百万级边的真实 DyTAG(JODIE/DyRep 在大图上直接 OOM)。
亮点与洞察¶
- "因果序 = 时间序"这一观察很巧:直接复用 LLM 的单向注意力来防未来泄漏,省掉了额外的掩码工程,还顺带把节点的全部历史压成一次前向。
- 隐式/显式推理分工契合两种语义粒度:隐藏 embedding 适合细粒度近期依赖,生成式摘要适合粗粒度全局演化,分工干净。
- RNN 式累积摘要链把"长上下文"问题转化为"短上下文 + 状态传递",既省 token 又保留长程记忆。
局限与展望¶
- 全局推理链是串行的(\(D_i\) 依赖 \(D_{i-1}\)),对超长历史节点训练/推理可能成为时延瓶颈。
- 近期与全局的 token 预算由窗口长 \(c\)、段数 \(s\) 等超参控制,需逐数据集调;prompt 模板也是数据集专属,迁移到新域需人工设计。
- 全局摘要由 LLM 生成,存在幻觉/语义漂移风险,文中未深入量化生成描述的事实一致性。
- 评测集中在 DTGB 的 4 个数据集与检索/链接预测两类任务,节点分类等任务验证较少。
相关工作与启发¶
- LLM for TAG(TAPE/SimTeG/GraphGPT/ENGINE):把 LLM 文本理解接入静态图,本文指出其无法建模时序语义关系。
- 时序 GNN(TGAT/CAWN/DyRep/DyGFormer/GraphMixer):擅长结构演化但读不懂文本语义,本文将其作为可插拔的结构底座。
- LLM for DyTAG(与本文并行的 LKD4DyTAG/CROSS/GAD,及基准 DTGB):均未解决 LLM 在动态边上的推理效率,也未显式区分"近期—全局"多粒度语义——这正是 DyGRASP 的差异化切入点。
- 启发:当"长序列 + 海量边 + 文本"三者叠加时,与其拼长上下文,不如让 LLM 做"节点中心一次性隐式编码 + 累积式显式摘要",把复杂度从乘性降到加性。
评分¶
- 新颖性: ⭐⭐⭐⭐ — "因果序=时间序"的隐式推理 + RNN 式累积全局摘要的组合在 DyTAG 上较新颖,且把效率从 \(O(|E|d)\) 降到 \(O(|E|)\) 有理论支撑。
- 实验充分度: ⭐⭐⭐⭐ — 4 数据集 × 2 任务 × 2 设定,跨 3 族 LLM、2 种 GNN 的泛化与消融较完整;任务覆盖面与节点分类验证略欠。
- 写作质量: ⭐⭐⭐⭐ — 动机(近期/全局例子)讲得清楚,方法分层叙述、图示到位。
- 价值: ⭐⭐⭐⭐ — DyTAG 是工业界常见场景,最高 34%(Hit@10)/45%(归纳)的提升与线性复杂度有较强实用价值,代码开源。