Page 148 - 《软件学报》2025年第9期
P. 148
马杰 等: 基于相关性提示的知识图谱问答 4059
方法是采用 BM25 [31] 或是稠密向量检索的方式, 用问题检索相关的非结构化文本, 以此作为外部知识, 再依据预先
定义的模板构建 prompt 提示词, 输入 LLM, 实现知识增强的问答. Levonian 等人 [32] 在数学领域, 基于“检索-问答”
的框架实现了知识增强问答. 此外, 有部分研究将大模型引入了检索过程, 通过大模型增强检索时的 query, 提升检
索的精确性. Chatlaw [16] 通过大模型提取问题中的关键词, 将关键词与问题向量化表示后联合检索证据文档, 并构
建 prompt, 实现法律领域的问答. Yu 等人 [33] 利用 LLM 自身生成相关文档, 通过提示词挖掘 LLM 的内部知识, 作
为回答的依据. Ma 等人 [34] 通过大模型的反馈重写问题, 获得更精确的文档检索结果. Gao 等人 [35] 利用 LLM 在不
输入外部知识的条件下预先生成一个伪答案, 将该答案作为 query 进行检索, 再将结果作为外部知识进行第 2 轮
的答案回复. Huang 等人 [36] 对问题进行分类, 并检索相似问题及该相似问题的答案作为 prompt 的一部分, 以增强
LLM 在政务领域的表现.
上述方法均采用非结构化知识增强 LLM 在垂直领域的问答性能. 与知识图谱相比, 非结构化知识的组织和管
理较为困难, 这使得在大量数据中快速定位和检索特定信息变得困难, 因而检索的准确性和效率较低, 问答性能
不佳.
1.2.2 基于知识图谱增强的垂直领域问答
目前已有一些基于知识图谱增强 LLM 问答性能的相关研究 [37−39] . Baek 等人 [10] 将知识图谱的三元组进行嵌
入表示, 通过问题的表示向量检索最相关的 k 个三元组, 组成 prompt 输入 LLM, 实现了零样本场景下的知识图谱
问答. Kim 等人 [11] 对 LLM 进行多轮问询, 确定与问题最相关的三元组, 并作为知识输入 LLM 提升问答效果. Wu
等人 [40] 在检索到问题对应的子图后, 未直接将子图输入 LLM, 而是增加了图转换为自然语言的模块, 将检索到的
子图谱用自然语言的形式表述, 再进行 prompt 构建, 以增强 LLM 对检索知识的理解. Soman 等人 [41] 采用类似的
方法, 将生物医学知识图谱与 GPT 4 相结合, 使其可以在生物医学领域进行专业问答. 此外, 还有一些工作 (如文
献 [12,42–46]) 未直接利用 LLM 进行问答. 相反, 它们专注于利用 LLM 根据问题生成对应的知识图谱查询代码或
数据库查询语句. 在这种方法下, LLM 被用作一个工具来生成精确的查询, 这些查询随后用于检索与问题直接相
关的知识三元组.
在“检索-问答”的框架下, 无论是非结构化外部知识还是结构化外部知识都可以实现灵活的领域问答而不需
要大量的外部数据对大模型进行微调. 然而, 由于该方法受限于检索召回精度的影响, 通常会引入大量噪声以确保
召回率. 这些噪声知识与问题对应的知识被同等地位地组成了 prompt 的一部分输入 LLM, 从而导致 LLM 在回答
时准确率低, 常常包含许多不相关的部分. 因此, 本文提出了知识相关性增强的垂直领域知识图谱问答大模型, 通
过将检索到的三元组的相关性“告知”LLM, 以提升其回复的质量.
2 基于相关性提示的知识图谱问答方法
2.1 问题描述
q, 使用 LLM P 可以表示为:
在智能问答场景中, 对于一个给定问题 生成答案 a 的条件概率
|a| ∏
P(a|q) = P(y i |y <i ,q) (1)
i=1
其中, y i 表示答案 a 中的第 i 个 token.
引入外部知识图谱 G 后, 令 G = {(s,r,o)|s,o ∈ E,r ∈ R}, 其中, (s,r,o) 表示在头实体 s 和尾实体 o 之间存在关系 r;
q
E,R 分别表示实体集合和关系集合. 假设在问题 中对应的实体为 , 在 G 中 e q 的一阶子图为 G s = {(s,r,o)|s,
e q
o ∈ E,r ∈ R, s = e q ∨o = e q }, 则生成答案 a 的条件概率可以进一步表示为:
|a| ∏
P(a|q) = P(y i |y <i ,q,G s ) (2)
i=1
在检索到的一阶子图 G s 中, 每一个三元组 (s,r,o) 与问题的相关程度不同, 对最终答案的贡献也应该不同. 因
此, 本文训练一个相关性计算模型 ReM, 输入三元组 (s,r,o) 与问题 q 可以计算对应的相关性分数 rs:

