posts - 34, comments - 659, trackbacks - 11, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理
 

作者:肖波

个人博客:http://blog.csdn.net/eaglet

2007/5 南京

 

这段时间通过研究目前在互联网上可以搜索到的中文分词算法,感觉很难找到既快又准的分词方法,通过几天时间的研究,我终于找到了一种快速且较准确的中文分词方法。现在回过头来想想,觉得其实问题并不很复杂,对于一般应用,我觉得这个算法应该基本够用了,当然目前没有一种方法可以达到100%的分词准确度,这个算法也是一样。对于实际应用往往需要在效率和准确度上做个折中,当然对技术的追求是无止境的,我也将继续努力,争取在后续版本中进一步提高准确度,并维持现有效率。

 

基本技术指标

分词准确度:90%以上(只是自己统计了一下,有待专家的权威评测)

处理速度: 600KBytes/s (P4 3.0G)

 

和互联网上几个比较流行的中文分词方法的比较

SharpICTCLAS的比较

提到中文分词,就不能不提到计算所开发的ICTCLAS 中文分词系统,这个系统采用一些语义分析的方法以提高分词的准确度。看了它的算法,感觉确实有很多值得学习的地方,只是算法相对复杂,维护时除了要维护词表还要维护词的关系,当然复杂也有复杂的好处,对于如下句子:请把手抬高一点儿”比较互联网上我所找到的几个算法(包括我的算法),只有ICTCLAS可以正确分词。

分词速度:

ICTCLAS 的分词速度为31.5Kbytes/s 由于没有实际去测,只能引用其代码中写的数据。这个速度比我的算法慢将近20倍。

我用了河北理工大学经管学院吕震宇老师的SharpICTCLAS V1.0进行了对比,可能是吕震宇老师还没有来得及对效率进行优化,这个版本的分词效率较底,每秒钟大概在4000-6000字节,比我的算法要慢100多倍。相信SharpICTCLAS 的后续版本效率会有提高。

准确度:

SharpICTCLAS V1.0 版本对一些有歧异的句子进行分词,发现有的句子我的算法可以较好的处理,但SharpICTCLAS不能得到正确的结果。如“长春市长春节致词”我的算法分析为:长春/市长/春节/致词, SharpICTCLAS分析为:长春市//春节/致词/,这个错误可能并不是SharpICTCLAS的算法缺陷,可能只是V1.0版本提供的训练集不充分造成的,是不是算法目前我还没有仔细研究。

SharpICTCLAS 对于一些需要根据语义来分析的语句如上面提到的请把手抬高一点儿”分析效果很好,可以把“把手”分解为把/ 而我的算法则分解为 把手。

未登录词识别能力:

感觉SharpICTCLAS对于未登录词的识别能力并不象代码注释中写的那么高,比如下面句子:

“新浪体育讯 英超赛季结束后,曼城队一直处在各种动荡之中”,SharpICTCLAS分词的结果是 “新//体育////赛季/结束//////一直/处在/各种/动荡/之中/

我的算法分词结果是 “新浪/体育//英超/赛季/结束///曼城队/一直/处在/各种/动荡/之中/

 

总结:

SharpICTCLAS V1.0 和我的算法比较,效率明显偏低,每秒6000字节的效率是很难满足搜索引擎等大数量应用要求的,但对于有些短文本的分词,效率并不是一个重点需要考虑的问题。

分词准确度方面:基于目前SharpICTCLAS提供的训练集比较,我认为各有千秋,在网上找了几篇文章,整篇文章分词进行比较,感觉我的算法总体上比SharpICTCLAS好像还要准确一些。

 

和雨痕中英文分词组件的比较

雨痕中英文分词组件 (http://www.rainsts.net) 的专业版不是免费的,所以只使用了其免费的演示版本进行了比较。

 

分词速度:

雨痕的分词速度大概在每秒4000字节左右,这个和SharpICTCLAS差不多,比我的算法慢100倍左右。

 

准确度:

雨痕的分词准确度还是比较高的,但和我的算法一样存在算法的先天缺陷,对于必须通过语义才能判断的句子,无法准确分词。对于其他类型的有歧异的句子,分词能力还是不错的,我只发现类似下面的句子“于北京时间11举行运动会”我的算法比雨痕要准确,雨痕

分词结果是“于北京/ 时间/ 11/ 举行/ 运动会”,我对算法分词结果是“于/北京时间/1/1/举行/运动会/”,如果北京时间这个词在雨痕的分词组件中有的话,我觉得雨痕的算法可能有需要改进的地方。

 

未登录词识别能力:

还是对比如下面句子分词:

“新浪体育讯 英超赛季结束后,曼城队一直处在各种动荡之中”,雨痕分词的结果是 “新浪/ 体育/ /  / 英超/ 赛季/ 结束/ / / / / / 一直/ 处在/ 各种/ 动荡/ 之中”,这个结果比SharpICTCLAS还是要准确一些,但“曼城队”被分成了三个词,这方面我的算法要稍微好一些。

 

总结:

雨痕中英文分词组件的效率较低,很难满足搜索引擎等大数量应用要求的。准确度方面还是比较高的,和我的算法的准确度相比基本差不多。

 

ShootSearch 分词组件的比较

ShootSearch http://www.shootsoft.net)分词组件是一个开源的分词组件,其分词效率很高,和我的算法速度不相上下,但ShootSearch只采用了简单的最大匹配算法,分词准确度很低,前面举的几个例子都不能很好的分词,由于准确度太低,这里就不重点分析了。

 

KTDictSeg 分词算法介绍

 

我把组件名名为KTDictSeg,它是由KaiToo搜索开发的一款基于字典的简单中英文分词组件。

分词算法

谈到分词算法,目前有很多。比较常用的是正向最大匹配和反向最大匹配算法。但这两种算法对于一些存在多元歧异的句子缺乏较好的支持。以“长春市长春节致词”和“长春市长春药店”这个两个句子为例:

长春市长春节致词”可以依次拆分为 长春、长春市、市长、长春、春节、致词 这几个词,按照正向最大匹配算法,分词结果是长春市//春节/致词,按照反向最大匹配算法,分词结果是长春/市长/春节/致词。

“长春市长春药店”可以依次拆分为长春、长春市、市长、长春、春药、春药店、药店 这几个词,按照正向最大匹配算法,分词结果是 长春市/长春/药店,按照反向最大匹配算法,分词结果是长春/市长/春药店

可见无论是正向还是反向最大匹配,都存在产生歧异的情况。

KTDictSeg 的算法在正向匹配算法的基础上做了一些改进,用一句话描述就是找到句子中第一个未被匹配的字数最少的单词组合,如果多个组合未被匹配的字数都是最少则找到其中匹配的单词个数最少的组合。匹配顺序是从左至右。还是以上面两个句子为例:

长春市长春节致词” 按正向最大匹配扫描顺序可以出现如下匹配的单词组合:

1) 长春/市长/春节/致词 匹配单词数4,未匹配字数0

2) 长春市/长春/致词 匹配单词数3,未匹配字数0

不难看出,第一中组合未匹配的字数最少,所以取组合1

 

“长春市长春药店”按正向最大匹配扫描顺序可以出现如下匹配的单词组合:

 

1)     长春市/长春/药店 匹配单词数3,未匹配字数0

2)     长春市/春药店 匹配单词数2,未匹配字数1

3)     长春市/春药 匹配单词数2,未匹配字数2

4)     长春市/药店 匹配单词数2,未匹配字数2

5)     长春/市长/春药店 匹配单词数3,未匹配字数0

6)     长春/市长/春药 匹配单词数3,未匹配字数1

7)     长春/市长/药店 匹配单词数3,未匹配字数1

8)     长春/市长/药店 匹配单词数3,未匹配字数1

9)     长春/长春/药店 匹配单词数3,未匹配字数1

 

可见组合1和组合5 未匹配数最小,匹配单词数相等,但组合1匹配顺序靠前,所以取组合1

未登录词识别

KTDictSeg 对未登录词的识别采用一个简单判定,即把未在字典中找到的连续的字组成一个词,这种判断是基于分词算法比较准确且词库中的词足够多的假设下做出的,由于KTDictSeg的分词算法相对比较准确且附带的词库收录了20多万条词,所以KTDictSeg对未登录词的识别也相对比较准确。

 

优点

KTDictSeg 优点是分词速度非常快,且分词准确度相对简单的最大匹配算法有很大提高,所以可以应用于一些对分词准确度要求不是非常苛刻,但对分词效率要求较高的应用环境中,比如大多数的中小型中文搜索引擎都可以使用这个分词组件。

KTDictSeg 还有一个优点就是简单,用户只需维护一个汉语词库就可以达到比较准确的分词效果,减少了用户维护的工作量和对系统的开销。

 

缺点

KTDictSeg 的致命缺点是无法对语义进行判断,对于一些语义相关的句子不能够做到100%识别出来,而且无论怎样调整词库,理论上都无法达到100%匹配。

开源代码

KTDictSeg 下载位置

最新动态

KTDictSeg 1.2 版本发布及算法简介

KTDictSeg 分词组件1.3版本 新增功能列表及下载位置

Feedback

#1楼    回复  引用  查看    

2007-05-25 07:58 by 兰亭      
准确度挺高的啊

#2楼    回复  引用    

2007-05-25 08:38 by ddee [未注册用户]
不错呀,赞一个

#3楼    回复  引用    

2007-05-25 08:47 by aaa [未注册用户]
而对于儿童来说,相比于每行132个字符


而对/于/儿童/来说/,/相比/于/每行/132/个字符/

#4楼    回复  引用  查看    

2007-05-25 08:55 by datasky      
不错!学习学习!

#5楼    回复  引用  查看    

2007-05-25 09:09 by overred      
一次性交一百元

结果:一次/性交/一百元/

#6楼    回复  引用  查看    

2007-05-25 09:10 by overred      
你的分词比较"色"哦 嘿嘿

#7楼    回复  引用  查看    

2007-05-25 09:33 by fanrsh      
顶楼上的。。哈哈

#8楼    回复  引用  查看    

2007-05-25 09:49 by OOP      
我来自北京
我来/自/北京

#9楼    回复  引用  查看    

2007-05-25 09:57 by fanrsh      
Rainsoft.WordSeg.dll---的分词效果更好。//
eg:
一次性交一百元 (一次性/ 交/ 一百/ 元/ )
我来自北京(我/ 来自/ 北京)

#10楼    回复  引用  查看    

2007-05-25 09:57 by fanrsh      
想请教一下。。
你的词库是怎整的?

#11楼    回复  引用    

2007-05-25 12:48 by Sanlines [未注册用户]
http://www.rainsts.net/article.asp?id=490

雨痕那个组件要发布 V3 版了,据说速度有所提升。不知道楼主能否再做个对比?还有,楼主的分词是否也支持人名识别?雨痕里面提到的那个复合算法是什么意思?

#12楼 [楼主]   回复  引用  查看    

2007-05-25 14:00 by eaglet      
非常感谢大家的支持
就前面大家的几个问题回答一下
"而对于儿童来说,相比于每行132个字符"
"一次性交一百元"
上面两个句子分词不准确,我看了一下,不是算法的问题,是字典的问题
这个字典是需要人工维护的,算法再好没有一个好的字典,分词是不可能
准确的.
字典是在 ShootSearch 提供的字典基础上修改的,这个字典收录的很多
词都不是单词,有的是词组,有的甚至连词组都不是,这直接导致分词结果
出现偏差.
上面两个句子只需要把字典做如下调整
去掉字典中的 "而对", "个字符" 这两个不是词的词,增加一个单词"一次性" 就可以解决了.


#13楼 [楼主]   回复  引用  查看    

2007-05-25 14:06 by eaglet      
人名我的算法是通过未登录词来识别的,主要是依靠其他词来分割的,不是特别准确,有待改进

#14楼 [楼主]   回复  引用  查看    

2007-05-25 14:10 by eaglet      
"我来自北京" 这个句子的问题也是字典问题
ShootSearch的字典中没有提供单字的词,我后来手工
加了一些,但很不全,比如这个句子中的"我"就是一个单字
词,字典中没有,把"我"这个词加入字典,分词结果就对了

#15楼    回复  引用    

2007-05-25 19:53 by 玻璃软件 [未注册用户]
不错,转一个到http://www.hzpal.com,留个记录,下次好查!恭喜!

#16楼 [楼主]   回复  引用  查看    

2007-05-25 21:13 by eaglet      
正在整理字典,最近将推出V1.0.02版本,将使用整理过的字典,并预计提供简单的中文人名识别功能、停用词过滤功能以及提供正向匹配与反向匹配的选项供调用者选择

#17楼    回复  引用  查看    

2007-05-25 22:59 by ※ABeen※      
雨痕 已经发布“雨痕分词组件 V3 免费版”,其性能无论在分词的准确性和速度上都比“KTDictSeg ”略高一筹!大家可以下载试试看
http://www.rainsts.net/article.asp?id=491

#18楼    回复  引用  查看    

2007-05-25 23:54 by deerchao      
ICTCLAS与你的这个作品不完全是同一类的东西,前者的功能更多(比如词性标注)。
而且,你可以把你的分词结果的缺陷归因于“词库不够好”,别的分词组件同样可以这么说,不是么?
不过,感谢你的开源,让大家有更好的选择。

#19楼 [楼主]   回复  引用  查看    

2007-05-26 06:54 by eaglet      
是的,目前这个版本的算法是有其固有缺陷的,即使调整词库在理论上也无法
达到或趋近于100%准确,这个在文章中的算法缺点部分提到过。后续版本的词库将增加词性标注,算法中也将提供语法分析,词频统计等功能,相信准确度会比现在要高很多,同时效率还是希望能够维持目前这个水平或者稍稍低一些

#20楼    回复  引用    

2007-05-29 23:03 by sql [未注册用户]
Good job!
Do you have any comments on 海量分词?

#21楼 [楼主]   回复  引用  查看    

2007-05-30 07:32 by eaglet      
海量分词的准确度较高,但免费的体验版本效率较低,测了一下
大概在每秒1000-2000字节左右,收费的版本按照他官方公布
的数据是33.3 万每秒 速度还是可以的。

#22楼 [楼主]   回复  引用  查看    

2007-06-02 18:16 by eaglet      
KTDictSeg 1.2 版本发布及算法简介: http://www.cnblogs.com/eaglet/archive/2007/06/02/768856.html

#23楼    回复  引用    

2007-06-07 18:00 by weatherreport [未注册用户]
尝试着跟 lucene.net 整合,貌似有点问题

#24楼 [楼主]   回复  引用  查看    

2007-06-07 18:27 by eaglet      
下个版本将考虑和lucene.net 的接口

#25楼    回复  引用    

2007-06-08 00:59 by weatherreport [未注册用户]
修改了 一个分词后的 Trim() 就能用了,但是不能启用 StopWords

#26楼    回复  引用    

2007-07-16 09:57 by www [未注册用户]
我看了一下你的介绍,只想问一个问题?你几天就搞出来分词算法。还带地名人名机构名等未登录词。很吃惊,也很好奇?首先来说你的词库怎么搭建?在一个编码?据我所知,未登录词的处理可没你说的那么简单,搞自然语言都知道,90%的分词测试纯属谎言,商业运作没办法而已。所以我很怀疑。真的。你这个东西拿出来一说,挺吓人的,但是稍微懂点的人都会怀疑的,不信你发邮件和刘群联系一下,你看他怎么说你。中科院张华平搞那个东西集合那么多人那么多力量用了几年时间才出来。
我真怀疑你是抄袭的或者说炒作。

#27楼 [楼主]   回复  引用  查看    

2007-07-17 08:08 by eaglet      
◎www
分词确实没有这么简单,刚开始做的时候想简单了,后来发现存在很多
问题,正如您所说的,未登录词处理并不那么简单。中科院的那个东西
我没有用张华平原始的版本测试,而是用的C#版本测试的,分词效果
确实不是太好,也可能是我用的那个版本词库不是很好,当然我后来
发现我的分词算法也存在很多问题,特别是第一个版本。目前我感觉比
较下来分词效果最好的还是海量分词。
编码确实是我用几天时间写的,我写了将近十年程序,只要算法确定,
1千多行代码用几天时间写出来,我觉得并不是难事。其实我这个算法
并不复杂,最麻烦的就是那个博弈树,我大概花了3个小时时间,其实
也很简单,任何一本数据结构书里面都有算法的介绍。
词库的搭建是利用搜索引擎从一些汉语词典网站中抓下来的,主要是成语
和人民日报高频词,另外还结合了一些其他开源的分词软件的词库,词性
是利用搜索引擎技术从一些中英文词典网站中获取,然后是用海量分词软
件检查的,没有搜索引擎技术,我不可能这么快构件词库。不知道这样做
算不算抄袭。
我不是专业搞分词研究的,而是做搜索引擎的,搞分词主要是我要在搜索
引擎中使用,由于在网上没有找到合适的免费的分词组件,所以就自己做
了一个,感觉效果还可以,就放到网上给大家共享一下,没有别的目的,
既不想用这个赚钱,也不想用它发表什么论文之类的。本文中对其他分词
组件的评价可能有失偏颇,但确实是我实测的结果,雨痕那个分词组件在
我写这片文章后出了一个新的版本,分词效果有了很大提高。
分词技术,后来深入搞了一下,发现这里面水还是很深,所以最近也在
考虑怎样继续改进。
非常感谢这位专业搞分词研究的大哥的指教,如果方便的话能否留个邮件
地址给我,有很多问题还要向您请教

#28楼    回复  引用    

2007-07-23 14:17 by 杨肖 [未注册用户]
有几点问题:
1. “新浪体育讯 英超赛季结束后,曼城队一直处在各种动荡之中”,雨痕分词的结果是 “新浪/ 体育/ 讯/  / 英超/ 赛季/ 结束/ 后/ ,/ 曼/ 城/ 队/ 一直/ 处在/ 各种/ 动荡/ 之中”,这个结果比SharpICTCLAS还是要准确一些,但“曼城队”被分成了三个词,这方面我的算法要稍微好一些。
“曼城队”能不能识别跟算法无关,跟词库有关。

2. 正向最大匹配算法在词库固定的情况下分词结果是唯一的,所以不是很理解为什么会出现多种组合。我对正向最大匹配算法的理解在这里:http://nexus.v2ex.com/yangxiao/entry-426.html
不知道对不对。

3. “长春市长春节致词” 按正向最大匹配扫描顺序可以出现如下匹配的单词组合:

1) 长春/市长/春节/致词 匹配单词数4,未匹配字数0

2) 长春市/长春/致词 匹配单词数3,未匹配字数0
~~~~这里是不是写错了?

#29楼 [楼主]   回复  引用  查看    

2007-07-24 07:54 by eaglet      
1、词库中没有 曼城队 这个词,这是未登录词的识别,应该是和算法有关的。
2、多种组合是因为我采用的不是简单的正向最大匹配算法。
3、没有写错,这里只的正向最大匹配扫描顺序不是指用正向最大匹配,而是
用我的算法采用正向最大匹配的扫描顺序,概念上可能混淆了。

#30楼    回复  引用    

2007-07-24 14:39 by 杨肖 [未注册用户]
1. 懂了。不过新词识别的算法你没有介绍。
2. 不是简单的正向最大匹配算法。那是穷举吗?可不可以也介绍一下?看着不是很明白。谢谢了。
3. 我是指数字错了,第二个未匹配字数是1

#31楼 [楼主]   回复  引用  查看    

2007-07-24 21:57 by eaglet      
2、核心算法我认为已经写的很清楚了,至于正向最大匹配其实效果不好,
1.2版本已经改为首先用词性的统计规律来判断了。1.2版本的分词准确率
也比1.0版本要高很多。
3、第二个未匹配字数确实是0,我想可能是你了解的和我理解的不一样。
未匹配是指分词出来的结果中有些字是词库中没有的,第二个中的3个词词库
中都有,所有没有未匹配的字。

#32楼    回复  引用    

2007-07-26 13:54 by 杨肖 [未注册用户]
“KTDictSeg 的算法在正向匹配算法的基础上做了一些改进,用一句话描述就是找到句子中第一个未被匹配的字数最少的单词组合,如果多个组合未被匹配的字数都是最少则找到其中匹配的单词个数最少的组合。”
单词组合是怎么产生的呢?如果是穷举的话,算法复杂度就是O(N!),在一长串的相同字组成的子句里(可以做叠词的字,比如“常常常常。。。。”),有可能会死掉。
“节”这个字不算未匹配的字吗?

#33楼 [楼主]   回复  引用  查看    

2007-07-26 20:19 by eaglet      
算法复杂度肯定不是O(N!),因为用的有穷自动机,一趟扫描,如果你学过
编译原理应该很容易理解。
建议还是读一下具体的代码,文章中不可能把所有细节都写的非常详细。

#34楼    回复  引用    

2007-08-09 10:24 by 张 [未注册用户]
能不能介绍下 那个 博弈树 是怎么做的?看的不是很懂,谢谢

#35楼 [楼主]   回复  引用  查看    

2007-08-11 10:10 by eaglet      
博弈树在算法中是为了找到句子中未被匹配的字数最少的单词组合。
从根节点开始逐级遍历树中的节点,在每个节点判断从这个节点开始
的可能路径,并产生其下一级节点直到叶子为止。遍历完所有可能组合
后按规则统计最理想的路径。类似于下棋的程序。

#36楼    回复  引用    

2007-08-17 15:51 by TNT [未注册用户]
楼主,我也是研究搜索引擎的,我的Q 五八三八六幺灵五 希望认识你

#37楼 [楼主]   回复  引用  查看    

2007-08-17 22:23 by eaglet      
有MSN吗?

#38楼    回复  引用    

2007-08-27 17:59 by 淡淡的 [未注册用户]
非常好,学习中!!
强人。

#39楼    回复  引用    

2007-08-28 11:34 by Dio Koo [未注册用户]
作者有没有考虑用后向最大匹配,搭配你的最少未匹配词数.不知道会不会有更好的效果?我现在有一个系统是结合前向和后向匹配,然后再挑选.我们发现当两者结果不一时,后向的准确率比前向高.如果作者有这方面的研究,联络feel_koo@hotmail.com,探讨一下.谢谢

#40楼    回复  引用    

2007-08-31 02:23 by 淡淡的 [未注册用户]
这种算法确实挺好

#41楼 [楼主]   回复  引用  查看    

2007-09-02 19:20 by eaglet      
后向匹配准确度要高于前项匹配,目前可以下载到的1.2版本的算法中已经改
为后向匹配了

#42楼    回复  引用    

2007-09-12 23:13 by maruk [未注册用户]
这个更强!!!
http://www.cppblog.com/minidxer/archive/2007/09/07/31723.html

#43楼 [楼主]   回复  引用  查看    

2007-09-13 06:33 by eaglet      
准确度好像还有待提高,对多元歧义,人名识别和未登录词的识别是中文分词技术的难点,如果单纯追求速度,文章中提到的ShootSearch 的速度是非常快的,但准确度方面会有较大的降低,所以效率和准确度需要有一个折中。

#44楼    回复  引用    

2007-09-14 13:37 by superdullwolf [未注册用户]
declare @w varchar(8000)
set @w='常用的分词算法有正向最大匹配、逆向最大匹配、双向最大匹配、最佳匹配法、最少分词法、词网格算法等等。
最大匹配法(Forward Maximum Matching method, FMM法):选取包含6-8个汉字的符号串作为最大符号串,把最大符号串与词典中的单词条目相匹配,如果不能匹配,就削掉一个汉字继续匹配,直到在词典中找到相应的单词为止。匹配的方向是从右向左。
逆向最大匹配法(Backward Maximum Matching method, BMM法):匹配方向与MM法相反,是从左向右。实验表明:对于汉语来说,逆向最大匹配法比最大匹配法更有效。
双向匹配法(Bi-direction Matching method, BM法):比较MM法与RMM法的切分结果,从而决定正确的切分。
最佳匹配法(Optimum Matching method, OM法):将词典中的单词按它们在文本中的出现频度的大小排列,高频度的单词排在前,频度低的单词排在后,从而提高匹配的速度。'

declare @tb table(w varchar(10),f int)
declare @i int
declare @l int
declare @theWord varchar(10)
set @l=2
while @l<5
begin
set @i=1
while @i<len(@w)
begin
set @theWord=substring(@w,@i,@l)
if charindex(' ',@theWord)=0 begin
if exists(select w from @tb where w=@theWord)
begin
update @tb set f=f+1 where w=@theWord
end
else
begin
insert @tb(w,f) select @theWord,1
end end
set @i=@i+1
end
set @l=@l+1
end

select * from @tb where f>len(@w)/70 order by f desc

#45楼    回复  引用    

2007-09-14 13:37 by superdullwolf [未注册用户]
匹配 16
最大 9
大匹 7
配法 7
M法 7
最大匹 7
大匹配 7
匹配法 7
最大匹配 7

#46楼    回复  引用    

2007-09-20 14:06 by kenlistian [未注册用户]
能分析这句话,准确率应该相当高了.

我在长春市长春药店买药
我看见长春市长春药店买药

#47楼    回复  引用    

2007-09-20 15:55 by kenlistian [未注册用户]
在处理名字不好搞,
"文档输出",当做以文开始的姓名,
我稍微修改了下代码,再用
"刘善根本就没有来"
结果在预分时又分成"刘 \ 善根\本\就\没有\来",
该程序的切分算法是:以先匹配为准,就造成切不到根本为词的组合.
再加之语义上的歧异,估计还是要加个频率来切点才行啊.

在要求准确性来讲,还是中科那个准确高点,但是那是经过词组和,词性组合,频率组合才来到的,这样对词的编造又麻烦了.
将就着用吧.
对于任何分词,搞个语义上的歧异,估计机器很难分出个所以然.
如:
刘善根本就没来.
不结合上下文,咋分都可以阿.






#48楼    回复  引用    

2007-10-23 23:06 by ‘罙.灆銫゜ [未注册用户]
大家能不能够帮帮我啊, 我的毕业论文要做《基于正向最大匹配的中文分词算法的研究与实现》。我哭死了,好难啊,从何入手。。 我是女生呢

#49楼    回复  引用    

2007-10-23 23:16 by ‘罙.灆銫゜ [未注册用户]
哪位高人可以做的,我向他买。 求求大家了。
我的QQ 120557095

#50楼    回复  引用  查看    

2007-11-19 22:54 by 雨中太阳      
可否自定义一些词库,怎么才能定义一些专业词库,请指教,联系方式:sjt61991@163.com

#51楼    回复  引用    

2007-11-23 01:58 by 喜欢 [未注册用户]
很棒的分词程序,但是“他是个很不错的人”分成了“他是/个/很不/错/的人/”,很奇怪呢

#52楼    回复  引用  查看    

2007-11-28 12:32 by ithurricane      
牛人啊,多谢你的分词组件啊

#53楼    回复  引用    

2007-12-17 11:31 by 豆豆519 [未注册用户]
最近要交作业,拿你的组件来研究了,谢谢~

#54楼    回复  引用    

2008-03-21 10:36 by 中文技术 [未注册用户]
看完了。不错,准备用C#自己写一个简单的分词程序。

#55楼    回复  引用  查看    

2008-04-09 08:32 by 雨中漫步的太阳      
什么时候出新版本啊

#56楼    回复  引用  查看    

2008-04-09 10:56 by 偶卖糕的      
以前我做搜索引擎的时候也研究过一下,发现分词的确很深,楼主厉害!

#57楼    回复  引用  查看    

2008-05-06 22:58 by 老牛      
我用过这个,感觉还行,不知楼主有没有比较过
http://www.cnblogs.com/KelvinZhang/archive/2007/03/03/advancedchineseanalyzer.html

#58楼    回复  引用  查看    

2008-05-07 00:01 by Kevin Li      
关注,最近在实现 类似百度知道中的 相关问题 功能,会用到中文分词,谢谢分享

#59楼    回复  引用    

2008-05-20 13:32 by chenwf [未注册用户]
敬佩楼主的共享精神。最近正在做一个论坛的搜索,打算使用一下楼主的组件。
感谢!

#60楼    回复  引用    

2008-05-21 18:18 by Mr.Li [未注册用户]
楼主,您好。看了你的文章及其相关评论,觉得您是一个非常有才华、有创新意识且非常谦虚的人。我下载使用了您的中文分词组件,第一个感觉就是速度比较快,准确性比较高。当然,我也发现一些很小的问题,比如您在内存优化上考虑得不是太多。
现在,我和我的合作伙伴正在筹划建立一家公司,公司的业务可能需要你的中文分词组件,我希望能够获得您的商业使用授权和源码修改权。
不过,我最希望咱们之间能够合作,您可以加入到我们的创业团队(现在是2人)中来,三个人将拥有几乎平等的股权。或者也可以这样,我和我的合作伙伴建立公司之后,聘请您做研发主管,并给您部分股权。
我们正在申请风险投资,现在已经有些风险投资家对我们的项目表示了兴趣。
我们打算将公司注册在北京,不知北京是否是您希望中的城市。
如果您有兴趣,可以与我联系,QQ38144147

#61楼 [楼主]   回复  引用  查看    

2008-05-23 06:03 by eaglet      
to liminjun: 我加了你的QQ,并给你发了一份信

#62楼    回复  引用  查看    

2008-07-08 23:54 by 暗香浮动      
mark

#63楼    回复  引用    

2008-07-16 13:39 by thomaschen [未注册用户]
请问该如何管理分词词典啊
比如 美联储称美国2008财年预算赤字将进一步扩大_美股新闻
分词结果是
美/联/储称/美国/2008/财年/预算赤字/将/进一步/扩大/_/美/股/新闻/

我用了你的管理工具 增加了 美联储 美股 但分词结果还是一样

希望得到指点 非常感谢

#64楼    回复  引用    

2008-07-16 13:50 by thomaschen [未注册用户]
原来每次更改后都要另存为啊

#65楼 [楼主]   回复  引用  查看    

2008-07-16 18:10 by eaglet      
是的,改完后必须保存才能生效

#66楼    回复  引用    

2008-08-23 20:45 by 秒大刀 [未注册用户]
这有个免费的中文分词系统,貌似还不错,我在项目中已经用到了,而且官方提供免费更新
http://dev.8jiao.com/index.php/Wb_cws_index

#67楼    回复  引用    

2008-08-28 16:56 by hanpson [未注册用户]
wbcms 这个估计是目前最牛的免费分词系统了,http://dev.8jiao.com/,大家去看看

#68楼    回复  引用    

2008-09-05 17:06 by xuhaibo [未注册用户]
这是ICTCLAS的官网,大家请看看进来交流把。

www.ictclas.org

#69楼    回复  引用    

2008-09-12 00:46 by wahaha2000 [未注册用户]
一次性交一百元

分词结果1:一次/性交/一百元/ 在色情电影中这句应该是正确的吧
分词结果2: 一次性 交一百元

就算是人也无法正确判断那个是正确的分词,正确的分词还应根据上下文而定。
因此,在“宁可错杀一千,也不放过一个的前提下”采用双向最大配置算法,尽可能多的收纳分词。



标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-01 14:38 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索


相关链接: