导读:机器翻译,能够实现多种语言之间的自动翻译,方便人类的沟通和交流,具有重要的研究和应用价值。Transformer是机器翻译领域的一个经典模型,一经问世,便取得了SOTA效果。本文将带领大家一同探秘Transformer,并送上基于飞桨实现 Transformer的实战教程。
1. 机器翻译概述
1.1.机器翻译是什么
机器翻译(Machine Translation, MT)是指用计算机来实现不同语言之间翻译的技术。被翻译的语言称为源语言(Source),翻译成的结果语言称为目标语言(Target)。机器翻译实现了从源语言到目标语言的转换,是自然语言处理领域的重要研究方向之一。
一个中英翻译的示例:
Source:我在周日读了一本书。
Target:I read abook on Sunday.
机器翻译的应用场景非常广泛:
(1)境外旅游:我国是世界上第一大出境旅游客源国,在语言不通的境外,无论是餐馆点餐、商场购物,还是问路打车、酒店咨询,都需要机器翻译的帮助。
(2)外语教育:学习外语对中国人来说是一件难事,借助机器翻译技术,可以做到“哪里不会点哪里”,让外语学习变得简单高效。
(3)文学作品翻译:阅读外国名著等文学作品时,可以借助机器翻译技术,消除语言障碍,带来更流畅的阅读体验。
(4)影视作品翻译:观看外国电影时,如果没有中文字幕,往往不知道剧中的人物都说了些什么,借助机器翻译技术,可以实现人物对话实时翻译,优化观影体验。
1.2.机器翻译的发展历程
机器翻译技术的发展大致经历了三个阶段:
(1)基于规则的机器翻译
早期的机器翻译系统多为基于规则的翻译系统,翻译知识来自人类专家。找人类语言学家来写规则,这一个词翻译成另外一个词。这个成分翻译成另外一个成分,在句子中的出现在什么位置,都用规则表示出来。这种方法的优点是直接用语言学专家知识,准确率非常高。缺点是什么呢?它的成本很高,比如说要开发中文和英文的翻译系统,需要找同时会中文和英文的语言学家。要开发另外一种语言的翻译系统,就要再找懂另外一种语言的语言学家。因此,基于规则的系统开发周期很长,成本很高。
(2)基于统计的机器翻译
大约到了上世纪九十年代出现了基于统计的方法,称之为统计机器翻译。在统计机器翻译技术中,转化规则是由机器自动从大规模的语料中学习得到的,而非人类主动提供规则。因此,它克服了基于规则的翻译系统所面临的知识获取瓶颈的问题,但仍然存在许多挑战:1)人为设计许多特征(feature),但永远无法覆盖所有的语言现象;2)难以利用全局的特征;3)依赖于许多预处理环节,如词语对齐、分词或符号化(tokenization)、规则抽取、句法分析等,而每个环节的错误会逐步累积,对翻译的影响也越来越大。
(3)基于神经网络的机器翻译
近年来,深度学习技术的发展为解决上述挑战提供了新的思路。将深度学习应用于机器翻译任务的方法大致分为两类:
a) 仍以统计机器翻译系统为框架,只是利用神经网络来改进其中的关键模块,如语言模型、调序模型等(见下图的左半部分);
b) 不再以统计机器翻译系统为框架,而是直接用神经网络将源语言映射到目标语言,即端到端的神经网络机器翻译(End-to-End Neural MachineTra