Home » , , , , , , » IR实验系统

IR实验系统

IR实验系统

根据设计目的和使用用途的不同,文本信息检索系统可以分为两大类:一类是以技术研究为目的,供研究者使用的实验系统;另一类是供普通用户使用的实用系统,其中使用最广泛的就是WWW搜索引擎。
实验系统
由于文本信息检索系统非常复杂,所涉及的技术很多,因此,如果每个研究者都自己开发一个完整的检索系统则是相当困难的,并且也没有必要。事实上,已经有不少很完善的实验系统出现,研究者可以利用它们进行研究,其中很多系统都可免费使用,有些甚至提供源代码和完善的文档,让使用者可以很方便地实现自己的算法。

1.Smart系统(http://ftp.cs.cornell.edu/pub/smart/)

Smart系统是最著名的、使用者最多的实验系统之一。其原因一方面是它的历史比较长,另一方面是它的使用是免费的,且可下载源代码,使研究者使用起来非常方便。Smart系统由美国康奈尔大学研发,最初的研发工作由Gerard Salton教授领导,并在20世纪80年代初开发出第一个版本。目前其维护工作由Chris Buckley负责,最新的版本是Smart11。
开发Smart系统的目的是为了给文本信息检索技术的研究者提供一个完善的实验平台。在这一思想指导下,Smart实现了一个完整的基于向量空间模型的文本信息检索系统,不过目前只能处理英文文档。利用Smart,用户可以对一组文档建立索引,然后即可对给出的问询(query)返回检索结果,并对结果进行评价。同时,它包括去除stopwords(stopwords列表可由用户指定)、去除词形变化(stemming)、weighting计算等子功能模块。用户可以根据自己的需要分别调用。不过,由于其设计年代较早,Smart系统存在一个很大的缺点,即只能处理大约500MB以下的文档集合,这使它在数据量达到10GB以上的TREC Web Track这样的问题时显得力不从心。Smart系统的另一个不足之处是缺乏良好的文档,使用者常常需要自己摸索使用方法。

2.Okapi系统(http://www.soi.city.ac.uk/~andym/OKAPI-PACK/index.html)

Okapi是另一个著名的文本检索实验系统。其第一版于20世纪80年代末问世,运行在Unix系统上。时至今日,经过10多年的发展,Okapi系统越来越健壮,检索精确度也越来越高。近几年,在TREC比赛中,有不少参加者采用Okapi系统取得了很好的成绩。不过,Okapi系统不是免费的,并且不提供源代码。目前,该系统可运行在Sun工作站、Linux系统以及Windows系统平台上。
Okapi系统是由伦敦城市大学开发的。它基于概率检索模型设计,使用著名的bm25公式及其变形(bm2500、bm250)等作为求term 权值的公式。这种权重计算公式在概率模型中已经成为公认的成熟的标准计算方法。Okapi同样提供建立索引和查询的工具,分别有命令行方式和图形界面方式。

3.Lemur Toolkit系统(http://www-2.cs.cmu.edu/~lemur/)

Lemur Toolkit是一个新兴的实验系统。它由卡耐基-梅隆大学(CMU)开发,在2001年公布了第一个公开的版本。其特点是在检索中引入了语言模型,更重要的是,它不仅是一个完整的检索系统,而且是以工具包的形式提供的。各功能模块都有良好的封装,并提供清晰的源代码和丰富的文档说明,研究者使用它搭建自己的实验系统易如反掌。
Lemur Toolkit的设计目标是促进和帮助在文本信息检索和语言模型方面的研究,包括特定目标检索、分布式检索、跨语言检索、文摘系统、信息过滤和文本分类等各方面技术的研究。工具包支持对大规模文本数据建立索引,对文档和查询构建简单的语言模型,同时实现了基于语言模型的检索系统。整个系统用C和C++语言实现,可在Unix和Windows系统下运行。
Indri
Indri 是来自于Lemur项目的一个新搜索引擎;由University of Massachusettsand Carnegie Mellon University 合作完成。虽然是来源于Lemur project,但是一个完全独立的搜索引擎系统,和Lemur同步更新。
特点开源、高效、灵活,build-in 支持 trec ad hoc 检索。
特色: 1)支持流行的结构化查询语言INQUERY 2)排序算法,Indri Ranking algorithm – A combination of Inference network and Language Model 3) 支持build-in passage Retrieval
另外Indri 和 Lemur可以共享索引文件,也就是说Lemur里面的其它Ranking 算法都可以用。

4. Terrier

Terrier 由 University of Glasgow 开发,主用用于试验研究目的,java语言开发,开源。
适用于ad hoc 检索实验,特别容易修改其ranking 算法和Query Expansion 算法,而且已经内部实现很多state-of-the-art的相关算法。
对于ranking 算法,除了有基本的language model 和 bm25 之外,还有他们自己提出的Divergence From Randomness (DFR) weighting model, 是一种无参数的weighting model,很多实验表明检索效果要优于BM25 with default parameters,而且 DFR 也有相对应的Query Expansion算法,效果也相当不错。
缺点暂时还不支持 索引多个域。虽然已经发布到2.2.1 版本了,但感觉还是in its very early stage。
感觉Terrier算是系统结果比较简单一IR系统,比较适合初学者去修改。
5.  LabLucene

0 Comments:

Popular Posts