汉语分词研究

时间:2022-04-03 05:22:15

汉语分词研究

(彭州市教师进修学校,四川彭州611930)

【摘 要】随着Internet飞速发展和网上中文信息的逐渐增多,中文信息处理应用日益广泛。由于汉语几千年的文化积累形成了一套庞大而复杂的体系,使汉语自动分词成为整个中文信息处理的“瓶颈”。本文介绍了汉语分词出现的背景及其研究现状,同时也介绍现有汉语分词方法所面临的各种问题;针对现有的分词方法,本文从三种分词方法出发进行探讨,分析其优略;最后,选择最大正向匹配法进行更深入的研究,对基于最大正向匹配法进行改进,提出了一种预处理算法和新的词典结构,并根据新的词典给出了新的算法,该算法充分体现了长词优先的原则,弥补了最大正向匹配法算法不能正确切分句子的不足。

【关键词】汉语分词;最大正向匹配;词典;切分;长词优先

1.背景分析

汉语分词是目前中文信息处理的一个重要组成部分,也是还没有彻底解决的一个课题。经过几十年的发展,学者们试图找寻解决这一课题的方法,但是还没有一个好的方法能完全的解决这一难题。如有一天能突破汉语自动分词这一难题,那么中文信息自动处理的问题就会迎刃而解,它将会给汉语走向世界打开一扇方便之门。

1.1中文分词技术

将连续的字序列按照一定的规范重新组合成词序列的过程被成为分词。中文分词就是把中文的汉字序列分成有意义的词。分词只是中文信息处理的一部分,分词本身并不是目的,而是后续处理过程的必要阶段,是中文信息处理的基础技术。由于汉语不像英语有明显的空格标记,即使汉语在句和句中有标点或段落来简单划分,但因为词与词之间没有分界符,所以中文在词的处理上要比英语复杂的多。

2.存在的问题

随着中文信息处理的日益深入,中文文本自动分词的课题得到了越来越多的重视,但自动分词技术仍旧是制约着中文信息处理发展的关键技术。总的说来,汉语自动分词主要有以下的的困难。

2.1语言学和计算机科学方面的问题

在语言学方面,主要存在词的定义不统一、没有一个分词标准、词的具体判定未解决这三个方面的问题。在计算机方面,主要存在没有合理的自然语言模型和不能有效地表示分词所需的词法知识和语义知识。

2.2未登录词识别方面的问题

在真实的文本处理中,常常会碰到许多分词系统没有的词汇,就比如说:人名、地名、品牌名、专用术语等。这些词就称为未登录词。另外中国汉语有几百万个词,一部词典是不可能把所有的词汇入其中,而且随着社会的发展和科技的突飞猛进,每天都会有许多新词不断地涌现出来,未登录词的出现无法避免。

2.3歧义方面的问题

歧义就是对于一个句子或者一个字符串有多种不同的理解。人对句子分析其实是一个理解的过程,通过理解,人会把汉字按照某种规则自动的组合成词,这就主要依赖人的语言知识和背景知识,但是计算机不具备这个能力,它只是以分词词典为依据按照少量规则机械地进行分词,结果必然会引起歧义。另外,汉字是方块字,每一个方块字都是一个独立的、完整的单元,相互之间没有明显的界限,加上汉语词的理解多义性和复杂性,因此歧义现象是无法避免的。

3.现状

目前,汉语分词方法大致上可以分为三种,第一种是基于字符串匹配的机械分词法,也叫做词典法;第二种是建立在统计学上的基于统计语言模型的分词方法;第三种是建立在知识库及语义规则基础上的分词方法,也叫做人工智能法。

基于机械匹配的分词方法是出现较早的一种分词方法,它具有简洁、易于实现的优点,但是该方法切分效率不高,而且无法有效的解决歧义的缺点。

基于统计语言模型的分词方法由于它良好的分歧处理能力和识别新词能力,受到了很多研究者的青睐。但是有利也有弊,在出色的实现识别新词能力的同时,却暴露出对常用词识别能力的欠缺。

基于语言理解的分词方法就理论而言则是最理想的分词方法,但是由于该类的分词方法总体上还处于初级阶段,还需要更深入和全面的研究。

4.基于词典分析法算法的研究

下面主要列举两种基于词典的汉语分词方法,最大正向匹配法和最大逆向匹配法。

4.1最大逆向匹配法

最大逆向匹配法的基本原理和最大正向匹配法差不多,不同的地方就是分词扫描的方向,最大正向匹配法是从左往右的扫描匹配,而最大逆向匹配法恰恰相反。它的设计思想是:设C为切分的词典,i为C的最大词长,Str为带切分的句子或字符串。每次从Str中从右往左取i个汉字,当然当字符串小于i时,就取整个字符串,取出后与C中的词相匹配,若匹配成功,则指针往前移i个汉字,再重复以上的操作直至到第一个汉字为止。若匹配不成功,则去除最左边的汉字再进行匹配直至到最右边的词被匹配,然后指针指向下一个字符串继续匹配,如此反复直至将Str全部都匹配完了才停止。最大逆向匹配法和最大正向匹配法一样优缺点都很明显。在实现时,的确不需要很多的词法、语法等的知识,因为这都是建立在一个完善的词典C上。缺点同样也不能识别未登入词和无法有效的解决歧义的出现。

4.2最大正向匹配法

最大正向匹配法的设计思想是:设C为切分的词典,i为C的最大词长,Str为带切分的句子或字符串。每次从Str中抽取长度为i的一个字符串,当然Str的长度不能大于i并且当Str小于i时,就取出整个句子或字符串。然后把取出的字符串与C中的词一个一个的进行匹配。若匹配成功,这认定该字符串为词,随后指针后移i个汉字后继续上述匹配;若不成功,则把字符串最后一个汉字去掉再与C中的词进行匹配,如此下去,直至匹配成功或者该字符串只剩一个汉字为止。该算法执行简单,不需要用到语法、句法等,也没有复杂的数据结构,实现起来也较简单,但美中不足之处就是没有识别未登入词的能力,同时也无法解决歧义。(如图4.2)

4.3 基于正向最大匹配法的改进

4.3.1预处理算法

在机械分词过程中,把词表中的词条和句子中的字串进行匹配是一个不断进行且重复的过程。如果词表是按增序排列的话,具有同样前缀的词相隔不远。因此,我们可以在分词前进行一个预处理过程,按某一算法对句子进行扫描,保存下字段的内部结构信息对某一长度的字串进行匹配。因为它保存了所有的切分可能,所以预处理过程可以不加改变地用于各种机械分词算法,便于算法的实现;而且利用它也可以找出所有可能的歧义字段。在预处理过程中,选择如图4.3.1所示的数据结构来保存字段的内部结构信息。

其中数组S[LEN]的内容是待分析的句子,s[i]为句子中的第i+1个字;Ci为指向首字为s[i]的字段的内部结构信息;Wik表示s[i]到S[i+Wik]组成一个分词单位;Dio是Wik所表示的分词单位的属性等。如字串“中华人民共和国”,通过增字扫描得到词典中首字为“中”的分词单位有“中”、“中华”、“中华人民”、“中华人民共和国”。除去首字的字串长分别为0、1、3、6,在内存中的表示如图4.3.2所示。依据上述信息,分词时就容易从句子中截取一定长度的字串来得到符合条件的词条。

图4.3.2 首字为“中”的字段内部结构信息

4.3.2改进的最大匹配算法的基本思想和算法

最大匹配法的评价原则是“长词优先”。然而现有的最大匹配法不论顺向还是逆向,增字或减字,都是在局部范围进行最大匹配,即每次最大匹配的范围都是最先i个或最后i个字符,这样并没有充分体现“长词优先”的原则。针对这种情况,我们提出一种改进的最大匹配算法,其基本思想为:假设词表中最长的词由i个字组成,句子长度为N,采取归左原则进行切分。先从句子第1个字开始截取一个长度为i的字串(即句子的开头i个字),令它同词表中的词条依次匹配。如果在词表中找不到一个词条能同当前字串匹配,就从句子第2个字开始截取一个长度为i的字串重复以上过程。如果还找不到,则依次从第3,4,……N—i个字开始截取长度为i的字串进行匹配。如果在某一次匹配中查到词表中确有这样一个i字词,匹配成功,并把这个字串作为一个词从句子中切分出去,把原句中位于这个字串左右两边的部分视为两个新的句子,递归调用这一过程。如果所有的匹配都不成功,说明句子中没有长度为i的词,则开始寻找长度i一1的词。重复这个过程直到整个句子被完全切分。改进后的算法在整个句子的范围内寻找最长词,充分体现了“长词优先”的原则,成功地处理了正向最大匹配算法(MM)和反向最大匹配(RMM)算法不能正确切分的句子。改进后的算法大致描述如下:

{for(j=MAXWORDLEN一1;j>=0;j--)//MAXWORDLEN为词表的最大词长

{

for(i=0;i

{

if(Match(S[i],j))//判断是否有首字为s[i],长为j+l的字段即搜索Wik中是否有值为j

{

WordSegment(S[i]);//把找到的首字为s[i],长为j+1的字段切分出来

Segment(S[0],S[i一1]);//对s[O]到s[i—1]的字串进行分词

if(i+j

break;}}}}

上述算法通过对函数Segment()的递归调用来最终实现分词。通过对基于改进后的最大匹配算法中文分词分析,本算法使分词精度大大提高,避免了最大正向匹配法和最大逆向匹配法的一部分错误切分。另外,提出的预处理方法可以不加修改地应用于所有的机械分词方法,也可以用于消除歧义。

5.总结与体会

汉语分词应时代的要求应运而生,在很大程度上满足了人们对信息搜索的需要,解决了人和计算机交流中的一些障碍,但分词系统中也存在很多困难,相信在未来的几年里,通过对汉语分词技术的深入研究,必将开发出高质量、多功能的分词系统来促进中文信息过滤系统的广泛应用。

【参考文献】

[1] 何克抗,徐辉等.书面汉语自动分词专家系统设计原理[J].中文信息学报,1991.

[2] 刘源等.信息处理用现代汉语分词规范及自动分词方法[M].北京:清华大学出版社,1994.

[3] 陈力为.汉语书面语的分词问题一一个有关全民的信息化问题[J].中文信息学报,1996(1). [4] 陈桂林,王永成等一种改进的快速分词算法[J].计算机研究与发展,2000(4).

[5] 李振星,徐泽平等.全二分最大匹配快速分词算法[J].计算机工程与应用,2002(11).

上一篇:翻译中的语境因素 下一篇:代“是”而有哲学