1 基本概念

1.1 序列标注问题

序列标注是自然语言处理中的一类基础任务,其目标是为输入序列中的每个元素(如词、字、音素)分配一个离散的标签。常见的序列标注任务包括词性标注命名实体识别、中文分词等。数学上,给定观测序列 \(X = (x_1, x_2, \dots, x_T)\),需要输出状态序列 \(Y = (y_1, y_2, \dots, y_T)\),其中每个 \(y_t\) 属于有限的状态集合。

1.2 最大熵原理

最大熵原理是一种统计建模原则,主张在满足已知约束的条件下,选择熵最大的概率分布。它认为不应引入任何未经验证的假设,仅利用观测数据中确定的信息。在分类问题中,最大熵模型通常表现为指数分布,其参数通过特征函数的期望匹配来估计。

1.3 马尔可夫假设

马尔可夫假设指当前状态仅依赖于前一个(或有限个)状态,与更早的状态无关。在序列模型中,一阶马尔可夫假设假设 \(P(y_ty_{1:t-1}) = P(y_ty_{t-1})\)。该假设简化了模型复杂度,同时保留了序列的局部依赖关系

2 数学原理

2.1 模型定义

最大熵马尔可夫模型定义条件概率 \(P(YX)\) 为:

\[

P(YX) = \prod_{t=1}^{T} P(y_ty_{t-1}, X)

\]

其中,每个局部条件概率 \(P(y_ty_{t-1}, X)\) 由最大熵模型给出。模型将整个序列的联合条件概率分解为逐位置的转移概率乘积,每个转移概率依赖于前一个标签和整个观测序列。

2.2 特征函数

特征函数是最大熵模型的核心。对于每个可能的状态转移对 \((y_{t-1}, y_t)\) 和观测序列的任意部分,定义二值特征 \(f_k(y_{t-1}, y_t, X, t)\)。特征可以是重叠的、非独立的,例如“当前词以‘ing’结尾且标签为动词”,或“前一个词是冠词且当前标签为名词”。特征函数的集合构成了模型的约束。

2.3 参数化形式

2.3.1 指数族分布

给定特征函数集 \(\{f_k\}\) 和对应的权重参数 \(\{\lambda_k\}\),局部条件概率表示为: \[

P(y_ty_{t-1}, X) = \frac{1}{Z(y_{t-1}, X)} \exp\left( \sum_k \lambda_k f_k(y_{t-1}, y_t, X, t) \right)

\] 其中,分子是指数线性函数,确保概率为正且符合最大熵原则。

2.3.2 归一化因子

归一化因子 \(Z(y_{t-1}, X)\) 定义为: \[ Z(y_{t-1}, X) = \sum_{y_t'} \exp\left( \sum_k \lambda_k f_k(y_{t-1}, y_t', X, t) \right) \] 它确保在同一前一个标签和观测条件下,所有可能当前标签的概率之和为1。该因子依赖于前一个标签和整个观测序列,因此计算量较大。

3 模型结构

3.1 有向图表示

MEMM可以用有向图模型(贝叶斯网络)表示。每个观测节点 \(x_t\) 与所有状态节点有边连接(表示条件依赖),而状态节点 \(y_t\) 只与前一个状态节点 \(y_{t-1}\) 有向边连接,形成链式结构。这种有向图反映了条件概率的分解方式。

3.2 条件概率的拆解

模型将全局条件概率拆解为局部转移概率的乘积。每个局部概率 \(P(y_ty_{t-1}, X)\) 是一个独立的分类器,其输入是前一个标签和整个观测序列,输出是当前标签的概率分布。这种拆解使得训练和推理可以通过动态规划进行。

3.3 与隐马尔可夫模型的对比

3.3.1 生成式vs判别式

隐马尔可夫模型(HMM)是生成式模型,建模联合概率 \(P(X,Y)\),然后通过贝叶斯公式计算条件概率。MEMM是判别式模型,直接建模条件概率 \(P(YX)\)。判别式方法避免了为观测序列构建复杂的生成分布,更适合于特征重叠的情况。

3.3.2 独立性假设差异

HMM假设观测之间相互独立(给定状态),即 \(P(XY) = \prod_t P(x_ty_t)\)。MEMM不要求这种独立性假设,可以任意利用整个观测序列的特征,从而捕捉长距离依赖和上下文信息。

4 训练与推断

4.1 参数估计

4.1.1 极大似然估计

给定训练数据 \(\{(X^{(i)}, Y^{(i)})\}\),参数 \(\Lambda = \{\lambda_k\}\) 通过最大化条件对数似然函数得到: \[

L(\Lambda) = \sum_i \log P(Y^{(i)}X^{(i)})

\] 该函数是凸函数,保证了全局最优解的存在。

4.1.2 梯度下降

对数似然函数关于 \(\lambda_k\) 的梯度为: \[

\frac{\partial L}{\partial \lambda_k} = \sum_i \sum_t f_k(y_{t-1}^{(i)}, y_t^{(i)}, X^{(i)}, t) - \sum_i \sum_t \mathbb{E}_{P(y_ty_{t-1}, X^{(i)})} [f_k]

\] 其中第一项是特征在训练数据中的经验期望,第二项是模型期望。梯度下降法可迭代更新参数,但收敛速度较慢。

4.1.3 IIS算法

改进的迭代缩放算法(Improved Iterative Scaling, IIS)是专门为最大熵模型设计的优化算法。它通过迭代地更新每个参数,保证每一步都增加似然函数值。IIS算法在特征数量较多时比梯度下降更有效,但需要计算每个特征在所有状态上的期望。

4.2 解码算法

4.2.1 维特比算法

给定观测序列 \(X\) 和参数 \(\Lambda\),维特比算法用于寻找最可能的状态序列 \(Y^* = \arg\max_Y P(YX)\)。它利用动态规划,维护每个时刻每个状态的最大概率路径,通过回溯得到最优序列。算法时间复杂度为 \(O(T \cdotS^2)\),其中 \(S\) 是状态数。

4.2.2 前向-后向算法

前向-后向算法用于计算边缘概率 \(P(y_tX)\) 和后验概率。前向递推计算 \(\alpha_t(y_t) = P(y_t, x_{1:t})\) 的近似,后向递推计算 \(\beta_t(y_t) = P(x_{t+1:T}y_t, X)\),但需注意在MEMM中观测序列是全局给定的,因此前向-后向算法与HMM略有不同。该算法用于参数估计中的期望计算。

5 优缺点

5.1 优点

5.1.1 特征灵活性

MEMM可以引入任意重叠、非独立的特征,如词形、前缀后缀、上下文词袋等。这使其在复杂语言现象建模中优于HMM,后者受限于观测独立性假设。

5.1.2 避免生成式假设

作为判别式模型,MEMM直接建模条件概率,无需为观测数据假设特定分布(如多项式分布),从而避免了生成式模型中不合理的独立假设。

5.2 缺点

5.2.1 标记偏置问题

MEMM存在标记偏置(Label Bias)问题:由于每个位置的局部概率需要归一化,导致模型倾向于选择转移状态数较少的路径,忽略观测序列提供的长距离信息。具体表现为,当某个状态的后继状态数很少时,该状态的概率会被“吸收”,使解码结果偏向这些转移。

5.2.2 与条件随机场的比较

条件随机场(CRF)通过全局归一化解决了MEMM的标记偏置问题。CRF使用无向图模型,直接定义全局条件概率,避免了局部归一化带来的偏置。因此,在大多数序列标注任务中,CRF性能优于MEMM,但CRF的训练复杂度更高。

6 应用

6.1 词性标注

词性标注是为句子中的每个词分配词性(如名词、动词、形容词)的任务。MEMM能够利用词的拼写、前后词特征、前缀后缀等,在早期词性标注系统中取得了良好效果。

6.2 命名实体识别

命名实体识别需要从文本中识别人名、地名、组织机构名等。MEMM可以通过特征设计捕捉实体内部模式(如大写字母、数字)和上下文模式,但标记偏置可能影响长实体的识别。

6.3 中文分词

中文分词将连续汉字序列切分成具有语义的词语。MEMM利用字与字之间的转移特征和字的上下文特征,但需处理词边界标记(如B/M/E/S标注)。标记偏置问题可能导致切分路径倾向短词。

6.4 其他序列标注任务

MEMM还可用于基因序列分析(如外显子/内含子识别)、语音识别中的音素标注、信息抽取中的关系序列标注等。在这些领域,其优势在于可以灵活加入领域知识特征,但通常已被CRF或深度学习模型取代。