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 ) 都可以视为一个正样例. 我们观察到, 提问中的实体词在确定推理方向上起着
重要的作用. 改变这些实体词, 对应的答案通常也会变化. 因此, 通过替换实体词来生成负样例. 考虑到各个提问中

