汉语词性标注系统的设计与实现

(整期优先)网络出版时间:2009-09-19
/ 2

汉语词性标注系统的设计与实现

刘伟

刘伟(中国传媒大学)

摘要:汉语词性标注技术在中文信息处理领域中占有十分重要的地位,本文主要对基于统计的词性标注技术进行了研究,所实现的词性标注系统主要通过隐马尔科夫模型对训练语料库进行数据统计,获取词性和词汇概率信息,并采用Viterbi算法进行标注,实验结果表明Bigram模型对不同领域具有一定的适应性,取得了较好的标注正确率。

关键词:汉语词性标注隐马尔科夫模型Bigram模型词性排歧

0引言

词性标注即在给定的句子中判定每个词最合适的词性标记。词性标注的正确与否将会直接影响到后续的句法分析、语义分析,是中文信息处理的基础性课题之一。常用的词性标注模型有N元模型、隐马尔科夫模型、最大熵模型、基于决策树的模型等。其中,隐马尔科夫模型是应用较广泛且效果较好的模型之一。本文所采取的方法即基于隐马尔科夫模型的词性标注方法。

1汉语词性标注的困难

作为一种孤立语,汉语的特点是缺乏严格意义上的形态标志和形态变化,汉语词性标注的困难在于:①汉语缺乏词的形态变化,不能像印欧语那样,直接从词的形态变化上来判别词的类别;②常用词的兼类现象严重。兼类词使用频度高,兼类现象复杂多样,覆盖面广,又涉及汉语中大部分词类,使得词类歧义排除的任务困难重重;③研究者本身的主观因素也会造成兼类词处理的困难。

据统计,常见的汉语兼类现象具有以下的分布特征:其一,在汉语词汇中,兼类词数量不多,约占总词条数的5-11%。其二,兼类词的使用频率很高,越常用的词,其词性兼类现象越严重。其三,兼类现象分布不均。如何高效地进行兼类词排歧是目前词性标注面临的主要困难之一。

2系统设计简介

本系统采用最大似然估计法获取二元语法模型参数,并采用Viterbi算法对汉语词性进行标注。对于未登录词的处理方法为:首先对于给定的词性标注集,确定一个适当数量的开放类词性,然后根据所赋词性,估算未登录词概率。

系统的开发语言为C++,运行平台为Windows操作系统。

汉语词性标注集目前没有统一的标准,不同的词性标注集源于不同的语言学家对词性分类体系的不同理解和不同应用领域的要求。本系统使用的训练语料是有声媒体语料库中切分标注好的标准语料,词性标注集使用的是北大词性标注集。

2.1隐马尔科夫模型在词性标注中的应用

对于词性标注任务而言,已知的单词序列W1,W2,……,Wm为观察值序列,词性序列T1,T2,……,Tm便为隐含着的状态序列。训练过程就是统计词性转移矩阵和词性到单词的输出矩阵,而求解过程实际上是一个用Viterbi算法求可能性最大的状态序列。

假设W是分词后的词序列,T是W某个可能的词性标注序列,其中T*为最终的标注结果,即概率最大的词性序列(进行N元语法假设,在此利用二元语法模型),则有:

T*=argmax∏P(Wi|Ti)P(Ti|Ti-1)……………………公式1

其中,利用最大似然估计来计算词汇概率和词性概率值。即:

P(Wi|Ti)=C(Wi,Ti)/C(Ti)

P(Ti|Ti-1)=C(Ti,Ti-1)/C(Ti-1)

C(Wi,Ti)是指语料库中,词Wi词性为Ti的出现次数;C(Ti)是词性Ti的出现次数;C(Ti,Ti-1)是相邻两个词性为Ti-1,Ti的次数,它们都需要从语料库中获得。

2.2未登录词的处理策略假设每一个未登录词都是兼类词,为其赋予名词、动词、形容词、副词、区别词五种词性。根据所赋的词性,估算未登录词概率。

设句子W=w1……wj-1Xjwj+1……wm中包含未登录词Xj,其在句子中的词性为cj,按照公式1,由于Xj是未登录词,所以其词汇发射概率p(wi|ti)的值是未知的。故,确定词Xj的词性问题转化为确定词Xj的词汇发射概率p(wi|ti)问题。这里采取的处理方法是:假设把句子W加入训练集中,由于加入的只有一个句子,因此对其他词的发射概率和整个模型的词性转移概率的影响可以忽略不计。遵循HMM模型的假设,Xj的词性cj由wj-1的词性决定。

2.3主要模块说明

2.3.1训练模块:

功能:读取训练语料,统计训练语料的信息,并将这些统计信息输出至文件。

统计的信息包括:词Wi出现的次数;词Wi的所有词性及对应的该词性的出现次数;词性Ci出现的次数;词性Ci的所有后续词性和他们出现的次数。

2.3.2词性标注模块功能:词类型判断(主要是进行词类型的判别,判断每个词是词典非兼类词、词典兼类词还是未登录词);词性初步匹配(将词典非兼类词词性进行标注);未登录词词性赋值(将未登录词词性赋予五种出现概率最大的词性,包括名词、动词、区别词、形容词、副词);兼类词词性排歧(将未登录词看成兼类词统一进行处理)。

主要算法介绍:由于非兼类词的词性可根据词典唯一确定,故词性标注的主要工作是对兼类词进行排歧,确定其在上下文中出现可能性最大的词性。词性排歧的基本算法如下所述:①对已分词的文本首先根据词典确定各个词的类型,共分为三种类型:词典非兼类词、词典兼类词和未登录词;②将词典非兼类词的词性根据词典唯一确定;③将词典兼类词记录其所有可能的词性,将未登录词词性确定为事先确定的五种可能词性,看做兼类词进行下一步处理;④取片段Span,它包括了一个兼类词序列,并且在该序列的前后各有一个非兼类词;⑤若不存在Span,则算法结束;⑥计算由词性标记组成的序列中各路径的概率,将最大概率路径中的标记作为结果;⑦转步骤②。

3实验结果

训练语料是从2007年中央电视台《百家讲坛》、《新闻联播》、《焦点访谈》、《面对面》等几十个栏目中随机抽取的采用传媒分词标注器切分标注好的文本。从中随机抽取约100万词次语料作为训练集,采用约10万词次的文本作为封闭测试集,从2008年的《新闻联播》栏目中随机选出约5万词次的文本作为开放测试集,测试结果如下:

封闭测试排歧正确率91.79%标注正确率95.69%

开放测试排歧正确率89.58%标注正确率94.50%

4结束语

该系统采用Bigram模型取得了较好的标注效果,对生词的处理进行了优化,但是由于HMM的消歧性能依赖词汇概率和词性转移概率,当目标兼类词的概率分布相近时,就会产生标注错误。另外,在处理未登录词的词性标注问题上,将其词性赋予五种可能性较高的词性:名词、动词、形容词、副词和区别词,然后当成兼类词统一进行词性排歧处理,这样造成无法对一些专有名词做更精确的词性定位。需要研究更好的处理方法,将规则和统计方法相结合,以提高标注的精度。