用于阿拉伯语到英语机器翻译的Transformer模型和卷积神经网络
立即解锁
发布时间: 2025-08-29 11:35:10 阅读量: 12 订阅数: 21 AIGC 

### 用于阿拉伯语到英语机器翻译的Transformer模型和卷积神经网络
#### 1. 引言
神经机器翻译(NMT)模型通过使用神经网络和注意力机制学习自然语言之间的映射,推动了技术的发展。早期的机器翻译系统使用循环神经网络(RNN)、长短期记忆网络(LSTM)或门控循环单元(GRU)来读取和生成单词序列。然而,由于这些单元的顺序性质,很难充分利用依赖并行处理的现代计算设备,如图形处理单元(GPU)或张量处理单元(TPU)。
最近,Transformer模型在翻译性能上取得了领先地位,它是一种编码器 - 解码器模型,完全依赖自注意力机制来计算输入和输出序列的表示,而不使用RNN。
阿拉伯语是世界上使用最广泛的语言之一,有超过3亿母语使用者。但该语言复杂的形态与印欧语系(如英语和法语)有很大不同,给阿拉伯语词义消歧研究带来了挑战。其形态特征如下:
- 阿拉伯语有三种类型的句子:主格、属格和宾格。
- 约85%的阿拉伯语单词源自三字母词根。
- 代词、性别和词形变化可能组合在一个单词中。例如,“(waluqutatiha)” 是一个单词,前缀 “(wa)” 表示 “and”,字母 “(li)” 表示 “for”,“(qita)” 表示 “cat”,后缀 “(ha)” 对应 “her”。
- 阿拉伯语可以看作是一种代词省略语言,动词的主语可能间接嵌入在其形态中。
鉴于这些复杂性,阿拉伯语机器翻译处理起来非常棘手。不过,由于预处理和数据驱动翻译范式的发展,已经取得了显著的改进。为了在阿拉伯语到英语的机器翻译中取得像Transformer在其他欧洲语言中那样的成功,提出了 “Transformer - CNN” 深度学习模型,并进行了不同的阿拉伯语预处理设置。
#### 2. 相关工作
大多数阿拉伯语机器翻译的研究集中在统计机器翻译(SMT)和神经机器翻译(NMT)范式。以下是一些相关研究:
- Habash和Sadat等人采用了几种阿拉伯语形态预处理方案来评估其对阿拉伯语SMT任务的相关性。他们发现,当使用大量训练数据时,分离连词和虚词(方案D2)更有效;而训练数据有限时,需要复杂的形态分析来获得更好的结果。
- Chen等人提出了一种用于阿拉伯语到英语机器翻译任务的重排序机制,旨在自动检索平行语料库中句法层面的重排序规则,但在2004和2005年的IWSLT阿拉伯语 - 英语评估测试集上效果提升甚微。
- Hadj Ameur等人提出了一种用于阿拉伯语 - 英语NMT的n - 最佳列表重新评分的后处理方案,采用量子粒子群优化(QPSO)算法获得嵌入特征的最佳权重,在多种测试集上比基本NMT方案有显著提升。
- 有人通过扩展标准的Word2vec模型,引入形态词合并模型,在实验结果上比原始Word2vec模型提高了0.4个BLEU点。
- Oudah等人评估了几种分割方案对阿拉伯语 - 英语神经和统计机器翻译模型的有效性,发现宾州阿拉伯语树库(ATB)模式对NMT和SMT模型都有利,结合ATB和字节对编码(BPE)技术对SMT模型效果最佳,但对NMT模型相比ATB分割没有提升。
#### 3. 提出的方法
“Transformer - CNN” 架构基于Transformer和卷积神经网络(CNNs)。具体使用了Transformer的编码器部分,它由两个块A和B组成:
- 块A包含位置编码,用于捕捉输入序列中标记位置的信息。如果没有这个块,“(I’m not happy because she is sick)” 和 “(I’m happy because she is not sick)” 这两个句子在块B的输出将相同。
- 块B由N = 20个相同的层组成。每层有两个子层:多头自注意力机制和位置全连接前馈网络。不是估计单个注意力函数,而是测量源句子上的多个注意力块,然后将获得的输出值组合并线性投影得到最终值。此外,还使用了全连接前馈网络,由两个线性变换和中间的修正线性单元(ReLU)激活函数组成。每个子层周围采用残差连接,然后是归一化层。
一维CNN在机器翻译、问答系统和情感分析等应用中很常见。一般来说,卷积1D(Conv1D)过程是通过在输入数据上滑动一个核k(n)∈[1, M]来实现的。第i个输出yi(n)的特征图可以定义为:
\[
y_i(n) = \sum_{l = 1}^{M} k_i(l)x(n - l), i = 1, .., L
\]
其中L是卷积滤波器ki(n)的数量。
为了从同一个输入句子中捕捉多个特征,将Transformer模型的输出作为三个多层堆叠CNN网络的输入:
- 第一个网络由三个窗口大小为6的卷积层组成,每个卷积层后添加一个池化长度为2的最大池化层。
- 第二个网络由两个核大小为5的卷积层堆叠而成,后面跟着一个池化长度为3的最大池化层。
- 第三个网络由两个窗口大小为6的卷积层组成,每个卷积层后采用池化长度为2的最大池化层。最后,将三个CNN网络的输出拼接起来。
下面是 “Transformer - CNN” 架构的流程图:
```mermaid
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A([输入]):::startend --> B(Transformer编码器部分):::process
B --> C1(窗口大小为6的CNN层):::process
C1 --> D1(池化长度为2的最大池化层):::process
D1 --> C2(窗口大小为6的CNN层):::process
C2 --> D2(池化长度为2的最大池化层):::process
D2 --> C3(窗口大小为6的CNN层):::process
C3 --> D3(池化长度为2的最大池化层):::process
B --> E1(窗口大小为5的CNN层):::process
E1 --> F1(池化长度为3的最大池化层):::process
F1 --> E2(窗口大小为5的CNN层):::process
E2 --> F2(池化长度为3的最大池
```
0
0
复制全文
相关推荐









