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

到目前为止,中文分词包括三种方法:1)基于字符串匹配的分词;2)基于理解的分词;3)基于统计的分词。到目前为止,还无法证明哪一种方法更准确,每种方法都有自己的利弊,有强项也有致命弱点,简单的对比见下表所示:

各种分词方法的优劣对比

分词方法 基于字符串匹配分词 基于理解的分词 基于统计的分词
歧义识别
新词识别
需要词典 需要 不需要 不需要
需要语料库
需要规则库
算法复杂性 容易 很难 一般
技术成熟度 成熟 不成熟 成熟
实施难度 容易 很难 一般
分词准确性 一般 准确 较准
分词速度 一般

(1)歧义识别

歧义识别指一个字符串有多种分词方法,计算机难以给出到底哪一种分词算法才是正确的分词系列。如"表面的"可以分为"表面/的"或"表/面的"。计算机无法判断哪一种才是准确的分词系列。

基于字符串的分词算法:仅仅是跟一个电子词典进行比较,故不能进行歧义识别;

基于理解的分词算法:指通过理解字符串的含义,故有很强的歧义识别能力;

基于统计的分词算法:根据字符连续出现次数的多少,得到分词系列,故常常能够给出正确的分词系列选择,但是也有可能判断错误的情况。

(2)新词识别

新词识别也称作未登录词识别,指正确识别词典中没有出现的词语。姓名、机构名、地址、称谓等千变万化,词典中常常不能完全收录这些词语;另外,网络中出现的流行用语也是一种未登录词的常见来源,如"打酱油"为最近出现在网络中,并迅速流行,从而成为一个新词。大量的研究证明新词识别是中文分词准确性的一个重要影响因素。

基于字符串的分词算法:无法正确识别未登录词,因为这种算法仅仅与词典中存在的词语进行比较;

基于理解的分词算法:理解字符串的含义,从而有很强的新词识别能力;

基于统计的分词算法:这种算法对第二种未登录词有很强的识别能力,因为出现次数多,才会当作一个新词;对于第二类未登录词,这类词语有一定的规律,如姓名:"姓"+ 名字,如李胜利;机构:前缀+称谓,如希望集团;故需要结合一定的规则进行识别,仅仅统计方法难以正确识别。

(3)需要词典

基于字符串的分词算法:基本思路就是与电子词典进行比较,故电子词典是必须的。并且词典越大,分词的正确率越高,因为词典越大,未登录词越少,从而可以大大减少未登录词识别的错误;

基于理解的分词算法:理解字符串的含义,故不需要一个电子词典;

基于统计的分词算法:仅仅根据统计得到最终的结果,故电子词典不是必须的。

(4)需要语料库

基于字符串的分词算法:分词过程仅仅与一个已经存在的电子词典进行比较,故不需要语料库;

基于理解的分词算法:理解字符串的含义,故不需要电子词典;

基于统计的分词算法:需要语料库进行统计训练,故语料库是必须的;且好的语料库是分词准确性的保证。

(5)需要规则库

基于字符串的分词算法:分词过程仅仅与一个已经存在的电子词典进行比较,不需要规则库来进行分词;

基于理解的分词算法:规则是计算机进行理解的基础,故准确、完备的规则库是这种分词算法的前提;

基于统计的分词算法:根据语料库统计训练,故规则库不是必须的。

(6)算法复杂性

基于字符串的分词算法:仅仅进行字符串的比较操作,故算法简单;

基于理解的分词算法:需要充分处理各种规则,故算法非常复杂;事实上到目前为止,还没有成熟的这类算法;

基于统计的分词算法:需要语料库进行训练,虽然算法也比较复杂,但是已经比较常见,故这种分词的复杂性比第一种大,比第二种容易。现在的实用分词系统都采用这种算法。

(7)技术成熟度

基于字符串的分词算法:是最早出现也是最成熟的算法;

基于理解的分词算法:是最不成熟的一类算法,到目前为止还没有成熟的算法;

基于统计的分词算法:已经有多种成熟的这类算法,基本上能够满足实际的应用。

故技术成熟度:基于匹配的分词算法〉基于理解的分词算法〉基于统计的分词算法。

(8)实施复杂性

同上面的道理,实施复杂性:基于理解的分词算法〉基于统计的分词算法〉基于匹配的分词算法。

(9)分词准确性

到目前为止还没有一个准确的结论,不过从理论上说,基于理解的分词算法有最高的分词准确性,理论上有100%的准确性;而基于匹配的分词算法和基于统计的分词算法是一种"浅理解"的分词方法,不涉及真正的含义理解,故可能会出现错误,难以达到100%的准确性。

(10)分词速度

基于匹配的分词算法:算法简单,操作容易,故分词速度快,所以这种算法常常作为另外两种算法的预处理,进行字符串的粗分;

基于理解的分词算法:这种算法常常需要操作一个巨大的规则库,故速度最慢;

基于统计的分词算法:这种分词算法仅仅是与一个统计结果进行比较,故速度一般。

故一般的分词速度从快到慢依次为:基于匹配的分词算法〉基于统计的分词算法〉基于理解的分词算法。

时间: 2024-10-05 14:18:36

三种中文分词算法优劣比较的相关文章

漫话中文自动分词和语义识别(上):中文分词算法

转自:http://www.matrix67.com/blog/archives/4212 记得第一次了解中文分词算法是在 Google 黑板报 上看到的,当初看到那个算法时我彻底被震撼住了,想不到一个看似不可能完成的任务竟然有如此神奇巧妙的算法.最近在詹卫东老师的<中文信息处理导论>课上再次学到中文分词算法,才知道这并不是中文分词算法研究的全部,前前后后还有很多故事可讲.在没有建立统计语言模型时,人们还在语言学的角度对自动分词进行研究,期间诞生了很多有意思的理论. 中文分词的主要困难在于分词

Matrix67:漫话中文分词算法

文章转载自: 我爱自然语言处理 记得第一次了解中文分词算法是在 Google 黑板报 上看到的,当初看到那个算法时我彻底被震撼住了,想不到一个看似不可能完成的任务竟然有如此神奇巧妙的算法.最近在詹卫东老师的<中文信息处理导论>课上 再次学到中文分词算法,才知道这并不是中文分词算法研究的全部,前前后后还有很多故事可讲.在没有建立统计语言模型时,人们还在语言学的角度对自动分词进 行研究,期间诞生了很多有意思的理论. 中文分词的主要困难在于分词歧义."结婚的和尚未结婚的",应该分

浅析中文分词算法 助力站长更好做优化

分词算法以前偶尔也懂些,但是懂的不透彻,最近看了很多相关的书,然后去互联网上又学习了一部分,算是有了个大概的了解.其实了解分词算法无论对于个人站长一些中小型企业,都十分有帮助.通过这些词的拆分,能让我们对关键词的把握更加的精准.好了,下边开始今天的正文,如果有不对的的地方,还希望大家多指正. 通常的分词算法往往是针对中文搜索引擎而言,对于Google则不存在,在百度和Google上搜索同样一个关键词或者短语,返回的结果是不同的,这不仅仅是算法不同或者技术不同的原因,更多是因为分词算法的存在.百度

SEO搜索中文分词算法原理实战教程

SEO搜索中文分词算法原理实战教程,如果一个人想成为一个合格的SEO人员,那么搜索引擎分词思维是必须掌握的,因为只有掌握了分词思维,你才可以做出搜索引擎喜欢,而且用户也喜欢的网页,虽然在梦想之旅视频教程中有和大家分享过搜索引擎中文分词原理,但没有完全的,系统的用文字版本和图片版本和大家分享,那么顾芳源就带大家如何正确学习SEO搜索分词思维吧. 搜索引擎中文分词原理 首先我们要知道搜索引擎工作原理是把每个网页的内容按词来录入到数据库,比如你的文章标题是:梦想SEO实战培训提供免费SEO教程,那么搜

Oracle中三种表连接算法的总结

Oracle有三种表连接技术,分别是嵌套连接.合并连接和哈希连接.以下就是对这三种表连接算法进行了详细的分析介绍,需要的朋友可以参考下   1. 嵌套循环连接 (NESTED LOOP Join)嵌套连接把要处理的数据集分为外循环(驱动数据源)和内循环(被驱动数据源),外循环只执行一次(先执行),内循环执行的次数等于外循环执行的数据集个数. 这种连接的好处是内存使用非常少. 如果驱动数据源有限,且被驱动表在连接列上有相应的索引,则这种连接方式才是高效的. 在OLTP系统上常见到这种连接方式. 2

二叉树深度遍历可视化-利用三种深度遍历算法一步步可视化出树的遍历过程,注意:每一步仅遍历一个节点

问题描述 利用三种深度遍历算法一步步可视化出树的遍历过程,注意:每一步仅遍历一个节点 从空树开始通过输入节点值来构造二叉树: 利用三种深度遍历算法一步步可视化出树的遍历过程,即用图示的方法给出遍历的过程.注意:每一步仅遍历一个节点 遍历的过程中实时打印出相应的遍历序列 补充说明: 可视化/图示的过程实质上就是逐步打印二叉树的过程,可参考"打印二叉树": 鼓励使用其他方法来可视化,例如MFC实现等

谈谈百度最新中文分词算法说明

中文分词技术属于自然语言http://www.aliyun.com/zixun/aggregation/20795.html">处理技术范畴,对于一句话,人可以通过自己的知识来明白哪些是词,哪些不是词,但如何让计算机也能理解?其处理过程就是分词算法. 现有的分词算法可分为三大类:基于字符串匹配的分词方法.基于理解的分词方法和基于统计的分词方法. 1.基于字符串匹配的分词方法 这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个"充分大的"机器词典中的词条

搜索引擎常用的三种网站排序算法

搜索引擎如何对互联网上那么多的网站进行合适的排名?想必做站长的都想知道这一点,这是通过一套非常繁琐复杂的算法计算出来的,具体的算法想必没有几个人知道,但是最常用的三种算法还是需要大家去了解一下的. 1.词频位置加权排序算法:顾名思义是说从整个网站上的文字的位置上与出现的次数进行排序,先来说一下位置,不同的网站关键词在内容里出现与在标题里面出现时差别非常大的,搜索引擎认为标题能表现出一个网站是干什么的,如果标题里面出现了关键词要远比文章里面出现关键词重要的多的多.这就是现在大家都知道一个网站的标题

深入浅出LVS:企业集群平台负载均衡的三种模式和算法实现

一.LVS集群常见架构图 Load Balancer层:位于整个集群系统的最前端,由一台或多台负载调度器(Director Server)组成.LVS核心模板IPVS就安装在Director Server上,而Director的主要作用类似于一个路由器,它含有为完成LVS功能所设定的路由表,通过这些路由表把用户的请求分发给Server Array层的应用服务器(Real Server).   同时,在Director Server上还要安装对Real Server的监控模块Ldirectord,