Machine Translation/zh
| Article | |
|---|---|
| Topic area | Natural Language Processing |
| Prerequisites | Transformer, Cross-Entropy Loss |
概述
机器翻译是将文本或语音从一种自然语言自动转换为另一种自然语言并保留其含义的任务。它是计算语言学最古老的应用之一,实际尝试可以追溯到 20 世纪 50 年代,并且仍然是自然语言技术在经济上最重要的应用之一,为多语种网页搜索、实时消息、文档本地化和无障碍工具提供支撑。现代系统将该问题表述为条件序列生成:给定一个源句,输出一个在参数化模型下使学习到的概率最大化的目标语言句子。
该领域经历了三个宽泛的范式。20 世纪 70 至 80 年代的基于规则的系统依赖于人工构建的词典和转换规则。从 20 世纪 90 年代末到 21 世纪 10 年代初占主导地位的统计机器翻译,从平行语料中学习短语级翻译表和重排序模型。神经机器翻译是当前范式,它使用单个神经网络(通常是基于 Transformer 的编码器-解码器)端到端地建模从源语言到目标语言的条件分布。每一次转变与其说源于某项单一的技术突破,不如说源于更优质的数据、更多的算力以及诸如 BLEU Score 等使进展可衡量的指标的汇聚,而这些因素使得进展得以量化。
问题表述
给定源词表上的一个源序列 $ x = (x_1, \ldots, x_S) $ 与目标词表上的一个目标序列 $ y = (y_1, \ldots, y_T) $,机器翻译寻求如下条件分布
$ {\displaystyle p(y \mid x) = \prod_{t=1}^{T} p(y_t \mid y_{<t}, x).} $
该分解为从左到右的自回归形式;每个词元都根据所有源词元和所有先前已生成的目标词元进行预测。训练目标通常是在教师强制(teacher forcing)下参考译文的负对数似然,
$ {\displaystyle \mathcal{L}(\theta) = -\sum_{(x, y) \in \mathcal{D}} \sum_{t=1}^{T} \log p_\theta(y_t \mid y_{<t}, x),} $
也即按位置应用的Cross-Entropy Loss。推理时用模型自身先前的输出替代参考前缀 $ y_{<t} $,从而在训练与解码之间产生了曝光失配,这促使了一系列长期的修复方案,包括预定采样、最小风险训练,以及以翻译质量为奖励的强化学习微调。
统计机器翻译
统计机器翻译通过噪声信道模型将 $ p(y \mid x) $ 分解为翻译模型 $ p(x \mid y) $ 与目标侧语言模型 $ p(y) $,然后选择 $ \arg\max_y p(x \mid y)\, p(y) $。词级对齐模型(如 IBM 模型 1 至 5)使用期望最大化从句对齐语料中估计哪些源词生成哪些目标词。21 世纪 00 年代的主力——基于短语的统计机器翻译,将对齐推广到连续短语对,并通过对数线性判别模型加入重排序和长度惩罚项。层次化与基于句法的扩展则尝试用同步语法捕捉长程重排序。这些系统产生了首批可部署的网页翻译服务,并设立了神经系统最终超越的 BLEU 基线。
神经机器翻译
早期的神经系统,从 2014 年的编码器-解码器循环架构开始,将源语句编码成定长向量,并使用Long Short-Term Memory网络解码出目标序列。定长瓶颈限制了对长句的翻译质量,加性注意力机制对此进行了缓解,使解码器在每一步都能关注编码器各状态的加权和。2017 年提出的Transformer用堆叠的自注意力与Cross-Attention层完全取代了循环结构,并迅速成为翻译以及大多数其他序列任务的标准架构。
现代翻译用的 Transformer 是编码器-解码器结构。编码器对源词元的嵌入施加多头自注意力和前馈子层;解码器在目标前缀上施加掩码自注意力,在编码器输出上施加交叉注意力,并附加一个前馈子层;两套堆栈都使用残差连接和层归一化。输入是由Byte-Pair Encoding或一元语言模型分词生成的子词单元,这能保持词表较小,并规避形态丰富语言上的开放词表问题。
训练与推理
训练数据由平行语料——两种语言的句子对——组成,并通过回译用单语数据加以补充:一个目标到源的模型从真实的目标语文本生成合成的源语句子。常用技巧包括标签平滑、学习率预热后接逆平方根衰减,以及混合精度优化。梯度通过随时间Backpropagation在两套堆栈中流经整个编码器-解码器。
推理使用近似搜索,因为对目标序列求精确的 argmax 是不可行的。带有长度归一化项、束宽为 4 到 8 的束搜索是默认方法;不过近期工作表明,使用低温度过滤器的祖先采样可以在无参考指标下产出更具多样性而精度相当的译文。解码速度往往是生产环境中的瓶颈,由此产生了一次性并行输出整段目标的非自回归变体、从大型教师模型到较小学生模型的Knowledge Distillation以及对解码器权重的量化等做法。
多语种与零样本翻译
通过在源句前添加目标语言标记,可以训练一个模型在多对语言之间进行翻译。这类多语种系统在各语言间摊销编码器容量,并且常常通过来自高资源对的正向迁移来改进低资源对的翻译质量。引人注目的是,它们往往能在从未在训练数据中共现过的语言对之间产生合理的译文,这一现象被称为零样本翻译。代价是脚本或句法差异很大的语言之间的干扰,表现为单语基线不会出现的系统性错误。
评估
翻译质量难以衡量,因为对任意给定的句子,可接受的译文有很多。BLEU Score 针对一份或多份参考译文计算修正后的 n 元组精确率,尽管已有充分的文献记录其弱点,它仍是被报告最多的头条数字。更新的基于参考的指标如 chrF、COMET 和 BLEURT 与人工判断的相关性更好,尤其是对于高质量系统而言,BLEU 上的小差异并不可靠。无参考指标通过质量估计模型把候选译文与源语对比,在生产环境中越来越多地用于标记低置信度输出。沿充分性和流畅性维度进行的人工评估,或通过直接评估,仍是系统比较的黄金标准,并且是诸如 Conference on Machine Translation 等大型共享任务所要求的。
局限性与活跃研究
即便是当前最强的系统也会犯系统性错误。幻觉——与源语无关的流畅目标句——在领域漂移或异常标点下会出现。当源端代词模糊时,性别和其他社会偏见会被放大。文档级一致性较差,因为大多数系统逐句翻译,丢失了指代和风格上下文。低资源和形态丰富的语言仍然大幅落后于英法或英德组合。活跃的研究方向包括文档级与篇章感知翻译、与检索集成以锚定生僻名称和术语、把翻译作为众多能力之一来执行的指令微调大型语言模型,以及输入模态本身就不是文本的语音到语音和手语翻译。
参考文献
- ↑ Template:Cite arxiv
- ↑ Template:Cite arxiv
- ↑ Koehn, P. Statistical Machine Translation. Cambridge University Press, 2010.
- ↑ Brown, P. F. et al. The Mathematics of Statistical Machine Translation: Parameter Estimation. Computational Linguistics, 1993.
- ↑ Papineni, K. et al. BLEU: a Method for Automatic Evaluation of Machine Translation. ACL, 2002.
- ↑ Template:Cite arxiv
- ↑ Template:Cite arxiv