基于统计的自然语言处理模型

更新时间:2023-05-26 21:00:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第25卷第3期             咸 宁 学 院 学 报           Vol.25,No.32005年6月            JournalofXianningCollege           Jun.2005文章编号:100625342(2005)0320079204

基于统计的自然语言处理模型

戴文华,焦翠珍,徐 斌

(咸宁学院 计算机系,湖北 咸宁 437005)

3

摘 要:基于统计的自然语言处理模型采用统计方法进行自然语言建模.据具体情况在多种模型中选择适当的模型.本文简要介绍了N2gram,并给出了几种参数估计和数据平滑方法,关键词:自然语言处理;N-gram模型;最大熵模型中图分类号:TP309       0 引言

遵从一定的统计规则.接收者对接收的字符序列具有一定的先验知识.当发送的字符为独立非同分布的情况下,假定wi表示V中的第i个字符,该字符被发送出去的概率是P(wi),则字符流消息所携带的平均信息量为[1]:

H=-

,从而建立起人与计算机之间的密切联系,使其能高效地进行信息传递和认知活动.自然语言处理时经常遇到的问题有分词、词性标注、语法分析、句法分析和语义分析等,这些自然语言中的问题都可以使用一些基于规则的语言分析方法进行处理.但对基于规则的系统来说,需要将专家的领域知识融入各种规则中,并且该方法随着规则库的增大效率明显下降.直到目前还没能出现一种比较完善的表示自然语言的规则系统.

随着计算机技术及Internet的迅速发展,大量联机语料库随之出现,计算机处理能力也大幅度提高,人们自然地想到利用统计方法对这些语料及新生成的语言进行分析处理.由于语料库具有信息量大、领域广、真实及实时性强等特点,我们可通过对语料库进行深层加工、统计和学习,获取大规模真实语料中的语言知识,这就是所谓的基于统计的自然语言处理.基于统计的自然语言处理模型使用分布函数来表示词、词组及句子等自然语言基本单位,它描述了自然语言的基于统计的生成和处理规则.

自然语言可以在人与人之间实现信息传输,信息传输的一端为发送者,另一端是接收者.信息源不断发送确定字符集V中的字符,字符的发送

|V|

[∑P(wi)logP(wi)]

i=1

|V|

(1)

其中H称为熵.如果发送的字符为非独立的,则前后发送的字符相互约束,因此一个字符流消息W=w1w2…wN所携带的信息量为:

H=-∑P(w1,w2,…,wN)log(w1,w2,…,wN)

(2)

其中P(w1,w2,…,wN)为字符流消息W=

w1w2…wN发送出去的概率.

如果把该模型用于描述自然语言交流,则字符表示语言中的单词或词组,字符集V表示这种语言的词汇表.

基于统计的自然语言处理模型有许多,模型中使用的参数估计与数据平滑方法也有多种.本文将主要介绍N2gram模型和最大熵模型,并给出几种参数估计和数据平滑处理方法.1 N2gram模型

根据公式⑵可以看出,各词串的信息量由组成该词串的各个单词的联合概率决定.从语言的角度来看,P(w1,w2,…,wN)就是某种语言按次序产生出词串w1w2…wN的概率,其大小反映了该

3收稿日期:2004212208

80咸宁学院学报               第25卷

P(W)=P(w1,w2,…,wN)

词串在本语言中的使用情况,小的概率表明该词串在本语言中很少使用,大的概率表明该词串在本语言中经常出现.

我们将P(w1,w2,…,wN)分解成条件概率的形式[2,3]:

P(W)=P(w1,w2,…,wN)

N

 =P(w1)∏P(wn|wn-1)

n=2

N

(5)

=∏P(wn|w1,w2,…,wn-1)

n=1

=P(w1)∏P(wn|w1,w2,…,wn-1)

n=2

N

(3)

其中P(w1)为单词w1的先验概率,可以通过统计大量语料库中该单词出现的频率获得,条件概率P(wn|w1,w2,…,wn-1)表示已知前面n-1个单词为(w1,w2,…,wn-1)时,下一个单词为wn的概率,计算这个概率就是进行统计预测,前面若干个单词,.

为了进行有效预测,设,即假定单词nn-1个单词有关.N-gram模型,其中参数n称为模型的阶数,其取值

其中单词wn的出现仅与wn-1有关,由概率P

(wn|wn-1)决定.尽管在此模型中仅仅考虑了很少一部分上下文信息,但对下一个单词的预测具有较强的约束.概率P(wn|wn-1)的估计有多种方法,通常采用相对频率法,通过统计大量训练样本中词对(wn-1,wn)的出现次数来估计条件概率.

(3)Trigram模型

在Trigram模型中,假定某个单词在句子中,在此(3)()P(w1,N)=)|1)∏P(wn|wn-1,wn-2)

n=3N

(6)

决定了模型的精度和复杂性.n的值越大,单词之间的依赖关系表述越准确,但这种准确性的提高需要增加参数估计量,参数估计问题也比低阶模型更为复杂,从而降低估计值的可靠性,对预测性能起到负面影响.

适当选取参数值n,既可保证模型相对精确度,也能使模型不至过于复杂.在实际应用中常使用1阶、2阶和3阶等低阶模型,分别称为Uni2gram模型、Bigram模型和Trigram模型,下面分

其中单词wn的出现与wn-1和wn-2有关,由

概率P(wn|wn-1,wn-2)决定.概率P(wn|wn-1,wn-2)的估计方法与Bigram模型类似.2 最大熵模型

最大熵模型又称指数模型,可以解决数据碎化问题,是自然语言处理研究的热点问题,它将统计语言问题看作一个求解受限概率分布问题,能够较好地包容各种约束信息.

假设给定训练语料T,X为上下文集,Y为结果集,建立统计语言模型就是要在给定上下文x的条件下,估计出现单词y的条件概率P(y|x).为了描述上下文x与单词y之间的关系,我们可引入二值特征函数f(x,y)来表示特征(x,y)的有无.特征函数f(x,y)定义如下[5,6]:

1(x,y)∈R

f(x,y)=

(7)0(x,y)|R

其中R为特征值集合.

利用给定的训练语料T,可计算出特征函数f对于经验概率分布 P(x,y)的数学期望:

(8) P(f)=∑ P(x,y)f(x,y)

()

x,y

别作简要介绍[4]:

(1)Unigram模型

在Unigram模型中,我们认为单词与单词之间相互独立,建模时只需要考虑当前单词本身的概率,不必考虑单词所对应的上下文环境,此时公式(3)简化为:

P(W)=P(w1,w2,…,wN)=∏P(wn)

n=1N

(4)

这是一种最为简单且易于实现的模型,但实际应用价值不高,很少被独立使用.Unigram模型常与Bigram模型和Trigram模型配合使用,以实现平滑功能.

(2)Bigram模型

在Bigram模型中,假定某个单词在句子中出现的概率条件依赖于其前一个单词,在这种假设下公式(3)可变为:

根据此公式,能将任何先验知识表示为恰当的二值特征函数f(x,y)的估计值,为了将有用的特征纳入到模型中,可以通过增加约束使模型满足相应特征的期望值来实现.相对于概率分布P(y|x),特征函数f(x,y)的期望表示为:

(9)P(f)=∑P(x,y)f(x,y)

()

x,y

由于P(x,y)=P(x)P(y|x),令P(x)= P(x), P(x)是x在训练样本中的观测概率,则限

定所求模型的概率为在样本中观察到的事件的概

第3期       戴文华,焦翠珍,徐 斌 基于统计的自然语言处理模型率.若f对模型有用,则令P(f)= P(f),由(8)和

(9)两式可推得:

(x,y)

81

心.Good2Turing估计用于N2gram模型时,对于

模型中出现r次的事件,我们应假设它的出现次数为:

3

r=(r+1)

∑ P(x)P(y|x)f(x,y)

x,y

=(∑ P(x,y)f(x,y)

)

(10)

nr

(13)

该式为约束等式,在该式约束下的模型P(y|

x)包含了特征函数f.至此基于样本数据,对模型

其中nr代表训练集中实际出现r次的事件个数.对于模型中出现次数为r次的事件,其条件概率则可标准化为:

)=r3 NPGT(α

(14)

施加了单个特征约束.假设有N个特征函数fi(i=1,2,…,N)表示有关特征,随机模型应该满足所

有N个特征的约束.满足约束条件的模型很多,我们的目标是产生在约束集下具有最均匀分布的模型,即找到约束条件下具有最大熵的模型,约束条件下的熵可表示为:

H(P)=-(x,y)

其中N为模型中所有n元对的总数,α表示训练集中实际出现r次的事件.从公式(13)可知当

nr为零时,不能使用G估计,必须对nr

.

(11)

∑ P(x)P(y|x)logP(y|x)

32[,8是实际应用中使用非常广泛的

其中0≤H(P)≤log|y|.3 参数估计和数据平滑

,该技术在Good2Turing估计的基础上,采用低阶N2gram模型对高阶N2gram模型的插值方法扩展了Good2Turing的平滑方法.

与插值平滑不同,Katz平滑将每个N2gram模

(12)

在N2gram,计:

P(wi|w1,w2,…,wn-1)=

N(w1,w2,…,wn-1)

型表示为M2gram模型的非线性组合,n、m分别为N2gram模型和M2gram模型的阶数,且m=1,2,…,n.

对每个M2gram模型,由回退概率βm表示由M2gram模型回退到(M21)2gram模型的概率,也

其中N(w1,w2,…,wn-1,wn)是在训练语料中词串(w1,w2,…,wn-1,wn)出现的频次.从式中可以看到,没有在训练语料中出现的词串其估计量为零.因此在计算包含该子串的某个词串的概率时,即使该词串中包含其它具有较高概率的子串,整个词串的出现概率也为零.

对于一个确定的训练语料,即使规模相当大,也会有大量的词串没有同时出现,这就不可避免大量估计值为零的条件概率的出现,这就是所谓的数据稀疏问题.这种情况大大削弱了模型描述能力和后处理能力.数据平滑技术通过调整概率分布的取值,使低概率(包括零概率)被调高,高概率被调低,从而避免了零概率的出现,因此能解决数据稀疏问题.与此同时数据平滑使模型参数概率分布更加均匀,概率的计算更加精确.

数据平滑技术主要有Katz平滑、Kneser2Ney平滑、Jelinek2Mercer平滑、Church2Gale平滑、插值平滑和加法平滑等.下面简单介绍大多数数据平滑的核心技术Good2Turing估计和实际应用中使用较广泛的Katz平滑技术.3.1 Good2Turing估计

Good2Turing估计是许多数据平滑技术的核

可理解为在学习语料集中,给定上下文(M21)2gram,M2gram不出现的概率,因此存在递推公式:

n-1n-1n-1

)=PGT(wn|w1)+β)P(wn|w1mP(wn|w2n-1n-1n-1)=PGT(wn|w2)+β)P(wn|w2m-1P(wn|w3

(15)

……

其中wij表示词串(wi,wi+1,…,wj-1,wj),

PGT表示采用Good2Turing估计确定的概率值,给

定训练语料,它可以被预先计算出来.因此确定回退概率是该方法的主要任务,包含两种情况:

(1)如果一个M2gram出现在训练语料集中,

m

)>0,c(wij)表示语料集中词串wij的出现即c(w1

次数,则回退概率应为βm=0;

(2)如果一个M2gram没有出现在训练语料

m

)=0,则按照下式计算回退概率:中,即c(w1

βm=

w1:c(w1)>0

m

m

m-1)PGT(wm|w1 [1-

w1:c(w1)>0

m

m

m-1

)]PGT(wm|w2

(16)

4 模型的评价

模型的性能可以通过其在语言处理系统的最

82咸宁学院学报               第25卷

同的训练集上训练,并在相同的测试集上测试.

5 结束语

通过对目前自然语言处理模型的分析,我们发现仅仅使用基于规则的语言模型进行自然语言处理根本不可能得到比较理想的效果.同样,如果单独采用基于统计的语言模型,也不能达到较为高效的目的.我们必须将两者合理的结合起来,并利用一些先进的优化技术,才能发挥两类模型各自的优势,提高自然语言处理的能力.

参考文献:

[1]王小捷,常小宝.[M].北京:83~91.

[2].[M].北18~31.

ArtificialIntelligence[M].北京:电子工业出版社,2004.297~327.

[4]张健,李素建等.N2gram统计模型在机器翻译系统中的应用[J].计算机工程与应用,2002,(8).

[5]徐延勇,周献中等.基于最大熵模型的汉语句子分析[J].电子学报,2003,(11):31.

[6]李素建,刘群等.语言信息处理技术中的最大熵模型方法[J].计算机科学,2002,(7):29.[7]S.Katz.Estimationofprobabilitiesfrom

sparsedataforthelanguagemodelcomponentofaspeechrecognizer[J].IEEETransactionsonAcoustics,SpeechandSignalProcessing,1987,(3):35.

[8]陶志荣.N2gram语言模型的Katz平滑技术[J].电子计算机,2002,(2).

终表现来评估,但是一般语言处理系统通常涉及多种处理任务,各种任务相互影响,具有很大的复杂性.评价模型性能最直观的指标是在测试语料集上计算的信息熵.熵的值越大,则学习模型与真实模型的差别也越大,表明模型的效果越差[1].

由前面的介绍可知,一段文本的熵如公式⑴所示,其中P(wi)为wi的真实分布,但P(wi)是未知的,只能用语言模型的估计值代替,因此常采用如下公式代表模型的熵:

|V|

(17)H=-∑logP(wi|wi-1)

|V|i=1

另一个常用的评价指标是模型的复杂度PP,定义如下:

PP=2=2

H

-|V|∑logP(wi|wi-1)

i=1

|V|

(18)

复杂度是对模型选择下一个单词的范围大小的度量,复杂度越大,,越复杂.

,.在训练语具有较好的逼近能力,但并不能保证在测试集上一定有较小值.如果在训练集上复杂度很小,但在测试集上复杂度较大,则说明语言模型的推广能力较差,称该现象为语言模型被过训练.一般情况下,越复杂的语言模型,由于逼近能力较强,比较容易出现过训练的问题.

反之,由于复杂度依赖于语言数据,因此也可利用同一个语言模型在不同的测试集上的复杂度来评估语言数据的复杂度.

对两种语言模型进行比较时,为了保证不同语言模型比较的客观性,必须要求两个模型在相

TheNaturalLanguageProcessingModelsBasedonStatistics

DAIWen2hua,JIAOCui2zhen,XUBin

(DepartmentofComputer,XianningCollege,Xianning437005,China)

Abstract:Thenaturallanguageprocessingmodelsbasedonstatisticsadoptsthestatisticalmethodtosettingupthenaturallanguagemodels.Inactualapplications,wecanselectthepropermodelsfromalotofmodelsaccordingtothespecificsituation.Inthispaper,weintroduceN2gramModelandMaxi2mumEntropyModel.Atthesametime,wegiveafewmethodsofparametersestimateanddatasmoot2hing,whichcanprovidesomereferenceforsettingupthenaturallanguagemodels.

Keywords:Naturallanguageprocessing;N2grammodel;Maximumentropymodel;Datasmoothing

本文来源:https://www.bwwdw.com/article/s9w4.html

Top