马尔科夫模型(Markov Models)
本节讨论马尔科夫模型(Markov Models)。
定长序列的马尔科夫模型
考虑一个随机变量序列 (),它的长度 是一个定值(fixed-length sequences)。我们需要计算联合概率 ,即任意一个序列 出现的概率。
序列 的所有可能的取值为 ,我们不可能列举出所有 种可能,所以我们需要进行一些假设。
一阶马尔科夫假设(First-order Markov Assumption):假设第 个词的概率只依赖于它的前一个词 ,而与其它词无关,即对任意 :
也即 在给定 时,条件独立于 。
那么一个句子出现的概率为:
公式 1.1 可以由条件概率的链式法则直接推出,而公式 1.2 利用了一阶马尔科夫假设。
二阶马尔科夫假设(Second-order Markov Assumption)要弱一些:第 个词依赖于它的前两个词 和 ,即:
那么一个句子出现的概率为:
为了方便,令 , 表示句子的开始。
变长序列的马尔科夫模型
大多数情况下句子长度 都是不定的(variable-length sentences),为了处理这个问题,我们假设句子中的第 个单词 总是为一个特殊符号 STOP,STOP 符号只能出现在句子末尾。即 ,,。
按照之前的假设(如二阶马尔科夫假设),我们每一步都按照分布 来生成 。 可以是 中的变量,也可以是 STOP 符号。如果我们生成了 STOP 符号,则该句子生成结束,否则继续生成下一个单词,即:
- ,;
- 根据分布 生成 ;
- 若 ,返回序列 ;否则令 ,回到步骤 2。
这样该模型就可以生成任意长度的句子了。