Page 79 - 《软件学报》2026年第1期
P. 79

76                                                         软件学报  2026  年第  37  卷第  1  期


                  4.3   机器阅读理解
                    机器阅读理解根据输入类型可分为基于多模态的阅读理解任务                       [90] 和基于文本的阅读理解任务       [12] , 本节重点
                 关注后者. 基于文本的机器阅读理解任务可以根据问题的回答方式分为                        4  类: 完形填空式任务、选择式任务、片
                 段抽取式任务和自由作答式任务. 这           4  种类型任务的目标都是通过理解给定的上下文信息和问题, 选择或者生成
                 一个精简或者复杂的答案. 因此, 机器阅读理解任务的输入通常为一段文本和问题, 输出为问题的答案. 机器阅读
                 理解是自然语言处理领域中一项具有挑战性的任务, 它不仅需要深度理解自然语言, 还需要具备一定的推理能力.
                 为了多维度评估机器阅读理解系统的性能, 研究者们提出了摆脱传统评估范式限制的测试用例生成方法.
                    现有的机器阅读理解测试方法通常采用蜕变测试理论去解决测试数据的缺失、对人工标注数据高度依赖等
                 问题. 机器阅读理解任务的输入由一段给定上下文的文本和一个问题构成, 这两部分内容中的任意一个发生语义
                 上的改变, 都会导致正确输出的语义发生相应变化. 为了充分利用现有的人工标注数据                           (即数据集中的正确答案集
                 合), 现有研究通常对上下文文本或问题进行变异, 再根据变异后输出的语义是否应发生变化、如何发生变化等相
                 关蜕变关系来确定测试预言. 相比于包含多句话的上下文文本, 输入到机器阅读理解应用的问题在变换过程中更
                 容易做到语义变化程度可控. 因此, 多个研究提出了基于问题变换的机器阅读理解测试方法. 例如, Chen                            等人  [15] 提
                 出了用于自动化验证机器阅读理解软件各项性能的方法, 该方法根据机器阅读理解系统必须遵循的属性制定了两
                 类蜕变关系. 第    1  类是基于反义输出的蜕变关系, 即输出应该与原始输出反义, 并对应                    4  种生成新问题的方法: 使
                 用反义形容词、时态改变、时序改变和添加否定词. 第                  2  类是基于同义输出的蜕变关系, 即输出应该与原始输出
                 同义, 并对应   3  种生成新问题的方法: 同义形容词替换、状语从句位置改变和语态变化. 基于不同方式产生的测试
                 用例的错误率, 可以相应地估计每个特定属性所对应的自然语言理解能力. 与之类似, Liu                         等人  [83] 设计并实现了一
                 个可用于机器阅读理解任务的模糊测试框架                QATest. QATest 应用语法成分转换、句子结构转换和扰动注入, 对
                 原始种子问题进行变异. 与其他同类型研究工作相比, QATest 的主要特点是采用基于问题数据特点设计的                              N-gram
                 覆盖率和困惑度优先级来指导测试生成过程, 以提高测试效率.
                    此外, 还有一些研究完全打破了测试用例生成过程中对预标注数据的依赖, 自动生成新的问题或上下文文本.
                 例如, 基于递归蜕变测试的自动化测试方法              QAASKER, 基于源输入中的问题及被测对象给定的源输出生成一个
                 “伪事实”, 再基于“伪事实”提出一个新问题, 之后将新问题再次输入被测对象得到后续输出                          [81] . 如果源输出和后续
                 输出都是正确的, 那么源输出与源问题构成的“伪事实”应该等价于后续输出与后续问题构成的“伪事实”; 否则, 源
                 输出和后续输出中至少有一个错误. QAASKER             包含  3  种衍生递归问题的方法: 一是由现有           wh-疑问句的答案衍
                 生出新的    wh-问题; 二是由现有     wh-问题的答案衍生出新的一般疑问句; 三是由现有一般疑问句或选择疑问句的
                 答案衍生出新的      wh-问题. Shen  等人  [82] 发现  QAASKER  常常产生无效测试用例导致误报, 因此提出了能够生成等
                 价语义测试输入的       QAQA. QAQA  使用了  5  种基于句子级突变的蜕变关系, 并根据所提出的蜕变关系生成等价的
                 问题、等价的上下文、集成的上下文和问题等. 为了更精确地捕获输出错误, QAQA                         实现了增强的答案一致性度
                 量作为测试预言. 它使用最先进的短语嵌入模型               PBERT  把输出答案和期望答案表示为向量, 再计算向量之间的余
                 弦相似度作为语义一致性得分. 如果一致性分数小于预定义的阈值, QAQA                       则认为违反了蜕变关系, 检测到潜在
                 的缺陷.
                  4.4   现有方法优缺点分析
                    为应对自然语言处理应用中输出空间庞大、正确输出难以判断等测试挑战, 现有面向自然语言处理应用的测
                 试用例生成方法大多选用蜕变测试作为核心思路. 现有方法的核心设计主要围绕文本变异策略的选择和测试预
                 言  (蜕变关系) 的构建, 以扩大测试输入空间并高效捕获被测对象的错误输出. 通过总结分析, 本文发现现有方法
                 存在以下待优化的问题: (1) 变异策略与测试预言相互制约: 研究人员选用的文本变异策略主要基于句法结构、语
                 义特征和任务特性, 往往需要在保持或改变输入语义之间进行选择, 而这种选择受到蜕变关系设计与测试目标设
                 定的共同影响, 导致变异策略与蜕变关系之间存在相互制约关系; (2) 输入空间探索性不足: 目前的很多测试输入
                 生成方法还停留在基于局部替换和注入微小扰动的变异策略, 受到种子文本内容制约, 存在输入空间探索有限的
   74   75   76   77   78   79   80   81   82   83   84