该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-01-23
Lucene中文分词 “庖丁解牛” 附件 为本人设计编写的组件,中文分词“庖丁解牛”,具有相当好的使用价值。。。 高效率:我的赛扬PC 1 秒解析 >>> 20000汉字的词语 (实际测试结果数据,可达1秒10万+汉字。) 对比:《终于突破中文分词的效率问题》http://www.lucene.org.cn/read.php?tid=54&fpage=2 他的效率为 6秒 解析2588汉字 2007-08-08: 由于庖丁解牛进行了一些调整和重构,这里的附件代码已经是"较旧"的,最新的下载地址: http://code.google.com/p/paoding/downloads/list SVN地址为:http://paoding.googlecode.com/svn/trunk/paoding-analysis/ 同时也可以通过浏览器访问http://paoding.googlecode.com/svn/trunk/paoding-analysis/ 直接浏览代码。 最新的在JavaEye的发布帖子是: http://www.iteye.com/topic/110148 中文分词 庖丁解牛 2.0.0 发布
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-01-23
示例代码:搜索时...
XAnalyzer analyzer = XFactory.getQueryAnalyzer();//搜索时应使用的分析器 String testString = "中华人民共和国在1949年建立,从此开始了新中国的伟大篇章"; Reader r = new StringReader(testString); XTokenizer ts = (XTokenizer) analyzer.tokenStream("", r); Token t; while ((t = ts.next()) != null) { System.out.println(t); } ------------------- 以上是旧版本的paoding的示例代码,新版本的代码应是: // 将庖丁封装成符合Lucene要求的Analyzer规范 Paoding paoding = PaodingMaker.make(); Analyzer queryAnalyzer = PaodingAnalyzer.queryMode(paoding); ... 解析结果如下: (中华人民共和国,0,7) (1949年,8,13) (建立,13,15) (从此,16,18) (开始,18,20) (新中国,21,24) (伟大,25,27) (大篇,26,28) (篇章,27,29) |
|
返回顶楼 | |
发表时间:2007-01-23
示例代码2: 建立索引时...
XAnalyzer analyzer = XFactory.getWriterAnalyzer();//建立索引时应使用的分析器 String testString = "中华人民共和国在1949年建立,从此开始了新中国的伟大篇章"; Reader r = new StringReader(testString); XTokenizer ts = (XTokenizer) analyzer.tokenStream("", r); Token t; while ((t = ts.next()) != null) { System.out.println(t); } ------------------- 以上是旧版本的paoding的示例代码,新版本的代码应是: // 将庖丁封装成符合Lucene要求的Analyzer规范 Paoding paoding = PaodingMaker.make(); Analyzer writerAnalyzer = PaodingAnalyzer.writerMode(paoding); ... 解析结果如下: (中华,0,2) (中华人民,0,4) (中华人民共和国,0,7) (华人,1,3) (人民,2,4) (人民共和国,2,7) (共和,4,6) (共和国,4,7) (1949,8,12) (1949年,8,13) (年,12,13) (建立,13,15) (从此,16,18) (开始,18,20) (新中国,21,24) (中国,22,24) (伟大,25,27) (大,26,27) (大篇,26,28) (篇章,27,29) |
|
返回顶楼 | |
发表时间:2007-01-23
速度不错,将自动切分和词表切分2个机制的结合得也不错
评分:90分 加油!继续努力!希望能够做到自动识别大多数人名 |
|
返回顶楼 | |
发表时间:2007-01-23
这种切分还是有很明显的缺点.例如下面一段文字:
"发展社区老年活动场所和服务设施" 如果我想搜索日本的和服相关资料,输入关键字"和服"的时候,上面的资料也会被搜索出来 |
|
返回顶楼 | |
发表时间:2007-01-23
菲利浦思 写道 这种切分还是有很明显的缺点.例如下面一段文字:
"发展社区老年活动场所和服务设施" 如果我想搜索日本的和服相关资料,输入关键字"和服"的时候,上面的资料也会被搜索出来 搜索引擎是第一步搜索: 在浩瀚的信息中,快速集结最后可能是所想要的结果,按照可能是最好的顺序展现出来。 人的眼睛是第二步搜索: 找寻最符合要求的结果,同时将机器无法轻易识别的少数“无效”结果过滤 “和服”问题,涉及了汉语语义的问题,几乎不可完全解决(可作为“特例”解决,或通过排序方法,将他排到相对靠后等价解决)。 |
|
返回顶楼 | |
发表时间:2007-01-23
谢谢,下载来测试..
前一排自己也有写过关于lucene的几篇文章;中文分词的确是一个难点 这一篇文章我加入专栏啦,让更多人了解一下 |
|
返回顶楼 | |
发表时间:2007-01-23
有点不对啊
是精华贴,为什么楼主的积分显示"积分:62"; 精华贴应该是加一百分的啊:"评价帖子的建议标准:非常好的主题帖可以点击评为精华,加100分" |
|
返回顶楼 | |
发表时间:2007-01-23
Qieqie 写道 菲利浦思 写道 这种切分还是有很明显的缺点.例如下面一段文字:
"发展社区老年活动场所和服务设施" 如果我想搜索日本的和服相关资料,输入关键字"和服"的时候,上面的资料也会被搜索出来 搜索引擎是第一步搜索: 在浩瀚的信息中,快速集结最后可能是所想要的结果,按照可能是最好的顺序展现出来。 人的眼睛是第二步搜索: 找寻最符合要求的结果,同时将机器无法轻易识别的少数“无效”结果过滤 “和服”问题,涉及了汉语语义的问题,几乎不可完全解决(可作为“特例”解决,或通过排序方法,将他排到相对靠后等价解决)。 所以引入rank参数还是应该考虑的,rank的算法决定了这类问题发生时的结果序列。 |
|
返回顶楼 | |
发表时间:2007-01-23
Qieqie 写道 菲利浦思 写道 这种切分还是有很明显的缺点.例如下面一段文字:
"发展社区老年活动场所和服务设施" 如果我想搜索日本的和服相关资料,输入关键字"和服"的时候,上面的资料也会被搜索出来 搜索引擎是第一步搜索: 在浩瀚的信息中,快速集结最后可能是所想要的结果,按照可能是最好的顺序展现出来。 人的眼睛是第二步搜索: 找寻最符合要求的结果,同时将机器无法轻易识别的少数“无效”结果过滤 “和服”问题,涉及了汉语语义的问题,几乎不可完全解决(可作为“特例”解决,或通过排序方法,将他排到相对靠后等价解决)。 实话实说本人之前就是遇到这样的问题,到目前为止还是没有解决,因为不是做语言研究,感觉知识不够用,目前做个项目还要做词性分析,很难!大家继续加油! |
|
返回顶楼 | |