最大熵和HMM在中文词性标注中的应用

2014-12-09 18:12余昕聪李红莲吕学强
无线互联科技 2014年11期

余昕聪 李红莲 吕学强

摘 要:隐马尔可夫模型(HMM)基于n-元语法的标注效果虽然不错,但由于预测信息的不足,对汉语的词性标注,特别是未登录词的词性标注精度影响很大。而最大熵模型使用特征的形式,有效的利用了上下文信息,在一定的约束条件下可以得到与训练数据一致的概率分布,即使是未登录词,由于其丰富的上下文信息,对它的词性标注也起到了很好的预测作用。实验结果证明最大熵方法取得了较好的标注效果。

关键词:隐马尔科夫模型(HMM);最大熵模型;未登录词;汉语的词性标注

1 引言

近年来,信息处理技术在现代社会具有广泛的应用,中文信息处理也已经进入了快速发展阶段,并极大地提高了中文社会的信息处理效率。中文信息处理分为汉字信息处理与汉语信息处理两部分,具体内容包括对字、词、句、篇章的输入、存储http://baike.baidu.com/view/87682.htm、传输、输出、识别、转换、压缩、检索、分析、理解和生成等方面的处理技术。在中文信息处理研究领域中,中文的词性标注是一项基础性的课题,它是通过适当的方法对于句子中的每个词都标注上一个合适的词性。词性标注的难点主要是由词性的兼类所引起的,即同一个词有很多种词性的现象,而我们正在朝着解决这些问题的方向前进着。

目前词性标注的方法主要有基于规则和基于统计的方法, 常用的词性标注模型有N元模型、隐马尔科夫模(HMM)、最大熵模型、决策树模型等,本文主要介绍基于最大熵模型的词性标注方法,将实验结果与隐马尔科夫模型方法进行对比分析。

2 最大熵模型

最大熵是指已知未知分布时,选取这些知识,且熵值最大的概率分布。假设存在n个特征,所求的模型是在满足约束集合 的条件下生成的模型,而满足约束集合的模型不只一个,需要的是具有最均匀分布的概率模型,最大熵原理的实质就是已知部分信息时,对未知部分信息随机,最合理的推断。而随机事件的不确定性我们可以用条件熵衡量:

式中: 出现的情况下t的实际概率。而最大熵模型就是找出满足上式的具有最均匀分布的模型。故最大熵模型可以用下式表示:

在数据分布的先验的限制和条件中,求得的分布与我们认为重要和可靠的已知条件相符合即可,不去对为未知的数据做任何的可能的先验假设,从而引入了最大的不确定性,这也是最大熵模型成功的因素之一。

2.1 模型参数的估计

若随机过程所有的输出值所构成集合为T(在本文中T为词性标记集合),而已知语料库中的所有上下文信息为集合X,对于一个词来说,其输出t∈T会受到其在文中上下文信息的影响。对于词性标记而言,假设x为与待标记词有关的上下文信息的组合, t为该词可能出现的词性标记。那么,对于给定的t∈X,精确估计输出为t∈T的条件概率,即为对 进行精确估计。

经过人工标注和校对的训练语料库中有大量的词性标注实例(词的标记,词的上下文信息),即(t,x)样本。经过统计可以得到训练语料中在特定的上下文中一个词出现某一词性的频率,从而得到训练语料中上下文信息与输出的经验概率分布:

随机过程的输出受上下文信息的影响。如在词性标注系统中,文本待标记可能出现的词性标记与其上下文有关,而上下文信息可以用特征来表示,建立一个预测模型,可以引人了特征函数来表述数据集中(x,t)的特性,它被定义为{0,1}域上的二值函数,例如可用如下所示的二值函数来表示:

进一步可以引人一系列的特征函数来表示训练数据集的限制,并在此基础上通过对特征函数的期望值施加一定的约束来表述存在在原数据集中的上下文依赖关系,即要求特征函数在 p(x)分布上的期望值和在先验模型 上的相同。

2.2 算法描述

2.2.1 训练模型

假设满足最大熵条件的概率具有Gibbs分布:

其中:

每个特征函数对应一个权重值λi。

设有n个特征函数,每个特征函数对应一个权重值,我们的目的实在满足约束集合的模型集合内,求出其中熵最大模型的一组值,过程如下:

(1)从训练语料中经过统计得到

并计算出:

(2)从训练语料中得到每个词的上下文信息及当前的词性标记,每一条记为一个import,然后合并成相同的imports;

(3)通过对imports的统计得到建立模型所需的特征,并增加“true”作为校正信息,来满足算法对特征函数的限制条件。

(4)对于每个import,计算其特征个数m。如果特征个数为常数则记为C,否则C为特征个数中的最大值,同时增加k=C-m个校正true,以便使得每个import的C均为常数。

(5)对于所有的 ,设置 ;

(6)对于每个 :

(i)设m为迭代次数,计算:

(ii)计算:

(iii)计算:

(iv)更新 。

重复(6)直到收敛或循环若干次。

在本文中,对于每个import,当 不为常数时,都增加k个校正信息true,使得每个import都有相同的特征个数,而不是对所有的imports统一增加一个校正特征,这样在迭代时就不存在计算校正参数与其它参数不一致的问题了,这使得在模型训练时,训练时间减少了。同时校正信息与可能的标记形成了不只一个的校正特征函数,能更精确的进行预测,这使得对文本进行词性标记时正确率较增加一个校正参数形成的模型而言有所提高。

2.2.2 测试模型

给定一句需要词性标注的句子,可以得到一个词可能出现的词性概率,而这一句话的词性标注的条件概率可表示为:

测试模型的目的是要求出使上式的值最大的一组词性标注,在该系统中是用动态规划法实现的。

2 隐马尔科夫模型

词性标注问题可描述为给定词序列的条件下,搜寻词性序列使得最大。可变为在给定观察序列条件下搜索最佳的隐马尔科夫状态序列的问题。若第i个词出现的概率依赖于它前面的N-1个词,该模型成为N元文法模型。将W视作一阶Markov链,则有二元文法模型(Bigram模型):单词出现概率只依赖于。

隐马尔科夫模型在词性标注中主要需要解决一下两个问题:

⑴模型参数的估计

⑵最佳状态的确定(Viterbi算法)

2.1 模型参数的估计

对于训练语料,其隐藏状态(标记集)和观察符号(单词)是确定的。确定了标记集和单词,就可以通过训练语料集的性质进行学习HMM的各项参数。对于初始状态(词性)的概率分布矩阵 可以通过统计方法得到。而标记间的状态转移概率矩阵A可以通过如下公式求出:

其中 表示状态(词性)Sj到下一个状态(词性)Sj的次数;

表示状态(词性)Sj出现的次数。而每个状态(词性)所对应的符号(单词)的输出概率矩阵B可以由下列式子求出:

其中 表示为状态(词性)为Si时输出词Vk的概率;符号C代表的是其括号内因子在语料库中的计数。

通过以上统计方法可以求得模型λ={A,B}将问题转化为已知词序列W(观测序列)和得到的模型λ的情况下,求使得条件概率 值最大的那个T*,一般记作 。

如果训练语料库没有标注,则可以通过一些辅助资源,利用前向-后向算法进行学习HMM模型。前向-后向算法被用于解决HMM的第三个问题,即HMM的参数估计问题。如果已经训练了一个与语料库对应的HMM词性标注模型,那么就可以利用这个模型来解决词性标注问题。针对观察序列 和模型 λ={A,B},选择最优的状态序列 ,使得该状态序列“最好地解释”观察序列。这里主要采用维特比算法解码,HMM模型的第二大基本问题就是专门来解决这个问题的。

2.2 最佳状态的确定

Viterbi算法是运用动态规划搜索这种最优状态序列的算法。Viterbi算法定义了一个维特比变量 ,它表示在时间t隐马尔科夫模型沿着某一条路径到达状态Si,并输出观察序列 的最大概率,即:

和前向变量相似, 有如下的递归关系,使得我们能够应用动态规划。除了 外,Viterbi算法利用变量 来记忆在时间t隐马尔科夫模型是通过哪一条概率最大的路径到达状态Si的。实际上 记录了该路径上状态Si的前面一个(在时间t-1的)状态。

对于其算法过程可以用图1进行描述,已知图中符号A和B分别代表了观测序列,下面的M1、N1分别代表该符号可能输出的状态,从H2返回S1的最佳状态为N1,因为p(M1-H2)=0.6*0.5= 0.3,而p(N1-H2)=0.4x0.8=0.32,说明了从状态N1到达状态H2的概率比较大,同时采用 记录了该路径上状态的前面一个(在时间t-1的)状态,即最佳状态N1。尽管搜索还没有完全结束,但是H2已经找到了最佳返回节点为N1。

3 实验数据

3.1 实验方法

本实验采用的是训练语料库为1998年人民日报标记语料库。首先,我们要选取适当的内容区完成词性标注的任务,一般好的集更有助于对词的类别和信息进行合理的划分,这里采用26个标记词性标记集。从语料库中抽取150万词的内容作为训练语料,再从150万词的训练语料中抽取50万的词作为封闭测试语料,进行词性标注,并记录正确率。从选定的训练语料之外,再选取50万的词作为开放测试语料,进行词性标注,并记录正确率。

再分别用最大熵模型和HMM模型两种方法对上述语料进行开放测试和封闭测试,最后比较二者的正确率。

3.2 实验结果

实验结果:

按照以上实验步骤,得到以下实验结果:

实验结果分析:

我们可以从表中的数据看出,对语料进行开放测试和封闭测试的准确率大有不同。开放测试中由于未登录词(即训练语料中没出现过的词语)的出现,导致其测试概率明显低于封闭测试的概率。可见未登录词很大程度上影响了词性标注的准确率。同时我们发现,在汉语词性标注中,最大熵模型提供了较为灵活的特征机制,能让我们有效的利用上下文的信息去得到更好的标注结果,更高的准确率,而隐马尔科夫模型中针对上下文的应用还有待完善,可以通过提高模型的阶数以及针对上下文信息的关联进行改进提高正确率。

现如今,统计学方法在中文词性标注中的主流的方法,然而若是能在这些方法中融入一些有效的语言规则,建立更大规模的语料库,使其能尽可能涵盖更多的语言现象,涉及更多的领域,相信会使得词性标注系统有更高的效率和准确率。

4 总结

汉语的词性标注,是中文信息处理领域中的基础。而关于词性标注的研究结果,直接涉及到机器翻译、信息检索、自然语言理解等诸多领域。目前来说,在处理中文词性标注方面,有很多种统计学方法,本文主要最大熵模型和隐马尔科夫模型这两种重要的方法进行对比,发现最大熵模型由于采用了上下文特征机制取得了较好的标注效果。

[参考文献]

[1]Jiang Y,Zhou Z,Wan L,et al.Cross sentence oriented complicated Chinese grammar proofreading method and practice[C].Information Management,Innovation Management and Industrial Engineering (ICIII),2012 International Conference on.IEEE,2012,3:254-258.

[2]Zhao Y,Wang X L,Liu B Q,et al.Applying class triggers in Chinese POS tagging based on maximum entropy model[C].Machine Learning and Cybernetics,2004.Proceedings of 2004 International Conference on.IEEE,2004,3:1641-1645.

[3]孔海霞.基于最大熵的汉语词性标注[D].大连理工大学.2007.

[4]林红,苑春法,郭树军.基于最大熵方法的汉语词性标注[J].计算机应用.2004,24(1):14-16.

[5]赵红丹,王希杰.基于隐马尔科夫模型的词性标注[J].安阳师范学院学报.2010(5):9-12.

[6]胡春静,韩兆强.基于隐马尔可夫模型(HMM)的词性标注的应用研究[J].计算机工程与应用.2002,38(6):62-64.