Page 151 - 《软件学报》2025年第9期
P. 151
4062 软件学报 2025 年第 36 卷第 9 期
L = −log(sim dis +1) (9)
其中, Ω pos 表示正样本对集合, Ω neg 表示负样本对集合, u # 表示 m3e 模型输出的句子表示向量, T 为超参数.
2.4 prompt 构建模块
在得到各三元组及其对应与问题的相关性分数的四元组 (s,r,o,rs) 后, 为了将该四元组输入 LLM 并使其理解
s r o, 与问题的相关性:
相关性分数 rs 的意义, 将四元组序列化为以下形式: “[ , , rs ]”. 文献 [48] 中指出: 在信息辅
助 LLM 进行回复生成的场景下, 当相关的信息出现在上下文的中间时, 模型的性能会出现明显的降低. 因此, 本模
块依据上一模块得到的相关性分数对所有的四元组进行升序排序, 最终构建的提示词 prompt 模板如表 1 所示, 其
中 rs 1 < rs 2 < ... < rs n .
表 1 问答提示词模板
提示 提示词模板
三元组
[{s 1 }, {r 1 }, {o 1 }, 与问题的相关性: {rs 1 }]
[{s 2 }, {r 2 }, {o 2 }, 与问题的相关性: {rs 2 }]
P …
[{s n }, {r n }, {o n }, 与问题的相关性: {rs n }]
问题: {question}
答案:
根据提示词模板构建提示词 P 后, 将 P 输入 LLM 即可得到最终的答案.
由此, 基于相关性提示的知识图谱问答方法具体流程如算法 1 所示, 其中, ReM 为第 2.3 节中的相关性计
算模型.
算法 1. 基于相关性提示的知识图谱问答算法.
输入: 问题 q, 知识图谱 , 问题中实体 e;
G
输出: 答案 a.
1. 初始化四元组集合: T rs = {}
2. G s ← search(G,e)
3. for (s, p,o) in G s do
rs ← ReM((s, p,o),q)
T rs ← T rs ∪{(s, p,o,r s )}
end
4. T rs ← 对 T rs 按 rs 升序排序
5. prompt ← ConstructPrompt(T rs ,q)
6. a ← LLM (prompt))
7. return a
3 Mecha-QA 数据集构建
在机械制造领域, 目前缺少领域知识图谱及其对应的问答数据集. 因此, 本文构建了一个小规模的机械制造领
域数据集 Mecha-QA. 为了验证模型的泛化能力以及鲁棒性, 在 Mecha-QA 中额外构建了一个增材制造子领域的
测试集 Mecha-QA-3D. 本节主要介绍数据集构建的全过程, 如图 4 所示, 主要包括知识图谱构建和基于知识图谱
的问答对构建.

