三种中文分词算法优劣比较

来源:互联网 发布:网络安全工程师就业 编辑:程序博客网 时间:2024/05/16 00:43

=============================================================================== 如有需要可以转载,但转载请注明出处,并保留这一块信息,谢谢合作! 部分内容参考互联网,如有异议,请跟我联系! 作者:刀剑笑(Blog:http://blog.csdn.net/jyz3051) Email:jyz3051 at yahoo dot com dot cn('at'请替换成'@','dot'请替换成'.' ) =============================================================================== 关键词:中文分词,中文分词算法,基于字符串匹配的分词,基于理解的分词,基于统计的分词 到目前为止,中文分词包括三种方法:1)基于字符串匹配的分词;2)基于理解的分词;3)基于统计的分词。到目前为止,还无法证明哪一种方法更准确,每种方法都有自己的利弊,有强项也有致命弱点,简单的对比见下表所示: 各种分词方法的优劣对比 分词方法 基于字符串匹配分词 基于理解的分词 基于统计的分词 歧义识别 差 强 强 新词识别 差 强 强 需要词典 需要 不需要 不需要 需要语料库 否 否 是 需要规则库 否 是 否 算法复杂性 容易 很难 一般 技术成熟度 成熟 不成熟 成熟 实施难度 容易 很难 一般 分词准确性 一般 准确 较准 分词速度 快 慢 一般 (1)歧义识别 歧义识别指一个字符串有多种分词方法,计算机难以给出到底哪一种分词算法才是正确的分词系列。如"表面的"可以分为"表面/的"或"表/面的"。计算机无法判断哪一种才是准确的分词系列。 基于字符串的分词算法:仅仅是跟一个电子词典进行比较,故不能进行歧义识别; 基于理解的分词算法:指通过理解字符串的含义,故有很强的歧义识别能力; 基于统计的分词算法:根据字符连续出现次数的多少,得到分词系列,故常常能够给出正确的分词系列选择,但是也有可能判断错误的情况。 (2)新词识别 新词识别也称作未登录词识别,指正确识别词典中没有出现的词语。姓名、机构名、地址、称谓等千变万化,词典中常常不能完全收录这些词语;另外,网络中出现的流行用语也是一种未登录词的常见来源,如"打酱油"为最近出现在网络中,并迅速流行,从而成为一个新词。大量的研究证明新词识别是中文分词准确性的一个重要影响因素。 基于字符串的分词算法:无法正确识别未登录词,因为这种算法仅仅与词典中存在的词语进行比较; 基于理解的分词算法:理解字符串的含义,从而有很强的新词识别能力; 基于统计的分词算法:这种算法对第二种未登录词有很强的识别能力,因为出现次数多,才会当作一个新词;对于第二类未登录词,这类词语有一定的规律,如姓名:"姓"+ 名字,如李胜利;机构:前缀+称谓,如希望集团;故需要结合一定的规则进行识别,仅仅统计方法难以正确识别。 (3)需要词典 基于字符串的分词算法:基本思路就是与电子词典进行比较,故电子词典是必须的。并且词典越大,分词的正确率越高,因为词典越大,未登录词越少,从而可以大大减少未登录词识别的错误; 基于理解的分词算法:理解字符串的含义,故不需要一个电子词典; 基于统计的分词算法:仅仅根据统计得到最终的结果,故电子词典不是必须的。 (4)需要语料库 基于字符串的分词算法:分词过程仅仅与一个已经存在的电子词典进行比较,故不需要语料库; 基于理解的分词算法:理解字符串的含义,故不需要电子词典; 基于统计的分词算法:需要语料库进行统计训练,故语料库是必须的;且好的语料库是分词准确性的保证。 (5)需要规则库 基于字符串的分词算法:分词过程仅仅与一个已经存在的电子词典进行比较,不需要规则库来进行分词; 基于理解的分词算法:规则是计算机进行理解的基础,故准确、完备的规则库是这种分词算法的前提; 基于统计的分词算法:根据语料库统计训练,故规则库不是必须的。 (6)算法复杂性 基于字符串的分词算法:仅仅进行字符串的比较操作,故算法简单; 基于理解的分词算法:需要充分处理各种规则,故算法非常复杂;事实上到目前为止,还没有成熟的这类算法; 基于统计的分词算法:需要语料库进行训练,虽然算法也比较复杂,但是已经比较常见,故这种分词的复杂性比第一种大,比第二种容易。现在的实用分词系统都采用这种算法。 (7)技术成熟度 基于字符串的分词算法:是最早出现也是最成熟的算法; 基于理解的分词算法:是最不成熟的一类算法,到目前为止还没有成熟的算法; 基于统计的分词算法:已经有多种成熟的这类算法,基本上能够满足实际的应用。 故技术成熟度:基于匹配的分词算法〉基于理解的分词算法〉基于统计的分词算法。 (8)实施复杂性 同上面的道理,实施复杂性:基于理解的分词算法〉基于统计的分词算法〉基于匹配的分词算法。 (9)分词准确性 到目前为止还没有一个准确的结论,不过从理论上说,基于理解的分词算法有最高的分词准确性,理论上有100%的准确性;而基于匹配的分词算法和基于统计的分词算法是一种"浅理解"的分词方法,不涉及真正的含义理解,故可能会出现错误,难以达到100%的准确性。 (10)分词速度 基于匹配的分词算法:算法简单,操作容易,故分词速度快,所以这种算法常常作为另外两种算法的预处理,进行字符串的粗分; 基于理解的分词算法:这种算法常常需要操作一个巨大的规则库,故速度最慢; 基于统计的分词算法:这种分词算法仅仅是与一个统计结果进行比较,故速度一般。 故一般的分词速度从快到慢依次为:基于匹配的分词算法〉基于统计的分词算法〉基于理解的分词算法。

原创粉丝点击