关于Lemur(1)

来源:互联网 发布:索尼xperia xzp知乎 编辑:程序博客网 时间:2024/04/30 19:46

这个话题还得追述到去年的毕业设计,我基于lemur开发了一个检索实验工具。现在看来,当时的程序不过是个简陋的玩具而已(Lemur本身更像是一个来自学院的玩具),不过我还是希望这个工具真的能够帮助更多的人了解搜索,帮助更多的学生更快的搞定论文,帮助更多的……不管怎么样,我就是希望自己的毕业设计论文以及程序不会变成回收站里的垃圾。

曾经贴出过一些当时写的一些关于lemur的小文章,不过后来觉得排版缺乏美感而且图片无法正常显示,就删了,想整理一下一起贴出来。但是后来急匆匆的就毕业了,后来急匆匆的就上班了,后来……后来,这个事情就一直淡忘了。在此之间,有些童鞋留言或发邮件向我要有关资料,恩,这个事情符合我努力不将论文变成垃圾的奋斗目标,于是,我非常自然的想到了在博客中贴出来。不过,最最大杯具的是,在我来上海的路上,那块承载着我无数心血与学校网络部分流量以及电驴日月辛勤的硬盘竟然坏了!无奈,只能通过我邮箱中仅存的毕业论文以及另一块硬盘上的备份工程来恢复我当年的创作喽。

从今天起,我会陆续在博客贴出一些关于lemur的文章,顺便回顾一下相关知识并对一些原有的不成熟的看法加以改进,毕业论文以及源代码我会发到csdn的下载专区当中,有需要的童鞋可以去看看。

今天先说说第一回,关于各种检索工具的介绍。

在工业界,比较著名有Apache 的Lucene,支持P2P架构的Hyper Estraier,基于SQL的全文检索引擎 Sphinx,结构化文本索引和检索Zebra等。其中Lucene被广泛使用,它基于Java开发,接口简洁,具有良好的系统构建与可扩展性。然而,它有性能较差,提供的检索算法较少,无法支持大规模的数据处理等不足,这样导致以Lucene为代表的商用检索工具并不适用于科学研究。

研究人员往往需要一个支持大规模数据的、灵活的、健壮的、易扩展的实验平台,用来测试和验证各种新的优化技术以及算法。在这种情况下,很多国外的科研机构都开发了自己的检索工具平台。具有代表性的有卡内基梅隆大学(CMU)与马萨诸塞州立大学(UMass)联合开发的语言模型和信息检索工具包Lemur,皇家墨尔本理工大学(RMIT)的Zettair,加拿大滑铁卢大学的Wumpus等。其中Lemur是最有具代表性的,它对于检索效果试验有良好的支持,目前也被很多科研机构所采用。但在检索效率、索引实验等方面,Lemur并不能提供良好的扩展支持。国内目前同类的检索工具仅有中国科学院计算所开发的FirteX,虽然系统的构架与思路不错,但是在核心检索模型的支持上与国外的工具还有一定的差距。

Lemur本身并不是一个完整的检索系统,而是一个检索系统的工具集合。它仅提供了构建检索系统所必要的组件和API。Lemur后续推出了开源子项目indri,将Lemur中的API进行封装,构成了一个完整的检索系统程序。lucene也有自己的一套完整的检索系统Nutch,其在工业界大名鼎鼎,Nutch主要设计者甚至为该检索系统开发了一套独立的分布式系统Hadoop。包括Yahoo在内的很多大公司都采用了这套开源框架,其在工业界的影响可以说是非常巨大。

原创粉丝点击