ChatGPT可以作为一个翻译器吗?

news/2024/11/26 10:45:41/

论文地址:https://arxiv.org/abs/2301.08745.pdf

背景

自从OpenAI2022年11月30日发布ChatGPT以来,基本上把NLP所有任务大统一了,那么在机器翻译的表现到底如何呢?腾讯AI Lab在翻译Prompt多语言翻译以及翻译鲁棒性三方面做了一些实验,并且与Google Translate(133种语言), DeepL Translate(29种语言)Tencent TranSmart(16种语言)三款商业翻译软件进行了对比。

核心结论

1、在高资源语言上的翻译效果和主流商业翻译软件(Google翻译,deepl等)相当;

2.在低资源语言上的翻译效果差强人意,通过pivot prompting方法可以提升效果;

3.在翻译的鲁邦稳定性上落后于主流商业翻译软件;

4.ChatGPT在口语翻译上是一个潜在的好工具;

ChatGPT机器翻译评估

评估数据

由于翻译数据需要手动去和ChatGPT交互得到,比较耗时,因此作者每个种类的数据集都随机采样了50个样本进行评估

评估指标

BLEU、ChrF++、TER,这三种评估指标可以在如下链接找到实现方案:https://github.com/mjpost/sacrebleu

翻译的Prompts

首先作者使用如下Prompt在ChatGPT上生成翻译需要的Prompts

如上图所示,发现生成的Prompt是合理的,但基本都很类似的,作者重新进行了归类,如下表所示:

[SRC]表示源语言,[TGT]表示目标语言。由于在Figture1中生成的Prompt中都带有“引号”,作者在Tp2中增加了去掉生成“引号”的Prompt,不过这样偶尔导致生成不稳定。

从上述三种翻译Prompt的实验来看,Tp3是最佳的,因此后面的实验都使用Tp3 Prompt。

翻译的语言

作者使用了四种语言进行两两之间进行翻译,以BLEU为平均指标,结果如下图所示:

从上图可以看出,在低资源的罗马语言到英语的效果要比高资源的德文到英语的翻译差,所谓高资源,低资源是从他们的翻译语料多少来定的。

一般来说,低资源或者不同语种直接的翻译,传统商业软件是比较难的,而ChatGPT一个模型解决多任务的能力可以通过高资源的语料和NLP其他任务弥补这种不足。

为了解决不同语种的翻译,提出了一种叫Pivot Prompting的方法,具体做法就是先把一种语言翻译成中间语言,然后再翻译成目标语言,一般中间语言默认是英语。形式如下:Please provide the [PIV] translation first and then the [TGT] translation for these sentences one by one:

使用这种方法,Tp3可以修改成如下形式:

使用Pivot Prompting方法,并且对低资源语言翻译进行BLEU评估,结果如下Table 5所示。

ChatGPT在翻译任务的鲁棒性

从Table 6可以看出,ChatGPT在这些翻译数据上不如商业软件Google Translate 和 DeepL Translate好。
下面看一些具体的case

参考文献:

[1] https://github.com/wxjiao/Is-ChatGPT-A-Good-Translator
[2] https://translate.google.com
[3] https://www.deepl.com/translator
[4] https://transmart.qq.com/zh-CN/index
[5] https://github.com/facebookresearch/flores
[6]https://github.com/hsing-wang/WMT2020_BioMedical/tree/master/Bio-18-19-testset 
[7] https://github.com/mjpost/sacrebleu


http://www.ppmy.cn/news/29538.html

相关文章

域权限维持之创建DSRM后门

DSRM(目录服务还原模式),在初期安装域控的时候会让我们设置DSRM的管理员密码,这个密码是为了在后期域控发生问题时修复、还原或重建活动目录。DSRM账户实际上是administrator账户,并且该账户的密码在创建之后很少使用。…

(邱维声)高等代数课程笔记:线性方程组解的情况及其判别准则

1.2 线性方程组解的情况及其判别准则 \quad回顾一下,上一节 中,介绍了求解一般的 nnn 元线性方程组的矩阵消元法。其一般步骤为: 列出原线性方程组的增广矩阵;通过不断地对增广矩阵作初等行变换,得到阶梯形矩阵&#…

hashCode 和 equals 的处理

文章目录hashCode 和 equals 的处理1. 阿里巴巴编程规范要求2. equals和hashcode的分析2.1 Object方法2.2 只覆写(Override)equals带来的问题问题演示问题分析问题处理hashCode 和 equals 的处理 1. 阿里巴巴编程规范要求 2. equals和hashcode的分析 2…

自动化测试实战篇(8),jmeter并发测试登录接口,模拟从100到1000个用户同时登录测试服务器压力

首先进行使用jmeter进行并发测试之前就需要搞清楚线程和进程的区别还需要理解什么是并发、高并发、并行。还需要理解高并发中的以及老生常谈的,TCP三次握手协议和TCP四次握手协议**TCP三次握手协议指:****TCP四次挥手协议:**进入Jmeter&#…

【编程基础之Python】8、Python复合数据类型

【编程基础之Python】8、Python复合数据类型Python复合数据类型列表(List)创建列表访问元素内置方法列表操作元组(Tuple)创建元组访问元素集合(Set)创建集合基本操作其他操作字典(Dictionary&am…

Python解题 - CSDN周赛第33期

本期四道题全考过&#xff0c;题解在网上也都搜得到。。。没有想法&#xff0c;顺手水一份题解吧。 第一题&#xff1a;奇偶排序 给定一个存放整数的数组&#xff0c;重新排列数组使得数组左边为奇数&#xff0c;右边为偶数。 输入描述&#xff1a;第一行输入整数n。(1<n<…

如何从 Android 手机上的 SD 卡恢复已删除的照片

为了扩展手机的存储空间&#xff0c;很多人都会在安卓手机上插入一张SD卡来存储一些大文件&#xff0c;比如电影、照片、视频等。虽然SD卡给我们带来了很大的方便&#xff0c;但我们还是避免不了数据丢失一些事故造成的。您是否正在为 SD 卡上的照片意外丢失而苦恼&#xff1f;…

【C++】多态虚表

多态——多种形态多态的分类&#xff1a;1.静态多态&#xff1a;函数重载和运算符重载&#xff08;复用函数名&#xff09;2.动态多态&#xff1a;派生类和虚函数实现运行时多态静态多态和动态多态的区别&#xff1a;静态多态的函数地址早绑定——编译阶段确定函数地址动态多态…