Page 347 - 《软件学报》2025年第12期
P. 347

5728                                                      软件学报  2025  年第  36  卷第  12  期



















                                         图 4 基于思维链提示中使用的部分提问示例               (续)

                  2.2.3    提问质量校验
                    上述组合后的结果可能只是简单提问, 而不是期望的常识推理提问. 例如, 对于由多个从句构成的组合提问,
                 其答案可以通过匹配从文本中直接找到, 而不需要借助隐藏的常识知识进行复杂推理, 甚至无需对文中的语义进
                 行理解  [58] . 此外, 组合提问可能没达到所需的推理难度. 一些提问可能存在推理捷径, 答案可以直接通过匹配获得,
                 而无须多跳推理. 为此, 我们设计一个校验器来全面地测试组合提问的质量. 它是一个加权的分类器. 每个提问                                 Q i
                                ∑  n
                 的得分记为    ω(Q i ) =  β j ·v j (QS i ,A i ,Q i ), 其中  β j  是可学习权重,   QS i   是生成  Q i  时参考的线索文本片段,  A i  是预期
                                   j=1
                 答案,   v j (·) 是评判函数, 得分超过阈值   λ 2  的  Q i  将被认为是优质的提问. 我们从  3  个方面设计  v j (·).
                                           Q i  可解, 我们使用封闭域的问答模型        SG-Net [59]      1
                    (1) 答案可解性. 为测试提问                                            预测答案    A = SG_Net(QS i ,Q i ).
                                                                                         i
                 该模型具有较好的性能, 在典型的问答数据集               SQuAD 2.0 [60] 上, 其  F1  得分比人类仅仅低  1.79%. 这可以作为较好
                                    1
                 的验证工具. 通过比对       A  和预期答案  , 可以衡量       Q i  的可解性, 即  v 1 = g(e A i  ,e A 1), 其中  g(·)  为余弦相似度函数,
                                               A i
                                    i
                                                                               i
                   ,e A 1  为由  DeBERTa-v3-large [61]  A  的嵌入向量.
                                                     1
                 e A i                    得到的   A i  和   i
                     i
                    (2) 推理的难度. 一个好的提问       Q i  的推理难度应符合预期的推理跳数, 且没有推理捷径, 这需要分析                 Q i  中间的
                                       Q i  解析成一棵  AMR  树  [51]                               d  即为推理步
                                                                                              ′
                 推理过程. 为此, 我们首先将                           , 每棵子树对应一个子提问        q j , 而树的总高度
                            ′                                ′              v 2  的值越大. 为判断是否存在推理捷
                 骤. 我们计算   d  与预期推理难度     d  的差异  v 2 = 1/log (2+|d − d |), 差异越小则
                                                        2
                 径, 通常需要一条推理链作为参照, 但在实际情景中, 获取这种推理链的标注成本较高. 考虑到在提问生成过程中
                 附带输出了预期答案, 我们转而利用问答模型               GA [62] 进行评估, 该模型仅能回答简单的匹配类提问, 并不具备高阶
                                  Q i  可以被  GA  准确解答, 则很可能存在推理捷径. 基于这一思路, 我们计算              GA  得到的答案
                 的常识推理能力. 如果
                  2                                                                     Q i  的每个子提问是否
                 A = GA(QS i ,Q i ) 与预期答案   A i  的相似度  v 3 = 1−g(e A i  ,e A 2). 类似地, 用相同的方法检测组成
                  i
                                                            i
                 包含推理捷径. 为便于分离分析中间推理步骤, 我们将上一个推理步骤的答案替换为相应的子树, 从而阻断当前推
                                                       q j . 如公式  (3) 所示, 我们将由  SG-Net 模型得到的相对可信答案
                 理步与之前推理步骤的联系, 形成独立的子提问
                 a = SG_Net(QS i ,q j )  与  GA  模型得到的答案比较, 得到中间推理步骤感知的推理难度得分             v 4 , 其中   为子提问
                  1
                                                                                                l
                  j
                 数量.

                                                      ∑        (    )]
                                                         l [
                                                   v 4 =   1−g e a 1,e a 2 .                          (3)
                                                         j=1     j  j
                    (3) 上下文相关性. 对于一个优质的提问来说, 解答所需要的证据应该来源于输入的上下文中                           [63] . 我们设计分
                 类器   v 5 = σ(W 4 [e x ;e Q i  ]) 来判断  Q i  与输入上下文是否契合与相关, 其中  W 4  是权重矩阵,  [;] 为连接操作, 而  σ(·) 是
                 用于预测上下文相关性的逻辑函数.            e x 、  e Q i  则是提问感知的上下文、上下文感知的提问表征. 它们由            BiDAF  模
                 型  [64] 编码得到, BiDAF  擅长通过交叉注意力捕捉相关性.
                    校验器的训练分为两个阶段. 首先, 我们使用一些标注数据对进行初步训练. 该过程需要构建正、负样例作为
                 训练样本, 而每个样本       (S Q i ,Q i ,A i ) 都可以视为一个正样例. 我们观察到, 提问中的实体词在确定推理方向上起着
                 重要的作用. 改变这些实体词, 对应的答案通常也会变化. 因此, 通过替换实体词来生成负样例. 考虑到各个提问中
   342   343   344   345   346   347   348   349   350   351   352