??xml version="1.0" encoding="utf-8" standalone="yes"?>
? 于规则的分词Ҏ(gu)Q这U方法又叫做机械分词Ҏ(gu),它是按照一定的{略待分析的汉字串与一?#8220;充分大的”机器词典中的词条q行匚w,若在词典中找到某个字 W串,则匹配成?识别Z个词) 。常用的Ҏ(gu)Q最匹配算?Minimum Matching)Q正向(逆向Q最大匹配法(Maximum Matching)Q逐字匚w法,经|络法、联想一回溯法,ZN-最短\径分词算?以及(qing)可以怺l合Q例?可以正向最大匹配方法和逆向最大匹 配方法结合v来构成双向匹配法{。目前机械式分词占主地位的是正向最大匹配法和逆向最大匹配法?/p>
?最匹配算?/strong>
在所有的分词法中,最早研I的是最匹配算?Minimum Matching)Q该法从待比较字符串左边开始比较,先取前两个字W组成的字段与词怸的词q行比较Q如果词怸有该词,则分出此词,l箋从第三个? W开始取两个字符l成的字D进行比较,如果没有匚w刎ͼ则取?个字W串l成的字D进行比较,依次cLQ直到取的字W串的长度等于预先设定的阈|如果q? 没有匚w成功Q则从待处理字串的第二个字符开始比较,如此循环?/p>
例如Q?#8220;如果q没有匹配成?#8221;Q取出左边两个字 l成的字D与词典q行比较Q分?#8220;如果”Q再?#8220;q?#8221;开始,?#8220;q没”Q字怸没有此词Ql取“q没?#8221;Q依ơ取到字D?#8220;q没有匹?#8221;(假设阈gؓ(f) 5)Q然后从“?#8221;开始,?#8220;没有”Q如此@环直到字W串末尾为止。这U方法的优点是速度快,但是准确率却不是很高Q比如待处理字符串ؓ(f)“中华人民共和 ?#8221;Q此匚w法分出的结果ؓ(f)Q中华、h民、共和国Q因此该Ҏ(gu)基本上已l不被采??/p>
?最大匹配算?/strong>
Z字符串的最大匹配,q种Ҏ(gu)现在仍比较常用。最大匹?Maximum Matching)分ؓ(f)正向和逆向两种最大匹配,正向匚w的基本思想是:(x)假设词典中最大词条所含的汉字个数为n个,取待处理字符串的前n个字作ؓ(f)匚w? D,查找分词词典。若词典中含有该词,则匹配成功,分出该词Q然后从被比较字W串的n+1处开始再取n个字l成的字D重新在词典中匹配;如果没有匚w? 功,则将qn个字l成的字D늚最后一位剔除,用剩下的n一1个字l成的字D在词典中进行匹配,如此q行下去Q直到切分成功ؓ(f)止?/p>
? 如,待处理字W串?#8220;汉字多ؓ(f)表意文字”Q取字符?#8220;汉语多ؓ(f)?#8221;(假设比较的步长ؓ(f)5Q本文步长step都取5)与词典进行比较,没有与之对应的词Q去 ?#8220;?#8221;字,用字D?#8220;汉语多ؓ(f)”q行匚wQ直臛_配到“汉语”Q再取字W串“多ؓ(f)表意”Q@环到切分?#8220;文字”一词。目前,正向最大匹配方法作ZU? 基本的方法已被肯定下来,但是׃错误比较大,一般不单独使用。如字符?#8220;处理机器发生的故?#8221;Q在正向最大匹配方法中?x)出现歧义切分,该字W串被分为:(x) 处理机、发生、故障,但是使用逆向匚wp得到有效的切分?/p>
逆向最大匹配RMM(Reverse Directional Maximum Matching Method)的分词原理和q程与正向最大匹配相|区别在于前者从文章或者句?字串)的末ּ始切分,若不成功则减L前面的一个字。比如对于字W串 “处理机器发生的故?#8221;Q第一步,从字串的双取长度以步长为单位的字段“发生的故?#8221;在词怸q行匚wQ匹配不成功Q再取字D?#8220;生的故障”q行匚wQ依 ơ匹配,直到分出“故障”一词,最l用RMMҎ(gu)切分的结果ؓ(f)Q故障、发生、机器、处理。该Ҏ(gu)要求配备逆序词典?/p>
一般来说根据汉语词汇构成的特点Q从理论上说明了逆向匚w的精度高于正向匚wQ汉语语句的特点一般中心语偏后。有研究数据,单纯使用正向最大匹配的错误 率ؓ(f)1/ 169 ,单纯使用逆向最大匹配的错误率ؓ(f)1/245。实际应用中可以从下面几斚w改进Q同旉取几U分词算法,来提高正率;改进扫描方式Q称为特征扫描或标志 切分,优先在待分析字符串中识别和切分出一些带有明昄征的?以这些词作ؓ(f)断点,可将原字W串分ؓ(f)较小的串再来q机械分词,从而减匹配的错误率等?/p>
?nbsp; 逐字匚w法
逐字匚w法Q基于TRIE索引?wi)的逐字匚w法,是徏立在?wi)型词典机制上,匚w的过E是从烦(ch)引树(wi)的根l点依次同步匚w待查词中的每个字Q可以看成是Ҏ(gu)(wi) 某一分枝的遍历。因此,采用该算法的分词速度较快Q但?wi)的构造和l护比较复杂。一U改q的法是和最大匹配算法相l合Q吸取最大匹配算法词典结构简单? TRIE索引?wi)算法查询速度快的优点。因此词典结构和最大匹配词典构造机制相|区别在于词典正文前增加了多索引。匹配过E类似TRIE索引?wi)进行逐字 匚wQ在性能上和TRIE索引?wi)相q?/p>
?nbsp; 经|络分词法
经|络分词法Qa峰等提出了以经|络理论(BP模型)为基的汉语分词模?为汉语分词研I开辟了新途径。在实用?BP法存在收敛速度慢、易? 入局部最等~点,严重妨碍了分词速度。一U改q算法采用Levenbery2Marquart 法来加速收敛速度,加快了收敛速度利用经|络的基本原理进行分词?/p>
?nbsp; 联想—回溯法
联想—回溯法(AssociationQBacktracking MethodQ简U?AB ?。这U方法要求徏立三个知识库——特征词词库、实词词库和规则库。首先将待切分的汉字字符串序列按特征词词库分割ؓ(f)若干子串Q子串可以是词,也可以是 由几个词l合而成的词;然后Q再利用实词词库和规则库词再l分。切词时Q要利用一定的语法知识Q徏立联x制和回溯机制。联x制由联想|络? 联想推理构成Q联想网l描q每个虚词的构词能力Q联x理利用相应的联想|络来判定所描述的虚词究竟是单独成词q是作ؓ(f)其他词中的构词成分。回溯机制主? 用于处理歧义句子的切分。联想—回溯法虽然增加了算法的旉复杂度和I间复杂度,但这U方法的切词正确率较高,是一U行之有效的Ҏ(gu)?/p>
?nbsp; N-最D\径分词算?/strong>
ZN-最短\径分词算法,其基本思想是根据词典,扑և字串中所有可能的词,构造词语切分有向无环图。每个词对应图中的一条有向边Qƈ赋给相应的边?? ?。然后针对该切分图,在v点到l点的所有\径中Q求出长度值按严格升序排列(M两个不同位置上的g定不{,下同)依次为第1Q第2Q?#8230;Q第 iQ?#8230;Q第N的\径集合作为相应的_分l果集。如果两条或两条以上路径长度相等Q那么他们的长度q列W? iQ都要列入粗分结果集Q而且不媄(jing)响其他\径的排列序号Q最后的_分l果集合大小大于或等于N。N一最短\径方法实际上是最短\径方法和全切分的有机l? 合。该Ҏ(gu)的出发点是尽量减切分出来的词数Q这和最短\径分词方法是完全一致的Q同时又要尽可能的包含最l结果,q和全切分的思想是共通的。通过q种l? 合,一斚w避免了最短\径分词方法大量舍弃正 结果的可能Q另一斚w又大大解决了全切分搜索空间过大,q行效率差的弊端。N一最短\径方法相对的不是_分l果不唯一 Q后l过E需要处理多个粗分结果?但是 Q对于预处理q程来讲Q粗分结果的高召回率臛_重要。因Z召回率就意味着没有办法 再作后箋的补救措施。预处理一旦出错,后箋处理只能是一错再?Q基本上得不到正的最l? l果。而少量的_分l果对后l过E的q行效率影响不会(x)太大Q后l处理可以进一步优选排 错,如词性标注、句法分析等?/p>
除上面之外,q有Z词频l计的切词法Q?Z期望的切词法Q有I多U列举法{?/p>
Zl计的分词方?/font>
Zl计的分词方法,Zl计的方法是Z(两个或多? 汉字同时出现的概?通过对语料库(l过处理的大量领域文本的集合)中的文本q行有监督或无监督的学习(fn)Q可以获取该cL本的某些整体特征或规律。如? 能够充分地利用这些统计现象、规?Q就可以构造基于语? 库的l计学信息抽取算法统计的分析Ҏ(gu)多种多样Q近来研I的热点主要集中于由随机q程发展而来的理论和Ҏ(gu)Q其中最重要的是应用隐马?dng)科夫模?HMM) q行自然语言处理的方法。隐马尔U夫模型,在语韌别领域已l取得了很好的成?在信息抽取领域的应用也正在不断的试和推q中 ?/p>
Z理解分词的方?/font>
Z理解分词的方法,又称之ؓ(f)知识分词,知识分词是一U理想的分词Ҏ(gu),但这cd词方案的法复杂度高,其有效性与可行性尚需在实际工作中得到q一步的? 证。知识分词利用有兌、句子等的句法和语义信息或者从大量语料中找出汉字组词的l合特点来进行评?以期扑ֈ最贴近于原句语义的分词l果?/p>
什么是
众所周知Q英文是? 词ؓ(f)单位的,词和词之间是靠空格隔开Q而中文是以字为单位,句子中所有的字连h才能描述一个意思。例如,英文句子I am a studentQ用中文则ؓ(f)Q?#8220;我是一个学?#8221;。计机可以很简单通过I格知道student是一个单词,但是不能很容易明?#8220;?#8221;?#8220;?#8221;两个字合h 才表CZ个词。把中文的汉字序列切分成有意义的词,是
Q有些h也称为切词。我是一个学生,分词的结果是Q我 ?一?学生?/p>和搜索引?/p>
http://www.baidu.comQ上?#8220;和服”为关键词q行搜烦(ch)Q?/p>
到底Ҏ(gu)索引擎有多大影响Q对于搜索引擎来_(d)最重要的ƈ不是扑ֈ所有结果,因ؓ(f)在上百亿的网中扑ֈ所有结果没有太多的意义Q没有h能看得完Q最重要的是把最相关的结果排在最前面Q这也称为相兛_排序?span class="relatedlinks-highlight">中文分词的准与否,常常直接影响到对搜烦(ch)l果的相兛_排序。笔者最q替朋友找一些关于日本和服的资料Q在搜烦(ch)引擎上输?#8220;和服”Q得到的l果发C很多问题。下面就以这个例子来说明分词Ҏ(gu)索结果的影响Q在现有三个中文搜烦(ch)引擎上做试Q测试方法是直接在GoogleQ?a >http://www.google.comQ、百度(在Google上输?#8220;和服”搜烦(ch)所有中文简体网,dl果507,000条,?0条结果中?4条与和服一点关p都没有?/p>
在百度上输入“和服”搜烦(ch)|页Qdl果?87,000条,?0条结果中?条与和服一点关p都没有?/p>
在中搜上输入“和服”搜烦(ch)|页Qdl果?6,917条,?0条结果都是与和服相关的网c(din)?/p>
q次搜烦(ch)引擎l果中的错误Q就是由于分词的不准所造成的。通过W者的了解QGoogle?span class="relatedlinks-highlight">中文分词技术采用的是美国一家名叫Basis TechnologyQ?a >http://www.basistech.comQ的公司提供?span class="relatedlinks-highlight">中文分词技术,癑ֺ使用的是自己公司开发的分词技术,中搜使用的是国内量U技Q?a >http://www.hylanda.comQ提供的分词技术。由此可见,
的准度Q对搜烦(ch)引擎l果相关性和准确性有相当大的关系?/p>技?/p>
技术属于自然语a处理技术范_(d)对于一句话Qh可以通过自己的知识来明白哪些是词Q哪些不是词Q但如何让计机也能理解Q其处理q程是分词法?/p>
现有的分词算法可分ؓ(f)三大c:(x)Z字符串匹配的分词Ҏ(gu)、基于理解的分词Ҏ(gu)和基于统计的分词Ҏ(gu)?/p>
1、基于字W串匚w的分词方?/p>
q种Ҏ(gu)又叫做机械分词方法,它是按照一定的{略待分析的汉字串与一?#8220;充分大的”机器词典中的词条q行配,若在词典中找到某个字W串Q则匚w成功 Q识别出一个词Q。按照扫描方向的不同Q串匚w分词Ҏ(gu)可以分ؓ(f)正向匚w和逆向匚wQ按照不同长度优先匹配的情况Q可以分为最大(最长)(j)匚w和最(最 短)(j)匚wQ按照是否与词性标注过E相l合Q又可以分ؓ(f)单纯分词Ҏ(gu)和分词与标注相结合的一体化Ҏ(gu)。常用的几种机械分词Ҏ(gu)如下Q?/p>
1Q正向最大匹配法Q由左到右的方向Q;
2Q逆向最大匹配法Q由叛_左的方向Q;
3Q最切分(使每一句中切出的词数最)(j)?/p>
q可以将上述各种Ҏ(gu)怺l合Q例如,可以正向最大匹配方法和逆向最大匹配方法结合v来构成双向匹配法。由于汉语单字成词的特点Q正向最匹配和逆向 最匹配一般很用。一般说来,逆向匚w的切分精度略高于正向匚wQ遇到的歧义现象也较?yu)。统计结果表明,单纯使用正向最大匹配的错误率ؓ(f)1/169Q? 单纯使用逆向最大匹配的错误率ؓ(f)1/245。但q种_ֺq远q不能满_际的需要。实际用的分词pȝQ都是把机械分词作ؓ(f)一U初分手D,q需通过利用? U其它的语言信息来进一步提高切分的准确率?/p>
一U方法是改进扫描方式Q称为特征扫描或标志切分Q优先在待分析字W串中识别和切分Z? 带有明显特征的词Q以q些词作为断点,可将原字W串分ؓ(f)较小的串再来q机械分词,从而减匹配的错误率。另一U方法是分词和词类标注l合hQ利用丰? 的词cM息对分词决策提供帮助Qƈ且在标注q程中又反过来对分词l果q行(g)验、调_(d)从而极大地提高切分的准率?/p>
对于机械分词Ҏ(gu)Q可以徏立一个一般的模型Q在q方面有专业的学术论文,q里不做详细?/p>
2、基于理解的分词Ҏ(gu)
q种分词Ҏ(gu)是通过让计机模拟人对句子的理解,辑ֈ识别词的效果。其基本思想是在分词的同时q行句法、语义分析,利用句法信息和语义信息来处理歧义 现象。它通常包括三个部分Q分词子pȝ、句法语义子pȝ、L部分。在L部分的协调下Q分词子pȝ可以获得有关词、句子等的句法和语义信息来对分词歧义 q行判断Q即它模拟了人对句子的理解过E。这U分词方法需要用大量的语言知识和信息。由于汉语语a知识的笼l、复杂性,难以各U语a信息l织成机器可 直接d的Ş式,因此目前Z理解的分词系l还处在试验阶段?/p>
3、基于统计的分词Ҏ(gu)
从Ş式上看,词是E_的字的组 合,因此在上下文中,盔R的字同时出现的次数越多,p有可能构成一个词。因此字与字盔Rq的频率或概率能够较好的反映成词的可信度。可以对语料中相? q的各个字的组合的频度q行l计Q计它们的互现信息。定义两个字的互C息,计算两个汉字X、Y的相d现概率。互C息体C汉字之间l合关系的紧 密程度。当紧密E度高于某一个阈值时Q便可认为此字组可能构成了一个词。这U方法只需对语料中的字l频度进行统计,不需要切分词典,因而又叫做无词典分? 法或l计取词Ҏ(gu)。但q种Ҏ(gu)也有一定的局限性,?x)经常抽Z些共现频度高、但q不是词的常用字l,例如“q一”?#8220;之一”?#8220;有的”?#8220;我的”?#8220;许多 ?#8221;{,q且对常用词的识别精度差Q时I开销大。实际应用的l计分词pȝ都要使用一部基本的分词词典Q常用词词典Q进行串匚w分词Q同时用统计方法识? 一些新的词Q即串频统计和串匹配结合v来,既发挥匹配分词切分速度快、效率高的特点,又利用了无词典分词结合上下文识别生词、自动消除歧义的优点?/p>
到底哪种分词法的准度更高Q目前ƈ无定论。对于Q何一个成熟的分词pȝ来说Q不可能单独依靠某一U算法来实现Q都需要综合不同的法。笔者了解,? 量科技的分词算法就采用“复方分词?#8221;Q所谓复方,相当于用中药中的复方概念Q即用不同的药才l合hdȝ病,同样Q对于中文词的识别,需要多U算? 来处理不同的问题?/p>
分词中的N
有了成熟的分词算法,是否pҎ(gu)的解?span class="relatedlinks-highlight">中文分词的问题呢Q事实远非如此。中文是一U十分复杂的语言Q让计算机理解中文语a更是困难。在
q程中,有两大难题一直没有完全突破?/p>1、歧义识?/p>
歧义是指同样的一句话Q可能有两种或者更多的切分Ҏ(gu)。例如:(x)表面的,因ؓ(f)“表面”?#8220;面的”都是词,那么q个短语可以分?#8220;表面 ?#8221;?#8220;? 面的”。这U称Z叉歧义。像q种交叉歧义十分常见Q前面D?#8220;和服”的例子,其实是因ؓ(f)交叉歧义引v的错误?#8220;化妆和服?#8221;可以分成“化妆 ? 服装”或?#8220;化妆 和服 ?#8221;。由于没有h的知识去理解Q计机很难知道到底哪个Ҏ(gu)正确?/p>
交叉歧义相对l合歧义来说是还比较容易处 理,l合歧义必需Ҏ(gu)整个句子来判断了。例如,在句?#8220;q个门把手坏?#8221;中,“把手”是个词,但在句子“h手拿开”中,“把手”׃是一个词Q在句子 “军d了一名中?#8221;中,“中将”是个词,但在句子“产量三年中将增长两?#8221;中,“中将”׃再是词。这些词计算机又如何去识?
? 果交叉歧义和l合歧义计算机都能解决的话,在歧义中q有一个难题,是真歧义。真歧义意思是l出一句话Q由人去判断也不知道哪个应该是词Q哪个应该不是词? 例如Q?#8220;乒乓球拍卖完?#8221;Q可以切分成“乒乓 球拍 ???#8221;、也可切分成“乒乓?拍卖 ? ?#8221;Q如果没有上下文其他的句子,恐怕谁也不知道“拍卖”在这里算不算一个词?/p>
2、新词识?/p>
新词Q专业术语称为未? 录词。也是那些在字怸都没有收录过Q但又确实能UCؓ(f)词的那些词。最典型的是人名Qh可以很容易理解句?#8220;王军虎去q州?#8221;中,“王军?#8221;是个词,因ؓ(f) 是一个h的名字,但要是让计算机去识别困难了。如果把“王军?#8221;做ؓ(f)一个词收录到字怸去,全世界有那么多名字,而且每时每刻都有新增的h名,收录q些 人名本n是一巨大的工程。即使这工作可以完成,q是?x)存在问题,例如Q在句子“王军虎头虎脑?#8221;中,“王军?#8221;q能不能词Q?/p>
新词中除了h名以外,q有机构名、地名、品名、商标名、简U、省略语{都是很隑֤理的问题Q而且q些又正好是Zl常使用的词Q因此对于搜索引擎来_(d)分词pȝ中的新词识别十分重要。目前新词识别准率已经成ؓ(f)评h(hun)一个分词系l好坏的重要标志之一?/p>
的应?/p>
目前在自然语a处理技术中Q中文处理技术比西文处理技术要落后很大一D距,许多西文的处理方法中文不能直接采用,是因ؓ(f)中文必需有分词这道工序?span class="relatedlinks-highlight">中文分词是其他中文信息处理的基础Q搜索引擎只?span class="relatedlinks-highlight">中文分词的一个应用。其他的比如机器译QMTQ、语韛_成、自动分cR自动摘要、自动校对等{,都需要用到分词。因Z文需要分词,可能?x)?jing)响一些研IӞ但同时也Z些企业带来机?x),因?f)国外的计机处理技术要惌入中国市场,首先也是要解?span class="relatedlinks-highlight">中文分词问题。在中文研究斚wQ相比外国h来说Q中国h有十分明昄优势?/p>
分词准确性对搜烦(ch)引擎来说十分重要Q但如果分词速度太慢Q即使准性再高,对于搜烦(ch)引擎来说也是不可用的Q因为搜索引擎需要处理数以亿计的|页Q如果分
词耗用的时间过长,?x)严重?jing)响搜索引擎内Ҏ(gu)新的速度。因此对于搜索引擎来_(d)分词的准性和速度Q二者都需要达到很高的要求。目前研I?span class="relatedlinks-highlight">中文分词的大多是U研院校Q清华、北大、中U院、北京语a学院、东北大学、IBM研究院、微软中国研I{都有自q研究队伍Q而真正专业研I?span class="relatedlinks-highlight">中文分词的商业公叔R了v量科技以外Q几乎没有了。科研院校研I的技术,大部分不能很快品化Q而一个专业公司的力量毕竟有限Q看?span class="relatedlinks-highlight">中文分词技术要x好的服务于更多的产品Q还有很长一D\?/p>