KGQA:子图RAG检索到的子图噪声过多,采用边级重评分策略“Q-KGR”,以及参数化注入“Knowformer”能有效过滤噪声并提升推理
- 论文大纲
- 1. Why —— 研究动机与现实问题
- 2. What —— 核心发现或论点
- 3. How —— 研究方法的展开
- 3.1 前人研究的局限性
- 3.2 创新方法/视角
- 3.3 关键数据支持
- 3.4 可能的反驳及应对
- 4. How good —— 理论贡献与实践意义
- 数据分析
- 第一步:收集所需数据
- 第二步:处理与挖掘数据,寻找规律
- 第三步:探索数据维度间的相关性
- 第四步:建立数学模型
- 解法拆解
- (A)任务和问题背景
- 子解法1:**基于问题的知识图谱边重打分 (Question-guided Edge Re-scoring)**
- 子解法2:**重打分子图的图表示学习 (Re-scored Graph Modeling)**
- 子解法3:**在大模型中进行参数化知识注入 (Knowformer)**
- 三、子解法之间的逻辑链关系(决策树/链条示意)
- 提问
论文:Question-guided Knowledge Graph Re-scoring and Injection for Knowledge Graph Question Answering
代码:https://github.com/EchoDreamer/Q-KGR
论文大纲
├── 1 引言【说明研究背景与动机】
│ ├── 知识图谱问答(KGQA)【背景】
│ │ ├── 能利用结构化知识回答自然语言问题【特性】
│ │ └── 面临复杂推理与准确事实获取的需求【挑战】
│ ├── 大语言模型(LLM)在复杂推理中表现出色【现状】
│ └── 检索到的子图常包含噪音信息【问题】
│ ├── 大量无关节点和边导致推理分散【问题来源】
│ └── 需要一种“以问题为导向”的过滤机制【需求】├── 2 相关研究【提出已有方法与局限】
│ ├── 基于检索子图的KGQA方法【研究方向】
│ │ ├── 通过启发式检索得到主题实体及邻域【一般做法】
│ │ └── 面临噪音边或节点导致的干扰【缺陷】
│ ├── 基于节点相关度的筛选方法【已有尝试】
│ │ └── 仅用节点得分无法充分刻画三元组含义【不足】
│ ├── 将KG与LLM融合的工作【研究热点】
│ │ ├── 直接将子图展开成文本提示(Prompt)【方式】
│ │ └── 在LLM参数空间中注入或编辑知识【方向】
│ └── 本文定位【研究空白】
│ ├── 需要更精细的边级别重评分【差异】
│ └── 需要参数高效且分层次地注入知识【目标】├── 3 方法【核心技术方案】
│ ├── 3.1 问题引导的知识图谱重评分(Q-KGR)【模块】
│ │ ├── 计算边与问题的语义相似度【主要思路】
│ │ │ └── 结合三元组(subject, relation, object)与问题表示【【XXX】相似度计算】
│ │ ├── 采用Gumbel-softmax或Gumbel-max生成边相关性【技术细节】
│ │ └── 通过端到端训练,过滤无关边【效果】
│ ├── 3.2 重评分后的知识图谱编码【图神经网络】
│ │ ├── 利用改进的GAT对重评分子图做消息传递【【XXX】信息聚合】
│ │ ├── 引入“全局节点”来汇总全局知识【设计】
│ │ └── 产生多层图表示以供后续注入【结果】
│ ├── 3.3 参数化的知识注入(Knowformer)【关键创新】
│ │ ├── 修改Transformer的FFN结构【【XXX】结构改造】
│ │ │ ├── 在value, key矩阵中引入图表示向量【对齐】
│ │ │ └── 使用线性映射将图表示投影到FFN权重空间【映射】
│ │ ├── 层间对应:在Transformer最后M层注入图信息【策略】
│ │ └── 支持与LoRA结合,实现参数高效更新【优势】
│ └── 3.4 综合流程【流程概括】
│ ├── 检索子图 → Q-KGR重打分 → GNN编码 → Knowformer注入【主步骤】
│ └── 最终在LLM中完成答案预测【目标达成】├── 4 实验【验证方法有效性】
│ ├── 数据集与设置【实验环境】
│ │ ├── 多个KGQA基准(OBQA, ARC, RiddleSense, PIQA)【范围】
│ │ └── 使用ConceptNet作为外部知识图谱【知识源】
│ ├── 对比方法【比较对象】
│ │ ├── LLM-only / Full Fine-tuning / Prompt Tuning / LoRA 等【通用基线】
│ │ └── KAPING, GNP等融合图信息的方法【同类方法】
│ ├── 整体结果【实证证明】
│ │ ├── 在各数据集均取得最佳或次佳结果【表现】
│ │ └── 尤其在PIQA提升显著【亮点】
│ ├── 消融实验【组件重要性】
│ │ ├── 移除Q-KGR导致显著性能下降【边重评分的重要性】
│ │ ├── 移除全局节点或替换边评分为节点评分效果变差【对比】
│ │ └── 软注入替换Knowformer也不如本方法【参数注入方式】
│ └── 深度分析【机制探讨】
│ ├── 逐层可视化:图表示向量与FFN权重逐渐融合【观察】
│ └── 噪音路径添加测试:Q-KGR能更好地抗干扰【验证】├── 5 讨论与局限【反思与未来工作】
│ ├── 符号级推理仍是开放问题【不足】
│ ├── 只在较少层中注入单个全局向量,是否能覆盖更多细节【疑问】
│ ├── 人类偏好对齐与RAG系统结合的研究尚待深入【展望】
│ └── 知识编辑与可控注入是可持续发展的方向【未来工作】└── 6 结论【总结】├── Q-KGR方法有效去噪并突出相关知识【核心贡献】├── Knowformer层次化注入结构化知识到LLM【方法亮点】└── 对多种KGQA任务的实验证明其实用价值【价值与意义】
核心方法:
【核心方法:Q-KGR + Knowformer】┃┃【接收输入】▼
┌─▶[节点1] 问题及候选答案(Question & Answers)
│ └─说明:
│ 包含自然语言提问和多个备选答案。
│ 用于后续检索知识图谱并做推理。
│
│
└─▶[节点2] 大规模知识图谱(KG)└─说明:一般包含大量三元组 (subject, relation, object),是事实性、常识性信息的重要来源。▼┌────────────┴────────────┐│ │【检索子图】 │ │ 【与问题比对】│ │▼ ▼[节点3] 子图检索(Subgraph Retrieval) [节点4] 边重评分(Edge Re-scoring)【XXX: 使用Topic Entity匹配→找到候选子图】 【XXX: 计算“题目-三元组”语义相似度→过滤噪声边】└─说明: └─说明:1) 利用“题目和候选答案”中提及的实体(Topic Entities), 1) 首先从子图中枚举三元组 (subject, relation, object),在原始知识图谱中找到这些实体的少数跳邻域; 并与问题的语义向量进行相似度计算;2) 得到一个包含节点/边的初步子图。 2) 生成边相关性得分;再根据阈值或软采样策略,保留高相关性边,过滤噪声边。┃【把重评分后的子图交给GNN】▼[节点5] GNN建模(Re-scored Graph Modeling)【XXX: 在保留边的图上迭代消息传播→学习图表示】└─说明:1) 采用扩展的Graph Attention Network (GAT),在迭代聚合邻居信息时,对每条边乘以重评分;2) 通过多层传播得到节点向量和全局向量,用于表示图中的结构化知识;3) 输出若干层的图表示(Graph Latent Representations)。┃【对齐到LLM内部参数】▼[节点6] Knowformer注入(Parameterized Knowledge Injection)【XXX: 映射GNN的图表示→LLM的FFN权重空间】└─说明:1) 在大语言模型(LLM)靠近输出端的M层,替换为“Knowformer”层;2) 每一层中,将GNN输出的图表示先经线性投影 (Projectors),得到“知识向量”;3) 将“知识向量”注入到Transformer的Feed-Forward Network (FFN)中,与原本的key、value矩阵结合,实现参数级别的知识融合;4) 该方式与LoRA方法兼容,可高效地在有限参数更新下完成“注入外部知识”+“适配任务”两种需求。┃【产生最终答案】▼[节点7] 输出:答案分布 / 选择题预测【XXX: LLM利用注入的知识→进行推理并输出答案】└─说明:1) LLM基于融合进FFN的图知识,产生更准确的因果/常识推理;2) 最终输出多选题的置信分布,并选定最优答案。
1. Why —— 研究动机与现实问题
- 现实需求:
- 随着知识图谱在问答系统、推荐系统、信息抽取等领域的广泛应用,人们对高精度、可解释的知识获取与推理需求不断提升。
- 大模型(LLM)在复杂推理上表现出色,但仅靠语言模型内部知识,常难以保证事实性和精准度。
- 存在的挑战:
- 直接检索到的知识图谱子图常包含大量与问题无关的边或节点,干扰模型的推理过程,影响问答准确性。
- 现有方法多基于启发式子图检索或单纯节点级别相关度筛选,难以细粒度地过滤噪音三元组。
- 子图规模越大,“噪声边”越多,LLM就越容易被干扰,从而推断出对如何“定向去除噪声”的需求。
- LLM需要的是“精准而结构化的知识注入”,而不仅是大而全的噪声信息,当子图中包含较多无关三元组时,LLM反而更可能“跑偏”。
由此可见,必须要有一种能在检索阶段针对性去噪,并将有效知识与LLM高效融合的技术,以满足实际应用中的精确推理需求。
2. What —— 核心发现或论点
- 主要论点:
- 提出“问题引导的知识图谱边重评分(Q-KGR)”方法,可根据具体自然语言问题对知识图谱子图的边(关系三元组)进行动态打分,显著过滤无关或噪音路径。
- 设计“Knowformer”模块,实现对重评分后图神经网络编码的结构化知识进行参数化注入,与大模型的推理能力互补,从而在多种KGQA任务上取得领先表现。
问题引导的知识图谱再评分(Q-KGR)的性质
- 性质:
-
以“边”而非“节点”为核心过滤单位,能更细粒度地消除无关路径;
作者观察到,节点打分有时无法精确反映具体关系(边)是否真正与问题相关,因而可能留下多余的边或过滤掉需要的边。
-
动态关联问题语义,对每条边与问题的语义相似度进行评分;
-
根据评分结果对子图进行修正,对高分边保留、低分边弱化或过滤,以减少噪音。
-
- 导致这种性质的原因:
- 知识图谱中的一条边(主语—关系—宾语)往往比单纯过滤节点包含更丰富的语义线索(主语、谓词、宾语三重信息)。
- 如果只基于节点重要性,可能无法准确识别“哪条边”才是与问题最直接相关的路径。一些无关关系会在模型推理中形成干扰。
- 将问题语义(即问题本身的上下文信息)与每条边进行对齐,可以实现更“针对问题需求”的路径筛选。
参数化知识注入(Knowformer)的性质
- 性质:
- 以轻量化方式(如 LoRA)向大语言模型的 Feed-Forward Network(FFN)层注入图谱信息;
- 分层注入,多层次对齐语言表示与图谱表示;
- 训练后,可在参数空间中“记住”外部的事实性知识,协助回答问题。
- 导致这种性质的原因:
- 大模型在隐层存储了大量语义表征,但其固有知识往往不足以处理所有细粒度事实。
- 通过将图谱表示映射到模型参数空间(尤其是 FFN 关键的“键—值”矩阵),可以让 LLM 在推理时直接调用这些外部知识。
- 轻量化方法(LoRA 等)只需要微调少部分参数就能完成对话、问答等特定任务的知识对齐,不必大规模地修改原始模型。
作者的假设
-
假设一:通过“问题引导的边级打分”可以更好地过滤无关知识
- 具体猜测:若计算
(question, edge三元组)
的语义相似度,只保留相似度高的边,就可有效去除噪声。同时保证必要的路径不被误删。 - 这是作者针对噪声子图提出的关键猜想:与问题语义越匹配的边,越有可能在推理中真正发挥作用。
- 具体猜测:若计算
-
假设二:将图表示“注入”LLM的参数空间,比简单文本拼接更直接、更有效
- 具体猜测:对大语言模型而言,若能在Feed Forward Network(FFN)层中用线性投影将GNN产出的图向量对齐到FFN的权重空间,模型就能更好地整合外部知识。
- 这一假设背后带有作者对LLM“参数化存储”机制的理解:LLM在FFN权重内存储大量知识,通过“Knowformer”将外部图表示映射到FFN权重内部,可让LLM更自然地利用外部信息。
-
假设三:低参数更新(如LoRA)+ 知识注入,可兼得“高效训练”和“保留LLM原本能力”
- 作者认为:用LoRA只更新少量低秩矩阵,加上注入的知识投影层,两方面结合能获得更好的任务适配性,而不会显著破坏LLM已有的通用语言能力。
关键贡献:
- 细粒度去噪: 以边为级别的相关度判定,相比于以往只关注节点的方式更具精确性。
- 分层次注入: 通过将图表示映射到Transformer最后数层的FFN参数空间,层次化地将外部知识潜移默化地融合到LLM推理过程中。
3. How —— 研究方法的展开
从三个层次(及一个可能的反驳应对)阐述论文的具体思路。
3.1 前人研究的局限性
- 噪音难以过滤:
- 大部分检索方式采用节点层级评分,容易漏掉在节点上不明显但实为无关的关系路径。
- 知识注入方式粗放:
- 直接将知识文本当做Prompt,或在Embedding层级简单拼接,往往不能充分激发LLM深层次推理能力。
- 对LLM的参数更新缺乏针对性:
- 全量微调成本高,且容易遗忘或干扰模型已有能力,无法灵活地只增强部分知识。
3.2 创新方法/视角
论文的主要创新点体现在两个方面:
-
问题驱动的边级过滤(Q-KGR)
- 相较于以往只关注节点重要性的方案,这种方法直接针对“边”进行再评分,使得模型对“路径”层面的噪音信息过滤更加彻底。
- 通过软/硬标签的方式,对每一条边进行基于问题的语义打分,能根据问题语义快速删除或弱化干扰路径,保留最核心的信息通道。
-
参数化知识注入(Knowformer)
- 将外部图谱信息映射到 LLM FFN 中的键—值矩阵空间,通过少量参数修改(例如配合 LoRA)实现“知识对齐”与“知识注入”的二合一。
- 多层次注入:在模型后几层中持续对齐图谱表示与语言表示,保证大语言模型能更深地“记住”外部知识。
- 这种做法可以在不大规模改动原模型的前提下,把复杂的结构化知识整合进来,提升推理与问答的准确性。
简而言之,论文的思路可以分为四步:
- 检索子图:对问题及候选答案中的实体,检索知识图谱,获取它们之间若干跳的关联节点与边,得到初步子图。
- 再评分(Q-KGR):对子图中每条边(包括主语、关系、宾语三元组)和问题计算语义相似度,给出一个相关度打分。打分越低,越可能是噪音边;越高,越可能是关键边。
- 图表示(GNN 或 GAT):基于再评分后的边,计算节点(以及全局节点)表征,得到最终的图表示。
- 知识注入(Knowformer):把图表示投影进大语言模型的 FFN 层,让外部知识在模型参数中“生根”。这样模型在回答最终问题时,可以自然而然地调动这部分知识来推理。
3.3 关键数据支持
- 多数据集验证:
- OBQA、RiddleSense、ARC、PIQA等公共KGQA或常识推理数据集,对比基线包括仅使用LLM、Prompt Tuning、KAPING、GNP等。
- 在准确率等指标上均获得明显提升,尤其在噪音较多或推理链更复杂的数据集中表现尤为突出。
- 消融实验:
- 移除Q-KGR造成性能大幅下降,说明边重评分对于去噪与保留关键事实作用显著。
- 若仅将图表示当作软Prompt(不做参数注入),效果不及Knowformer的分层融合。
3.4 可能的反驳及应对
- 反驳点: “仅利用少量边评分或只对全局节点编码,是否会导致对复杂知识的欠拟合?”
- 应对:
- 边级别打分已覆盖三元组中关系的最小单元,可以灵活识别多样的噪音路径。
- 全局节点并非唯一信息来源;多层GAT会逐渐融合邻域上下文,且在Knowformer层做深度匹配。
- 应对:
- 反驳点: “对LLM做参数注入,是否会损害原模型熟悉的语言知识或推理模式?”
- 应对:
- 采用LoRA等低秩更新方式,保留主干参数不变,保证原模型能力,注入知识有较好可控性。
- 应对:
4. How good —— 理论贡献与实践意义
- 理论贡献:
- 提出了一种细粒度(基于边)且面向特定问题的子图筛选机制,丰富了知识图谱问答中“检索-筛选-推理”一体化的研究思路。
- 给出了将结构化知识映射到语言模型参数空间的通用范式,能为后续研究在因果分析、可控知识编辑等领域提供新的方向。
- 实践意义:
- 适用于各类需要结合外部结构化知识的语言模型应用场景,如对话式问答、医学诊断问答、法律咨询等,有助于进一步提升问答的准确性和可靠性。
- 在低资源或计算受限环境中,通过边级别去噪与LoRA式注入,可以节省运算量,提高模型部署与迭代的效率。
数据分析
第一步:收集所需数据
目标:获取与研究问题相关的所有必要数据,并进行量化说明。
在该论文中,作者主要关注“知识图谱问答(KGQA)”任务,为验证所提方法的有效性,选用了四个常见的QA数据集:
-
OpenBookQA(OBQA)
- 约 5,957 个训练样本,约 500 个验证样本,500 个测试样本。
- 题目多为科学常识性问题。
-
ARC(AI2 Reasoning Challenge)
- Easy/Challenge两个部分,整体约 11,000+ 训练样本,近 2,992 验证样本,挑战部分约 7,700+ 测试样本(注:具体使用可能因版本不同略有差异)。
- 题目大多来自小学及中学科学考试。
-
RiddleSense
- 约 3,500+ 训练样本,500 验证样本,500 测试样本。
- 题目形式多为“谜语”式,考察语言理解和常识推理。
-
PIQA(Physical Interaction QA)
- 约 16,000 训练样本,1,800+ 验证样本,3,000 测试样本。
- 题目主要考查对物理世界常识的理解。
此外,为构建外部知识源,该论文使用了ConceptNet知识图谱。它覆盖了数十万至上百万的概念节点及关系,可为QA提供额外的事实性、常识性知识。
数据全面性和准确性:
- 这四个数据集各具代表性,覆盖常识问答、科学推理、谜语等多种类型,保证了研究的广度。
- ConceptNet 的高覆盖度保证了外部结构化知识的多样性与可信度。
第二步:处理与挖掘数据,寻找规律
目标:通过数据预处理与统计分析,发现潜在模式并为后续模型做准备。
- 数据清洗与预处理:
- 对于QA数据,作者将“问题-候选答案”统一成多选格式,并根据需要划分训练、验证与测试集。
- 对知识图谱ConceptNet进行实体标准化,例如对“bank(河岸)”与“bank(银行)”在图谱中的概念做区分,避免歧义。
- 子图检索与去噪:
- 论文基于“问题+候选答案”的实体(topic entities)在知识图谱中执行启发式检索,得到 k-hop 范围内的子图。
- 初步检索得到的子图中往往存在大量无关节点或边,需要后续的**重评分(Re-scoring)**来筛选。
- 数据分析与可视化:
- 作者统计了子图规模、节点类型及关系分布,发现常有噪音路径(与问题无直接关联却被检索进来的三元组)。
- 这为后续的Q-KGR(Question-guided Knowledge Graph Re-scoring)提供了设计动机:不能只简单看“节点相关度”,而应看“边/三元组与问题”的相关性。
第三步:探索数据维度间的相关性
目标:分析“问题-答案-知识图谱三元组”之间的关系,推断并排除不相关路径。
-
已知数据:
- 来自各QA数据集的问题文本及候选答案(自然语言)。
- 在ConceptNet中检索到的子图,包括节点(实体概念)和边(关系三元组)。
-
未知或难直接获取的结论:
- 哪些边(关系)真正与当前问题语义相关,而哪些只是表面关联的噪音路径。
-
关键方法:Q-KGR (Question-guided Knowledge Graph Re-scoring)
- 将“问题+三元组”文本对,输入一个预训练语言模型或双塔结构,计算语义相似度。
- 根据相似度为每条边打分,并用Gumbel-softmax等技术将评分转为软/硬标签,最终保留最相关的边。
- 这样就能从噪声中“筛”出真正为推理所需的关系,实现从已知的检索子图,推断哪些是可用、哪些需要舍弃。
类似于天文学家通过恒星亮度的变化去推断行星存在:
在本论文中,作者“通过三元组与问题间的相似度变化来推断三元组的重要性”,有效排除了大量无关关系,从而保留更清晰、更精准的知识结构。
第四步:建立数学模型
目标:基于前述数据分析与去噪结果,构建能解释和预测答案的模型框架。
-
模型构建(Knowformer + LLM):
- GNN编码子图: 对重评分之后的子图,作者采用改进的GAT(Graph Attention Network),引入全局节点汇总整体信息,输出多层图向量表示。
- Knowformer注入: 论文在大语言模型(如FLAN-T5或LLaMA)的后若干层,将图表示映射到Transformer FFN的权重空间,与原有参数并行或低秩相加(LoRA机制)。
- 多轮迭代: 前向传播中,模型对输入问题进行自注意力计算,同时从图表示中获得“结构化事实”信息,从而更准确地预测正确答案。
-
模型验证:
- 作者在OBQA、ARC、RiddleSense、PIQA等数据上进行了实验。
- 指标包括准确率、推理可解释性等,结果显示新方法相比基线有显著提升。
- 特别是在带有大量噪音或推理链复杂的场景下,Q-KGR的去噪能力和Knowformer的知识注入机制发挥了更大作用。
案例:类似牛顿第二定律 F = ma 的效果
- 在物理力学中,一旦建立一个简单可靠的数学模型,人们就可以“免去反复实验”,直接进行预测。
- 本论文中,通过将“问题-子图-语言模型”形成一体化模型,能在测试阶段快速给出更准确、更有依据的回答,提升问答效率和质量。
该论文通过对数据进行四个阶段的归纳推理:
- 收集多域QA数据与知识图谱(确保数据的全面和准确)。
- 对子图数据进行清洗和分析,识别潜在噪音问题(边筛选),为后续推理奠定基础。
- 通过Q-KGR探索三元组与问题文本间的相关性,有效去除无关路径。
- 最终结合Knowformer与LLM建立一套可解释、性能优异的问答模型。
价值与启示:
- 在KGQA任务中,引入“问题引导的”数据筛选与“分层次知识注入”思路,不仅能解释现象,也能在后续应用中提供更强的预测和推理能力。
- 这套方法在面对其他存在结构化外部知识、且噪音较多的场景(如法律、医学、金融等专业领域)同样具有启发意义,可被广泛迁移和复用。
解法拆解
(A)任务和问题背景
任务:给定一个自然语言问题(以及候选答案),需要在大型知识图谱(Knowledge Graph)中检索到相关子图,然后进行推理,预测正确答案。
- 难点:检索到的子图往往含有大量无关或噪声节点/边,这些噪声会干扰模型推理;此外,大模型本身具有一定“语言理解和推理”能力,但有时缺乏足够的事实知识,需要进一步注入外部结构化知识以提升准确率。
方法整体概括:
- Question-guided Knowledge Graph Re-scoring (Q-KGR):针对问题(g)及其候选答案中出现的“话题实体(entities)”,先从大规模知识图谱中检索出若干节点与边(称为子图)。但这个子图里包含可能无关的路径或实体。为了滤除噪声,论文提出根据问题句子与知识三元组(主语, 谓语, 宾语)的相似度,给每条边(或三元组)打分,从而重新“筛选/重加权”子图。
- Re-scored Knowledge Graph Modeling:对上述“重打分后的子图”做图表示学习,使用了扩展的图注意力网络(GAT),并在图中增加了一个“全局节点(global node)”以汇聚全局信息。
- Knowformer(知识注入):在语言大模型(LLM)的若干层(靠近输出层的 M 层)中,将图表示学习到的知识表示对齐并“注入”到大模型的参数空间,以帮助其进行更精准的事实推理。这里的注入是通过“参数高效”的方式(结合 LoRA)实现的。
与同类算法相比的主要区别:
- 很多原有方法(例如将检索到的知识图谱简单拼成文本 Prompt、或仅用节点相关度过滤)容易在存在大量噪声信息的场景下效果下降。
- 本文方法更加细化——用边级别的相关度打分(
edge re-scoring
)而不是简单基于节点过滤,以更精细地剔除无关边、无关路径。 - 在“注入”方面,Knowformer 不是简单地在输入侧做拼接(soft prompts)或在嵌入层加知识,而是把图表示映射到大模型的“FFN 参数空间”里,逐层地融合,从而更好地对齐大模型中隐式参数化的知识。
我们可以把该论文的方法视作由三个子解法(或三个主要模块)构成,每个子解法都针对某个“特征需求”提出解决方案。
子解法1:基于问题的知识图谱边重打分 (Question-guided Edge Re-scoring)
-
对应特征:在传统检索到的子图中,大量三元组(主语-谓语-宾语)其实与当前问题无关,尤其当原始检索为“k跳(k-hop)邻居”时可能携带大量噪声。本子解法需要对每条边进行“相关度打分”,以便后续能够剔除/降低不相关路径的影响。
-
做法:
-
将知识图谱检索得到的子图记为 { ( s , r , o ) } \{(s, r, o)\} {(s,r,o)},其中 (s, o) 为节点实体,(r) 为关系类型(谓语)。
-
使用(冻住的)预训练语言模型(PLM)将 ((s, o))分别编码成向量 e s \mathbf{e}_s es 与 e o \mathbf{e}_o eo,同时将问题 (q) 编码成 e q \mathbf{e}_q eq。
-
用一个双线性(bilinear)函数或其他可学习的打分函数,计算 α ∈ [ 0 , 1 ] \alpha \in [0,1] α∈[0,1]——表示问题与三元组 ((s,r,o)) 的关联程度。也可以用 Gumbel-softmax 等方式输出一个“软分数”以区分“相关”与“不相关”。公式示例:
α = Normalize ( B i l i n e a r ( e s , e o , e q ) ) \alpha = \text{Normalize}\Bigl(\mathrm{Bilinear}(\mathbf{e}_s,\mathbf{e}_o,\mathbf{e}_q)\Bigr) α=Normalize(Bilinear(es,eo,eq))
-
将该得分作为后续图建模的边权重(或用来选择是否保留该边)。
-
-
之所以采用该子解法,是因为:
- 仅仅看节点相似度会遗漏很多“中间关系”是否与问题真正相关;边(三元组)蕴含了更多语义信息(主语、谓语、宾语)。
- 基于问题对所有三元组进行打分,可更精细地把噪声路径剔除或者削弱对模型的影响。
子解法2:重打分子图的图表示学习 (Re-scored Graph Modeling)
-
对应特征:即使为每条边打了分,也依旧需要把图结构整体编码,产生可以“供大模型融合”的图向量表征;另外,要能在图内整合“全局信息”和“局部信息”。
-
做法:
-
在新的子图(带边权 α \alpha α)基础上,引入了一个“全局节点” ( v g ) (v_g) (vg),并让它连接到所有题目中的“话题实体节点”。这样能够在传播时捕捉全局信息,而不只是局部邻居。
-
使用扩展版 GAT(图注意力网络)来迭代更新节点向量:
h v ( l + 1 ) = f ( h v ( l ) , { h u ( l ) , α u → v ∣ u ∈ N ( v ) } ) \mathbf{h}^{(l+1)}_v = f\Bigl(\mathbf{h}^{(l)}_v,\{\mathbf{h}^{(l)}_u,\alpha_{u\to v}\mid u\in N(v)\}\Bigr) hv(l+1)=f(hv(l),{hu(l),αu→v∣u∈N(v)})
其中 α u → v \alpha_{u\to v} αu→v 是边重打分之后的注意力系数,(N(v)) 为节点 (v) 的邻居,(f) 常用多层感知器(MLP)等。
-
经过 (L) 层 GAT 后,取各节点表示 h v ( L ) \mathbf{h}^{(L)}_v hv(L)。对于最后一层(或倒数几层),把“全局节点”的表示(以及其它相关节点表示)提取出来,作为图的结构化知识表示。
-
-
之所以采用该子解法,是因为:
- 仅有重打分的系数还不够,需要在图结构中多跳传播、聚合信息(基于注意力可抑制噪声边、强调高相关边),才能获得更丰富的图表示。
- 增加一个全局节点有助于在模型中“整合所有话题实体”的上下文信息,以免仅仅局限于局部邻域信息。
子解法3:在大模型中进行参数化知识注入 (Knowformer)
-
对应特征:语言大模型(LLM)自带的推理和语言能力可能不足以精准回答(尤其是常识、事实性知识),需要将外部结构化知识注入到其参数空间,且要在训练时效率较高、效果稳健。
-
做法:
-
在大模型中选取靠近输出的 (M) 层,把原本的“自注意力 + FFN (Feed Forward Network)”替换成“自注意力 + Knowformer FFN”。
-
在图表示学习得到的结构化知识向量 h graph \mathbf{h}_{\text{graph}} hgraph 的基础上,做线性投影 o = W k h graph , d = W v h graph \mathbf{o} = W_{\text{k}}\mathbf{h}_{\text{graph}},\; \mathbf{d} = W_{\text{v}}\mathbf{h}_{\text{graph}} o=Wkhgraph,d=Wvhgraph,然后把它融合到 FFN 的参数:
FFN Knowformer ( x ) = ( x [ k e y : o ] ) [ v a l u e : d ] \text{FFN}_{\text{Knowformer}}(\mathbf{x}) = \bigl(\mathbf{x}\,[\mathrm{key}:\mathbf{o}]\bigr)\,\bigl[\mathrm{value}:\mathbf{d}\bigr] FFNKnowformer(x)=(x[key:o])[value:d]
这里 k e y \mathrm{key} key 和 v a l u e \mathrm{value} value 是原始 FFN 的权重矩阵, o , d \mathbf{o}, \mathbf{d} o,d 则是“图知识”映射过来的向量。
用类似 LoRA 的思路,让这些映射矩阵可训练,而大模型原本的“key/value”矩阵保持或只做低秩微调,从而高效地将图知识注入。
- 训练时,通过端到端地学习这些可训练的映射层和 LoRA 参数,让模型能将“图表示”与“FFN中的参数化知识”对齐。
-
-
之所以采用该子解法,是因为:
- 过去一些方法仅仅在输入层做软提示(soft prompts),或者把图表示拼成文本,不够充分利用结构化信息,也难以深入对齐到大模型的中层语义空间。
- 通过在中后几层中“深度注入”,能够更直接地和模型内部的表示空间对齐,并最终提升推理准确性。
三、子解法之间的逻辑链关系(决策树/链条示意)
可以将其视为一个线性管线或链式流程(中间的部分可稍带分支):
┌───────────────────┐│ 1. 初步检索子图 │└───────────────────┘↓┌───────────────────────┐│2. 子解法1: 问题引导的边重打分 Q-KGR │└───────────────────────┘↓┌───────────────────────┐│3. 子解法2: 使用扩展GAT对重打分后子图做编码│└───────────────────────┘↓┌─────────────────────────────────┐│4. 子解法3: Knowformer将图表示注入LLM │└─────────────────────────────────┘↓得到最终答案
1→2→3→4 依次发生,一般不存在大型分支,更多是“先重打分→再图编码→最后注入到大模型”这一顺序。
4.1 隐性方法
-
隐性方法1:Stop-gradient (或 detach)操作
在文中,作者提到对“硬标签”进行处理时,需要用
stop_gradient
(或detach
)来防止梯度回传。这属于实现层面的关键技巧,一般教科书不会明确将其当做“独立解法”。它的作用是:当使用 Gumbel-max/硬标签时,可以在前向传播时当做一张 one-hot mask,但在反向传播时不让梯度更新到该决策中,以免梯度爆炸或学习不稳定。
- 这一步不算是经典书本公式,更多是实现上的 trick/技巧,可视为一个隐性的关键步骤。
-
隐性方法2:全局节点(Global Node)的引入
传统 GAT 并没有“全局节点”概念,作者在这里添加一个“全局虚拟节点”并与关键话题实体相连,用以聚合整个子图信息(尤其是多话题实体时)。
这相当于一项结构设计上的小窍门,在普通文献里也不算是非常标准或必然步骤,因此可以视为一种“隐性方法/隐性技巧”。
-
隐性方法3:训练后,逐层将图向量投影到 FFN 参数空间
并没有在很多书本中标准提到把“图表示”直接加到 FFN 的 key / value 矩阵里,而是通常会把外部向量加到隐状态或加到注意力 q/k/v 中。这里是更深度的“参数修改”式注入,因此某种程度上也可视为非标准的注入技巧。
4.2 隐性特征
-
隐性特征:问题中的预置限定 / 预置约束
在许多数据集中,问题里还会包含时间状语、介词短语、修饰短语等,这些看似并未显式拿来当检索“特征”。但 Q-KGR 的打分过程,会根据(s, r, o)
与问题q之间的相似度,暗中利用到这些隐含语义信息(例如介词短语带来的约束)。这是在“建模问题与边三元组相似度”时,自动捕捉到的隐性特征,并没有在问题或条件中以明确标识呈现,但却在打分网络里发挥了过滤噪声的作用。
因此可以认为,这些“介词短语/修饰成分”就是模型在编码阶段捕捉到的特征,不属于论文公开声明的单独“节点/关系信息”,但却实质上影响了打分过程。
方法的潜在局限性
-
在超大规模图谱上,子图检索本身依然可能很大
Q-KGR 需要对每条边计算相似度分数;如果候选子图本身几万条边,计算成本会比较高,需要进行高效索引或并行化处理。 -
对问题语义与三元组语义相似度的准确性依赖
如果问题编码器对长尾实体、罕见知识的表示不佳,打分过程可能会失准(例如出现误过滤或漏过滤)。 -
隐式假设:图中的边或三元组,能充分表示解题所需知识
如果知识图谱本身不完备、或与问题要求的知识类型不匹配,Q-KGR 无法解决知识缺失问题。再怎么重打分也无法弥补“图谱中缺失的关键事实”。 -
结构化知识与 LLM 参数对齐仍存在难点
虽然论文提出了 Knowformer,但将图结构对齐到 FFN 参数空间仍然是一个较新的尝试,对非常复杂的推理题是否足够,还需要更多实验证明。
同时,这种深度注入方式对 LLM 内部表示的“干扰程度”也要小心拿捏,可能在特别大的模型上,需要更多试验来确保稳定。 -
参数注入的层数/方式需要调参
论文中提到在 LLM 最后的几层做知识注入,但真实应用中很可能需要调试“注入的层数、每层注入的节点数量”。过多或过深注入可能会“稀释”或“冲突”模型原有语言能力;过少则无法充分融入事实知识,导致效果不佳。
示例:有一道常识问答题,如“这是一种孩子们用来存钱的著名‘银行’,其实指什么?”(候选答案:仓库、银行金库、猪储蓄罐等)。
- 普通做法:检索到“bank”相关的一大串节点,包含 river bank、robber 等噪声关系,模型可能会误解,因为“bank”也可以是河岸、强盗抢银行等。
- Q-KGR:
- 将问题文本与边
(bank — robber)
的三元组做打分,发现与“孩子存钱”无关,相关性较低,故在后续聚合中占权重小。 - 与
(bank — piggy bank)
、(bank — pig)
这些更相关的边打分高,自然保留下来。 - 这样子图就更聚焦在“piggy bank”相关关系上。
- 将问题文本与边
- 之后在 GAT 中整合信息,再把最末层全局节点的表示注入到 LLM 内部 FFN 中,让它更好地理解题意,做出正确回答“piggy bank(猪储蓄罐)”。
提问
Q1
为什么仅仅对节点打分不足以有效筛除噪声,而必须针对边(三元组)进行 Re-scoring?
A1
因为在知识图谱中,单单看节点可能会忽略节点之间的关系信息;只有边(含主语、关系、宾语)才能充分表达“路径”是否与问题语义相关,从而更准确地过滤无关或误导路径。
Q2
在 Question-guided Knowledge Graph Re-scoring (Q-KGR) 中,如何处理“问题与某个三元组的语义非常接近,但实际上却可能与问题无关”的误判?
A2
论文利用了软打分(如 Gumbel-softmax)并将其端到端纳入训练。当问句与三元组表面相似度虽高但在下游判断中却不能带来增益时,梯度会推动模型降低其相似得分,从而减小“表面相似但实质无关”的误判风险。
Q3
扩展版的 GAT 中“全局节点”为什么能够显著提升推理效果?若去掉它,会产生什么影响?
A3
全局节点连通所有话题实体,有助于捕捉跨区域的全局语义,避免只在局部邻域内聚合信息。一旦去掉它,模型可能更容易出现“局部割裂”,无法综合多实体、多跳信息,导致推理准确率下降。
Q4
在 Knowformer 的参数注入中,为什么选择把图表示投影到 FFN 的 key/value 矩阵里,而不是把它拼接到输入词向量?
A4
论文认为简单拼接在输入侧(如 soft prompt)对模型深层表示的影响有限,而将图表示直接注入到 FFN 的参数,有助于与模型内部的“参数化知识”更深度对齐,显著提升对复杂事实的推理能力。
Q5
若在实验时发现“最后几层”注入效果不佳,作者是否测试过在较浅层或分散多层注入知识?为什么最终选择靠近输出的 M 层?
A5
确实考虑过不同深度注入。论文发现:靠近输出的层对任务预测最直接;若在较早层注入,有时会与语言模型本身的通用语义分布混淆,或被后续层“冲淡”,导致不如后层注入稳定、有效。
Q6
Q-KGR 使用的相似度打分在概念上依赖预训练语言模型对实体文本的表示。如果问题中出现极冷门实体(未收录或少见),是否可能导致打分精度下降?
A6
是的,这在论文中属于潜在瓶颈。作者的解决思路包括:(1) 减少对罕见实体的依赖,可选其他模块增强实体表示;(2) 如果有更丰富的实体描述文本,可先进行补充检索或微调表征,以改善对长尾实体的相似度判定。
Q7
“子图”内部如果已有大量噪声边,但与问题的某些介词短语、时间条件等局部匹配度高(却语义并不相关),这时 Q-KGR 如何避免被“错误关键词”干扰?
A7
通过端到端训练:当模型后续在总损失上感知到某些“形式匹配但无益”的边会拉低准确率,反向梯度会促使边打分模块自动降低这些边的权重。这种学习过程有助于缓解“错误关键词”带来的误干扰。
Q8
在合并多跳信息时,GAT 层数越多越能传递远距离信息,但可能导致“过平滑”(oversmoothing)。作者如何平衡多跳聚合与过平滑现象?
A8
论文中提到一般不将 GAT 深度设置得太高,典型取 3~5 层左右;同时使用全局节点汇总信息,减少对大深度的依赖。这样在保证多跳信息的同时,尽量避免出现节点表示被过度拉近的过平滑问题。
Q9
论文中提到可以采用 hard label (Gumbel-max) 或 soft label (Gumbel-softmax) 方式输出边选择概率,为什么最终实验更倾向 soft label?
A9
因为硬标签在反向传播时需要用 stop-gradient 或类似技巧,可能导致部分训练不稳定或效率较低。Soft label 可在保持可微分的同时,又能平滑地调节边得分,最终被发现整体效果略好且更稳定。
Q10
当知识图谱本身不完备或和目标问题差距过大时(缺乏关键三元组),仅通过重打分和注入能否弥补缺失?作者给出的主要策略是什么?
A10
无法完全弥补,这也是论文提到的局限之一。若图谱内根本缺乏关键事实,再高级的评分或注入都无法凭空创造知识。作者建议配合其他外部资源、信息检索机制,以及增强型图谱补全,来减少不完备带来的影响。