热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

⬆⬆⬆              点击蓝字

关注我们

AI TIME欢迎每一位AI爱好者的加入!

机器翻译是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。同时,机器翻译又具有重要的实用价值。随着经济全球化及互联网的飞速发展,机器翻译技术在促进政治、经济、文化交流等方面起到越来越重要的作用。

机器翻译虽已广泛应用于各个领域,但现有神经网络测试工作均未在自然语言处理的模型上进行过测试。然而,研究发现在这些翻译模型中存在不一致性问题。发表于ICSE 2020的论文《Automatic Testing and Improvement of Machine Translation》率先对机器翻译进行测试,并提出了一种用于检测及修复神经网络翻译器中所存在的不一致性问题的方法——TransRepair。

TransRepair结合了变异测试及蜕变测试两种方法以检测不一致性问题。对于所检测的问题,提出了一种基于概率的后处理方法以对该问题进行修复。本期AI Time PHD直播间,我们很荣幸地邀请到论文的一作,北京大学孙泽宇博士为大家分享他们的研究成果!

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

孙泽宇,北京大学信息科学技术学院2019级博士生,导师为张路教授,指导老师为熊英飞研究员。主要研究方向为程序自动生成和软件测试,已在相关领域的国际***会议如ICSE, AAAI, IJCAI, FSE等发表多篇论文。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

一、研究动机:机器翻译的不一致性

随着机器学习的发展,多用途的自然语言翻译系统相继问世,许多系统能够实时有效地在数千种语言之间进行翻译。然而事实上,大多翻译系统并不完美,存在大量翻译上的错误。

研究发现,人为的误译可能造成非常严重的后果,成为改变历史的导火索。例如,19世纪末著名的《乌查里条约》误译事件。由于意大利对条约第17条错误的翻译,最终导致了意大利和埃塞俄比亚两国爆发战争。

同样,机器翻译的误译也会造成困惑及误解。例如,将传统小吃“四喜烤夫”翻译成“roasted husband”,将“小心滑倒”译为“slip and fall down carefully”等。更为严重地,出现不公平性现象,对特定的用户群体造成伤害。图1显示了几个语言对(英语→中文)的谷歌翻译结果,当主语是“men”或“male students”,将“good”翻译成“很好的 (very good)”,然而当主语是“women”或“female students”时,则将“good”翻译成“很多 (a lot)”,这种不一致性不仅会让用户感到困惑,而且显然对计算机科学领域的女性研究人员也不公平。与进行“very good”研究相比,进行“a lot”研究明显是一种更具贬义的解释。为了避免这种翻译错误,需要能够自动识别和纠正不一致性的技术。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图1 翻译不一致产生的公平问题的示例

二、方法:如何解决不一致性问题

针对机器翻译中的不一致性问题,传统机器学习系统的修复方法一般是使用数据增强或算法优化,提高机器学习的整体性能,不针对单个错误进行特定修复;同时还需要数据收集、标注和模型的再训练,通常来说成本很高。

另外,传统修复软件错误的方法是白盒,当识别出需要修改的源代码后才能进行修复,但这种方法不能用于修复源代码不可用的软件,比如第三方代码。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图2 不一致性问题的传统修复方法

为改进传统修复方法存在的缺陷,孙泽宇等提出了一种用于检测及修复神经网络翻译器中所存在的不一致性问题的组合方法——TransRepair,结合变异测试及蜕变测试的方法对不一致性问题进行测试,并通过黑盒和灰盒两种方式自动修复在测试阶段发现的翻译错误。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图3 TransRepair方法

三、TransRepair测试及修复概述

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图4 TransRepair测试及修复不一致性问题概述

图4为 TransRepair 测试及修复的过程概述,主要有以下三个步骤:

1) 自动测试输入生成

生成用于一致性测试的句子,对每个句子使用上下文相似的单词进行替换,生成的候选变异句使用语法检查进行筛选,通过筛选的变异句将作为被测机器翻译的输入。

2) 自动测试oracle生成

根据翻译输入和输出之间的蜕变关系,生成oracle以识别不一致的翻译,思想是,翻译原句与其上下文相似变异句的输出应具有一定程度的一致性。使用相似度指标衡量翻译输出和oracle的一致性程度。

3)自动不一致性修复

自动修复具有不一致性的翻译,有黑盒和灰盒两种方法,根据变异中最优的翻译对原译文进行转换。考虑两种最优翻译的选择方法,一种是预测概率法,另一种是交叉引用法。

一)

测试

测试第一步是构建上下文相似语料库。进行上下文相似的单词替换的关键步骤是,找到一个可以被其他相似单词替换、且不影响句子结构的单词,替换生成的新句应与原句的翻译一致,单词之间的相似度通过词向量进行衡量。

为了构建一个可靠的上下文相似语料库,采用 GloVe、SpaCy 两种词向量模型,并使用其训练结果的交集。当两个单词在两个模型中的相似度都超过0.9时,则认为它们是上下文相似的,将这对单词放入上下文相似语料库中,得到变异算子。以图5的句子为例,通过计算词向量相似度,衡量句中“Male”和“Female”能否进行替换?在设定的标准下,答案是可替换的。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图5 上下文相似语料库构建

构建好上下文相似语料库后,下一步进行翻译输入变异。首先是单词替换,对于原句中的每个单词,在语料库中搜索是否存在匹配单词,如果找到了一个匹配的词,替换并生成变异句。同一单词在不同语境下意思或许有所不同,但上述替换只考虑了整体语境,忽视了具体情况下的差异,因此替换的单词可能不适合新句子的上下文,导致生成的变异句无法解析。

为解决此类解析失败问题,提出通过附加约束来检测变异句的合理性,基于 Stanford Parser进行结构过滤。分析得到原句和变异句的语法树,假设二者结构相同,则认为对原句的变异在结构上是合理的,反之不合理,从候选中删除。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图6 翻译输入变异

通过对原句和变异句的翻译结果进行比较,测试翻译是否具有一致性。具体做法是对原句和变异句的译文进行切片,删除部分得到不同子序列并分别计算它们的相似度。相似度计算主要采用Tf-idf, BLEU, LCS, ED等几种常用方法,使用最高相似度作为最终一致性评分的结果。当最终相似度小于设定的阈值时,认定为翻译不一致。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图7 翻译不一致性测试

二)

黑盒和灰盒修复

发现问题就要解决问题,下一步工作是对识别出的不一致性问题进行修复。同样以之前的句子为例,在将“Male”改为“Female”之后,对“good”的翻译从“很好”变为了“很多”,那么究竟哪个翻译是正确的还是都不正确?首先任取一句话作为原句,然后通过上述测试同样的方法对句子进行变异,生成变异句并进行翻译。使用预测概率(Predictive probability)或交叉引用(cross reference)对原句及变异句的译文进行排序,排序高者为候选目标翻译,再利用词对齐(Word Alignment)寻找单词之间的映射关系,生成最终修复后的翻译结果。

其中,利用预测概率意在选择出现概率最高的译文成为修复依据,是一种灰盒修复方法,既不需要训练数据,也不需要训练算法的源代码,只需要机器翻译提供的预测概率。而交叉引用是计算译文之间的相似度,两两比较后找到与其他句子相似度最高的译文,是一种黑盒修复方法,只需要翻译器的输出。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图8 不一致性问题修复

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图9 词对齐后的翻译结果

四、TransRepair的模型评估

TransRepair能够自动检测和修复机器翻译中的不一致性问题,那么模型性能究竟如何,还需要进行评估。对TransRepair的评估主要围绕以下三个问题:

问题一

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

TransRepair测试输入的准确度?

问题二

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

TransRepair发现bug的能力?

问题三

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

TransRepair修复bug的能力?

评估实验主要通过谷歌翻译和Transformer模型两个机器翻译器进行,测试数据集为News Commentary。对于每个测试句,生成变异句并检查它们是否通过了结构过滤。2001个测试句一共生成21960个变异句,过滤掉17268句保留4692句作为测试输入,随机抽取400句手动评估它们是否能够检测翻译不一致性,查看变异句的替换词是否会导致语法错误、变异体的翻译是否与原句一致。这一验证步骤发现了三个无效的变异句,其余的397句符合有效性标准,准确率为99%,说明Transformer有很高的概率能够产生有效的测试句。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图10 测试输入准确度

使用谷歌翻译和 Transformer 对4692个变异句进行翻译,将它们与原始句的翻译进行比较,计算每个变异句的四种一致性得分,图11右边为一致性得分直方图,四种度量发现了大量得分低于1.0的翻译,表明翻译存在不一致性。图11左边为四种度量不同阈值下的不一致翻译个数,可以看到即使在一致性阈值较宽松时,bug依然存在。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图11 一致性指标值

手动检查变异句和原句的翻译,不一致错误的条件为:1)有不同的含义;2) 有不同的情感色彩;3)专有名词使用了不同的字符表示。最后结果如图12,可以看出Transformer在发现bug问题上能够有很好地表现。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图12 Transformer发现bug能力的实验结果

对所有不一致的翻译进行修复,检验Transformer对bug的修复能力,修复结果对比见图13。黑盒平均减少了谷歌翻译28%的bug,灰盒修复了Transformer 30%的bug、黑盒修复了19%到20%的bug,表明灰盒和黑盒方法是修复不一致缺陷的有效方法。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图13 Transformer不一致性修复结果

手动比较修复前后的翻译一致性&修复前后翻译的可接受性(原句和变异句),考虑充分性和流利性,手动给出“Improved”、“Unchanged”或“Decreased”标签,结果见图14。表明TransRepair在提高翻译一致性方面有很好的效果,平均87%的谷歌翻译和Transformer翻译的一致性提高了。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图14 Transformer修复bug能力的实验结果

五、扩展分析和讨论

之前的工作采用了数据增强的方法提高机器学习模型的鲁棒性,对于源代码已知的翻译器,训练数据增强是增加翻译一致性的方案之一,因此设计实验研究添加更多的训练数据是否会产生更好的翻译一致性。使用10%, 20%, ..., 90%的原始训练数据分别训练 Transformer,结果见图15,当比例在0.7到1.0之间时,没有观察到bug下降的趋势,这说明增加训练数据对改善翻译不一致性的效果有限。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图15 数据增强实验结果

在不一致检测和修复过程中都会产生变异句,为了研究变异句的数量如何影响检测和修复性能,比较不同设置下不一致的bug数和修复的bug数,灰盒修复结果如图16所示。可以看到在检测时,使用更多的变异句有助于发现和修复更多不一致的问题。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图16 不同变异句数量比较结果

TransRepair可以应用到端到端模型上,给定输入和翻译器,将自动测试和修复翻译输出,并向用户提供新的翻译输出。图17是TransRepair的几个具体使用示例。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

图17 TransRepair使用示例

总结来说,TransRepair通过黑盒和灰盒方法,在自动测试和修复机器翻译不一致性问题上具有很好的表现。不需要源代码,不需要训练数据,能够修复特定错误,不仅成本较低,还具有高效、实时、灵活等优点。

相关链接及文献:

Paper: Automatic Testing and Improvement of Machine Translation. Zeyu Sun, Jie M. Zhang, Mark Harman, Mike Papadakis, Lu Zhang

Link: https://arxiv.org/pdf/1910.02688.pdf

Data: https://github.com/zysszy/TransRepair

整理:何文莉

审稿:孙泽宇

排版:田雨晴

本周直播预告:

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

AI Time欢迎AI领域学者投稿,期待大家剖析学科历史发展和前沿技术。针对热门话题,我们将邀请专家一起论道。同时,我们也长期招募优质的撰稿人,***的平台需要***的你,请将简历等信息发至[email protected]!

微信联系:AITIME_HY

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

 

AI Time是清华大学计算机系一群关注人工智能发展,并有思想情怀的青年学者们创办的圈子,旨在发扬科学思辨精神,邀请各界人士对人工智能理论、算法、场景、应用的本质问题进行探索,加强思想碰撞,打造一个知识分享的聚集地。

TransRepair:自动测试及修复神经网络翻译模型的不一致性问题

更多资讯请扫码关注

(点击“阅读原文”下载本次报告ppt)

(直播回放:https://b23.tv/G7f48G)


推荐阅读
  • 2019年斯坦福大学CS224n课程笔记:深度学习在自然语言处理中的应用——Word2Vec与GloVe模型解析
    本文详细解析了2019年斯坦福大学CS224n课程中关于深度学习在自然语言处理(NLP)领域的应用,重点探讨了Word2Vec和GloVe两种词嵌入模型的原理与实现方法。通过具体案例分析,深入阐述了这两种模型在提升NLP任务性能方面的优势与应用场景。 ... [详细]
  • 独家解析:深度学习泛化理论的破解之道与应用前景
    本文深入探讨了深度学习泛化理论的关键问题,通过分析现有研究和实践经验,揭示了泛化性能背后的核心机制。文章详细解析了泛化能力的影响因素,并提出了改进模型泛化性能的有效策略。此外,还展望了这些理论在实际应用中的广阔前景,为未来的研究和开发提供了宝贵的参考。 ... [详细]
  • 从2019年AI顶级会议最佳论文,探索深度学习的理论根基与前沿进展 ... [详细]
  • 深度森林算法解析:特征选择与确定能力分析
    本文深入探讨了深度森林算法在特征选择与确定方面的能力。提出了一种名为EncoderForest(简称eForest)的创新方法,作为首个基于决策树的编码器模型,它在处理高维数据时展现出卓越的性能,为特征选择提供了新的视角和工具。 ... [详细]
  • 中文分词_中文分词技术小结几大分词引擎的介绍与比较
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了中文分词技术小结几大分词引擎的介绍与比较相关的知识,希望对你有一定的参考价值。笔者想说:觉得英文与中文分词有很大的区别, ... [详细]
  • 能够感知你情绪状态的智能机器人即将问世 | 科技前沿观察
    本周科技前沿报道了多项重要进展,包括美国多所高校在机器人技术和自动驾驶领域的最新研究成果,以及硅谷大型企业在智能硬件和深度学习技术上的突破性进展。特别值得一提的是,一款能够感知用户情绪状态的智能机器人即将问世,为未来的人机交互带来了全新的可能性。 ... [详细]
  • 探索聚类分析中的K-Means与DBSCAN算法及其应用
    聚类分析是一种用于解决样本或特征分类问题的统计分析方法,也是数据挖掘领域的重要算法之一。本文主要探讨了K-Means和DBSCAN两种聚类算法的原理及其应用场景。K-Means算法通过迭代优化簇中心来实现数据点的划分,适用于球形分布的数据集;而DBSCAN算法则基于密度进行聚类,能够有效识别任意形状的簇,并且对噪声数据具有较好的鲁棒性。通过对这两种算法的对比分析,本文旨在为实际应用中选择合适的聚类方法提供参考。 ... [详细]
  • 在高清节目的高比特率传输过程中,使用外接USB硬盘进行时间平移(timeshift)时,出现了性能不足和流数据丢失的问题。通过深入研究,我们发现通过对图像组(GOP)和图像头(I-frame)的精确定位技术进行优化,可以显著提升系统的性能和稳定性。本研究提出了改进的图像组与图像头定位算法,有效减少了数据丢失,提高了流媒体传输的效率和质量。 ... [详细]
  • AI TIME联合2021世界人工智能大会,共探图神经网络与认知智能前沿话题
    AI TIME携手2021世界人工智能大会,共同探讨图神经网络与认知智能的最新进展。自2018年在上海首次举办以来,WAIC已成为全球AI领域的年度盛会,吸引了众多专家学者和行业领袖参与。本次大会将聚焦图神经网络在复杂系统建模、知识图谱构建及认知智能应用等方面的技术突破和未来趋势。 ... [详细]
  • 不用蘑菇,不拾金币,我通过强化学习成功通关29关马里奥,创造全新纪录
    《超级马里奥兄弟》由任天堂于1985年首次发布,是一款经典的横版过关游戏,至今已在多个平台上售出超过5亿套。该游戏不仅勾起了许多玩家的童年回忆,也成为强化学习领域的热门研究对象。近日,通过先进的强化学习技术,研究人员成功让AI通关了29关,创造了新的纪录。这一成就不仅展示了强化学习在游戏领域的潜力,也为未来的人工智能应用提供了宝贵的经验。 ... [详细]
  • 自回归与非自回归模型如何融合?预训练模型BANG提供可能解决方案
    近年来,预训练技术的快速发展显著提升了自然语言生成的性能。然而,自回归模型和非自回归模型在生成质量和效率上各有优劣。微软研究院提出了一种新的预训练模型BANG,通过巧妙地结合两者的优点,提供了一种有效的解决方案。该模型不仅在生成质量上表现出色,还在推理速度上实现了显著提升,为自然语言生成任务带来了新的可能性。 ... [详细]
  • 运用Isotonic回归算法解决鸢尾花数据集中的回归挑战
    本文探讨了利用Isotonic回归算法解决鸢尾花数据集中的回归问题。首先介绍了Isotonic回归的基本原理及其在保持单调性方面的优势,并通过具体示例说明其应用方法。随后详细描述了鸢尾花数据集的特征和获取途径,最后展示了如何将Isotonic回归应用于该数据集,以实现更准确的预测结果。 ... [详细]
  • H3C防火墙自动构建安全隧道
    实验拓扑结构:两端采用静态IP地址配置。H3C防火墙能够自动构建IPSec安全隧道,确保数据传输的安全性。通过配置防火墙的非信任区域,实现自动化安全连接的建立与维护,有效提升网络防护能力。 ... [详细]
  • 第三届人工智能、网络与信息技术国际学术会议(AINIT 2022)
    20223rdInternationalSeminaronArtificialIntelligence,NetworkingandInformationTechnology第三届 ... [详细]
  • python绘制拟合回归散点图_机器学习之利用Python进行简单线性回归分析
    前言:在利用机器学习方法进行数据分析时经常要了解变量的相关性,有时还需要对变量进行回归分析。本文首先对人工智能机器学习深度学习、相关分析因果分析回归分析 ... [详细]
author-avatar
恋苦尘雪77
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有