神经机器翻译(neural machine translation, NMT)是近几年兴起的机器翻译方法[1-2]。神经机器翻译的核心思想是使用一个循环神经网络将源语言句子编码为一个稠密向量,然后从该向量解码出目标语言句子。由于神经机器翻译能够通过长短时记忆和注意力等机制有效处理长距离依赖问题,其翻译性能在汉语-英语、英语-法语、英语-德语、俄语-英语和捷克语-英语等多个语言对上显著超过了传统的统计机器翻译(statistical machine translation, SMT)。因此,神经机器翻译迅速取代统计机器翻译成为当前主流的机器翻译技术[3-4]。
目前,国际上提出了多种神经机器翻译方法。文[2]提出了基于注意力机制(attention)的神经机器翻译方法。文[5]提出词表扩大的方法。文[6]采用了未登录词替换的方法。文[7-11]提出基于最小意义单元表示建模。其中,最具代表性的是文[12]提出的字节对编码(byte pair encoding, BPE)技术。文[13-15]提出了多任务、多语言、zero-shot等方法。虽然已有研究针对低资源、形态丰富语言的神经机器翻译提出了多种解决方法,但是这些研究着眼的角度不同,差异很大,也未在公开的同一数据集上进行深入分析与对比,因此无法知道这些方法在不同语言环境下的有效性和局限性,这使得无从综合评价哪一种方法更适合维吾尔语-汉语机器翻译任务。
维吾尔语作为一种黏着语在语素的组合上具有高度的灵活性,虽然词干和词缀的数量有限,但是理论上可以组合生成无限多的词语, 绝大多数维吾尔语词语在语料库中只出现一次[16-17]。维吾尔语通过在词干上添加词缀来实现丰富的句法和语义功能。以表 1为例,“
更为严重的是,与维吾尔语相关的平行语料库严重匮乏。目前,英语、汉语等资源丰富语言的双语语料规模已达亿级以上,但是可公开购买使用的维吾尔语-汉语平行语料库仅有5万句对的小规模。由于神经机器翻译模型参数规模远远大于统计机器翻译模型,如果没有充足的训练数据,其翻译质量甚至会远远低于统计机器翻译。
本文将6种神经机器翻译方法在维吾尔语-汉语机器翻译任务上进行了全面细致的比较,深入分析了这些方法在处理不同语言现象时的有效性和局限性。实验结果表明,在维吾尔语-汉语机器翻译任务中,神经机器翻译对维吾尔语不需要事先进行任何形态切分也能获得很好的翻译效果。编码器和解码器都使用字符表示的方法[11]严重依赖于语言特性。编码器使用BPE、解码器使用字符的方法[9]在维吾尔语-汉语机器翻译任务上效果最好。本文工作首次在同一语料库上对不同的神经机器翻译方法进行了对比,这对进一步开展神经机器翻译研究工作具有重要的参考意义。
2 6种有影响力的神经机器翻译系统简介近年来,国际学术界提出了多种神经机器翻译方法,并发布了相应的开源系统,最具有代表性的是Bahdanau等[2]提出的基于注意力机制的神经机器翻译方法。该方法拉开了神经机器翻译超越统计机器翻译的大幕,其核心思想是在循环神经网络(recurrent neural network, RNN)框架下引入了注意力机制,表示源语言词语和目标语言词语的关联强度。对应的系统为GroundHog。
随着目标词表的扩大,神经机器翻译的训练和解码的复杂度增加,对于大规模的语料,使用全部的目标词很困难。于是,Jean等[5]使用采样算法(sampling)扩大了训练词表,进而提升了机器翻译质量,对应的系统为LV-groundhog。
但是,Jean等[5]的方法对于在训练语料中未出现的词仍不能识别。Sennrich等采用了BPE技术[12],提出了子词方法。其核心思想是语料库中的高频词作为整体出现的可能性大,因此不对其进行切分,而对低频词进行切分,由此增加稀疏词中子词的共现次数。该方法有效解决了数据稀疏问题,对应的系统为subword-nmt。BPE技术已在工业界的机器翻译技术中使用[3]。Sennrich等采用该技术在WMT2016机器翻译评测的8个语言对中的7个上获得了第1名。本文的实验结果也发现BPE技术大大提高了维吾尔语-汉语机器翻译的质量。
除此之外,Luong等[10]提出了字词混合(hybrid)方法[10],该方法在长短时记忆(long short-term memory, LSTM)网络框架下对高频词用词表示,而对稀疏词或未登录词用字符表示。该方法的优势是既能够保留更多词层面的语义信息,同时又解决了数据稀疏问题,对应的系统为nmt.hybrid。
以上的方法分别从词表扩大、子词以及字词混合的角度解决数据稀疏问题,但是如果能够采用基于字符的机器翻译将是更理想的解决方法。因为基于字符的方法有更多优势:1) 一种语言中的任何词,无论它多么生僻,都是由该语言的字符构成的,有了该语言所有字符向量,遇到该语言的任何词都可以采用字符向量的组合来表示该词;2) 采用字符表示可以大大减少空间复杂度,一般情况下,一种语言的字符总和在200个左右,比起万级、几十万级的词表,大大节省了存储和解码空间。Chung等[7]和Lee等[11]从字符层面上提出了基于字符的神经机器翻译方法。其中,Chung等[7]提出的方法为在RNN框架下源语言采用BPE技术编码、目标语言采用字符解码,解码端采用双规模(bi-scale)循环神经网络的模型架构。Lee等[11]的方法是在Chung等[7]的系统框架下在编码器端加入了卷积神经网络(convolutional neural network, CNN)。这两种方法对应的系统分别为dl4mt-cdec和dl4mt-c2c。
以上6种神经翻译方法的系统框架、词粒度等信息见表 5。本文将在实验部分对这些系统的一些特性及整体性能进行评估。
系统类别 | 文献 | 系统 | 框架 | 源语言 | 目标语言 | BLEU | |
开发集 | 测试集 | ||||||
SMT | Koehn等[19] | Moses | phrase-based | 语素 | 词 | 28.85 | 27.18 |
NMT | Bahdanau等[2] | GroundHog | RNN+attention | 词 | 词 | 13.74 | 13.33 |
Jean等[5] | LV-groundhog | RNN+attention+sampling | 词 | 词 | 13.57 | 13.10 | |
Luong等[10] | nmt.hybrid | LSTM+hybrid | 词+字符 | 词+字符 | 13.59 | 13.15 | |
Sennrich等[12] | subword-nmt | BPE | 子词 | 子词 | 13.72 | 13.57 | |
Lee等[11] | dl4mt-c2c | CNN+RNN+bi-scale | 字符 | 字符 | 16.45 | 15.05 | |
Chung等[7] | dl4mt-cdec | RNN+BPE+bi-scale | 子词 | 字符 | 19.34 | 18.00 |
3 实验语料与实验设置 3.1 语料
本文使用的语料是新疆大学的新疆多语种信息技术重点实验室公开的维吾尔语-汉语综合领域平行语料库(http://www.chineseldc.org/)。该语料库包含5万维吾尔语-汉语句对。使用该语料主要出于2个原因:1) 语料库已发布;2) 语料为维吾尔语-汉语句对。
3.2 预处理语料库包含5万维吾尔语-汉语句对,本文采用随机抽取算法,将语料分成了训练集(48 000句对)、开发集(1 000句对)和测试集(1 000句对)。维吾尔语训练集未进行形态切分之前的词语数量为1 166 118,词汇量是74 644。本文采用Morfessor软件(http://morfessor.readthedocs.io/en/latest/general.html)[18]对维吾尔语进行形态切分,同时使用了清华大学THULAC软件(http://thulac.thunlp.org/)对汉语分词。对维吾尔语和汉语数据进行形态切分和分词后的详细信息如表 2所示。
数据集 | 语言 | 分词工具 | 句子数 | 词语数量 | 词汇量 |
训练集 | 维吾尔 | Morfessor | 48 000 | 1 834 117 | 10 420 |
汉 | THULAC | 48 000 | 1 109 198 | 43 717 | |
开发集 | 维吾尔 | Morfessor | 1 000 | 38 424 | 4 200 |
汉 | THULAC | 1 000 | 23 462 | 5 570 | |
测试集 | 维吾尔 | Morfessor | 1 000 | 38 568 | 4 315 |
汉 | THULAC | 1 000 | 23 576 | 5 554 |
3.3 实验设置
神经机器翻译实验对所有的数据进行了乱序(shuffle)操作。本文使用BLEU(bilingual evaluation understudy)作为评测指标(https://github.com/moses-smt/mosesdecoder/blob/master/scripts/generic/multi-bleu.perl)。由于不同系统采用不同的架构,很难达到一致性,因此本文默认每个系统超参数的值是最优状态下的值。dl4mt-c2c系统中有2种模型设置——双语言对和多语言对模型,本文采用双语言对模型。所有神经机器翻译训练的迭代次数限制在20万次。子词词表大小均设定为3万。实验中,统计机器翻译实验系统采用开源的Moses (http://www.statmt.org/moses/)[19],该系统是基于短语(phrase-based)的统计机器翻译系统。
4 实验结果 4.1 BPE与形态切分的关系为了验证使用BPE前是否需要对维吾尔语数据进行形态切分,本实验分别比较了在未进行形态切分的维吾尔语数据上使用BPE和在用Morfessor形态切分后的数据上再使用BPE这两种情况在GroundHog系统上的性能体现。实验结果显示,两种数据在开发集上的BLEU值分别为13.72和13.93,后者比前者仅仅提高了0.21,提升并不显著。由此可知,对维吾尔语使用BPE技术时,可以不对维吾尔语进行形态切分,其原因可能是BPE技术可以较好地解决数据稀疏问题。但由于汉语句子中字与字之间没有空格,如果不分词而直接使用BPE技术,效果可能不理想,因此本文没有对目标端汉语数据进行类似的实验。
4.2 词表大小与形态切分的关系本实验分析了对维吾尔语数据未进行形态切分和进行形态切分两种情况下,在不同词表设定下的神经机器翻译方法的性能。
表 3显示不同词粒度和词表大小设置下GroundHog系统的机器翻译结果。表头下方第1行为对维吾尔语数据进行形态切分、词表取1万的实验结果,第2行为对维吾尔语数据进行形态切分后取全部词表(大小为10 420) 的实验结果,第3行是维吾尔语数据未进行形态切分、词表大小取3万的实验结果。实验结果表明,当维吾尔语数据进行形态切分后,用部分词表比用全部词表在开发集和测试集上的BLEU值高一些。分析其原因可能是形态切分后的语素是离散排列的,如果将形态切分后的全部语素都包含到词表中,可能会由于低频离散语素丢失了词层面上的语义信息,从而影响机器翻译的性能。表 3的实验结果表明,维吾尔语数据不使用形态切分、词表大小使用3万比使用形态切分、用部分词表或全部词表数据的BLEU值在测试集上分别高出0.49和0.67,由此说明在低资源、形态丰富的维吾尔语-汉语数据集上,相比形态切分,词表更能提高机器翻译的性能,其原因可能是形态切分会导致词层面上的语义信息丢失。与之相反,如果扩大词表,既能减少未登录词,也保留了词层面的语义信息,神经网络可以从中学习词的形态特征及结构,进而提高机器翻译的性能。另外,形态切分工具是独立于机器翻译的,因此切分结果的好坏直接影响机器翻译的性能。
4.3 基于字符的dl4mt-c2c系统与汉语分词关系
文[11]提出了源和目标语言不需要进行任何分词的方法,对应的系统为dl4mt-c2c。为了验证它在汉语上的性能,本实验对汉语分词与否两种情况进行对比。
由表 4可知,不对汉语进行分词,dl4mt-c2c系统的效果很差,说明文[11]提出的方法并不是语言独立的,对汉语这种字与字之间没有任何空格的孤立语并不适合。文[20]指出机器翻译的评测方法BLEU并不适合字符级别的NMT系统的评估。
4.4 不同机器翻译方法在维吾尔语-汉语数据上的性能
本实验分析了维吾尔语-汉语数据分别在SMT和NMT上的性能体现。其中,SMT系统采用开源的Moses系统[19],对应的实验在其默认设置下完成。NMT采用第2部分所述的6种系统。在NMT实验中维吾尔语不进行形态切分,汉语进行分词,GroundHog词表大小取3万,子词词表大小也取3万,LV-groundhog词表设置为维吾尔语-汉语的全部词表。字符表取每种语言训练集中的全部字符。实验结果如表 5所示。
由表 5可知,目前的NMT系统在维吾尔语-汉语翻译上还不能超过传统的SMT系统,这和文[21]得出的结论一致,即NMT系统在豪萨语、土耳其语、乌兹别克语和乌尔都语这4种资源匮乏语言的小规模数据集上的性能无法超过SMT系统。
NMT机器翻译系统中效果最好的是dl4mt-cdec,其BLEU值比GroundHog高出了4.67。为了排除语言依赖性,本文作者在百万规模的汉语-英语数据上也进行了相同的实验,实验结果同样也是dl4mt-cdec的BLEU值最高。可见,在这6个NMT系统中,dl4mt-cdec性能最佳,而且具有良好的语言无关性。
LV-groundhog没有超过GroundHog的原因可能是本研究的维吾尔语-汉语语料规模太小,采样技术没有很好地发挥作用。对于dl4mt-c2c系统,已有研究[11]在双语言对模型上分别对德语-英语、捷克语-英语、芬兰语-英语和俄语-英语做了实验,只有德语-英语的BLEU值超过了dl4mt-cdec。因此,dl4mt-c2c在维吾尔语-汉语机器翻译任务上没有超过dl4mt-cdec是合理的,这也说明dl4m-c2c系统的性能可能具有语言依赖性。nmt.hybrid系统包含2个子系统,分别对应文[22]和文[10]。其中文[22]是带有全局上下文注意力机制的NMT系统,文[10]在文[22]基础上,对于未登录词使用基于字符的双层循环神经网络架构,目的是为了解决数据稀疏问题。但是,本文作者发现文[22]和[10]在维吾尔语-汉语机器翻译任务上的BLEU值相同, 其原因可能是文[10]对未登录词采用基于字符的网络架构在小规模维吾尔语-汉语数据集上不能很好地发挥作用,维吾尔语和汉语的语言差异大也可能是一个原因,两个相近语言的翻译效果可能会好一些。
5 结论本文采用维吾尔语-汉语机器翻译任务对国际上近年来提出的6种具有影响力的神经机器翻译方法(基于注意力机制(GroundHog),词表扩大(LV-groundhog),源语言和目标语言采用子词(subword-nmt)、字符与词混合(nmt.hybrid)、子词与字符(dl4mt-cdec)以及完全字符(dl4mt-c2c))进行了全面深入对比。本文发现,在维吾尔语-汉语神经机器翻译任务上,不需要事先对维吾尔语进行形态切分,只需扩大词表也能得到相当或更好的翻译结果。同时,本文发现在这6种神经机器翻译方法中Chung等[7]提出的dl4mt-cdec系统在维吾尔语-汉语机器翻译任务上取得了最佳效果。目前提出的完全字符的神经机器翻译方法[11] dl4mt-c2c并不适合解码端采用孤立语如汉语的机器翻译任务,使用该方法时仍然需要对汉语进行分词才能取得良好的翻译效果。未来,将进一步研究低资源、形态丰富语言的神经机器翻译技术,以提升翻译效果。
[1] | Sutskever I, Vinyals O, Le Q. Sequence to Sequence Learning with Neural Networks[Z/OL]. (2014-09-10)[2015-03-15]. https://arxiv.org/abs/1409.3215. |
[2] | Bahdanau D, Cho K, Bengio Y. Neural Machine Translation by Jointly Learning to Align and Translate[Z/OL]. (2014-09-01)[2015-03-20]. https://arxiv.org/abs/1409.0473. |
[3] | Wu Y, Schuster M, Chen Z, et al. Google's Neural Machine Translation System:Bridging the Gap between Human and Machine Translation[Z/OL]. (2016-09-26)[2016-10-02]. https://arxiv.org/abs/1609.08144. |
[4] | Johnson M, Schuster M, Le Q, et al. Google's Multilingual Neural Machine Translation System:Enabling Zero-Shot Translation[Z/OL]. (2016-11-14)[2016-11-16]. https://arxiv.org/abs/1611.04558. |
[5] | Jean S, Cho K, Memisevic R, et al. On using very large target vocabulary for neural machine translation[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics. Beijing, 2015:1-10. |
[6] | Luong M, Sutskever I, Le Q, et al. Addressing the rare word problem in neural machine translation[C]//Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics. Beijing, 2015:11-19. |
[7] | Chung J, Cho K, Bengio Y. A character-level decoder without explicit segmentation for neural machine translation[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Berlin, Germany, 2016:1693-1703. |
[8] | Ling W, Trancoso I, Dyer C, et al. Character-Based Neural Machine Translation[Z/OL]. (2015-11-14)[2016-02-03]. https://arxiv.org/abs/1511.04586. |
[9] | Costa-Jussà M, Fonollosa J. Character-based neural machine translation[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Berlin, Germany, 2016:357-361. |
[10] | Luong M, Manning C. Achieving open vocabulary neural machine translation with hybrid word-character models[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Berlin, Germany, 2016:1054-1063. |
[11] | Lee J, Cho K, Hofmann T. Fully Character-Level Neural Machine Translation without Explicit Segmentation[Z/OL]. (2016-10-10)[2016-10-22]. https://arxiv.org/abs/1610.03017. |
[12] | Sennrich R, Haddow B, Birch A. Neural machine translation of rare words with subword units[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics. Berlin, Germany, 2016:1715-1725. |
[13] | Luong M, Le Q, Sutskever I, et al. Multi-Task Sequence to Sequence Learning[Z/OL]. (2015-11-19)[2016-07-17]. https://arxiv.org/abs/1511.06114. |
[14] | Firat O, Cho K, Bengio Y. Multi-way, multilingual neural machine translation with a shared attention mechanism[C]//Proceedings of NAACL-HLT. San Diego, CA, USA, 2016:866-875. |
[15] | Firat O, Sankaran B, Al-Onaizan Y, et al. Zero-resource translation with multi-lingual neural machine translation[C]//Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Austin, TX, USA, 2016:268-277. |
[16] | 哈里旦木·阿布都克里木, 程勇, 刘洋, 等. 基于双向门限递归单元神经网络的维吾尔语形态切分[J]. 清华大学学报(自然科学版), 2017, 57(1): 1–6. ABUDUKELIMU Halidanmu, CHENG Yong, LIU Yang, et al. Uyghur morphological segmentation with bidirectional GRU neural networks[J]. J Tsinghua Univ (Sci and Tech), 2017, 57(1): 1–6. (in Chinese) |
[17] | Abudukelimu H, Liu Y, Chen X, et al. Learning distributed representations of Uyghur words and morphemes[C]//Proceedings of CCL/NLP-NABD. Guangzhou, 2015:202-211. |
[18] | Creutz M, Lagus K. Unsupervised discovery of morphemes[C]//Morphological and Phonological Learning:Proceedings of the 6th Workshop of the ACL Special Interest Group in Computational Phonology (SIGPHON). Stroudsburg, PA, USA, 2002:21-30. |
[19] | Koehn P, Hoang H, Birch A, et al. Moses:Open source toolkit for statistical machine translation[C]//Proceedings of the 45th Annual Meeting of the Association for Computational Linguistics Companion Volume Proceedings of the Demo and Poster Sessions. Pargue, Czech Republic, 2007:177-180. |
[20] | Sennrich R. How Grammatical Is Character-Level Neural Machine Translation Assessing MT Quality with Contrastive Translation Pairs[Z/OL]. (2016-12-14)[2016-12-20]. https://arxiv.org/abs/1612.04629. |
[21] | Zohp B, Yuret D, May J, et al. Transfer learning for low-resource neural machine translation[C]//Proceedings of the 2016 Conference on Empirical Methods in Natural Language Processing. Austin, TX, 2016:1568-1575. |
[22] | Luong M, Pham H, Manning C. Effective approaches to attention-based neural machine translation[C]//Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing. Lisbon, Portugal, 2015:1412-1421. |