独家科普:谷歌“汉译英”错误率降低60%是怎样算出来的?

两天前谷歌宣布发布新一代神经网路机器翻译系统(Google Neural Machine Translation),简称GNMT,因为使用当前最先进的训练技术,能够实现到迄今为止机器翻译质量的最大提升。

“人们对这个翻译系统的评价显示,与之前那个基于短语的翻译系统相比,在翻译多种语言时,神经学习翻译系统的错误率已经降低了60%左右,其中包括英法互译,英西互译以及英汉互译。附加实验的结果显示,翻译系统的质量将和笔译人员平均水准更加接近。”

但是好奇心爆棚的AI科技评论君,突然想知道这个错误率降低60%是怎么推理出来的,所以我们为大家进行了一轮神还原。

第一步。

从维基百科和新闻网站上,随机选取 500 个中文句子,作为被评估内容。

第二步。

找人工翻译,将500个句子翻译为英文。

第三步。

将旧的机器翻译结果、新的机器翻译结果(神经网络)、人工翻译的结果、,这三份“考卷”,拿给熟练使用中英双语的真人判卷员。

第四步。

熟练使用中英双语的真人判卷员,给每张考卷的每个句子,进行打分。分数为 0~6 的整数,0代表翻译结果“狗屁不通”,6代表翻译结果“精彩绝伦”。

第五步。

出成绩了,旧机器翻译每个句子平均得分 3.694,新机器翻译得到 4.263 分,人工翻译得分 4.636 分。别忘了满分是 6 分哦。

第六步。

分别计算,跟人工翻译的水平相比,“误差率”(错误率)是多少。

  • 旧机器翻译:(4.636-3.694) / 4.636 = 20%
  • 新机器翻译:(4.636-4.263) / 4.636 = 8%

第七步。

算“错误率”降低了多少。

(20%-8%)/ 20% = 12% / 20%= 60%

第八步。

算算“准确率”提升了多少。

(4.263-3.694)/3.694 = 15%

第九步。

为什么用户兴奋,媒体兴奋,专家没那么兴奋?翻译公司商鹊网CTO魏勇鹏告诉雷锋网:

这里面两个主要的“陷阱”:

1、从3.6提升到4.2,和从4.2提升到4.6,这两个所需要付出的努力程度,后者可能是前者的10倍以上都不止,但Google就简单的线性计算为缩小了60%的差距。 2、中英的人工翻译,得到的评分也就只是4.6,比英西的人要低得多,这点说明用来作为基准的“人”,未必是靠谱的,以它为基准来评估,也未必是靠谱的。

其实还有第三点,别忘了卷子是 Google 自己出的。

注意用于做评测的数据是:500 randomly sampled sentences from Wikipedia and news websites。这些都是互联网上语料最充足的内容类型。也就是机器最擅长的内容。

第十步。

行业认可的一种机器翻译成绩评估,是 WMT 的 BLEU Score 比赛。Google 这次发布的论文,也用了 BLEU Score 的分数。雷锋网没找到汉译英的部分,但是有英译法的数据,从 37 分提升到 41.16 分。

第十一步。

很多人类患上“围棋”恐慌症了。

Google 首次将神经网络技术,成功应用到翻译产品上,上线后使得翻译质量有了明显提升。但是媒体报道中的标题“错误率降低 60%”,甚至某种语言是 “85%”,很容易让普通人以为蒸汽机革命来了……事实上,微软、百度等大公司之前也在翻译产品中使用神经网络技术,但没有引起大的传播。

究其原因。一位不具名的评论者告诉雷锋网,之前很多人看到 Google 的电脑在围棋上战胜了人类,心理上受到了冲击,自然而然认为 Google 强大的人工智能技术,会颠覆很多行业。尤其是那些当初认为机器在围棋上战胜不了人类的人类,现在又对“人工智能”过于乐观了。

第十二步。

北京时间9月29日早上,论文作者之一,Google Brain 团队的陈智峰,通过远程视频接受了 3 家中国媒体的采访。他告诉雷锋网,这次 Google 比较特别的地方在于,训练过程利用了大量的分布式计算,所以才能把语言模型很快训练出来。“差不多一星期才能处理一个方向的语言模型。但是Google有大概一万个语言的模型需要训练,既需要我们有巨大的资源投入,也在不停地改进算法。 ”

对于机器翻译取代人工翻译的问题。陈智峰认为,规则的文本,比如医学论文,比如时事新闻,大家更注重信息的传达,在修辞方面或情感方面的传达可以弱化一些。“机器翻译就能够很快地帮助你获得信息,这是机器翻译目前对人类的主要帮助。”

他说,“目前来讲,我觉得人与人之间的自然的沟通,通过机器翻译还是有很大的工作需要做。做到真正能够让你感觉到跟你说话的是个人,而不是机器,还是有很多年需要努力的。”

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2016-09-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

Using sqlite with .NET

The other day I found that there is a .NET wrapper for sqlite. sqlite is a very ...

2308
来自专栏海说

Java应用中常见的JDBC连接字符串(SQLite、MySQL、Oracle、Sybase、SQLServer、DB2)

Java应用中常见的JDBC连接字符串 Java应用中连接数据库是不可或缺的,于是便整理一些可能用到的JDBC的jar包及其相匹配的URL,以备日后查阅。 1)...

2740
来自专栏跟着阿笨一起玩NET

[C#]工具类—FTP上传下载

  不错的文章:http://www.cnblogs.com/greatverve/archive/2012/03/03/csharp-ftp.html

1201
来自专栏Pulsar-V

C#下各种获取时间的姿势

直接贴代码吧 DateTime dt = DateTime.Now; Label1.Text = dt.ToString();//2005-11-5 13:21...

3236
来自专栏xingoo, 一个梦想做发明家的程序员

windows程序设计-第四章 system1.c

/*---------------------------------------------------- SYSMETS1.C -- System M...

23710
来自专栏c#开发者

简体-繁体内码转换API

 public class ANSIConversionAPI     {         const int SIMPLIFIED_CHINESE =...

3514
来自专栏DT乱“码”

连接数据库操作

package com.chendongj.dbUtil; import java.sql.Connection; import java.sql.Drive...

2029
来自专栏成长道路

JDBC动态SQL语句连接orcale数据库的工具类

import java.sql.Connection; import java.sql.DriverManager; import java.sql.P...

2510
来自专栏跟着阿笨一起玩NET

C# Stream 和 byte[] 之间的转换

621
来自专栏用户画像

SQL Server 数据库连接类

924

扫码关注云+社区