雷锋网按:据悉传统的基于短语的机器学习将输入句子分解成词和短语,然后对它们的大部分进行独立翻译,而神经机器翻译则将整个输入句子视作翻译的基本单元。所以重大突破并不仅仅是上了深度神经网络,而是以句子为单元。
最近,做机器翻译的同志们一打开朋友圈,猛然发现好像饭碗没了,谷歌爸爸大力出奇迹,提高了机器翻译87%的水平。结果打开人家原文一看,原来虚惊一场,只是现有工作的整合,一篇完美的工程论文,并没有新的模型提出。不禁长舒一口气,呼~饭碗还在。
呼~到底火遍朋友圈的那篇文章“谷歌机器翻译取得颠覆性突破,错误率下降87%”到底几分真几分假呢?
1. 谷歌的论文价值
谷歌在本周发布了谷歌翻译的实现论文Google’s Neural Machine Translation System: Bridging the Gap
between Human and Machine Translation 这篇论文有非常强的工程性价值,融合了已有机器翻译的几大技术 Seq2Seq + Attention + Sentence loss optimization 三大技术均不是这篇原创,而是之前的经典工作。
如果说IBM Model1是机器翻译的牛顿定律,那么Seq2Seq就是机器翻译里的爱因斯坦相对论,Seq2Seq是谷歌在机器学习顶会NIPS的一篇论文,模型简单漂亮,为文本生成尤其是机器翻译打下了良好的模型基础,所有的NMT(神经机器翻译)均在此模型上添砖加瓦,这篇也是一样。
换句话说,神经机器翻译早已取得比统计机器翻译好的效果,只是大家不知道,误以为是谷歌拯救了科研界,创造了奇迹。其实是世界上所有机器翻译学者近两年一起的贡献(例如:清华也贡献了Sentence loss optimization for machine translation的技术)。
那么谷歌这篇论文最大的价值是什么呢?答案是:超强的工程实现。谷歌这篇论文的StackLSTM用了8个GPU实现了8层的StackLSTM,在当前高校以及普通公司的实现中,NMT还只跑在单卡上,由于显存限制单卡几乎不可能跑8层的StackLSTM,而谷歌利用GoogleBrain,向世人展示了一把当LSTM深到一定程度机器翻译能做成什么样。
2. 三大核心技术简介
(1) Seq2Seq是一个基于RNN的模型,他有encoder和decoder两部分。Encoder首先将源语言利用RNN(RNN是一个刻画序列的模型,hidden states记录了他读过序列的所有信息,变种有LSTM和GRU)进行句子的向量化表示,当Seq2Seq读到最后一个词的时候,他记录了这个句子的所有信息。
之后进入Decoder模块,此部分利用Encoder所给的源语言信息,一个词一个词的生成目标语言中的词汇。如果通俗的讲解这个模型就是,机器是一个翻译人员,突然有个人说了一串源语言所构成的序列,要他同声传译,源语言的句子只说一遍,让机器翻译出来目标语言所对应的句子。
(2)我们都知道同声传译很难,于是人类很聪明,让机器把需要翻译的东西纪录在纸上,每当他翻译一个词的时候一看下所需翻译的完整句子。这便提出了Attention模型。
Attention模型在翻译的时候,每当翻译一个词的时候,都要利用源语言的所有词进行一次计算,计算结果代表着当前词和源语言每个词的对应关系。例如翻译:多个机场都被迫关闭了时候,英文airport就和机场的关系非常强。这就像一个翻译官,每次都在看自己所记录的句子,并决定现在翻译哪个词。
(3)然而这么翻译还是不好,像在蹦词,而不是在翻译一句通顺的话,于是乎人类又教机器针对句子的损失进行优化。原来seq2seq优化的是当前词翻译的好不好(也叫作ML Loss),此时,直接优化我所翻译的句子好不好。
3. 谷歌神经机器翻译错误率下降最高达87%是如何算出来的?
神经机器翻译近两年取得了统计机器翻译20年还没够着的效果,效果毋容置疑。谷歌原文里面拿人给翻译的句子打分,满分六,神经机器翻译会好于统计机器翻译0.5分,大概就是学霸每次6分的考试都能比学渣高0.5,好是好但是远没有标题中的85%那么恐怖。
那那个百分之87%是怎么算出来的呢?比如满分5分,我得了4.9分,你得了4分,那么我就比你提高了90%,可谓玩了个数字游戏。如果这百分之87%是机器翻译的BLEU上升87%,那才是真正的颠覆。
现在BLEU普遍在30多,能提高五个点,大概就可以拿自然语言处理领域顶级会议ACL的最佳论文,而且会被历史铭记~而五个点才提高了百分之十几,谁要是能提高百分之八十几,那翻译真是可以下班了。
4. 神经机器翻译的优势
我们首先可以看一下神经机器翻译和语法机器翻译还有统计机器翻译的效果对比
我们可以看到神经机器翻译通过两年的努力就超过了另外两种机器翻译。
那为什么神经机器翻译会比统计机器翻译好这么多呢?
-
端到端的训练(End-to-end training )
神经机器翻译非常的优雅,一个模型就解决了机器翻译。而统计机器翻译包含词对齐,调序,重排等十分繁琐。
-
更好地词汇相似度计算
由于Word2vec的出现,近义词和同义词可以更好地在语义空间进行表达。例如百度和谷歌在语义空间就十分接近,而神经机器翻译可以很好利用word2vec的结果。
-
更好地利用上下文(只是更好还没做到很好)
Seq2Seq模型在对上下文建模时比统计机器翻译优雅很多,他不再受N元语言模型的束缚,可以更好地处理语言的上下文依赖。
5. 机器翻译还有什么问题
笔者不是机器翻译从业者,但略知机器翻译的几大问题。
1. 生僻词翻译效果极差。例如你输入了人名或者奇怪的机构名,都会导致翻译一塌糊涂。
2. 经常会漏词或者同一个词翻译好多次
比如图中的development就被重复翻译了
3. 不考虑上下文,以及无法 “雅”的翻译俗语等~
结语
神经机器翻译未来可期,但现在仍有诸多不足,仍然需要每一个研究人员不卑不亢,每天踏踏实实的做好研究才能真的颠覆昨天的机器翻译。而不要为了每天写大新闻,而急功近利。
雷锋网(公众号:雷锋网)注:本文为雷锋网独家约稿文章,未经授权拒绝转载。
相关阅读:
Google 翻译的“汉译英”错误率降低 60%,是怎么算出来的?
雷锋网原创文章,未经授权禁止转载。详情见转载须知。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/61272.html