
什么是机器翻译中的好词汇?
三个要点
✔️ 介绍了一种解决 "词汇量影响考虑不足问题 "的方法。
✔️ 提出了 VOLT 算法,该算法使用一种称为 MUV 的度量,类似于经济学中的边际效用。
✔️ VOLT 能在不同环境中有效地找到性能优越的词汇。
Vocabulary Learning via Optimal Transport for Neural Machine Translation
wrriten by Jingjing Xu, Hao Zhou, Chun Gan, Zaixiang Zheng, Lei Li
(Submitted on 31 Dec 2020)
Comments:Accepted by ACL 2021
Subjects:Computation and Language (cs.CL)
code:
本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。
导言
本文研究了令牌词汇选择对机器翻译性能的影响,旨在探讨如何找到最佳词汇。本文还探讨了是否有可能在不进行试验训练的情况下找到最佳词汇。
文本词汇构建在神经机器翻译(NMT)和其他自然语言处理 (NLP)中非常重要,其中字节对编码(BPE)等子词方法取得了可喜的成果。这些方法类似于数据压缩,有助于学习和预测。
当前方法的问题在于只考虑了频率和熵等标准,而没有适当考虑词汇量的影响。以往的研究表明,词汇量也会影响系统的下游性能,特别是对于资源受限的任务。然而,由于寻找合适的词汇量需要对所有词汇量进行试验训练,而且计算成本高昂,因此现有研究只采用了通用设置。例如,在机器翻译会议(WMT)的论文中,30000-40000 是最常见的词汇量设置范围。
本文提出了一种同时考虑熵和词汇量大小的方法,无需试训即可实现所有大小词汇的自动词法化。然而,这种方法的设计存在两个问题。
(难以找到合适的目标函数。(2) 增加词汇量会降低语料库的熵,有利于模型学习,但过多的标记会导致标记稀释,不利于模型学习。
从有限的备选方案中找出最优解的 "离散优化问题"很难解决,搜索空间呈指数级增长。
VOLT(通过最优传输学习词汇)
为解决上述问题,我们提出了一种名为 VOLT 的词法决策方法。
这种方法考虑了语料库的熵和词汇量,以找到合适的词汇。其中,一个名为 "经济学边际效用"(MUV)的概念被用来寻找词汇的平衡点;MUV 被定义为熵对词汇量的负导数。
多用途车辆的定义
从形式上看,MUV 表示熵对大小的负导数。为简单起见,在执行时使用较小的词汇量来估算 MUV。具体来说,MUV 的计算方法如下。
这里,(�)和�(�)分别代表词汇量为和 时的词汇量。�(�也代表词汇量(�)时的熵。为了避免标记长度的影响,这里用标记的平均长度对熵进行了归一化处理,最终的熵定义为
p(j) 是词块的相对频率,lv是词库中词块的平均长度。
从帕累托最优的角度来看,人们希望获得更高的边际效用值。图 1 举例说明了边际效用。
图 1.
从 Eo-En 翻译中抽取 BPE 生成的不同大小的词汇,并绘制其熵线和 BLEU 线。星 "代表边际效用最大的词汇。边际效用评估的是随着成本(大小)的增加而增加的收益(熵的减少)。
我们的下一个目标是以可控的时间计算复杂度生成具有最大多样性的词典。为了解决离散优化问题,我们使用线性规划来解决最优传输问题。
这种方法在机器翻译任务中也取得了成功,其中 VOLT 方法已被证明优于广泛使用的词汇表。VOLT 也是一种高效的解决方案,不需要昂贵的计算资源
词汇化作用的局限性
本节将提出建议,在考虑词汇量和熵的情况下找到合适的词汇量测量方法。增加词汇量可以减少熵,有利于模型学习;而词汇量过大则会导致参数爆炸和标记稀释问题,对模型学习产生负面影响。
为了解决这个问题,有人建议使用词法边际效用(MUV)作为优化目标;MUV 评估语料库的成本和收益;MUV 越高,预期收益成本比越高;MUV 越高,收益成本比越高。
初步结果证实,在三分之二的翻译任务中,MUV 与下游性能相关(见图 2);MUV 与翻译任务的性能相关,目标是以可控的时间计算率最大化 MUV。
图 2.
x 轴将 Spearman 分数划分为不同的组别;y 轴显示每个组别中的任务数量。中心 Spearman 分数为 0.4。
本文将词汇构建视为一个离散优化问题,以找到最佳词汇。
然而,词汇的离散性使得离散优化变得困难。因此,本文提出从固定大小的词汇中寻找最佳词汇,从而简化原有问题。
具体来说,MUV 被定义为取决于词汇量大小的熵的导数,并引入辅助变量来近似计算。这样,只需计算词汇量之间的 MUV,就能找到最佳词汇量。
VOLT 算法
作者指出,最大化 MUV 的方法存在一个问题:MUV 是词汇熵的变化量,需要使用某种方法来建立词汇。作者提出了一种使用最优传输的方法。
换句话说,VOLT 计算 MUV 的方法是:以特定词汇量构建词汇表,测量该词汇表的熵,并测量不同词汇量下的词汇表和熵。
VOLT 算法如下。
在该算法中,L 是分词训练语料库中按频率排序的单词,C 是训练语料库中的每个字母,S 是词汇量。VOLT 采用辛克霍恩定理作为最佳传输方式。
VOLT 事先用大词汇量对训练数据进行分词,并设置多个候选词汇量。对于每种词汇量,它都会使用最佳传输方式并计算当时的熵。然后比较每种词汇量的熵的变化,确定 MUV 最大的词汇量。
实验结果
为了评估 VOLT 的性能,我们将在三个数据集上进行实验,包括 WMT-14 英德翻译、TED 双语翻译和 TED 多语种翻译。
表 1:VOLT 与广泛使用的 BPE 词汇的词汇检索比较。
此处的词汇量采用了 X-En 的设置。
使用 VOLT 检索的词汇表大小明显缩小,BLEU 分数(衡量机器翻译准确性的指标)也更高,这表明 VOLT 是一种实用的方法,可以找到 BLEU 高、大小小、性能好的词汇表。
VOLT 在大多数词对中都获得了较高的 BLEU 分数。
表 2:根据 Ding 等人的建议,用 VOLT 和 BPE-1K 对低资源数据集进行词汇检索的比较
针对低资源数据集的词汇检索与 VOLT 和 BPE-1K 的比较。此处以 TED X-En 双语为例。
从表中可以看出,就 BLEU 分数而言,VOLT 检索的词汇与启发式检索的词汇相当。
从 BLEU 分数可以看出,VOLT 找到的词汇与启发式检索到的词汇一样好;BPE-1K 是根据多次实验选出的。相比之下,VOLT 只需要一次试验进行评估,并且只需要 0.5 个 CPU 小时和 30 个 GPU 小时就能找到最佳词汇。
表 3:VOLT 与多语言翻译中广泛使用的 BPE 词汇的比较。
检索到的词汇量约为 110K。可以看出,VOLT 在大多数词对中都获得了更高的 BLEU 分数。
表 4:VOLT、MUV 搜索和 BPE 搜索结果。
对 VOLT 和 BPE-Search 的比较表明,VOLT 是一种轻量级解决方案,在单个 CPU 上只需 0.5 个小时就能找到竞争词汇,而 BPE-Search 则需要在 GPU 上花费数百个小时。
MUV-Search 将 MUV 与一般方法相结合,选择 MUV 最高的词汇作为最终词汇;MUV-Search 不需要全下游训练,但仍需要大量时间生成词汇和计算 MUV。在这种情况下,VOLT 是最有效的方法。
表 5:VOLT 与强基线的比较
与上述分块方法相比,VOLT 在词汇量更小的情况下几乎达到了最佳性能。这些结果表明,定义明确的词汇量能在基线简单的情况下取得良好的效果;VOLT 的性能明显优于 SentencePiece 和 WordPiece,BLEU 提高了一个以上。
表 6:不同架构下的词汇量大小
它表明,VOLT 搜索的词汇量也能与竞争对手 BLEU 卷积 Seq2Seq 协同工作,但规模要小得多:使用 VOLT 搜索词汇量(11.6 千个词库)的模型每秒可处理 133 个句子,而使用 BPE-30K 搜索词汇量(33.6 千个词库)的模型每秒只能处理 101 个句子。词库)的模型每秒只能处理 101 个句子。
我们还可以看到,尽管 VOLT 减少了 Softmax 的计算量,但由于 GPU 上的并行计算得到了优化,它并没有显著增加 Softmax 的运行时间。
这两个词库显示出大量重叠,尤其是在高频词方面。它们在下游的表现类似。因此,从经验的角度来看,VOLT 大小的 BPE 也是一个不错的选择。
结论
本研究提出了一种无需试训的新词法化方法。基于信息论,词法化被表述为两个独立的优化目标,并设计了一个高效的解决方案,即名为 VOLT 的词法决策方法。
实验结果表明,VOLT 可以在各种环境中有效地找到高性能词汇。
与本文相关的类别