1、符号定义
,表示一个数据集,包含N个句子和对应的N个人工标注的词性序列.
,|表示第j个句子,由个词语组成。
,表示第j个句子对应的词性序列。
为了简化数学表达式,我们在每一个句子的开始和结束位置插入了伪词和伪词性,如:
,
(1)
并且在学习和解码过程中,这些位置的词语都是固定,(不合法的发射概率和转移概率都是0)。
:表示词性集合,即隐状态的所有可能值集合,.
表示词表(vocabulary),即所有词语集合,。
2 隐马尔可夫模型(hidden markov model)
根据贝叶斯公式,我们可以如下定义一个句子和对应的词性序列,的联合
联合概率(解释句子的生成过程):
(3.3)
由于一般认为隐马尔可夫满足一介马尔科夫性质,即:
即只依赖与前一时刻的状态
同时假设词性序列Y生成句子S时,词语之间相互独立,并且词语生成只与当前词性相关,这里如果花一个图就非常明白了:
如上图,就可以知道,x1,x2就是对应词性(对应这里的),y1,y2就是对应的词语对应这里的wi,用公式表示如下:
这样公式(3.3)就可以简化为:
(3)
今而,需要利用一个数据集D,估计语言模型所使用所有参数:
(T属于词性集合,来这里是状态转移概率)
(V属于词汇集合,在这里q代表发射矩阵) (4)
为了便于后续推倒和理解;我们有时候会使用变量的形式,即:分别表示发射概率和转移概率,可以看到,模型需要个参数。
根据如下公式确定参数通常称为最大似然估计(maximum,likehood estimation MLE):
(5)
针对以上的状态转移概率和发射概率,其中Count(s,t)表示(s,t)biggram(两个连续出现的词性)在数据集中D的出现的次数;Count(s)表示s这个词性在数据集D中出现的次数;Count(t,w)表示t,w这个bigram(t,w一个词性以及相对应词)在数据集出现的次数;Count(t)表示这个t这个词性在数据集D中出现的次数,可以形式化表示如下:
表示所有训练数据集N中,对于每一个句子长度,状态和同时出现的总次
数;
表示所有训练数据集N中,对于每一个句子长度,状态为同时出现单词为的次数;
---------------------------------------------------------(6)
其中1[copndition]为指示函数(indicator function),如果condition为True,则为1,否则为0;
这一篇文档就是通过公式推导,说明最大似然估计的含义根据公式(6)确定的参数,恰巧是的数据集D的likehood最大
3MLE目标函数
数据集的似然(likehood)定义如下。所谓likehood,和概率类似,是说明一个数据集D各种可能的可能性。
(7)
从以上公式可以看出概率最大化,其实就是包含训练数据集的出现最大可能认为是正确的概率发生最大;对目标函数求对数在最优化和实际编程中是一种常见的技巧,取对数让乘法变加法,也可以让浮点数运算避免溢出。最重要的是取对数不会影响原目标函数的极值。数据集D的对数似然函数(log-likehood)为:
(8)
对于每一个状态,,,二元模型都需要估计其对应是的参数,其实质就是概率值,,,我们将所有参数狙击在一起:
(9)
可以看成是一个二维参数矩阵,包含个参数,同样也是一个二维矩阵,包含个参数。
极大似然估计的形式化定义如下:
(10)
最大化的目标函数就是直接使用求导方法,然后求导直接的0,但是直接对公示求导无法求解得到,公式(10)是一个无约束目标函数,但是我们知道每一个参数其实是一个人条件概率,因此应该有约束。
这句话的意思是对于任意状态s,状态集合中总有几个数值t转移到概率概率之和等于1,
,对于任意状态s,t,他们的状态转移概率在0---1之间
对于词汇表所有有部分单词w的概率发射到词性t的概率之和等于1.
,表示任意w发射到词性的概率在0-----1之间。
公式 (11)
这是整个概率的约束条件。
4 MLE目标函数求解
求解有约束最优化问题的最简单方法就是利用拉格朗日乘法数,对于每一个引入,,引入一个拉格朗日因子,即:
(12)
进而公式(10)的有约束问题可以转化为一个无约束条件(无需考虑只涉及一个变量的自身约束):
( (13)
接下来需要对公式针对求偏导,但是公式(8)对LL(D)的定义并没有,而是一些具体的
,因此需要进一步处理如下: