1、中文分词算法初探 【摘要】中文分词就是将一个汉字序列切分成一个一个单独的词,并按照一定的规则重新组合成词序列的过程,己经被广泛应用于相关领域。其质量高低直接影响中文信息处理效率。因此,对中文分词的研究具有重要的理论和现实意义。本文将简要介绍中文分词的常用算法及常用中文分词包。 【关键词】中文分词;算法;中文分词包 一、研究背景 网络时代信息量爆炸式增长,依靠传统手工方法已经无法处理。因此出现各种自动化的方法来解决这个问题。而这些方法的前提就是中文分词。中文分词属于自然语言处理范畴。我们知道,英文中单词之间是以空格作为分界符,而中文词语之间没有空格。因此在词的分割上,中文比英文要复杂困难的多。中
2、文分词在语言学与计算科学方面都有困难,而在计算机科学中的难题,一是歧义识别问题,二是未登录词的处理问题。 二、研究现状 现有的分词算法可分为三大类:机械分词法、基于理解的分词方法和基于统计的分词方法。 (一 )机械分词法 机械分词法也称作基于字符串匹配的分词方法。按照一定的策略将待分析的汉字串与一个 “ 充分大的 ” 机器词典中的词条进行配,若在词典中找到某个字符串,则匹配成功(识别出一个词)。按照扫描方向的不同,串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大匹配和最小匹配;按照是否与词性标注过程相结合,又可以分为单纯分词方法和分词与标注相结合的一体化方法。
3、常用的几种机械分词方法如下: 1.最大正向匹配法( Maximum Matching Method)通常简称为 MM 法。其基本思想为:设 D 为词典, M 表示 D 中的最大词长, S 为待分割的字符串。MM法每次从 S中取长度为 M的子串与 D中的词进行匹配。若成功,这样的一个匹配字符串被作为一个词切分出来,指针后移 M个汉字后继续匹配;或不成功,则该字符串逐次减一进行匹配。 2.逆向最大匹配法( Reverse Maximum Matcing Method)通常简称为 RMM法。 RMM 法的基本原理与 MM 法相同,不同的是分词的扫描方向是从右至左取字符串进行匹配。统计结果表明,单纯使
4、用正向最大匹配的错误率为1/169,单纯使用逆向最大 匹配的错误率为 1/245。为了提高分词的精确度,实际工作中常常采用正逆向结合的双向匹配法。 (二)基于统计的分词方法 该方法是一种全切分方法:词是稳定的组合,因此在上下文中,相邻的字同时出现的次数越多,就越有可能构成一个词。因此字与字相邻出现的概率或频率能较好反映成词的可信度。对语料文本中同时出现字符组合的频度进行统计,当同时出现的频度高于某一阈值时,便认为此字符组合构成了一个词。这种方法的优点在于可以发现所有的切分歧义并且容易将新词提取出来。将它与机械分词结合,可以既实现切分速度快,又 能自动消除歧我、结合上下文识别生词。这种方法主要的
5、统计模型有: N 元文法模型、隐 Markov 模型和最大熵模型等。 (三)基于基于人工智能的分词方法 基本思想是:在分词的同时进行句法、语义分析,并结合语义分析,通过对上下文内容所提供信息的分析对词进行定界,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的帮助下,分词子系统可以获得词、句子等的句法和信息,模拟人对句子的理解来对分词的歧义进行判断。由于汉语的复杂性和过于灵活,目前此类分词 系统尚未成熟。 (四)并行分词法 这种分词方法通过建立机群环境,安装并行系统,借助于一个含有分词词库的管道进行,比较匹配过程是分步进行的,每一步可以
6、对进入管道中的词同时与词库中相应的词进行比较,由于同时有多个词进行比较匹配,因而分词速度可以大幅度提高。 三、中文分词的两大难题 (一)歧义识别 歧义是指一句话,有两种及以上的词语切分方法。常风的歧义有三种,分别是交集型歧义、组合型歧义与真歧义。交集型歧义约占全部歧义的 85%,它是这样的歧义:待切分字符串 xyz, 若 xy、 yz 同时满足切分条件,即同时为词,则字符串 xyz中的字符串 y被称作次串,字符串 xyz被称作交集型切分歧义。例如: “ 中间隔 ” 这个字符串,可切分为 “ 中间 ”“ 隔 ” ,也可切分为 “ 中 ”“ 间隔 ” ,其中的 “ 间 ” 就是交集串。组合型歧义必
7、须根据整个句子的语义来判断。例如: “ 门把手坏了 ” 与 “ 请把手举高 ” ,前一句子中 “ 把手 ” 是词,而后一句子中 “ 把手 ” 不是词。第三种歧义是真歧义,情况则更为复杂,需要通过上下文环境来判断。比如: “ 乒乓球拍卖完了 ” ,可以切分为 “ 乒乓球拍 /卖完了 ” ,也可以切分为 “ 乒乓球 /拍卖完了 ” ,这就必须通过 上下文语境来判断了。 (二)未登录问题 未登录词大致包含两大类: 1)新涌现的通用词或专业术语等; 2)专有名词,如中国人名、外国译名、地名、机构名(泛指机关、团体和其它企事业单位)等。最典型的是人名,比如: “ 刘东船出海了 ” 中, “ 刘东船 ”
8、是个人名,但计算机很难识别。 四、常见中文分词项目 (一)庖丁解牛分词( paoding),基于 java 提供 Lucene 和 solr 接口,效率和扩展性极高,为互联网、企业内部网使用的中文搜索引擎分词组件,能够对未知的词汇进行合理解析。 (二) SCWS,一套基于词频词典的机械中文分词引擎,它能将一整段的汉字基本正确的切分成词,并且辅以一定的专有名称、了年代等规则识别来分词。 (三) ICTCLAS, ICTCLAS 在国内 973 专家组组织的评测中活动获得了第一名,在第一届国际中文处理研究机构 SigHan 组织的评测中都获得了多项第一名。 (四) LibMMSeg,采用 C+开发
9、,同时支持 Linux 平台和 Windows 平台,切分速度大约在 300K/s( PM-1.2G)。 (五) ICTCLAS( Institute of Computing Technology, Chinese Lexical Analysis System)是中国科学院计算技术研究所在多年研究工作积累的基础上,基于多层隐马模型研制出的汉语词法分析系统,主要功能包括中文分词;词性标注;命名实体识别;新词识别;同时支持用户词典。 ICTCLAS经过五年精心打造,内核升级 6 次,目前已经升级到了 ICTCLAS3.0,分词精度 98.45%,各种词典数据压缩后不到 3M。 ICTCLAS在国内 973专家组组织的评测中活动获得了第一名,在第一届国际中文处理研究机构 SigHan 组织的评测中都获得了多项第一名,是当前世界上最好的汉语词法分析器。 五、展望 不管哪种分词算法都有自己的优点和不足。机械分词法优点是思想简单、易于实现,但在解决歧义问题和未登录问题方面表现欠佳;基于统计的方法虽然能够进行全切分,但往往数据过于庞大。基于人工智能的分词方法依赖于句法、语法分析以及语义分析,目前尚不成熟。因此为了提高准确率,需要多种算法结合使用。