不同子词处理方法对机器翻译的影响研究

2024-06-16 12:58唐超超拥措仁青卓玛
电脑知识与技术 2024年12期
关键词:机器翻译藏语

唐超超 拥措 仁青卓玛

关键词:低资源;机器翻译;藏语;Transformer;子词

0 前言

机器翻译(MT) 是将一种语言文本转换为另一种语言的技术。在过去的几十年里,机器翻译的方法经历了从基于规则(RBMT) 到基于统计(SMT) [1],再到基于神经网络(NMT) [2]的演变。其中,NMT由于其简单的端到端架构和强大的表示能力,已经成为了当前机器翻译领域的主流方法,并在许多语言对上取得了显著的性能提升。然而,如何有效地处理不同语言之间的词汇差异和数据稀疏问题仍是一个巨大的挑战。据相关研究表明,可以使用多种子词处理方式解决这个问题,如subword-nmt[3]、sentencepiece[4]等方法。但不同的子词处理方式可能对不同的语言和数据资源有着不同的适应性和效果。因此,如何选择合适的子词处理方式对于提高NMT的性能是非常重要的。

由于汉-藏和汉-英属于两个不同的语系,具有不同的语法结构、词汇特点和文化背景,研究这两个语言对之间的翻译问题能够帮助我们更好地理解和解决跨语言翻译的挑战。因此,针对上述问题,本文旨在汉-藏、汉-英两个语言对上,使用Transformer模型探究在低资源[5]情况下三种子词处理方式对翻译模型性能的影响,并在不同的数据规模下进行了实验。本文主要贡献如下:

1) 首次探究了在汉-藏方向上不同的子词处理方式对神经机器翻译(NMT) 性能的影响,并与汉-英方向进行了对比,以寻找在这两个语言方向上最有效的子词处理策略。

2) 研究了在不同数据量的情况下,使用相同的子词处理方式对翻译模型的效果,从而了解不同数据量对NMT性能的影响,并验证在低资源情况下仍然可行的翻译方法。

1 相关工作

集外词[6]会降低机器翻译的准确性和流畅性,且在资源稀缺型语言的神经机器翻译中更加严重。因此,不管是在资源丰富还是资源稀缺的语言中,对子词单元进行建模已经成为解决自然语言处理集外词的一种比较流行的方法。其中,使用最多的子词切分方式为字节对编码(BPE) [7]。然而,不同的子词处理方式在不同的语言上会产生不同的效果。2015年,Sen?nrich等[3]将BPE与char-bigram处理方式应用到NMT 领域,结果表明英-俄数据语料为60k时char-bigram 效果最佳。2017年,Yang等人[8]对子词处理的实验进行了对比,发现做子词处理可以提升模型的效果。2018年,Yang等人[9]使用subword处理方式,在weibo 数据集上F1 值最高。2020 年,Provilkov 等人[10]使用BPE以及BPE-dropout在多种语言对上进行实验,结果表明使用BPE-dropout的性能最好。因此,在特定语料对上探究合适的子词处理方式对机器翻译的有效性尤为重要。

在2018年,Kudo等[4]提出了一种新的子词处理方式sentencepiece。与其他子词处理方式不同,senten?cepiece可以直接从原始句子中进行训练,而不依赖于特定语言的预处理或后处理步骤。这种新的处理方式集成了改进后的字节对编码BPE和unigram语言模型[11],从而在多个文本上取得了最佳效果。实验证明,该方法在多种语言对上的翻译性能要优于原始BPE方法。2020年,László János Laki等[12]使用字节对编码的sentencepiece 对62 种语言进行处理,发现在NMT-TM模型下的效果最好。2021年,Jonne Salev¨a 等人[13]使用四种子词处理方式在四个语言对上进行机器翻译实验,其中在低资源时使用sentencepiece仅在1个语言对的BLEU值达到最高,但随着数据量的增加,翻译性能也随之提升。同年,Chanjun Park等人[14]使用了五种处理方式,其中sentencepiece性能仅次于该文作者提出的ONE-Piece效果。2022年,Xing?shan Zeng等人[15]发现使用sentencepiece在三个语言对上,BLEU值均为最高。然而,同年Jenalea Rajab[16]发现在四个语言上使用sentencepiece进行处理,机器翻译模型的性能在不同语言对上并不是随着数据量的增加而增加。因此,探究sentencepiece在不同数据量下对机器翻译模型性能的影响较为关键。本文还采用了subword-nmt 与sentencepiece 进行对比实验,以确定在汉藏语言对上是否适合sentencepiece 处理方式。

2 模型和方法

本文采用了Transformer模型作为基础框架。该模型由Vaswani等人[17]于2017年提出,是一种基于自注意力机制的端到端的序列到序列的神经网络模型。它不需要使用循环神经网络或卷积神经网络,而是完全依赖于自注意力机制来捕捉序列中的依赖关系。Transformer模型由编码器和解码器两部分组成。编码器由N层相同的子层组成,每个子层包含一个多头自注意力机制和一个前馈神经网络,以及残差连接和层归一化。解码器也由N层相同的子层组成,每个子层除了包含编码器中的组件外,还增加了一个掩蔽的多头自注意力机制和一个编码器-解码器的自注意力机制,用于分别对目标序列和源序列进行注意力计算。Transformer模型在许多语言对上都取得了很好的翻译性能,因此本文选择它作为基础框架。

在机器翻译中使用BPE算法可以有效地处理未登录词和稀有词等问题。BPE算法首先将训练数据中的所有词初始化为字符序列,并统计所有相邻字符对出现的频率。然后重复执行以下操作,直到达到目标子词数量或者合并操作次数:选择出现频率最高的相邻字符对,将其合并为一个新的子词,并更新训练数据和字符对频率。最后,根据得到的子词集合,将词汇表中的所有词切分为子词序列。为了更好地对比不同子词处理下的BPE算法,在实验中分别采用了两种方式:字节对编码的sentencepiece 和subwordnmt。

2.1 subword-nmt

subword-nmt是由Sennrich等人[3]开发的一个基于统计的子词分割工具,它根据训练数据中的统计信息来切分词汇表中的词,主要用于神经机器翻译。subword-nmt需要对句子进行分词,然后根据训练数据中的统计信息来切分词汇表中的词。它需要指定一个合并操作的次数来控制子词数量,从而有效地处理未登录词和稀有词等问题。

为了进一步分析subword-nmt子词处理方式在三种语言上的特点和差异,笔者对其进行了示例分析,其处理后的语句对如表1所示。在表1中,首先对原始句子进行词处理,中文语料采用pkuseg分词[18],英文语料采用nltk分词[19],藏文语料使用tip-las分词[20];然后再将处理后的句子进行subword-nmt处理。

2.2 sentencepiece

为了探究适合汉藏以及汉英的子词处理方式,本文采用了另一种基于学习的子词处理方式sentence?piece与subword-nmt进行对比分析。sentencepiece可以从训练数据中自行学习最为合适的子词切分方式。它是由Google开发的一个无监督的文本分词和反分词工具,主要用于基于神经网络的文本生成系统,如神经机器翻译。由于sentencepiece可以直接从原始句子中训练子词模型,不需要预先对句子进行分词,并且实现了子词正则化,如子词采样和BPE-dropout,从而提高了NMT模型的鲁棒性和准确性,因此在多个语言对上都取得了不错的效果。本文采用字节对编码的sentencepiece对藏汉英三个语言对进行处理,以分析其在不同语言上的特点。sentencepiece处理后的语句对如表2所示。

根据表2的数据,可以观察到sentencepiece在中英两种语言上的子词粒度明显高于subword-nmt。这表明sentencepiece能够更细致地划分子词单元,从而更好地覆盖更多的语言现象和子词组合,这也与其在汉英翻译任务上表现优异的结果一致。然而,在藏文上,sentencepiece的子词粒度却比subword-nmt低。这表明sentencepiece在处理藏文时可能无法很好地捕捉语言的复杂性和多样性,可能导致一些重要的子词被忽略或合并,进而影响在汉藏翻译上使用sentence?piece的效果。综上所述,可以得出以下结论:senten?cepiece在中英两种语言上具有较高的子词粒度,但在藏文上具有较低的子词粒度。

2.3 数据配置探究

在低资源情况下,找到适合汉-藏和汉-英两个语言对的最佳子词处理方式对于机器翻译模型的性能至关重要。因此,本文进行了实验,在汉-藏和汉-英两个语言对上分别使用了不同数量级的平行语料作为训练数据。实验流程如图1所示,训练数据被分为20K、40K、60K等不同规模,并以20K为幅度进行增长,以更好地观察在不同语言对和不同子词处理方式下模型性能的变化,并从中选择合适的数据规模和子词处理方式。

3 实验与结果分析

3.1 数据集

本次实验的数据来源包括了第十八届全国机器翻译大会(CCMT 2021)提供的15万条藏汉平行语料和EMNLP 2020第五次会议机器翻译(WMT20)新闻评论v15提供的15万条中英平行语料。经过数据清洗和去重处理后,最终获得了142 000条汉藏和142 000条汉英平行语料。接着,将这些数据对划分为训练集、验证集和测试集。验证集和测试集在各种数据规模下保持固定,均包含1 000条句子,其余则用作训练集。为了研究不同数据配置下的效果,将数据集分成不同大小的配置,在每个配置中,模型在汉藏和汉英方向上进行训练,直到验证集不再有进一步改进为止,即认为达到了收敛状态。最后,使用BLEU[21]指标中的SacreBLEU[22]来评估模型性能。

3.2 实验设置

本文中使用Adam优化器[23]进行所有的NMT模型训练,并且所有的模型训练实验都在Fairseq框架上进行。具体的参数设置如表3所示,其中warmsteps参考了Vaswani等人的参数设置,并采用了warm-up策略来动态调整学习率的值。

3.3 结果分析

本文使用相同大小的数据比较了不同的子词处理结果。一种是将数据以原始形式提供给模型,即没有进行子词处理,与在训练之前进行子词处理的情况进行比较。另一种情况是在不同语言对上进行训练,即zh-bo与zh-en比较。第一种情况可以衡量子词处理对翻译质量的影响,第二种情况可以观察语言之间属性的影响,这些属性可以促进或阻碍翻译性能。为了评估三种子词处理方式在不同语言对上的翻译性能,本文在zh-bo和zh-en两个方向上进行了翻译实验,并在测试集上计算了BLEU分数,其实验结果如表4所示。

表4显示了在zh-bo和zh-en方向上的翻译结果,每种子词处理方式都使用了相同的数据量和模型参数。从表4 中可以看出,在zh-bo 数据上,采用subword-nmt处理相比未使用子词处理的情况,BLEU 值约增加了1.2点。这表明subword-nmt能够更有效地处理汉藏之间的词汇差异和数据稀疏问题,因为它能够根据数据特点自动学习合适的子词划分方式,从而提高模型的泛化能力。然而,采用字节对编码的sentencepiece的BLEU值比其他两种方法要低得多,只有12.54点。这可能是因为藏语数据比较稀疏、不均匀,而sentencepiece 是基于字节对频率的划分方式,可能导致一些重要的子词被忽略或合并,因此sentencepiece在汉藏数据上不能很好地捕捉到语言的复杂性和多样性,即采用subword-nmt处理有利于提高汉藏翻译性能。

针对表4中的zh-en数据,采用字节对编码的sen?tencepiece处理相比subword-nmt处理的BLEU值约增加了1.4点,比未使用子词处理的BLEU值高出4点。这表明sentencepiece能够更好地适应汉英翻译任务,因为它能够更好地覆盖更多的语言现象和子词组合,从而训练出更好的子词模型。而采用subword-nmt处理相比未使用子词处理的情况,BLEU值约增加了2 点,这也说明subword-nmt在汉英数据上有一定的效果,但不如sentencepiece。未使用子词处理的BLEU 值最低,只有19.29点,这可能是因为未使用子词处理会导致一些罕见或未登录词无法被模型正确处理,从而影响翻译质量。因此,可以得出结论,采用senten?cepiece处理有利于提高汉英翻译性能。

4 总结

本文针对不同的子词处理方式对不同的语言和数据资源有着不同的适应性和效果这一问题,总共探究了三种子词处理方式:sentencepiece、subword-nmt 和未使用子词处理。在不同数据量下,在汉-藏和汉- 英两个语言对上进行了翻译实验。实验结果表明,sentencepiece在汉-英上的性能随着数据量的增加而显著提升,远超过其他两种方式。而subword-nmt在汉-藏上的性能随着数据量的增加而逐渐提升,最终超过sentencepiece和未使用子词处理。未使用子词处理在汉-藏上的性能在数据量较少时优于其他两种方式,但在数据量较多时则落后于subword-nmt。然而,本文没有对使用BPE-dropout的模型进行实验,因此无法评估使用该方法是否可以改善翻译性能的效果。在后续的工作中,将在相同的模型设置下应用BPE-dropout,并观察它是否能提高模型的效果。

猜你喜欢
机器翻译藏语
浅谈藏语中的礼仪语
汉藏语及其音乐
藏语拉达克话的几个语音特征
互联网+新时代下人机翻译模式研究
“语联网+行业” 助力中国伟大复兴
大数据背景下石油科技翻译
大数据背景下石油科技翻译
机器翻译不可盲取
藏语地理分布格局的形成原因
基于免费在线翻译工具的机器翻译缺陷探讨