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  所示, 主要包括知识图谱构建和基于知识图谱
                 的问答对构建.
   146   147   148   149   150   151   152   153   154   155   156