Ripple Set的波纹传播,知识图谱多跳推理的可解释性?
RippleNet 用知识图谱做推荐时,不显式全图传播,而是以用户历史交互的实体为种子,在 KG 上做多跳扩展,得到若干「波纹集合」(Ripple Set):第 $k$ 跳的 ripple set 为与第 $k-1$ 跳实体通过关系边直接相连的 (头实体, 关系, 尾实体) 三元组集合。这样形成以用户兴趣为圆心、沿 KG 关系向外扩散的多跳邻域,用于生成用户表示。
设用户历史对应实体集合 $\mathcal{V}_u^0$,第 $k$ 跳 ripple set 为 $\mathcal{S}_u^k = {(h, r, t) \mid h \in \mathcal{V}_u^{k-1}, (h,r,t) \in \mathrm{KG}}$。用户在第 $k$ 跳的表示通过对 $\mathcal{S}_u^k$ 中的三元组做注意力加权得到:以候选 item 对应实体为 query,对 $(h,r,t)$ 计算相关性,再聚合 $t$ 的嵌入(或 $h+r$ 的翻译向量)。最终用户表示为多跳表示的加权和或拼接,再与候选 item 嵌入匹配。即「用户 → 历史实体 → 多跳邻居 → 加权聚合 → 用户向量」,形成沿 KG 的波纹式扩散。
路径可解释:预测可追溯到「用户点击了 A → A 与 B 同品牌 → B 与候选 C 同类目」等 KG 路径,便于解释为何推荐 C。多跳:1 跳为直接属性/关系,2~3 跳为间接偏好,跳数可调以平衡语义与噪声。Ripple Set 显式限制每跳的规模,避免全图扩展,计算可控。
| 返回模块 | 返回总览 |