阅读更多

20顶
0踩

编程语言

原创新闻 推荐ruby中文分词器 - RMMSeg

2008-03-05 10:57 by 见习编辑 robbin 评论(5) 有13106人浏览
用RoR开发网站经常遇到的一个困扰就是Ruby缺乏良好的中文分词器,虽然ferret可以实现lucene的绝大部分功能,但是ferret自身并没有中文分词器,甚至连CJK两分分词器都没有,因此很多RoR网站不得不通过各种方式去访问lucene来解决分词问题,但RMMSeg项目发布以后,这一切已经成为历史。

RMMSeg是pluskid(浙江大学的学生)开发的ruby中文分词器,在2008年2月份刚刚发布的。RMMSeg使用了基于词库的最大匹配算法进行中文分词,并且辅以相应的修正算法,而RMMSeg带的词库有大约12万中文词汇,已经比较全面了。根据作者自己博客上面的测试,中文分词的准确率可以达到98%以上。

经过JavaEye网站的试用,RMMSeg当前的0.1.5版本已经可以在小型的ruby应用当中实际使用了,分词的效果也还不错。当然由于RMMSeg目前是纯ruby代码的实现,因此索引的性能还是有点慢,比目前JavaEye的单字拆分算法慢5倍左右。但考虑到全文检索的索引都是后台job去运行,所以稍微慢一点也可以接受。pluskid计划在接下来的版本当中使用C来实现一部分功能,提高性能,降低内存耗用。

安装rmmseg很简单:

gem install rmmseg 


然后就可以在应用程序当中构造RMMSeg的中文分词器了:

require 'rmmseg'
require 'rmmseg/ferret'

analyzer = RMMSeg::Ferret::Analyzer.new do |tokenizer|
  Ferret::Analysis::LowerCaseFilter.new(tokenizer)
end


RMMSeg项目相当令人振奋,有了好的中文分词器,RoR在国内的互联网应用就扫除了一大障碍。在这里也呼吁大家关注和使用RMMSeg项目,帮助RMMSeg项目发展的更好。

RMMSeg的官方网站在: http://rmmseg.rubyforge.org/
pluskid的博客:http://pluskid.lifegoo.com

作者的Email: pluskid AT gmail DOT com


20
0
评论 共 5 条 请登录后发表评论
5 楼 tianshuaiorc 2012-03-30 13:04
 
4 楼 tianshuaiorc 2012-03-30 13:04
    
3 楼 carlosbdw 2008-03-07 00:30
ruby如何调用MMSEG呢?
2 楼 carlosbdw 2008-03-06 17:12
以上哪种中文分词工具可以辨别出词形?
1 楼 我想我是海 2008-03-05 13:11
MMSEG算法是台湾一个朋友的作品:
[url]http://technology.chtsai.org/mmseg/[url]
在Java方面,早就有一个实现:
[url]http://www.solol.org/projects/mmseg/[url]
与Lucene的整合也提供了:
[url]http://www.solol.org/blogs/200710/200710242000.html[url]

实践过程中,分词效果的确极佳。以前通过比较,比Javaeye上现有的分词算法效果都要好。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • JFreeChart 高手请进!

    我现在的项目中要求,图中的标签(就是 一个类型的)默认的是在正下方,不知道能不能改为在 右方。

  • 求JFreechart绘制折线图!!高手请进!!急!急!急!

    编译出的结果 没有折线图 求高手帮忙写个折线图的代码 00001.TXT的文件的数据是: 2009 11 05 25.38 25.46 24.85 25.05 28931192 727022400.000 2009 11 06 25.39 25.69 24.81 25.10 30297501 762726336.000 ...

  • JAVA上百实例源码以及开源项目

    笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!...

  • Java高手真经. 高级编程卷:Java Web高级开发技术:EJB+消息通信+分布式+开源框架...

    【书名】Java高手真经. 高级编程卷:Java Web高级开发技术:EJB+消息通信+分布式+开源框架【作者】刘中兵【ISBN】978-7-121-09217-6【出版社】电子工业出版社【出版日期】2009年9月【定 价】...

  • 转的一杂谈

    网站架构(页面静态化,图片服务器分离,负载均衡)方案全解析 文章分类:综合技术 ...但是对于大量内容并且频繁更新的网站,我们无法全部手动去挨个实现,于是出现了我们常见的信息发布系统CMS,像我们常访问的各个门户...

  • webmagic采集CSDN的Java_WebDevelop页面

    请大家帮帮我,谢谢,耽误你们点时间,帮我指导指导,我做了2天都没有做出来,明天就要交作业了,请大家帮帮我。 , 请教hibernate排序问题, java 权限管理, 如何实现在jsp页面中选择txt文件,点击下载时进行下载, ...

  • 一个程序员的多年珍藏--收藏

    一个高手推荐的4本必读书:   中文版: 下載文件 Contributing to Eclipse Principles, Patterns and PlugIns.pdf (23.29 MB) 英文版: 下載文件 Contributing to Eclipse Principles, Patt ... (4.93 ...

  • 一个程序员多年的收藏

    一个高手推荐的4本必读书: 中文版: 下載文件 Contributing to Eclipse Principles, Patterns and PlugIns.pdf (23.29 MB) 英文版: 下載文件 Contributing to Eclipse Principles, Patt ... (4.93 MB)...

  • other 猿 多年收藏

    一个高手推荐的4本必读书: 中文版:下載文件 Contributing to Eclipse Principles, Patterns and PlugIns.pdf (23.29 MB) 英文版:下載文件 Contributing to Eclipse Principles, Patt ... (4.93 MB) 下載文件 ...

  • 收藏吧 少年

    一个高手推荐的4本必读书:   中文版: 下載文件 Contributing to Eclipse Principles, Patterns and PlugIns.pdf (23.29 MB) 英文版: 下載文件 Contributing to Eclipse Principles, Patt ... (4.93 ...

  • 有一种收藏叫转载

    一个高手推荐的4本必读书:   中文版: 下載文件 Contributing to Eclipse Principles, Patterns and PlugIns.pdf (23.29 MB) 英文版: 下載文件 Contributing to Eclipse Principles, Patt ... (4.93 ...

  • 多年的收藏

    一个高手推荐的4本必读书: 中文版: 下載文件 Contributing to Eclipse Principles, Patterns and PlugIns.pdf (23.29 MB) 英文版: 下載文件 Contributing to Eclipse Principles, Patt ... (4.93...

  • 个人书签

    - 精选文摘 - ITeye精华 Selenium - Web Browser Automation Apache JMeter - Apache JMeter™ 请不要再使用低级别的AOP API - 开涛的博客 - ITeye技术网站 高效 JavaEE 开发框架 JessMA v3.2.1 正式发布 - 编程语言...

  • Java高级面试题解析(二):百度Java面试题前200页(精选)

    高手答案: get和post是HTTP协议中的两种发送请求的方法,HTTP底层都是TCP/IP,故get和post都是TCP链接,二者能做的事情其实都是一样的,给get加上request body,给post加上url参数,技术上都是可以实现的。 而导致...

  • 高校学生选课系统项目源码资源

    项目名称: 高校学生选课系统 内容概要: 高校学生选课系统是为了方便高校学生进行选课管理而设计的系统。该系统提供了学生选课、查看课程信息、管理个人课程表等功能,同时也为教师提供了课程发布和管理功能,以及管理员对整个选课系统的管理功能。 适用人群: 学生: 高校本科生和研究生,用于选课、查看课程信息、管理个人课程表等。 教师: 高校教师,用于发布课程、管理课程信息和学生选课情况等。 管理员: 系统管理员,用于管理整个选课系统,包括用户管理、课程管理、权限管理等。 使用场景及目标: 学生选课场景: 学生登录系统后可以浏览课程列表,根据自己的专业和兴趣选择适合自己的课程,并进行选课操作。系统会实时更新学生的选课信息,并生成个人课程表。 教师发布课程场景: 教师登录系统后可以发布新的课程信息,包括课程名称、课程描述、上课时间、上课地点等。发布后的课程将出现在课程列表中供学生选择。 管理员管理场景: 管理员可以管理系统的用户信息,包括学生、教师和管理员账号的添加、删除和修改;管理课程信息,包括课程的添加、删除和修改;管理系统的权限控制,包括用户权限的分配和管理。 目标: 为高校学生提

  • TC-125 230V 50HZ 圆锯

    TC-125 230V 50HZ 圆锯

  • 影音娱乐北雨影音系统 v1.0.1-bymov101.rar

    北雨影音系统 v1.0.1_bymov101.rar 是一个计算机专业的 JSP 源码资料包,它为用户提供了一个强大而灵活的在线影音娱乐平台。该系统集成了多种功能,包括视频上传、播放、分享和评论等,旨在为用户提供一个全面而便捷的在线视频观看体验。首先,北雨影音系统具有强大的视频上传功能。用户可以轻松地将本地的视频文件上传到系统中,并与其他人分享。系统支持多种视频格式,包括常见的 MP4、AVI、FLV 等,确保用户能够方便地上传和观看各种类型的视频。其次,该系统提供了丰富的视频播放功能。用户可以选择不同的视频进行观看,并且可以调整视频的清晰度、音量等参数,以适应不同的观看需求。系统还支持自动播放下一个视频的功能,让用户可以连续观看多个视频,无需手动切换。此外,北雨影音系统还提供了一个社交互动的平台。用户可以在视频下方发表评论,与其他观众进行交流和讨论。这为用户之间的互动提供了便利,增加了观看视频的乐趣和参与感。最后,该系统还具备良好的用户体验和界面设计。界面简洁明了,操作直观易用,让用户可以快速上手并使用各项功能。同时,系统还提供了个性化的推荐功能,根据用户的观看历史和兴趣,为用户推荐

  • Tripp Trapp 儿童椅用户指南 STOKKE

    Tripp Trapp 儿童椅用户指南

  • node-v8.13.0-linux-armv6l.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 谷歌浏览器 64位-89.0.4389.128.exe

    Windows版本64位谷歌浏览器,是由Google谷歌公司开发的一款电脑版网络浏览器,可以运行在Windows 10/8.1/8/7 64位的操作系统上。该浏览器是基于其它开放原始码软件所撰写,包括WebKit和Mozilla,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。软件的特点是简洁、快速。并且支持多标签浏览,每个标签页面都在独立的“沙箱”内运行,在提高安全性的同时,一个标签页面的崩溃也不会导致其他标签页面被关闭。此外,谷歌浏览器(Google Chrome)基于更强大的JavaScript V8引擎,这是当前Web浏览器所无法实现的。

Global site tag (gtag.js) - Google Analytics