机器翻译是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。同时,机器翻译又具有重要的实用价值。随着经济全球化及互联网的飞速发展,机器翻译技术在促进政治、经济、文化交流等方面起到越来越重要的作用。
机器翻译虽已广泛应用于各个领域,但现有神经网络测试工作均未在自然语言处理的模型上进行过测试。然而,研究发现在这些翻译模型中存在不一致性问题。
发表于ICSE 2020的论文《Automatic Testing and Improvement of Machine Translation》率先对机器翻译进行测试,并提出了一种用于检测及修复神经网络翻译器中所存在的不一致性问题的方法——TransRepair。
TransRepair结合了变异测试及蜕变测试两种方法以检测不一致性问题。对于所检测的问题,提出了一种基于概率的后处理方法以对该问题进行修复。本期AI Time PHD直播间,我们很荣幸地邀请到论文的一作,北京大学孙泽宇博士为大家分享他们的研究成果!
孙泽宇,北京大学信息科学技术学院2019级博士生,导师为张路教授,指导老师为熊英飞研究员。主要研究方向为程序自动生成和软件测试,已在相关领域的国际顶级会议如ICSE, AAAI, IJCAI, FSE等发表多篇论文。
随着机器学习的发展,多用途的自然语言翻译系统相继问世,许多系统能够实时有效地在数千种语言之间进行翻译。然而事实上,大多翻译系统并不完美,存在大量翻译上的错误。研究发现,人为的误译可能造成非常严重的后果,成为改变历史的导火索。例如,19世纪末著名的《乌查里条约》误译事件。由于意大利对条约第17条错误的翻译,最终导致了意大利和埃塞俄比亚两国爆发战争。
同样,机器翻译的误译也会造成困惑及误解。例如,将传统小吃“四喜烤夫”翻译成“roasted husband”,将“小心滑倒”译为“slip and fall down carefully”等。更为严重地,出现不公平性现象,对特定的用户群体造成伤害。为了避免这种翻译错误,需要能够自动识别和纠正不一致性的技术。
针对机器翻译中的不一致性问题,传统机器学习系统的修复方法一般是使用数据增强或算法优化,提高机器学习的整体性能,不针对单个错误进行特定修复;同时还需要数据收集、标注和模型的再训练,通常来说成本很高。
为改进传统修复方法存在的缺陷,孙泽宇等提出了一种用于检测及修复神经网络翻译器中所存在的不一致性问题的组合方法——TransRepair,结合变异测试及蜕变测试的方法对不一致性问题进行测试,并通过黑盒和灰盒两种方式自动修复在测试阶段发现的翻译错误。
TransRepair测试及修复的过程概述,主要有以下三个步骤:1) 自动测试输入生成,生成用于一致性测试的句子,对每个句子使用上下文相似的单词进行替换,生成的候选变异句使用语法检查进行筛选,通过筛选的变异句将作为被测机器翻译的输入。
2) 自动测试oracle生成,根据翻译输入和输出之间的蜕变关系,生成oracle以识别不一致的翻译,思想是,翻译原句与其上下文相似变异句的输出应具有一定程度的一致性。使用相似度指标衡量翻译输出和oracle的一致性程度。3) 自动不一致性修复,自动修复具有不一致性的翻译,有黑盒和灰盒两种方法,根据变异中最优的翻译对原译文进行转换。
TransRepair能够自动检测和修复机器翻译中的不一致性问题,那么模型性能究竟如何,还需要进行评估。对TransRepair的评估主要围绕以下三个问题:问题一TransRepair测试输入的准确度?问题二TransRepair发现bug的能力?问题三TransRepair修复bug的能力?
总结来说,TransRepair通过黑盒和灰盒方法,在自动测试和修复机器翻译不一致性问题上具有很好的表现。不需要源代码,不需要训练数据,能够修复特定错误,不仅成本较低,还具有高效、实时、灵活等优点。