3 2009209218收到,2010201203改回33 基金项目:国家级课题资助项目(30800446)。
333刘红芝,女,1980年生,硕士,研究方向:电子信息咨询与服务,计算机网络及数据库技术。
文章编号:100325850(2010)0320001203中文分词技术的研究Research on Ch i nese W ord Segm en ta tion Techn iques刘红芝(徐州医学院图书馆 江苏徐州 221004)【摘 要】对中文分词的主要算法进行了研究,阐述了中文分词中存在的困难及其解决方法,最后指出了中文分词的未来研究工作。
【关键词】中文分词,算法,歧义,未登录词,停用词中图分类号:T P 391文献标识码:AABSTRACT T h is paper analyzes the m ain am biguities of Ch inese w o rd segm entati on ,elabo rates difficulties in Ch inese w o rd segm entati on and their so luti ons ,and finally po ints out the existing p roblem s in Ch inese w o rd segm entati on and the future research w o rk 1KEYWOR D S ch inese w o rd segm entati on ,algo ris m ,am biguity ,unknow n w o rd ,stop 2w o rd 随着因特网上信息给人们带来方便的同时,也存在信息查找不便、不良信息过多等弊端,信息过滤技术应运而生。
信息过滤[1]就是根据用户的信息需求,利用一定的工具从大规模的动态信息流中自动筛选出满足用户需求的信息,同时屏蔽掉无用信息的过程。
目前很多信息过滤系统的设计都是基于内容的过滤,即查找信息文本中是否含有特征词库中设置的关键词。
这种设计思想符合人们正常的思维习惯,比较容易实现。
但是在实际应用中,特别是在处理中文信息的时候由于缺乏中文策略,处理结果很难让人满意。
因此,进行中文信息过滤,首先就要对文本预处理,进行中文分词,将其表示成可计算和推理的模型。
中文分词是中文文本过滤的首要基础性工作、难点问题,也是自然语言信息处理中最基本的一步。
1 中文分词技术将连续的字序列按照一定的规范重新组合成词序列的过程被称为分词;中文分词就是把中文的汉字序列分成有意义的词[2]。
分词只是中文信息处理的一部分,分词本身并不是目的,而是后续处理过程的必要阶段,是中文信息处理的基础技术。
2 中文分词的必要性如何让计算机更好地读懂人类的语言,理解人类的思想,更好地让用户快速方便地搜索到自己所需要的资源,中文分词技术的产生是中文搜索质量提高的至关重要的因素。
众所周知,中文文本与英文文本的表示方法有所不同,英文文本中词与词中间都由空格或标点符号隔开,因而词与词之间的界限很明显,可以很容易地获取关键词,而中文文本中词与词则无明显的界限,这就影响了关键词的获取和匹配[3]。
3 分词的主要算法中文分词技术属于自然语言处理技术的范畴,是语义理解过程中最初的一个环节,它将组成语句的核心词提炼出来供语义分析模块使用,在分词的过程中,如何能够恰当地提供足够的词来供分析程序处理,计算机如何完成这一过程?其处理过程就称为分词算法。
现有的分词算法按照是否使用分词词典来分,可分为基于词典的分词算法和基于无词典的分词算法[4]。
基于词典的分词算法的分词精度在很大程度上依赖于分词词典的好坏,基于无词典的分词算法不需要利用词典信息,它通过对大规模的生语料库进行统计分析,自动地发现和学习词汇,从分词精度来看,基于词典的分词算法要大大优于无词典的分词算法。
311 基于词典的分词算法基于词典的分词算法主要基于一个词典和一个基本的切分评估规则。
早期主要采取机械匹配的方法,但由于缺乏歧义切分的处理,故切分的精度较低,后来随着研究的发展,加入了规则的切分,但规则的制订不仅需要大量的人力而且对系统的开放性有很大的局限,因此后来又引入了从基于统计的分词方法,不仅统计・1・ 第23卷 第3期电脑开发与应用(总173)词频而且分析词性等信息来提高切分的精度。
31111 机械分词方法机械分词方法就是按照词典对字符串进行匹配。
按扫描的方向可以分为正向扫描、反向扫描、双向扫描;按不同长度优先匹配的原则又可以分为最大匹配和最小匹配,这两种匹配按增字或减字又可以分为两种类型。
常用的方法大多按照最大匹配和增字的原则进行,因为这样获得的词汇信息较多。
具体地讲,机械分词方法大体分为如下几种:①正向减字最大匹配(M ax i m um M atch ing)算法。
这种方法又被称为5—4—3—2—1查询法,其基本思想是:假设自动分词词典中的最长词条所含汉字个数为m,则取被处理材料中当前字符串序数中的m 个字符作为匹配字段,查找分词词典,如词典中存在这样的一个m字词,则匹配成功,匹配字段作为一个词被切分出来;如词典中找不到这样的一个m字词,则将匹配字段去掉最后一个汉字,剩下的m-l个字符作为新的匹配字段,进行新的匹配,如此反复,直至切分出一个词,完成一轮匹配切分出一个词,再按上述步骤进行,直到切分出所有的词为止[5]。
②逆向减字最大匹配(R everse M ax i m um M atch ing)算法。
与上述方法不同的是每次从句子(或文章)的末尾开始处理,每次匹配不成功时去掉的是字段的最前面的一个汉字。
实验证明,RMM方法较MM方法的精度要高一些。
③双向匹配法。
将正向最大匹配法与逆向最大匹配法组合。
④设立切分标志法。
设立切分标志法首先要收集众多的切分标志,分词时先找出这些切分标志,把句子切分成一些比较短的字段,然后再用最大匹配算法或反向最大匹配算法进行细分。
⑤全切分算法。
该方法描述如下:a1找出字符串中从位置0开始的所有的词,将每个词的词尾位置加入队列;b1从队列中取出一个元素,找出从该元素记录的位置k开始的所有的词,将每个词的词尾位置加入队列;c1重复b1,直到队列为空[6]。
使用该方法可以找出一个句子(或文章)的所有切分方式,避免了切分盲点。
⑥词数最少法。
该方法指在全切分的基础上,找出一个句子中词数总和最小的一种切分方式。
31112 基于规则的分词算法该方法的推理步骤是:推理机把字符串视为词法树(或语法树)中的结点,利用常识性知识库进行顺向搜索匹配,若匹配成功,则该词把原字符串断为左右两截,以该词作为子树的根,左边一段为该子树的右孩子,代替原字符串在词语树中的结点,形成一棵新的词语树。
一旦子树的根结点有歧义标志,则启动相应的歧义切分规则,校正刚形成的词语树,达到消除歧义的目的。
这种方法的难点在于规则知识库的建立。
因为语言是人们在生活中逐渐积累起来的,其中的规律种类繁多、富于变化,为了建立规则库,需要耗费大量的人工和时间,即使这样,建立的规则库也很难覆盖所有的语言现象,而且,随着知识库的规则不断增多,规则之间也可能产生冲突。
这些因素使得基于规则的分词算法的精度很难提高,不够灵活。
31113 基于统计的分词算法统计方法的基本思想是:一个句子可能有多种切分结果,对每种切分结果利用给定的参数计算它的出现概率,从结果中选择概率大的一种。
概率的计算方法依赖于所建立的语言模型[7]。
一般采用全切分算法对文本进行切分,找到所有可能的切分方式。
为了避免切分结果过多,产生组合爆炸,可以实现对切分结果进行剪枝,把一些明显不可能的结果去掉。
基于统计的分词方法不需要人工去建立规则库,参数值(词频、词性等信息)可以从语料库中通过训练自动获得。
随着大规模语料库的建立,这种方法得到了越来越广泛的应用。
相对于规则方法,统计方法更加灵活,精度也更高。
它的优点在于可以发现所有的切分歧义,但是统计语言模型的精度和决策算法在很大程度上决定了解决歧义的方法,需要大量的标注语料,并且分词速度也因搜索空间的增大而有所缓慢。
实际应用的统计分词系统都要使用一部基本的分词词典进行串匹配分词,同时使用统计方法识别一些新的词,即将串频统计和串匹配结合起来既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点。
31114 统计和规则相结合的方法统计方法和基于规则的方法各有优缺点。
规则方法不够灵活,但可以很好地处理特例情况;统计方法易于实现,比较灵活,但是对特例情况却无能为力。
在规则和统计结合的方法中,一般先用统计方法对歧义部分进行处理,对统计方法不能解决或难以确定的情况(两个切分结果的概率非常接近),再利用基于规则的・2・(总174)中文分词技术的研究2010年 方法进行处理,弥补了相互之间的不足。
312 基于无词典的分词算法基于汉字之间的互信息和t—测试信息的分词算法。
汉语的词可以理解为字与字之间的稳定结合,因此,如果在上下文中某几个相邻的字出现的次数越多,那么,这几个字成词的可能性就很大。
根据这个道理引入互信息(M u tual info r m ati on)和t—测试值(t2sco re)的概念,用来表示两个汉字之间结合关系的紧密程度。
该方法的分词原理是:对于一个汉字字符串,计算汉字之间的互信息和t—测试差信息,选择互信息和t—测试差信息大的组成词。
该方法的局限性是只能处理长度为2的词,且对于一些共现频率高的但并不是词的字组,常被提取出来,并且常用词的计算开销大,但可以识别一些新词,消除歧义[8]。
对于一个成熟的分词系统来说,不可能单独依靠某一个算法来实现,都需要综合不同的算法,在实际的应用中,要根据具体的情况来选择不同的分词方案。
4 中文分词中的困难虽然有了较成熟的分词算法,但分词仍然是中文信息处理的瓶颈问题,目前面临的主要困难如下。
411 汉语“词”的概念不明确“词”的概念一直是汉语语言学界纠缠不清的问题,迄今还没有一个具有权威性的确切定义。
主要困难有两方面,一方面是单字词与语素之间的划界;另一方面是词与短语(词组)的划界。
汉语的词汇平面构成了现阶段中文信息处理应用领域的主要支撑平台,必须从工程角度划出信息处理用的“词”的主要特征[8]。
但是目前这个问题虽然已利用大规模语料库,通过计算词频、词长、字频以及“互信息”等因素来使它量化,而用以决定词表中收词的条件,仍然没有得出合理的可操作的理论。
412 歧义切分字段的处理中文文本中含有许多歧义切分字段,同一文本可能被不同的人划分为不同的分词结果。
典型的歧义有交集型歧义(约占全部歧义的85%以上)和组合型歧义,切分歧义是影响分词系统切分正确率的重要因素,也是分词阶段最困难的问题。