当前位置:文档之家› 基于最大熵原理的语言建模

基于最大熵原理的语言建模

基于最大熵原理的语言建模1 问题的引入在自然语言处理中,为了建立语言模型,需要使用上下文文本中的信息特征,利用不同的信息特征所建立的语言模型,对当前词预测所得的概率结果可能会有所不同,这样的信息特征在上下文中有多种。

例如,利用当前词w i 前面的连续n-1个词(∈-+-1i 1n i w h)作为历史信息特征构造的n-gram模型,其概率估计为)W |W (P 1i 1n i i -+-;而触发对语言模型,则是利用当前词前面的某个历史窗口中的词作为触发词,要预测的当前词作为被触发词,该模型中所用的历史信息特征和n-gram 中的就不同,它可以是历史窗口中与当前词相距为d 的某个词或词串。

例如,如果我们想估计在给定的文本历史情况下词“模型”的出现概率P(模型|h),如果使用Bigram 模型,则就会将事件空间(h,模型)根据h 的最后一个词划分成几个等价类,比如说,在训练文本中可能有“数学模型”、“语言模型”、“工程模型”、“汽车模型”等这样的短语,因此,“模型”一词的历史文本h 的最后一个词可能就是“数学”、“语言”、“工程”、“汽车”等,并将它们分别看作一个等价类,Bigram 模型为每个等价类赋以相同的概率。

例如:{语言,模型}模型|语言)=K (P Bigram (1) 这里,K {语言,模型}定义如下:)Count(),Count(},{语言模型语言模型语言=K (2)Count(语言,模型)是“语言”与“模型”两个词在训练语料中的同现次数,Count(语言)是“语言”在训练语料中出现的次数。

另一种对“模型”出现概率的估计方法就是根据特殊的触发对,比如说“建立汉语语言模型”或“使用语言模型”,我们就要考察在相同的历史信息h 中,是否有“建立”或“使用”这样的词,这样,又可以形成对事件空间(h,模型)的另一种划分,利用Trigger 模型,可以为同一个等价类赋以相同的概率:模型)建立模型建立建立模型,(h h K )|(P ∈=∈→ (3)这里定义模型)建立,(h K ∈为:)C(),C(Kh h ,(h ∈∈∈建立模型建立=模型)建立 (4)显然,利用Bigram 和Trigger 模型所使用的信息特征估计得到的“模型”出现概率是不一样的,同理,用前面提到的其他信息特征所得到的概率也会不一样,能不能将它们协调一致,建立一个符合多个信息特征约束的统一模型框架呢?1992年,Della Pietra 等人利用最大熵原理建立语言模型就是对这一想法的尝试。

2 最大熵原理 2.1 基本思想最大熵原理是E.T.Jayness 于1950年提出的,其基本思想是:假设{X }是一个事件空间,有许多种能够刻画该事件空间的信息源特征(或称约束),可以用来对事件的出现概率P(X)进行表述,假设每个约束i 与一个约束函数f i (X)和一个数学期望K i 相联系,则该约束可以写为:∑==Xiidefi P K)X (f )X (P )f (E (5)对于多个相容的约束条件,式(5)的唯一的最大熵解保证存在,其形式为:∏λ=i)X (f ii )X (P (6)其中λi 为待求的未知常量,称为模型参数,它将使P(X)满足所有的约束。

由式(6)可以看出,事件X 的出现概率完全由模型参数λi 和特征约束函数f i (X)所决定,特征约束函数f i (X)可以看作是对信源特征i 的表示,因此,求取事件X 概率P(X)必须要考虑参数λi 的计算和特征i(或特征约束函数f i (X))的选择。

特征选择是选择出对模型有表征意义的特征,以此建立一组约束;参数估计则在这些约束下,用最大熵原理对每一个特征进行估值,最终建立起事件空间X 的概率模型。

2.2 模型参数估计Danroch 和Ratcliff 于1972年提出了一个GIS (Generalized Iterative Scaling Algorithm )算法,对每一个特征f i ,找出满足所有约束的λi ,下面是求取式(6)中λi 的迭代算法: 算法1 GIS 算法输入:特征集f={f 1,f 2,…,f n }输出:最优参数值λ1,λ2,…,λn ,最佳模型p(x) 过程:(1) 变量初始化:给λi 赋任一初值)0(i λ,i=1,2,…,n 。

(2) 按照式(6)计算初始P(X):∏λ=i)X (f i )0()0(i)X (P 。

(3) 在当前估计函数下按式(5)计算每个f i 的期望,i ∈{1,2,…n},∑=Xi )j (i P )X (f )X (P)f (E )j ((4) 将实际计算得到的概率)f (E i P )j (与期望概率K i 进行比较,并按下列公式对λi 进行更新:jP i )j (i )1j (if EK )j (⋅λ=λ+ (7)(5) 根据新的λi 值计算概率估计函数P(X):∏++λ=i)X (f i )1j ()1j (i )X (P (8)(6) 若条件P (j+1)(X)-P (j)(X)≤ε满足,则迭代收敛,输出λ1, λ2, …, λn 和P(X),否则,转(3)。

3 基于最大熵原理的自然语言建模 3.1 问题描述设自然语言是一个随机过程,如果将Y 看作当前词的所有可能取值的有限集合,y ∈Y 可能是随机过程产生的输出,X 为其上下文信息x 组成的集合,则当前输出y 的取值受上下文信息X 的影响。

可以将(X,Y)看作是自然语言文本的一个事件空间。

例如,在中文文本校对中,当对文本中的错误词进行修正时,如果当前词的易混淆集或纠错建议候选集为Y ,选择其中的哪一个词y 替换错误词完全受上下文x ∈X 的影响。

上下文信息就是出错词周围的一些词。

构造随机模型的任务是要对语言的这一过程特性进行描述。

模型的目标是估计在给定上下文信息x 出现的情况下,过程输出为y 的条件概率,即P(y|x)。

3.2 特征与约束1. 经验概率分布语言建模的目标是构造能够对实际文本进行准确描述的统计模型,即它的概率分布与训练语料中的经验概率分布应该相符。

对于中文文本纠错,假设事先由人工完成了许多纠错的样例,即(x,y)样本。

经过对训练语料的统计,可以得到在特定的上下文中一个错误词应更换为哪个候选建议的频率,从而通过最大似然法,可得到训练语料中上下文信息与输出的经验概率分布)y ,x (p ~:∑≡y,x )y ,x (Count )y ,x (Count )y ,x (p ~ (9)式中,Count(x,y)为(x,y)在训练语料中出现的次数。

2. 特征与约束随机过程的输出受上下文信息的影响。

如在文本纠错过程中,选用哪个候选建议对错误词进行修改,与其上下文有关。

我们可以将这些上下文看作是对当前词具有表征作用的特征。

例如,如果在文本中出现这样的句子,“他们所承担的任务非常艰匡”,“艰匡”是一个错误词,易混淆集中提供了“简况”、“艰巨”、“艰难”、“艰苦”,“艰辛”等多个候选建议,选择那一个呢?显然,它的选择与上下文密切相关,其上下文信息有:“非常”、“任务”等等,根据人的判断,“任务”对建议的选择非常重要,当然,我们还可以对文本中的每个词标上词性,词性也可以成为选取建议的特征。

上下文X 中的特征信息可能有很多,如何选取有用的特征信息,在下面再作论述。

现先引入特征的定义:定义1(特征) 设x ∈X ,其长度≥1,它是当前过程输出y(∈Y)的上下文信息,如果x 对y 具有表征作用,则称(x, y)为模型的一个特征。

x 长度为1时称为原子特征,否则称为复合特征。

可以引入一个定义于{0,1}域上的二值函数来表示特征:⎩⎨⎧∈=否则且满足某种条件若0 ),(),(1),(X,Y y x y x f (10) 建立语言模型时,信息特征的获取来自训练语料,语料中当前词的上下文中的所有词与当前词一起都可以作为模型的信息特征,因此与模型有关的候选信源特征组成的集合很大,其中只有一些特征是对模型有用的特征,这些特征组成的集合只是候选特征集合的一个子集,它可以较完整地表达训练语料中数据。

那么,如何判断哪些特征对语言模型有用呢?可以通过所建模型与经验概率分布模型的一致性来判定特征的重要性。

如果有特征f ,它在训练样本中关于经验概率分布)y ,x (p ~的数学期望可表示如下:)y ,x (f )y ,x (p ~)f (E y,x p ~∑= (11)假设所建立的语言模型的概率分布为)y ,x (p ,则特征f 关于所建模型p 的概率分布的数学期望为:∑=y,x p )y ,x (f )y ,x (p )f (E (12)而)x |y (p )x (p )y ,x (p =,由于所建模型应符合训练语料中的概率分布,所以,如果)x (p ~表示x 在训练样本中的经验分布,可令)x (p ~)x (p =,(12)变成∑=y,x p )y ,x (f )x |y (p )x (p ~)f (E (13)如果特征f 对模型是有用的,则应要求(13)式所表示的特征f 的数学期望与它在训练样本中的数学期望相同,即:)f (E )f (E p ~p = (14)定义2(约束) 称式(14)为语言建模的约束方程,简称约束。

这里需要指出特征与约束的区别:特征是(x,y)的一个二值函数,而约束则是特征在所建模型中的数学期望与它在训练语料中的数学期望的方程。

3.3 基于最大熵的模型遴选假设存在n 个特征f i (i=1,2,…,n ),它们是语言建模过程中对输出有影响的统计单元,我们所建立的模型应满足所有这些特征,即所建立的模型p 应属于这n 个特征约束所产生的模型集合C :}}n ,2,1{i ),if (E )i f (E |p {C p ~p ∈=Γ∈= (15)这里,Γ表示所有的(无条件或无约束)概率分布模型空间,C 是在加入特征约束条件后得到的Γ的一个子集。

满足约束条件的模型集C 中有许多模型,我们所需要的是具有最均匀分布的模型,而条件概率p(y|x)均匀性的一种数学测量方法为条件熵,定义为:∑-=y,x )x |y (p log )x |y (p )x (p ~)p (H (16)其中0≤H(p)≤log|y|。

模型遴选的最大熵原理:在满足n 个约束条件的前提下,具有使H(p)值最大的模型即为具有最均匀分布的模型。

即)p (H Cp m ax arg *p ∈= (17) 可以证明,满足(17)式的解具有如下Gibbs 分布形式:))y ,x (f ii i exp()x (Z 1)x |y (p ∑=λ (18)其中, ))x (Z yii i )y ,x (f exp(∑=∑λ (19))x (Z 为保证对所有x ,使得1)x |y (p y=∑的归一常量。

相关主题