基于规则和统计的日语分词和词性标注的研究
2010-06-05姜尚仆陈群秀
姜尚仆,陈群秀
(1. 清华大学 信息科学与技术国家实验室,北京 100084; 2. 清华大学 计算机科学与技术系,北京 100084)
1 引言
规则和统计相结合的研究方法是当前计算语言学界主流的研究方法,是今后发展的方向。本文对基于规则和统计的日语分词和词性标注进行了研究,提出了一个准确率较高的基于规则和统计的日语分词和词性标注算法。
日语分词和词性标注是以日语为源语言的机器翻译系统的第一个模块,是其重要组成部分。日语分词和词性标注还被广泛应用于日语的各种自然语言处理的任务中。因此,日语分词和词性标注算法的研究有着重要的意义。和中文类似,日语的词语之间没有明显的分隔符,日语词法分析也包括了分词和词性标注两个部分。
对于序列标注,近年来提出了很多算法,包括HMM[1]、ME[2-3]、CRFs[4]和感知器[5]等。中文分词和词性标注通常被看成一类序列标注问题,而采用字标注的方法,例如对每个字标注B/I[6]或者B/M/E/S[7]来实现词语切分。然而,在日语分词中,这种方法并不能取得很好的效果[8],这一是由于日语词语相对较长,而字标注的窗口较小,不能获取足够的上下文特征,二是由于日语中大量存在的假名作为一种拼音文字,没有实际的语义。而通常来说,基于词典的日语分词算法,即使是最大匹配,也能获得80%以上的正确率。词典能提供词性、邻接关系、词形变换规则等很多先验知识,这些都是字符特征无法获得的。对于未登录词(OOV),也可以通过抽取词语中的字符特征来进行识别[9]。因此,一些基于词特征的分词算法成为了日语分词的主流算法。文献[10]使用基于词的2阶HMM,并对某些容易产生歧义的词语添加了3阶特征,以达到效率和效果的平衡。文献[11]使用了字和词的混合HMM,分别处理未登录词和登录词的情况。文献[8]则使用了基于CRFs的方法,和常用的CRFs不同的是,它使用了基于词的特征。
另一方面,传统的分词和词性标注方法将两个步骤串行执行,带来了误差累积的问题。近年来,很多研究都在尝试将两者合二为一[13-15]。实验证明,联合的方法无论是分词正确性还是词性标注正确性都有了一定提高。
本文提出了一种基于规则和统计的日语分词和词性标注方法。类似于文献[12,14]中文分词和词性标注的方法,本文使用基于感知器的统计模型,并采用了联合分词和词性标注。不同的是,在此基础上增加了邻接属性这种基于规则的特征。我们使用的特征模板和文献[8]中类似,但由于感知器和CRFs相比模板选择更为灵活,因此除了邻接属性的特征外,还添加了词性的Trigram特征。实验结果表明:该方法和开源词法分析系统MeCab在分词和词性标注的准确性上相当。
2 基于规则的日语分词和词性标注研究
基于规则的分词算法是早期日语分词的常用算法。这种方法的优点是事先总结归纳好的规则可以覆盖绝大部分的语言事实,准确性高并且计算比较简单,速度快。本节首先介绍日语的词语特征,在此基础上介绍了基于规则的使用邻接表的分词算法。
2.1 日语词语特征
和中文类似,日语的词语间没有分隔符,然而,日语又具有一些有别于中文的特点,了解这些特点,对于进行较好的日语词法分析有着重要的意义。日语主要具有如下一些词法特征:
1) 日语依靠助词或者助动词的黏着来表示每个词语在句中的成分,因此助词和助动词的正确识别对词法分析的正确性非常重要。
日语中助词(Particle)和助动词(Auxiliary Verb)可以统称为附属词,从语法功能上和中文的助词比较接近。日语中有三种字符类型:平假名(Hiragana)、片假名(Katakana)和汉字。汉字常用于实词,而且数量众多,比较不容易产生切分和词性标注的歧义。片假名一般用于外来词汇,出现较少且分界明显。而平假名一共只有50多个字符,却广泛存在于各种词性中,尤其是在附属词中数量繁多且词语长度较短,词语边界的划分更加困难。因此,在日语的词法分析中,附属词通常会词汇化(Lexicalized),即词语本身作为和词性类似特征来使用[8,10]。
2) 日语的动词、形容词、形容动词和助动词有活用形。
对于属于这些词性的词,其原始形态被称为基本形。而根据这些词在句子中的不同成分和作用,又有连体形、连用形、未然形、终止形、假定形、命令形、推量形等不同的活用形。
词语的活用会影响到邻接关系。例如,连体形后面通常会连接体言。这种活用形的匹配关系可以用来确定一些分词或者词性标注的结果,因此,将这种匹配关系引入分词算法是可能会有帮助的。其中一种引入的方法就是邻接属性和邻接表。
2.2 邻接属性和邻接表
词性标注算法通常使用N-gram模型来表示连续n个词语词性之间的相关性。然而,仅仅使用词性的N-gram模型表示能力有限,往往不能描述复杂的语法性质。ME和CRFs成功的解决了这个问题,通过引入各种复杂的、可重叠的特征模板,实现了性能的提高。例如,在中文词性标注中,字符的特征被广泛应用[6-7]。
同样,在日语词法分析中,仅仅依靠词性的N-gram模型是不够的。对于两个相邻的词语,一些细化的词类别,例如动词、形容词、形容动词和助动词的活用形类型,人名、地名等命名实体等都可以作为邻接关系的特征来使用。
基于邻接表的分词算法就是这样一种对相邻词语可能的搭配进行分析的算法。邻接表是事先根据语言学规律归纳总结出来的一套用来表示日语相邻词语之间可能的邻接组合的规则。我们对每个词语都指定了一个左邻接属性和一个右邻接属性。任意两个相邻的词语,后一个的左邻接属性和前一个的右邻接属性的组合决定了这两个词语之间的匹配程度。我们用人工总结归纳出102种左邻接属性和99种右邻接属性,并定义任意的一对组合能否匹配,这种匹配关系就是邻接表。例如,在词典中有这样的词条:
五 8 6分 11 66
它表示“五”(五)的右邻接属性和左邻接属性分别为8(代表“JRN8 数詞”)和6(代表“JLN6 数詞”),“分”(分钟)的右邻接属性和左邻接属性分别为11(代表“JRNB 単位”)和66(代表“JSF9 後助数詞”)。如果“五”的右邻接属性8和“分”的左邻接属性66的组合在邻接表中存在,则“五分”就成为一个可能的词语搭配。
除了人工指定相邻两个邻接属性对能否匹配的方法,这种匹配规则也可以使用概率模型来表示,并利用分词语料库进行参数估计。由于邻接属性通过人工分析了各种可能会影响相邻词语搭配的特征,因此能实现较好的分词和词性标注结果,同时又不会造成过拟合。
2.3 词典构成
我们使用的词典由名词词典、形容词词典等18部分类词典组成的大规模的词典,共有词条72.7万。每个词条除了词语本身以外,还记录了词语的词性、左邻接属性和右邻接属性。对于动词、形容词、形容动词和助动词这些有活用形的词语,我们根据一个动词基本形词典,通过活用形变化规则,生成其所有活用形的词条。例如下面的动词词条:
あたら 56 9 あたる
表示“あたら”所对应的基本型为“あたる”,其右邻接属性和左邻接属性分别为56(表示“JEM5 未然a-nal”)和9(表示“JLV1 動詞”)。
3 在基于统计的框架下加入基于规则的特征
由于基于规则的方法灵活性较差并且对语言事实的覆盖面不够全面等固有缺陷,结合基于统计的方法往往能为性能带来较大提升。本文使用了基于统计的感知器算法[5]作为整个算法的框架,在其中融合基于规则的特征。感知器算法是CRFs的一种替代算法,并且具有和CRFs类似的性能。这种方法被广泛应用于词性标注[5]和中文分词[12,14-15]中。
3.1 特征模板
本文选取的特征模板如表1所示。在基本模板中,对未登录词使用了基于字符的特征,对助词、助动词和标点等词语进行了词汇化(见2.1节),并使用了词性的Trigram特征。此外,还加入了邻接属性(见2.2节)的特征,由于邻接属性和词性基本上是多对一的关系,因此没有使用邻接属性和词性结合的特征。
表1 本文算法使用的特征模板①
3.2 参数训练
输入:训练集(X,Y)
算法:
Fort=1…T,i=1…N
3.3 解码算法
由于感知器算法的训练参数过程只依赖于解码,它处理特征模板的能力强大而灵活。对于复杂的特征模板,通常可以使用集束搜索(Beam Search)算法[12]进行解码。文献[14]提出了多重集束搜索(Multi-beam Search)算法对使用单一感知器进行联合分词和词性标注的解码方法进行改进,解决使用集束搜索由于搜索空间过大导致的准确性下降的问题。集束搜索和多重集束搜索用启发式的方法对搜索空间进行压缩,通常能得到较优解,而且速度较快。
由于本文使用的特征状态空间比较简单,使用Viterbi算法不但可以求得最优解,而且速度也不慢。因此,本文使用Viterbi算法来进行解码,状态转移方程为:
其中,score(p′,p,r,lex)是当前状态的得分,w是当前词语,p″,p′,p是最后三个词语的词性。当w需要词汇化时,lex=w;否则lex=NULL。Uni,bi和tri分别表示当前位置Unigram, Bigram和Trigram特征的得分。
4 实验和结果分析
4.1 训练数据
实验使用的训练语料是北京外国语大学的日汉双语语料库,里面的文章来自日语小说原著和翻译。我们从中选取了7MB的日语原文,对它进行了预处理,划分出段落46 730段,句子114 228句,然后分别使用一个基于字词混合HMM的分词系统(使用了文献[11]中的方法)和开源日语分词系统MeCab对这些句子进行词法分析,其中有10 475句切分结果完全一致。在切分不同的句子中,取出部分针对句子不一致的部分进行修正,共整理出11 000句句子作为训练语料。由于资源有限,暂时没有对这部分训练语料进行人工校对。
4.2 测试集
日语分词目前还没有公开的评测,因此我们自己构建了一个小规模的测试集。测试语料来源于网页,共有9 154句日语句子。使用的对比系统是基于字词混合HMM的分词系统和开源日语分词系统MeCab。其中第一个系统使用了文献[11]中的框架,利用词典来识别登录词,利用字特征来识别未登录词,并加入了基于统计的邻接属性规则(见2.2节)。MeCab使用的是文献[8]中基于词的CRFs的算法。由于MeCab使用的词性分类标准和我们标注的标准差异较大,因此MeCab在这个数据集上词性标注的准确率无法得到。为了比较,实验结果中添加了文献[8]中列出的MeCab在Kyoto Corpus上的实验结果作为参考。对于本文提出的方法,分别测试了使用基本特征模板(见表1)和基本模板加邻接属性两种情况,实验结果如表2所示。
表2 实验结果
4.3 结果分析
实验结果表明,在只使用基本模板的情况下,本文的方法比其他方法略差。而加上邻接属性模板后系统的性能超过了基于字词混合HMM的方法,和MeCab的性能基本相当。一方面,由于感知器算法采用了判别训练,在训练集较小的情况下比HMM的生成模型具有更好的效果;另一方面,相对于基本模板,由于加入了邻接属性的特征,相邻词语的搭配将更加符合语法规则。下面给出一个正确分词和词性标注的例子:
①本文使用的词性:名词N,量词U,助词X,动词V,形容词AJ,形容动词AV,助动词XV,接助词XC,连体词L,连续词C,副词D,代词P,数词M,感叹词I,标点T,格助词XN,副助词XD,系助词S,终助词XE,接头词H。
分词和词性标注错误的情况大多数是由于未登录词导致的,可见系统在处理未登录词方面的能力还较弱。这一方面是由于实验中使用的词典还不完善,其中存在一些错误和遗漏;另一方面也是由于使用的未登录词的特征模板相对简单。此外,分词正确但词性标注错误的情况也较多。实验中使用的训练语料是抽取了两个已有系统分词相同的部分,由于两个系统的词性标注标准不一致,词性标注选取了前一个系统的结果,且没有经过人工校对,这些问题可能会对参数估计产生不良影响。日语中存在一些形容连用和副词等常见的多词性的情况也常常产生错误。下面是一个错误的例子:
原文: この庭はよく叡山を借景としたものです。(译文: 这个是借睿山为远景而造的庭院。)结果: この L 庭 N は XS よく AJ 叡山 N を XN 借景 N と XN し V た XV もの N です XV 。 T 人工: この L 庭 N は XS よく D 叡山 N を XN 借景 N と XN し V た XV もの N です XV 。 T
よく在这里有两种词性,并且语法上都是合理的,结果选择了错误的那个词性。要避免这种错误一方面需要提高训练语料的规模和质量,一方面可能需要引入其他的特征或使用其他的模型。
5 结论和展望
本文提出了一种基于规则和统计的日语分词和词性标注方法,并且使用基于单一感知器的联合分词和词性标注算法进行训练和解码。由于邻接属性特征的引入,算法的正确性得到了较大提高,超过了基于字词混合HMM的系统,和开源日语词法分析系统MeCab的性能基本相当。邻接属性作为一种人工确定的标准,具有很高的区分能力,我们仅仅使用了一些简单的特征模板,就得到了较好的结果,而且训练和解码过程也很简单。分词和词性标注联合的算法和串行算法相比,也能有效减少误差传递。
当然,更多的特征可能会对结果有进一步的提高,例如更高阶的N-gram特征,或者更多的字符特征。我们只在未登录词中使用了字符特征,实际上,字符特征可能对已登录词的识别也有帮助。此外多重集束搜索算法的提出也保证了加入更多特征后的解码过程仍然可解。
[1] Lawrence. R. Rabiner. A tutorial on hidden markov models and selected applications in speech recogonition[C]//Proceedings of IEEE, 1989.
[2] Patnaparkhi and Adwait. A maximum entropy part-of-speech tagger[C]//Proceedings of the EMNLP, 1996.
[3] A. McCallum, D. Freitag, and F. Pereira. Maximum entropy markov models for information extraction and segmentation[C]//Proceedings of ICML, 2000.
[4] J. Lafferty, A. McCallum, and F. Pereira. Conditional random fields: Probabilistic models for segmenting and labeling sequence data[C]//Proceedings of ICML, 2001.
[5] Michael Collins. Discriminative training methods for hidden markov models: Theory and experiments with perceptron algorithms[C]//Proceedings of EMNLP, 2002.
[6] F. Peng, F. Feng, and A. McCallum. Chinese segmentation and new word detection using conditional random fields[C]//Proceedings of COLING, 2004.
[7] N. Xue and L. Shen. Chinese word segmentation as LMR tagging[C]//Proceedings of ACL SIGHAN Workshop, 2003.
[8] T. Kudo, K. Yamamoto, and Y. Matsumoto. Applying conditional random fields to Japanese morphological analysis[C]//Proceedings of EMNLP, 2004.
[9] K. Uchimoto, C. Nobata, A. Yamada, S. Sekine, H. Isahara. Morphological analysis of the spontaneous speech corpus[C]//Proceedings of COLING, 2002.
[10] M. Asahara. Corpus-based Japanese morphological analysis[D]. Japan: NAIST, 2003.
[11] T. Nakagawa. Chinese and Japanese word segmentation using word-level and character-level information[C]//Proceedings of COLING, 2004.
[12] Y. Zhang and S. Clark. Chinese segmentation with a word-based perceptron algorithm[C]//Proceedings of ACL, 2007.
[13] H. Ng and J. Low. Chinese part-of-speech tagging: one-at-a-time or all-at-once? Word-based or character-based?[C] //Proceedings of EMNLP, 2004.
[14] Y. Zhang and S. Clark. Joint word segmentation and POS tagging using a single perceptron[C]//Proceedings of ACL, 2008.
[15] W. Jiang, L. Huang, Q. Liu, Y. Lu. A cascaded linear model for joint Chinese word segmentation and part-of-speech tagging[C]//Proceedings of ACL, 2008.