隐马尔可夫模型在自然语言理解研究中的应用
第15第卷第1期15卷第1期电脑与信息技术Vol.15No.1Feb.2007
2007年2月
文章编号:1005-1228(2007)01-0033-03
ComputerandInformationTechnology
隐马尔可夫模型在自然语言理解研究中的应用
卢
微
071002)
(河北大学人文学院,河北保定
摘
要:自然语言理解是人工智能最活跃的研究领域之一,同时也是目前前沿的课题之一。该领域的研究人员通过对
隐马尔可夫模型这一数学模型的跨领域应用,解决了自然语言理解中的瓶颈问题。文章系统阐述了隐马尔可夫模型的原理以及在语音识别和词性标注方面应用的过程,从而为更多研究者了解和认识。关键词:隐马尔可夫模型(HMM);自然语言理解;语音识别;词性标注中图分类号:O211.62;TP18
文献标识码:A
TheApplicationofHMMinComprehensionofNaturalLanguage
LUWei
(CollegeofLiberalArts,HebeiUniversity,Baoding,Hebei
071002,China)
Abstract:Comprehensionofnaturallanguageisoneofthemostactivefieldsintheresearchofartificialintelligence,itisalsooneofthedifficultproblemonpresentforwardposition.
ResearchersapplysuchmathematicmodelasHidden
MarkovModeltothisfieldandsolvethekeyprobleminthefieldofcomprehensionofnaturallanguage.Thisarticlesystematiclyexpoundstheprincipleofthemathematicmodel-HMMandprocessofitsapplicationintheaspectsofspeechrecognitionandpart-of-speechtagging,somoreresearcherswillhaveabetterunderstandingaboutHMM.Keywords:HiddenMarkovModel;comprehensionaboutnaturallanguage;speechrecognition;part-of-speechtagging
0引言
自然语言理解(NaturalLanguageUnderstanding,
1隐马尔可夫模型
隐马尔可夫模型HMM是一种用参数表示的用于
NLU)是人工智能学的核心课题之一,目的是使机器能
够在一定程度上理解人类的语言。自然语言理解可以分为语音理解(语音识别、理解与合成)和书面语理解(分词操作、词性标注、语法分析、短语识别等)。在信息化的社会,随着计算机的发展,计算机和自然语言相结合的领域越来越广,像内容分析、信息监控、自动摘要、机器学习、机器翻译、人机自然语言对话、基于自然语言的人机合作等,都是自然语言理解的具体应用,而语音识别、词性标注又是这些应用中的关键技术环节和基础性课题,如果解决得不好,就会成为自然语言理解的瓶颈问题。由于隐马尔可夫模型的出现和应用,使得自然语言理解研究取得了很大的进展,像语音识别系统、词性自动标注系统都有了实质性的突破。在语音识别方面,隐马尔可夫模型合理地模仿了人的言语过程,是目前为止最强有力的识别算法,现在大多数大词汇量连续语音的非特定人语音识别系统都是基于隐马尔可夫模型的。在词性标注方面,采用隐马尔可夫模型的标注方法有很强的健壮性,是当前主流的标注方法。
收稿日期:2006-10-02
作者简介:卢微(1983-),女,硕士研究生,主要研究方向:应用语言学。
描述随机过程统计特性的概率模型,由马尔可夫链演变而来。HMM模型是一双重随机过程,一个是具有一定状态数的马尔可夫链,这是基本的随机过程,它描述状态的转移;另一个是显示随机函数集,描述状态和观察值之间的统计对应关系。其中模型的状态转换过程是不可观察(隐蔽)的,因而称之为“隐”马尔可夫模型。
隐马尔可夫模型描述连续符号序列的条件概率,可以定义为一个五元组:HMM=(S,V,A,B,π),其中:
(1)S代表一组状态的集合S=91,2,3,…,N
(2)V代表一组可观察符号的集合V=9v1,v2,v3,…,
vm
目。
(3)A代表状态转移概率矩阵A=[aij],这是个N行
N列的矩阵,aij表示从状态i转移到状态j的概率,其中aij=p(qt+1=j/qt=i),1!i,j!N。
(4)B代表可观察符号的概率分布B=9bj(k)
・34・电脑与信息技术
N
2007年2月
1!k!M,1!j!N。
(5)π代表初始状态的概率分布π=(πi*,表示在时间1选择某个状态i的概率,有πi=P(q1=i)。
一个确定的隐马尔可夫模型,其状态数和每个状态可能输出的观察值的数目都是可以确定的,因此可以用(A,B,π)来表示模型的参数。其中,由π、A描述马尔可夫链,产生的输出为状态序列,记为Q。Qt表示第t次转移的源状态;B则描述随机过程,产生的输出为观察值序列,记为O。Ot表示第t次转移的输出。
(3)结束:P(O|λ)="αT(i)
i=1
定义2
后向概率用ot+2,ot+3,…,oN去推算ot+1,
ot+2,…,oN的概率,用βt(i)表示。
后向概率算法如下:
(1)初始化:βT(i)=1,1!i!N
(2)递归:βt(i)="αijbj(ot+1)βt+1(j),t=T-1,T-2,…,
j=1N
1,1!i!N
(3)结束:P(O|λ)="βT(i)
i=1N
2隐马尔可夫模型在自然语言理解研究中的应用
2.1
隐马尔可夫模型在语音识别中的应用
在定义了前向概率、后向概率和它们的算法后,观察输出概率P(O|λ)便很容易得到:
)="αP(O|λt(i)βt(i)
i=1N
20世纪80年代,美国CMU大学的J.K.Baker
等人将HMM应用到语音识别领域,在语音识别中获得了极大的成功,成为语音识别的主要方法。
根据前面对隐马尔可夫模型原理的介绍,我们已知它是一个双重的随机过程,在语音识别当中,这两个随机过程共同描述语音信号的统计特性,一个是用具有有限状态数的马尔可夫链来模拟语音信号变化的隐含的随机过程,另一个是与马尔可夫链的每一状态相关联的观察矢量的随机过程。这样,语音等时变信号某一段的特征就由对应状态观察符号的随机过程描述,而信号随时间的变化由隐马尔可夫链的转移概率描述。
基于隐马尔可夫模型的语音识别算法通过对大量语音数据进行数据统计,建立识别统计模型,然后从待识别语音中提取特征,与这些模型进行相似性度量比较,将相似度最高的模式所属的类别作为识别结果输出。一般来说,用隐马尔可夫模型构成语音识别系统或说话人识别系统,要解决3个基本问题。
2.1.2最佳状态序列的寻找
对于HMM系统,外界观察到的某个序列O在系
统内部对应的状态序列Q不是唯一的,但是不同的Q产生O的可能性不一样。最佳状态序列寻找的任务就是根据系统输出O寻找最有可能的状态序列Q,使得该状态序列产生O的可能性达到最大。其常用的算法是Viterbi算法。Viterbi算法是动态规划算法的一种变形,它可用如下递推算法求得:
(1)初始化:δ1(i)=πibi(o1),1!i!N
φ1(i)=0,1!i!N
(2)递归:δt(j)=max[δt-1(i)aij]bj(Ot),
1!i!N
2!t!T,1!j!N
φt(j)=argmax[δt-1(i)aij],
1!i!N
2!t!T,1!j!N
(3)结束:P*=max[δT(i)]
1!i!N
2.1.1观察输出概率P(O|λ)的计算
对于给定了观察序列O(o1,o2,o3,…,oT)和模型λ=
qT=argmax[δT(i)]
1!i!N
*
,A,BE,模型λ产生O的概率可采用前向概率、后向(π
概率,可以使其计算量降低到N2T次运算。
定义1
前向概率用T时刻以前出现的观察序列
来推算到当前时刻t时出现某个观察值的概率,即用出现o1,o2,…,ot-1的概率来推算出现o1,o2,…,ot-1,ot的概率,用αt(i)表示。
前向概率计算算法:
(1)初始化:α1(i)=πibi(o1),1!i!N
(2)递归:αt+1(j)=("αt(i)aijEbj(ot+1),1!t!T-1,
i=1N
(4)状态序列求取:qt=φt+1(qt+1),t=T-1,T-2,…,1由此便可求得P(O|λ)的最佳状态序列:q1,q2,…,qt
*
*
*
**
2.1.3模型参数的估计
模型参数的估计是HMM模型的训练问题,即如
何根据系统所给的若干输出来确定模型λ,A,BE,=(π使P(O|λ)最大。研究者一般采用Baum-Welch重估算法来进行HMM模型的训练。
Baum-Welch算法可描述如下:
令ξ),t(i,j)=P(qt=Si,qt+1=Sj/O,λ
)γt(i)=P(qt=Si/O,λ
1!j!N
第15卷第1期卢微:隐马尔可夫模型在自然语言理解研究中的应用
N
・35・
α(i)ab(O)β(j)则ξ,γt(i,j)=t(i)=!ξt(i,j)
j=1
由此得出了Baum-Welch算法中著名的重估公式:
(i,j)!ξ
tt=1
T-1
T
观察值序列W=w1,w2,w3,…,wm.T°为最终的标注结果,即概率最大的词性序列,用公式表示为:
T°=argmaxP(T/W)
T
(1)
根据Bayes公式,则有
"i=γ#π1(t),aij=
!γ(i)
t
t=1
$=,bij
t=1,OT=0
%γ(j)
t
P(T/W)=P(T)P(W/T)
因此根据式(1)!式(2)可以得到:
(2)
!γ(j)
t
t=1
对于一个特定的词序列来说,P(W)是一个常数,
$=;π",A",B">即是重估后的模型参数,且P(O|λ$)&Pλ
(O|λ)。
复杂的语音识别问题就是这样通过隐含马尔可夫模型简单地被表述、解决,让我们不得不感叹数学模型之妙,隐马尔可夫模型识别系统之所以优于其它系统,在于隐马尔可夫模型识别系统中保留了更多训练数据的统计信息,并解决了训练和分类上的困难,可以说隐马尔可夫模型在语音识别上是个极大的成功。
因此
T°=argmaxP(T)P(W/T)
T
引入HMM来计算P(T)P(W/T)得:
P(T)P(W/T)≈(p(wi/ti)p(ti/ti-1)
i=1
m
T°=argmax(p(wi/ti)p(ti/ti-1)
T
i=1
m
词性标注中,最优分词路径的寻找也是采用Viter-
bi算法,这里不再做介绍。
2.2隐马尔可夫模型在词性标注中的应用
词性标注就是在给定的句子中判定每个词的语法
3结语
隐马尔可夫模型在语音识别和词性标注中的应用
范畴,确定词性并加以标注的过程,它发生在对文本执行分词处理之后,是对切分所得的词进行分析、运算,确定词在上下文中合适的词类性质并加以标注的过程。词性标注的正误对汉语语料库的标注、机器翻译和大规模文本的信息检索都有重要的意义。基于统计方法的词性标注系统如隐马尔可夫模型、最大熵原理、神经元网络、决策树等都发展得比较成熟,这些方法的词性标注正确率大致相同,其中以隐马尔可夫模型最为典型、最为通行。
就词性标注问题而言,“词性”序列就相当于隐马尔可夫模型中的隐藏的状态序列,是需要求解的目标,给定的“词串”则是可观察符号的序列,是已知的条件。如果把词性标注问题模型化为一个隐马尔可夫模型,那么词性标志集合(即隐马尔可夫模型的状态数)是可以确定的;每个词性所对应的词语(即隐马尔可夫模型的可观察符号)也是确定的。
在隐马尔可夫模型下,词性标注问题可以表述为:在给定观察值和模型参数的情况下,求状态序列最好地解释”T=t1,t2,t3,…tm,使得这一状态序列可以“
[6][5][3][4]
还在进一步完善,而这一数学模型的应用远不只在这两方面。近几年,隐马尔可夫模型在自然语言理解和处理的许多方面都得到了广泛的应用,甚至在信号处理的相关学科中也能觅到它的踪影。在上面的公式中,如果把w1,w2,w3…当成中文,把t1,t2,t3…当成对应的英文,那么就能利用这个模型解决机器翻译问题;如果把t1,t2,t3…当成扫描文字得到的图像特征,就能利用这个模型解决印刷体和手写体的识别。
参考文献:
[1][2]
俞士汶.计算语言学[M].北京:商务印书馆,2004.
谢锦辉.隐Markov模型(HMM)及其在语音处理中的应用[M].武汉:华中理工大学出版社,1995.
胡春静,韩兆强.基于隐马尔可夫模型(HMM)的词性标注的应用研究[J].计算机工程与应用,2002,6:62-64.
段红梅,汪军,马良河,徐冉.隐马尔可夫模型在语音识别中的应用[J].工科数学,2002.6:16-20.
蔡莲红,黄德智,蔡锐.现代语音技术基础与应用[M].北京:清华大学出版社,2003.
翁富良.计算语言导论[M].北京:中国社会科学出版社,1998.