Page 77 - 《软件学报》2026年第1期
P. 77
74 软件学报 2026 年第 37 卷第 1 期
答性检查方式: (1) 基于语义的检查: 分析对话中代词、隐含信息等与其他实体 (具有明确指代意义的对象) 之间的
关系, 判断能否从给定的对话上下文中找到问题的答案. (2) 基于本体的检查: 利用基于知识图谱的对话信息模型,
将对话中实体和关系构建知识图谱, 通过对比原始问题、可独立回答问题及上下文信息图中实体和关系, 判断问
题能否独立回答或依赖上下文回答. (3) 面向特定任务的检查: 针对阅读理解任务, 即使某个代词在上下文中未明
确被提及, 只要其在上下文中出现过, 就会被视为可回答. 如果生成的问题通过了可回答性检查, 那么预期答案就
是原始标注答案; 如果问题不可回答, 预期答案则为 “Unknown”. MORTAR 方法构建的 3 种蜕变关系为: (1) 除不
可回答问题外, 其他问题的答案在扰动前后应该与原始问题的答案相似; (2) 使用不同扰动算子生成可回答性相同
的问题的答案应相似; (3) 基于同一原始问题生成的可回答性不同的问题的答案应该不同. 实验结果表明, 基于上
述蜕变关系, MORTAR 能够高效且全面地检测基于大语言模型对话系统中的各类潜在缺陷.
4.2 机器翻译
通常, 输入到机器翻译系统的语言被定义为源语言, 输出的语言被定义为目标语言. 因此, 机器翻译可描述为
是将源语言词语序列转换为目标语言词语序列的任务 [23] . 机器翻译可按实现方法分为基于规则、基于统计和基
于神经网络的 3 类方法, 其中基于神经网络的方法具有当前最先进的性能. 尽管基于神经网络的机器翻译技术已达
[87]
[86]
到较高水平, 但其输出仍存在错译、漏译、逻辑混乱等问题 [74] . 本节不涉及依赖参考译文计算 BLEU 、METEOR 、
NIST [88] 等译文质量指标的方法, 重点关注能够捕获翻译错误的自动化测试用例生成方法, 而重点关注能够捕获翻
译错误的自动化测试用例生成方法, 这些方法根据测试预言构建方式分为基于蜕变测试的方法和基于语料库的方法.
4.2.1 基于蜕变测试的机器翻译测试用例生成方法
由于自然语言的复杂性, 相同语义往往具有多种不同的表达方式. 因此, 机器翻译的正确输出通常存在多种可
能, 且无法穷尽列举, 从而导致测试预言难以准确构建. 许多研究者采用蜕变测试理论, 通过定义正确翻译结果应
满足的属性来辅助判断翻译正确性. He 等人 [66,67] 提出了结构不变性、参考透明性这两种蜕变关系, 用于机器翻译
测试. 结构不变性是指语义相似的源句的翻译结果应具有相似的语法结构; 参考透明性是指名词短语在不同上下
文中应该具有相似的翻译. 上述方法的测试输入生成均基于选定的蜕变关系设计, 例如生成结构相似或包含同一
名词短语的一对句子. 与上述方法类似, 机器翻译自动化测试工具 CIT [74] 基于成分不变性检测翻译结果. 成分不变
性指在添加修饰语后, 句子的语义结构主干不应发生变化, 且添加前后应存在结构路径的包含关系. 满足成分不变
性的一对源语言句子, 其翻译结果亦应满足成分不变性. 语义结构主干指句子的基础语法元素所对应的成分解析
树, 常见基础元素包括主语、谓语与宾语, 任何一个基础元素的缺失均可能导致语法错误. 修饰语是指句子的可移
除部分, 即它的存在不会对句子的主干和语法正确性产生影响. CIT 结合句子压缩模型与 BERT 模型生成具有成
分不变性的源语言句子, 其关键技术组件代表了所在领域的先进水平, 能够有效保证测试用例生成的正确性并降
低误报率. 与 CIT 通过逐步插入修饰语的方法不同, Zhang 等人 [79] 提出的 STP 方法利用句法树的基本句子结构与
依存关系裁剪输入句子, 以保留核心语义, 再通过词袋模型比较裁剪句子与原始句子的翻译结果一致性. Xie 等人 [80]
指出, 上述方法在检测翻译错误时, 主要依赖翻译结果之间的整体相似性测量, 粒度过大, 容易导致误报. 因此, 他
们提出了基于词闭包的机器翻译测试方法. 该方法首先通过词对齐技术, 关联现有方法生成的源输入、变异输入
及对应的翻译输出; 随后, 使用 BERT 模型生成词闭包层面的语义表示, 并计算变异前后具有关联关系的词闭包之
间的语义相似度, 以检测翻译错误.
上述方法中蜕变关系的构建主要以翻译结果的语法结构和成分特性为基础, 也有研究者选择更直观的语义维
度完成蜕变测试. 此类方法通常定义蜕变关系为: 具有不同语义的源语言句子不应具有相同翻译结果, 而具有相似
语义的源语言句子应具有相似翻译结果. 比如, PatInv 通过使用语义不同的词语原词和删除有意义的词语来生成
具有不同语义的新句子, 如果新句子的翻译结果和种子句子的翻译结果一致, 则报告翻译错误 [68] . Lee 等人 [73] 使用
大小写替换、标点符号改变等针对鲁棒性测试的生成方法来获取语义不改变的新句子. Pesu 等人 [69] 提出的蒙特
卡洛测试方法和 Cao 等人 [75] 提出的 SemMT 均采用中间语言生成语义相同的句子. 前者获取直接翻译 (直接从源
语言到目的语言) 和间接翻译 (从源语言到中间语言, 再到目的语言) 的翻译结果, 并通过使用 BLEU、Levenshtein

