Kejin Jin作者Zhen Gao编辑

混合词-字符模型神经机器翻译:可理解句子中的未知词

基于词的神经机器翻译往往难以应付训练数据中未出现过的新词或罕见词。斯坦福大学计算机科学系的研究者 Minh-Thang Luong 和 Christopher D. Manning 提出的混合词-字符模型能在字符层面上处理未知词,从而能实现神经机器翻译的进一步提升。

论文地址:https://arxiv.org/pdf/1604.00788.pdf

项目地址:http://nlp.stanford.edu/projects/nmt

引言

这篇论文提出了一种混合式神经机器翻译模型,其既会考虑词,也会考虑字符,这主要有助于罕见词或未知词的翻译。他们使用了一种结合了全局注意机制的长短期记忆(LSTM)神经网络,实现了较高的训练效率和翻译质量。

神经机器翻译

相比于之前的统计机器翻译方法,神经机器翻译(NMT)已经通过使用循环神经网络(RNN)实现了很大的提升。RNN 是一种非常适合建模序列数据的架构,能够直接基于源句 p(y|x) 计算目标句的概率。NMT 通过采用一种被称为“编码器-解码器”的框架而实现了当前最佳的翻译结果。这种方法的基本思想相当简单:首先在源句上运行第一个 RNN,然后将其“编码”成实数向量,这个 RNN 被称为“编码器”;然后,第二个 RNN(即“解码器”)会使用这个向量化之后的源句来创建对应的目标句,具体做法是通过计算负对数似然的和来生成目标句。

但是,NMT 主要是在词层面上实现的;而且在大多数 NMT 训练过程中,我们并没有足够多的词作为训练数据。所以有很多词肯定不会出现在我们的词汇表中,这些词被称为“未知词(unknown words)”。最常见的解决方案是使用通配符 <unk> 替换源句中所有未知词,但这往往会省略掉源句中一些有价值的信息。因此,这篇论文提出了一种混合模型,能逐个字符单独处理未知词。

混合神经翻译模型

假设“cute”是英语短语“a cute cat”中的一个未知词,而我们希望将其翻译成捷克语。首先,这个混合模型会按通常的基于词的 NMT 处理词汇库中的已有词。然后,一个深度 LSTM 会单独在字符层面上处理未知词。

对于常规的 NMT 模型,我们希望通过最小化交叉熵损失函数来优化模型:

(D 表示平行语料库),而在这篇论文提出的混合模型中,损失函数就变成了:

其中 Jw 指之前的词级解码的损失函数,Jc 指新的字符级解码的损失函数(该论文的 α 设置为 1)。

图 1:混合 NMT 模型

在解码步骤,该混合模型使用了全局注意机制。首先,其产生一个语境向量 ct,这是根据当前隐藏状态 ht(对应当前的源词)之间的对齐计算得到的。然后,它使用这个语境向量来计算一个新的隐藏状态:

此外,这个新状态会被用于计算生成目标词的概率:

注意的基本思想是将每个单词都表示成一个向量,而不是表示整个句子,从而节省内存和计算时间,还能通过减少参数来防止过拟合。通过在两个方向上运行 RNN,我们可以得到每个词的一个双向表征。因此 ct 可这样计算:

其中 H 是包含输入句中所有词的向量化表征的矩阵,αt 被称为注意向量,其元素的值通常假设在 0 到 1 之间且相加之和为 1。

图 2:注意模型然后,将这个新创建的向量用于初始化该字符到字符解码器。因为考虑源句的语境能让模型更好地预测目标句。这篇论文提出了一种被称“分离路径(separate-path)目标生成”的不同方法,其能以一种类似的计算方式创建对应向量:

结果

在 WMT’15 英语-捷克语翻译任务上,相比于其它 NMT  模型和最佳系统,这个混合神经机器翻译模型的表现高出 2.1 到 11.4 BLEU,达到了 20.7 BLEU 的成绩。它还得到了更高的 chrF3 分数。

此外,当词汇库大小较小时,这个混合 NMT 模型的表现已能超越常规的基于词的 NMT。随着词汇量增大,实验结果表明这个混合 NMT 模型依然表现良好并得到了最高的 BLEU 分数。

在 10k 词汇量时,用于替换简单的 <unk> 技术的基于字符的模型对 BLEU 分数贡献最大,为 +2.1 BLEU。另外,分离路径方法也为其带来了 1.5 BLEU 的提升。

图 3:词汇量的影响

表 1:实验结果

总结

这篇论文提出的混合架构结合了基于词的模型和基于字符的模型。其中基于词的模型可以快速轻松地训练,基于字符的模型则可以非常有效地处理未知词。因此,这种混合模型可得到更高质量的翻译结果。此外,这篇论文还表明了完全基于字符的模型的潜力,尽管这种模型的训练速度非常慢。所以未来也许可以研究一下如何提升基于字符的模型的速度。

参考文献

[1]Achieving Open Vocabulary Neural Machine Translation with Hybrid Word-Character Models.

Minh-Thang Luong and Christopher D. Manning , Computer Science Department, Stanford University, Stanford, CA 94305

[2]Neural Machine Translation and Sequence-to-sequence Models: A Tutorial.

Graham Neubig, Language Technology Institute, Carnegie Mellon University

理论神经机器翻译
1
相关数据
交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

神经机器翻译技术

2013 年,Nal Kalchbrenner 和 Phil Blunsom 提出了一种用于机器翻译的新型端到端编码器-解码器结构 [4]。该模型可以使用卷积神经网络(CNN)将给定的一段源文本编码成一个连续的向量,然后再使用循环神经网络(RNN)作为解码器将该状态向量转换成目标语言。他们的研究成果可以说是神经机器翻译(NMT)的诞生;神经机器翻译是一种使用深度学习神经网络获取自然语言之间的映射关系的方法。NMT 的非线性映射不同于线性的 SMT 模型,而且是使用了连接编码器和解码器的状态向量来描述语义的等价关系。此外,RNN 应该还能得到无限长句子背后的信息,从而解决所谓的「长距离重新排序(long distance reordering)」问题。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

统计机器翻译技术

随着统计学的发展,研究者开始将统计模型应用于机器翻译,这种方法是基于对双语文本语料库的分析来生成翻译结果。这种方法被称为统计机器翻译(SMT)

过拟合技术

过拟合是指为了得到一致假设而使假设变得过度严格。避免过拟合是分类器设计中的一个核心任务。通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

推荐文章
暂无评论
暂无评论~