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

吉品 等: 面向智能软件系统的测试用例生成方法综述                                                         75


                 距离和余弦相似度来确定翻译结果之间的差异. 后者使用双向翻译, 即将给定的文本或句子翻译成中间语言                                  (前向
                 翻译), 然后将结果翻译回源语言         (后向翻译). 之后, SemMT    基于  3  种方式度量翻译结果与原始语句之间的语义相
                 似性, 分别是基于正则表达式的相似性             (regex-based similarity, SemMT-R)、基于确定性有限自动机的相似性
                 (DFA-based similarity, SemMT-D) 和混合相似性  (hybrid similarity, SemMT-H). 若相似度低于预期阈值, SemMT  则
                 报告一个翻译错误.
                    此外, 还有研究者将蜕变测试理论应用于机器翻译系统的公平性测试. Sun                      等人  [78] 提出了首个基于蜕变测试
                 的机器翻译系统公平性测试框架——FairMT. FairMT           采用基于语义相似性的蜕变关系, 即语义相近但包含不同人
                 口群体属性的句子, 其翻译结果应具有可比性. FairMT              首先构造涵盖多种人口群体           (demographic groups) 属性
                 (如性别、国籍和宗教等) 的输入句子, 再基于语义相似度测量识别潜在的不公平翻译, 最终区分真正的公平性问
                 题与由其他类型翻译错误引发的误报. FairMT            着重关注性别与国籍两个属性, 并借助 BiasFinder         [89] 来生成测试输
                 入. BiasFinder 是一个通过修改人口群体属性来识别情感分析公平性问题的工具, 其中包含的测试输入生成方法符
                 合  FairMT  的功能需求. BiasFinder 是一个通过修改人口群体属性识别情感分析公平性问题的工具, 其包含的测试
                 输入生成方法符合       FairMT  的功能需求.
                  4.2.2    基于语料库的机器翻译测试用例生成方法
                    除了基于蜕变关系构造测试预言, 许多研究者还通过人工或自动化方式建立翻译语料库, 以确定正确的翻译
                 结果. 翻译语料库通常具有源文与译文一一对应、精确度高的特点, 因此常用于辅助特定类型的翻译错误检测. 例
                 如, Zheng  等人  [70] 提出了一种基于源文与译文映射关系的自动化翻译错误识别方法, 主要用于检测过度翻译与欠
                 翻译两类错误. 作者首先爬取了          1 600  万个句子对和短语, 构建源语言与目标语言一一映射的双语语料库, 并利用
                 映射关系检查翻译结果. 欠翻译检测步骤为: 首先获得原文中对应单词/短语的正确翻译列表, 再检查列表内容是
                 否出现在翻译文本中; 过度翻译检测步骤为: 首先统计翻译中每个词语的出现次数, 再通过语料库查找对应源词并
                 统计其在源句中的出现次数, 若源词出现总和小于翻译词出现次数, 则标记为过度翻译. 类似地, Wang                             等人  [76] 提
                 出了一种基于反向推理的机器翻译测试方法                BDTD, 致力于捕获翻译结果中的词义消歧错误. 词义消歧是指确定
                 多义词在给定语境中的确切含义. 作者首先构建并人工审查了多义词的词义库, 再使用性别调换、肯定/否定调换、
                 单复调换及时态调换等变异算子生成语义一致的新句子, 最后通过判断变异前后同一多义词的译文在词义库中的
                 一致性来测试翻译器的词义消歧能力.
                    还有一些研究者将蜕变测试理论与语料库构建结合, 实现对特定领域翻译的自动化测试. Xu                            等人  [77] 提出了一
                 种针对术语翻译      (terminology translation) 的蜕变测试方法  TermMT, 其核心在于基于术语特征构建蜕变关系: 在原
                 文上下文中添加术语的适当解释说明, 应不影响术语和原文的翻译结果; 修改多词术语的一部分, 应导致翻译结果
                 的相应变化. 为生成能够适配上述蜕变关系的测试输入, TermMT                  从现有的数据集      IATE  和  Wikitionary  构建了用
                 于标注和变异的术语词典, 并选择包含单个多词术语的原始句子进行变异. 具体的变异策略包括: 一是含义插入,
                 即将术语对应的含义以括号形式插入原句; 二是部分替换, 即使用                    BERT  模型对术语中的单个单词进行替换. 这两
                 种变异策略分别对应上述两个蜕变关系, 以完成翻译错误的捕获.
                    此外, 还有一些研究者利用语料库的特性, 完成翻译结果的自动化修正. 这些方法通常都将翻译错误检测作为
                 第  1 步, 因此也会包含测试用例生成. 例如, TransRepair 能够自动检测翻译结果中的不一致性并完成自动化修复                       [71] .
                 TransRepair 首先使用两个词向量模型构建上下文语义相似语料库, 当两个单词在两个模型中的相似度均超过                              0.9
                 时, 即认为两词上下文相似, 可纳入语料库. 随后, TransRepair 通过将原句中的词语替换为语料库中上下文语义相
                 似的词语生成测试输入, 并采用          TF-IDF、BLEU、LCS   等方法计算翻译结果之间的相似度. 当结果小于设定阈值

                 时, 则认定翻译不一致, 可能存在翻译错误. 然而, Sun            等人  [72] 认为, TransRepair 中的词语替换方法并不能保证生
                 成句子的正确性, 并提出了新的单词替换方法               CAT  用于生成测试用例. CAT      先使用基于神经网络的语言模型对
                 句子上下文进行编码, 再评估两个词之间的上下文感知语义相似度, 以实现具有可控影响的单词替换. 实验结果表
                 明, 使用  CAT  生成的测试用例相比      TransRepair 具有更高的质量, 能够发现更多数量并覆盖更多类型的翻译错误.
   73   74   75   76   77   78   79   80   81   82   83