查看全课大纲(第 37 / 69 节)
- 1.NLP 的研究领域、应用与学习路径
- 2.自然语言的基本术语
- 3.信息论基础:信息熵与交叉熵
- 4.语言的进化与语义变迁
- 5.主观概率、客观概率与条件概率
- 6.贝叶斯原理与推理
- 7.随机变量:二项式、期望方差与联合概率
- 8.常见概率分布
- 9.辛普森悖论与贝叶斯解题实例
- 10.语言模型:语言概率与词袋模型
- 11.n-gram 语言模型(二元 / 三元 / N-Gram)
- 12.语言模型评价:交叉熵、困惑度与插值
- 13.朴素贝叶斯文本分类:垃圾邮件
- 14.拼写检查
- 15.中文分词:构词法、最大匹配、最优路径与 Jieba
- 16.词表示问题与语义相似度
- 17.TF-IDF 权重处理
- 18.One-Hot 表达与词表示的局限
- 19.Word2Vec 核心思想
- 20.Word2Vec 训练过程
- 21.Skip-gram 模型详解
- 22.词性标注任务与标注方法(规则 + N-Gram)
- 23.EM 算法与混合模型
- 24.高斯混合模型 GMM
- 25.从混合模型到隐马尔可夫模型
- 26.隐马尔可夫模型(HMM)推导与维特比解码
- 27.线性链条件随机场 CRF
- 28.贝叶斯网络与图模型
- 29.隐马尔可夫链与 HMM 推导
- 30.PLSA 主题模型
- 31.LSI 与 SVD 向量表达
- 32.LDA 与狄利克雷分布
- 33.主题模型实验复现(困惑度 / 分类 / 相似度 / 延展)
- 34.上下文无关文法(CFG)与句法分析
- 35.概率上下文无关文法 PCFG
- 36.统计机器翻译:词对齐与翻译模型
- 37.统计机器翻译中的对齐模型与参数估计
- 38.从统计机器翻译到神经机器翻译
- 39.神经元与反向传播速览(指向深度学习课)
- 40.CNN 原理及其在 NLP 中的应用
- 41.循环神经网络的基本原理与 Elman / Jordan 网络
- 42.LSTM:长短期记忆网络的核心思想与分步实现
- 43.Encoder-Decoder 框架
- 44.Seq2Seq 与早期注意力机制
- 45.注意力机制的背景与动机
- 46.注意力模型实现原理与匹配函数
- 47.记忆网络:组成与计算
- 48.注意力机制的应用与历史延展
- 49.Transformer 结构:Encoder-Decoder 栈与 Self-Attention
- 50.Multi-Head Attention、FFNN 与位置编码
- 51.层归一化、损失函数与 Universal Transformer 延展
- 52.预训练范式:从 ELMo 到 BERT
- 53.BERT 与掩码语言模型
- 54.BERT 下游任务微调与 GLUE 口径
- 55.GPT 与自回归语言建模
- 56.GPT-1 到 GPT-4 的演进
- 57.指令微调与 RLHF
- 58.分词器:BPE、WordPiece 与中文词表
- 59.上下文窗口与长文本处理
- 60.能力边界、成本与适用场景
- 61.文本分类实战:从朴素贝叶斯到逻辑回归
- 62.命名实体识别实战
- 63.文本生成与摘要实战
- 64.语义检索与向量库实战
- 65.RAG 知识库问答
- 66.NLP 评估指标:BLEU / ROUGE / BERTScore 与人工评估
- 67.幻觉与事实性问题
- 68.文本与知识结合(知识图谱压缩)
- 69.跨媒体信息检索与未来展望
统计机器翻译中的对齐模型与参数估计
小象实战讲义 · 自然语言处理
本节将深入探讨统计机器翻译(SMT)的核心组件——对齐模型。我们将学习如何将源语言句子与目标语言句子之间的词语对应关系(对齐)形式化为一个概率生成模型,并利用期望最大化(EM)算法从双语平行语料中自动学习模型参数。理解这一经典框架,是掌握从统计翻译到神经翻译演进脉络的关键。
💡 核心导读
- 对齐作为隐含变量:将词语对齐关系视为一个隐含变量,通过引入对齐变量,将复杂的翻译概率分解为可建模的组件。
- IBM 模型 3 的生成过程:学习一个包含词位生成概率(Fertility)、词汇翻译概率(Translation)和位置扭曲概率(Distortion)的完整生成模型。
- EM 算法求解:掌握如何使用期望最大化算法,在不知道真实对齐的情况下,迭代地估计模型参数和对齐概率。
- 从直觉到计算:通过一个简化的双语例子,手算演示 EM 算法如何从少量数据中学习出合理的翻译对应关系。
对齐:从直觉到概率模型
在上一节中,我们介绍了统计机器翻译的基本目标:寻找使 最大的目标语句子 ,其中 是源语句子。直接建模 非常困难,因为它涉及到两种语言在词序、词法和句法上的复杂映射。
一个关键的洞见是引入一个隐含变量——对齐(Alignment)。对齐 指定了目标语中每个词 是由源语中哪个词 生成的(或者生成为空 NULL)。形式上,对齐 是一个从目标语位置 ()到源语位置 (,其中 代表空词)的映射。
通过引入对齐,我们将翻译概率重写为所有可能对齐的边际概率:
这样,问题就转化为如何建模 ,即给定源语句子,生成特定对齐和目标语句子的联合概率。IBM 模型系列(特别是 IBM 模型 3)提供了一个经典的生成式模型来解决这个问题。
IBM 模型 3 的生成过程
IBM 模型系列是一串逐级加码的生成模型,先把三者边界说清,免得后面张冠李戴:
| 模型 | 使用的概率组件 | 它管的是什么 |
|---|---|---|
| Model 1 | 只有 | 绝对对齐(词序无关),只解决”词对词”的对应 |
| Model 2 | + | 在 Model 1 上加位置模型,允许词序差异(局部对齐) |
| Model 3 | + + | 再加词位(Fertility),允许一对多/多对一,并引入空词 NULL 插入 |
本节的生成过程用到了 n(φ|e)(词位),因此它讲的是 IBM 模型 3,不是模型 2。模型 2 里没有词位这一步——每个源语词恰好产出一个目标语词。这是本节最容易混淆的一处,记住一句判别式:看到 n(φ|e) 就是模型 3。
IBM 模型 3 假设生成目标语句子 的过程如下:
- 确定源语句子长度:首先确定源语句子 。
- 生成词位(Fertility):对于每个源语词 ,生成一个“词位” 。 是一个非负整数,表示 将生成多少个目标语词。词位为零意味着该词被“删除”。词位生成概率记为 。
- 生成目标语词:对于每个源语词 ,根据其词位 ,生成 个目标语词。每个生成的目标语词 的概率由词汇翻译概率 决定。
- 确定目标语词位置(扭曲):为每个生成的目标语词分配一个在目标语句子中的位置 。这个位置分配的概率由位置扭曲概率 决定,它表示在源语句子长度为 、目标语句子长度为 的条件下,源语位置 生成的目标语词出现在目标语位置 的概率。
整个生成过程的概率可以形式化地表示为(无 NULL 的简化 Model 3 口径: 只取 到 的真实源语位置,不含空词对齐分支):
其中, 是由对齐 决定的(即 等于对齐中映射到 的 的数量)。 是对齐 中生成 的源语词。
需要注意:上式的词位乘积只遍历真实源语位置 ,尚未计入 NULL 一侧。若允许 ,完整模型必须另给 NULL 的插入概率()与 NULL 词位分布 ,并在 E 步、M 步对 NULL 产出单独计数;本节后续的对齐演示按 取值 到 的简化口径处理,即暂不引入空词对齐。
模型参数:
- :词位概率,表示源语词 生成 个目标语词的概率。
- :词汇翻译概率,表示源语词 翻译成目标语词 的概率。
- :扭曲概率,表示在给定句子长度下,源语位置 生成的目标语词出现在目标语位置 的概率。
- 空词 NULL: 表示 在源语里找不到来源,它由 NULL 生成。模型 3 为它单独留了一步——每个位置先以 的概率判定”要不要插入一个由空词生成的目标词”,而 NULL 自己也有词位分布 。正是 NULL 吸掉了目标语里那些源语没有对应的词(英文冠词
the、虚词to之类)。只允许 却不给它数量与插入概率,联合概率就不封闭:各 之和加上 NULL 产出必须正好等于目标语长度 ,否则这个 组合根本不可能出现。
我们的目标是从双语平行语料 中学习这些参数。
使用 EM 算法估计参数
由于对齐 是隐含变量,我们无法直接观测到,因此可以使用期望最大化(EM) 算法来估计模型参数 。
EM 算法迭代以下两步:
- E 步(期望步):在给定当前参数估计 和观测数据(句子对)的情况下,计算隐含变量(对齐)的后验概率 。
- M 步(最大化步):利用 E 步计算出的对齐后验概率作为权重,重新估计参数 ,以最大化完整数据的对数似然期望。
对于 IBM 模型 3,这两个步骤可以具体化为计数和归一化操作。
E 步的关键量:对于每个句子对 和每个可能对齐 ,我们需要计算: 这个概率衡量了在当前参数下,某个对齐方式解释当前句子对的“合理”程度。
M 步的参数更新:利用 E 步得到的对齐后验概率作为权重,累加“计数”,然后归一化得到新的参数估计。
- 词汇翻译概率 的更新:统计所有句子对中, 对齐到 的加权次数,然后除以 对齐到任何词的加权总次数。
- 扭曲概率 的更新:统计所有句子对中,源语位置 对齐到目标语位置 的加权次数(在特定的 下),然后除以源语位置 对齐到任何目标语位置的加权总次数。
- 词位概率 的更新:统计所有句子对中, 的词位为 的加权次数,然后除以 出现的总加权次数。
一个手算示例:理解 EM 迭代
让我们通过一个极度简化的例子来直观感受 EM 算法如何工作。假设我们有一个微型双语语料库:
- 句子 1: 源语
B C→ 目标语X Y - 句子 2: 源语
B→ 目标语Y
我们忽略空词对齐和词位变化(假设每个词生成且仅生成一个目标语词,即 ),并简化扭曲模型(假设位置概率均匀)。这样,模型的核心参数就简化为词汇翻译概率 。
我们的目标是学习 。
步骤 1:初始化 随机初始化参数。我们假设所有翻译概率均等:
- ,
- ,
步骤 2:第一次迭代的 E 步 对于句子 1 (B C → X Y),有两种可能的对齐 :
- : B→X, C→Y
- : B→Y, C→X
计算每种对齐的概率(在均匀扭曲假设下,概率正比于词汇翻译概率的乘积):
归一化后,, 。
对于句子 2 (B → Y),只有一种对齐:B→Y,其概率为 1。
步骤 3:第一次迭代的 M 步 利用 E 步得到的对齐概率作为权重,收集计数。
- 对于
B→X:只在句子1的对齐 中出现,权重为 0.5。计数 = 0.5。 - 对于
B→Y:在句子1的对齐 中出现(权重 0.5),在句子2中出现(权重 1)。计数 = 0.5 + 1 = 1.5。 - 对于
C→X:在句子1的对齐 中出现,权重 0.5。计数 = 0.5。 - 对于
C→Y:在句子1的对齐 中出现,权重 0.5。计数 = 0.5。
现在归一化得到新的 参数:
可以看到,经过一次迭代,B 更倾向于翻译成 Y 了(概率从 0.5 上升到 0.75),这与我们的直觉(句子2提供了强证据)相符。
步骤 4:第二次迭代 用 重复 E 步和 M 步。
E 步(句子1):
- 归一化:,
M 步(重新计数并归一化):
B→X计数: 0.25B→Y计数: 0.75 (来自句子1) + 1 (来自句子2) = 1.75C→X计数: 0.75C→Y计数: 0.25
新的参数:
趋势更加明显:B→Y 的概率增至 0.875,C→X 的概率也增至 0.75。如果继续迭代,参数将收敛到极值点:B 几乎确定翻译成 Y,C 几乎确定翻译成 X。这正是我们从有限数据中期望学到的最佳对应关系。
这个简化例子清晰地展示了 EM 算法如何通过迭代,在没有标注对齐的数据中,自动发现词语之间的翻译联系。
对齐模型的意义与局限
IBM 对齐模型是统计机器翻译的基石。它将翻译这个复杂的结构化预测问题,分解为相对简单的概率组件(词位、翻译、扭曲)的乘积,并通过 EM 算法实现了无监督的参数学习。基于此类对齐模型,后续发展出了更复杂的基于短语的、基于句法的 SMT 系统,在神经机器翻译兴起之前一直是主流。
然而,这些模型也存在明显的局限性:
- 独立性假设过强:生成目标语词时假设条件独立,忽略了目标语的语言模型和上下文信息。
- 建模能力有限:对长距离依赖、复杂句法结构的捕捉能力不足。
- 特征工程:需要精心设计特征和模型结构,扩展性差。
今天怎么做:现代神经机器翻译(NMT)使用编码器-解码器架构配合注意力机制,隐式地、动态地学习软对齐。注意力权重直接给出了源语和目标语词之间的关联强度,无需显式定义对齐变量和复杂的生成过程。Transformer 模型进一步通过自注意力机制,极大地提升了对长距离依赖和复杂结构的建模能力,成为当前机器翻译的主流方法。尽管如此,理解经典的基于对齐的 SMT 模型,对于深入把握翻译问题的本质和 NMT 中注意力机制的动机,仍然具有重要价值。
📝 动手练一练
- 概念辨析:在 IBM 模型 3 中,词位概率 、词汇翻译概率 和扭曲概率 分别试图捕捉翻译过程中的哪些现象?如果我们要将中文“我喜欢机器学习”翻译成英文“I like machine learning”,请为一种可能的手工对齐,定性描述这三个概率组件如何参与计算该对齐的联合概率 。
👉 点击查看参考答案
答:
- 词位概率 :捕捉一个源语词生成多少个目标语词的现象。例如,中文词“机器学习”可能对应两个英文词 “machine learning”,此时 。而“我”通常对应一个英文词 “I”,。
- 词汇翻译概率 :捕捉具体的词汇翻译对应关系。例如,给定源语词“喜欢”,它翻译成目标语词 “like” 的概率。
- 扭曲概率 :捕捉词序的变化(调序)。例如,在中文中修饰语常在前,英文中在后,这会导致源语和目标语对应词的位置索引 和 不同,该概率描述了这种位置映射的可能性。
定性计算示例: 假设对齐 为:我/I,喜欢/like,机器学习/machine,机器学习/learning(即“机器学习”一词两译)。 设源语句子长度 (我,喜欢,机器学习),目标语句子长度 。
- 词位部分:
- 词汇翻译部分:
- 扭曲部分:假设位置映射为:源语位置1→目标语位置1,源语位置2→目标语位置2,源语位置3→目标语位置3和4。则需要计算 。 将这三部分相乘,即得到该对齐的联合概率。
- 手算验证:沿用本节简化示例(忽略词位和扭曲),假设初始参数 。请计算第一次 EM 迭代后(即执行一次 E 步和 M 步)的新参数 是多少?
👉 点击查看参考答案
答: E 步: 句子1 (B C → X Y):
- 归一化:,
句子2 (B → Y):。
M 步(收集计数):
B→X计数:来自句子1的 ,权重 0.2222。计数 = 0.2222。B→Y计数:来自句子1的 (权重 0.7778) + 句子2(权重 1)。计数 = 1.7778。C→X计数:来自句子1的 ,权重 0.7778。计数 = 0.7778。C→Y计数:来自句子1的 ,权重 0.2222。计数 = 0.2222。
归一化得到 : 对于 B:
- 总计数 = 0.2222 + 1.7778 = 2.0
因此,。
本章小结
本节我们深入剖析了统计机器翻译的核心——基于对齐的概率生成模型。我们学习了如何将词语对齐形式化为隐含变量,并介绍了 IBM 模型 3 的完整生成过程,该过程由词位、词汇翻译和位置扭曲三个概率组件构成。通过期望最大化(EM)算法,我们可以从无标注对齐的双语平行语料中,迭代地学习这些模型参数。一个手算的简化示例清晰地展示了 EM 算法如何自动发现词语间合理的翻译对应关系。
理解这一经典框架至关重要,它不仅揭示了机器翻译问题的概率建模本质,也为后续神经机器翻译中注意力机制的设计提供了思想渊源。尽管如今已被基于神经网络的端到端方法所取代,但统计机器翻译中的对齐思想仍然是自然语言处理中概念建模的典范。
📋 行动清单
- 理解对齐作为隐含变量在分解翻译概率问题中的作用。
- 掌握 IBM 模型 3 中 , , 三个概率组件的具体含义。
- 能够描述 EM 算法在估计对齐模型参数时的 E 步和 M 步分别做了什么。
- 通过简化例子的手算,验证 EM 迭代如何使参数向直觉上的正确翻译收敛。
—— 小象教研组