当前位置: 首页 > news >正文

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

论文地址: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

相关文章:

  • 一文学会 Spring MVC 表单标签
  • 【联邦学习(Federated Learning)】- 横向联邦学习与联邦平均FedAvg
  • 免费一键生成原创文章-原创文章批量生成
  • 众人围剿,GPT-5招惹了谁
  • Spring Boot 3.0系列【19】核心特性篇之自定义Starter启动器
  • oracle中sql 正则怎么写?
  • 【5G RRC】NR测量Gap介绍
  • 【T+】登录畅捷通T+软件后提示同一个浏览器中不允许存在用户XX同时在线。
  • pom文件详解
  • JVM 类加载器子系统
  • 半小时内实现Esp32-Cam模型训练和图像识别
  • 关于一个大学生写一个题目写一天
  • 【C#进阶】C# 多线程
  • mlq移动最小二乘方法
  • 【Spring6】| Spring IoC注解式开发
  • Apache的80端口被占用以及访问时报错403
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • DataBase in Android
  • ES6系统学习----从Apollo Client看解构赋值
  • HTML5新特性总结
  • HTTP中的ETag在移动客户端的应用
  • iOS | NSProxy
  • IOS评论框不贴底(ios12新bug)
  • JDK 6和JDK 7中的substring()方法
  • JS数组方法汇总
  • js学习笔记
  • linux学习笔记
  • Netty 4.1 源代码学习:线程模型
  • webgl (原生)基础入门指南【一】
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 对象引论
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 计算机在识别图像时“看到”了什么?
  • 警报:线上事故之CountDownLatch的威力
  • 码农张的Bug人生 - 见面之礼
  • 悄悄地说一个bug
  • 使用agvtool更改app version/build
  • 跳前端坑前,先看看这个!!
  • 通过几道题目学习二叉搜索树
  • 湖北分布式智能数据采集方法有哪些?
  • 回归生活:清理微信公众号
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • #define用法
  • #include到底该写在哪
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (C++17) std算法之执行策略 execution
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (附源码)计算机毕业设计ssm电影分享网站
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (顺序)容器的好伴侣 --- 容器适配器
  • (四)【Jmeter】 JMeter的界面布局与组件概述
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (译)2019年前端性能优化清单 — 下篇
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)c++ std::pair 与 std::make