摘要
推荐系统在缓解信息过载方面至关重要。大语言模型(LLMs)虽展现出推动下一代推荐系统的潜力,但仍面临幻觉问题及缺乏最新、领域特定知识的局限性。传统检索增强生成(RAG)方法常引入噪声且忽略结构化关系。为此,本文提出 K-RagRec 框架,通过从知识图谱中检索高质量、最新的结构化信息来增强推荐效果。实验验证了该方法的有效性。
1. 引言
推荐系统广泛应用于在线购物、工作匹配和社交媒体等领域。大语言模型凭借海量数据训练出的广泛知识和卓越的语言理解能力,能够通过细致理解用户画像、物品描述等捕捉用户偏好,成为推荐技术的新范式。然而,基于大语言模型的推荐系统仍面临三大挑战:
- 幻觉问题:模型可能生成虚构的推荐结果(如不存在的电影)。
- 知识过时:模型训练数据截止导致无法推荐最新产品。
- 缺乏领域知识:面向推荐任务的语料库有限,难以满足细致需求。
频繁微调大语言模型虽能缓解上述问题,但计算成本高昂。检索增强生成(RAG)技术通过整合外部知识库补充固有知识,成为一种无需昂贵微调的有效方案。但依赖文档的传统 RAG 会引入噪声且忽略实体间的结构化关系。知识图谱提供的结构化、事实性和可编辑的知识表示,能显著提升推荐性能。
有效检索知识图谱面临挑战:简单检索忽略高阶邻域效应;无差别检索降低效率;序列化文本编码不足以利用结构化信息。因此,探索更具表达力的结构化数据表示方式至关重要。
2. 相关工作
RAG 技术结合了检索系统和语言模型的优势。早期方法从大规模语料库检索片段,但难以准确检索所有相关文本块。近期研究专注于从图中检索结构化知识以增强生成效果。在推荐领域,已有部分研究初步探索 RAG 的应用,但从知识图谱中检索可靠结构化知识的研究仍未得到充分探索。
3. 方法论
3.1 预备知识
- 知识图谱:包含以三元组形式存在的事实知识 (G={(n, e, n') | n, n' ∈ N, e ∈ E})。
- 基于大语言模型的推荐:目标是通过建模用户历史交互记录理解用户偏好,让冻结参数的大语言模型从候选集中选择用户偏好的物品。
3.2 框架概述
K-RagRec 包含五个关键组件:
- 跳域知识子图索引:用于语义索引。
- 流行度选择性检索策略:确定哪些物品需要被检索。
- 知识子图检索:从知识向量数据库中检索特定子图。
- 知识子图重排序:提升检索质量。
- 知识增强推荐:结合检索到的知识子图与原始提示词生成推荐结果。
3.3 用于语义索引的多跳领域知识子图
为捕捉高阶邻域效应,我们提出对跳域知识子图进行语义索引。首先引入预训练语言模型(PLM)捕捉节点和边的语义信息。随后引入图神经网络(GNN)聚合实体邻居信息,将 l 跳表示存储为知识子图表示并存储在知识向量数据库中。
3.4 流行度选择性检索策略
鉴于推荐系统中用户行为遵循幂律分布(二八定律),大多数模型拥有热门物品的丰富知识。我们设计了一种基于物品流行度的选择性检索策略:若物品流行度低于阈值 p,则进行检索;否则不检索。这显著减少了检索时间。
3.5 知识子图检索
给定查询,采用与索引相同的 PLM 确保嵌入空间一致。计算查询表示与知识向量数据库中知识子图表示之间的相似度(如余弦相似度),检索 top-K 个最相似的子图组成集合 G。
3.6 知识子图重排序
为避免信息过载,执行重排序以缩短检索到的知识子图。将推荐提示词作为重排序查询,捕捉其语义信息 P,对 G 中的知识子图进行重排序,得到 top-N 个知识子图集合。
3.7 知识增强推荐
整合另一个 GNN 编码器以增强结构信息的表示学习,避免长上下文输入。引入多层感知机(MLP)投影器将子图的嵌入映射到大语言模型的语义空间。提取的知识子图嵌入作为软提示词附加在大语言模型的输入 token 嵌入之前。
3.8 优化
训练过程视为软提示词调优。不需要对大语言模型进行大规模微调,只需学习 GNN 和投影器的参数,大语言模型参数保持冻结。通过交叉熵损失更新参数。
4. 实验
4.1 实验设置
- 数据集:MovieLens-1M, MovieLens-20M, Amazon Book。使用 Freebase 知识图谱重构三元组。
- 基线模型:包括仅推理方法(KG-Text, KAPING)、提示词调优方法(PT w/ KG-Text, GraphToken w/ RAG, G-retriever)及微调方法(Lora w/ KG-Text)。
- 评估指标:准确率(ACC)和召回率 @k(Recall@k)。
- 参数设置:基于 PyTorch 实现,使用 SentenceBert 编码,GNN 层数根据数据集规模调整,阈值 p=50%,K=3,N=5。
4.2 整体性能对比
在 Llama-2-7b, Llama-3-8b 和 QWEN2-7b 上比较性能。结果显示,K-RagRec 在所有数据集上比次优基线平均提升了 41.6%(Llama-2-7B)至 32%(其他模型)。与 LoRA 微调相比,基于提示词调优的 K-RagRec 实现了接近或更好的性能。
4.3 消融实验
移除框架的任何组件都会导致性能下降。特别是移除 GNN 编码器会导致准确率分别下降 37% 和 45.9%,突显了 GNN 对知识子图结构编码的重要性。
4.4 效率评估
K-RagRec 实现了最佳的计算效率,仅比无检索的直接推理慢约 0.1 秒,验证了流行度选择性检索策略的有效性。
4.5 参数分析
评估了阈值 p、检索子图数量 K 和重排序后子图数量 N 的影响。p=50%, K=3, N=5 为较优配置。
5. 结论
本文提出了 K-RagRec 框架,通过从知识图谱中检索可靠和最新的知识增强大语言模型的推荐能力。通过语义索引、流行度选择性检索策略及图编码,实验证明该方法在多个真实世界数据集上有效。
6. 局限性
- 受 GPU 资源限制,仅在 7b 和 8b 模型上评估,未来计划扩展至更大模型。
- 仅使用 Freebase 作为外部知识图谱,未来计划采用 YAGO、DBpedia 等。
- 选择性检索策略基于流行度,未来将探索更灵活的机制(如强化学习)。

