Terrier文档翻译:组件

Terrier 组件

在这一页我们会为Terrier的主要组件及其交互做一个概述。

组件交互

索引

下图展示了在索引过程中涉及到的主要组件之间的交互。


  • 一个语料库将被表示成一个Collection 对象的形式。裸的文本数据会被表示成一个Document 对象的形式。 Document的实现往往是用一个Tokeniser类的实例将文本片段打碎成单一的索引标记(tokens)来提供。
  • 索引器(indexer)负责管理建索引进程。他遍历集合中的每一篇文档,然后把通过TermPipeline组件找到的每一个术语(term)发送出去。
  • TermPipeline可以为术语(term)变形或者去掉不应该被索引的术语(term)。TermPipeline处理链相当于去除停用词加词干分析termpipelines=Stopwords,PorterStemmer,用Stopwords对象从文档中去除停用词,然后对术语(term)施加英语的波特词干分析算法(PorterStemmer)。
  • 一旦术语(term)经过TermPipeline处理,他们将被汇总,他们相应的文档构建器(DocumentBuilders)会建立下面这些数据结构:直接索引(DirectIndex),文档索引(DocumentIndex),,词汇(Lexicon),和倒排索引(InvertedIndex)。
  • 对于单通道索引,这些结构将按不同的顺序写入。倒排文件的记录是在内存中建立的,当内存耗尽时会被提交给”runs”。一旦整个集合被索引完,所有runs会合并形成倒排索引(InvertedIndex)和词典(Lexicon)。

检索

下图展示了在检索阶段Terrier的组件间的交互。


  • 先由像Desktop Terrier 或 TrecTerrier这样的应用向Terrier框架提交一个查询。
  • 第一步,这个查询(query)会被解析,并被实例化为一个查询(Query)对象。
  • 随后查询会被交给Manager组件。The Manager首先会用配置过的术语管道对其预处理(TermPipeline)。
  • 在预处理之后将被交给匹配组件(Matching component)。匹配组件负责初始化相应的加权模型(WeightingModel)和文档评分器(DocumentScoreModifiers)。一旦所有这些组件都被实例化了,关于查询的文档评分计算就会进行。
  • 随后就会进行后期处理(PostProcessing)和后期过滤(PostFiltering)。在后期处理中,结果集可以被任意调整,比如查询扩展(QueryExpansion)扩展了查询,然后再一次调用匹配组件(Mathing)来生成改进过的文档排名。后期过滤更简单,它允许文档包含某部分或排除某部分,这对于使用交互式应用的用户想要限制文档被检索的域时非常理想。
  • 最后,结果集会被返回给应用程序组件。

 

组件描述

这里对Terrier的组件提供了简单的描述列表。

索引

名称

描述

Collection

这个组件封装了Terrier建索引的大部分基本概念。一个 Collection 就是一个文档的集,详情见 org.terrier.indexing.Collection

Document

这个组件封装了文档的概念。它本质上是一个对文档中的术语(term)的一个迭代器。详情见org.terrier.indexing.Document

Tokeniser

被文档(Document)组件用来将文本序列(句子)打碎成单词的流以建立索引。详情见org.terrier.indexing.tokenisation.Tokeniser

TermPipeline

模型化了一个在术语(term)处理进程中管道组件的概念。实现这个接口的类可以是词干分析算法,停用词去除器或者仅仅是为了说明某些例子做的缩减扩展。详情见org.terrier.terms.TermPipeline

Indexer

这个组件负责管理建索引进程。它实例化了术语管道(TermPipelines)和建造器(Builders)。 详情见org.terrier.structures.indexing.Indexer 

Builders

建造器(Builders)负责将所有写入磁盘。详情见org.terrier.structures.indexing package 

数据结构

名称

描述

BitFile

一个用伽马和一元编码(gamma and unary encodings)的高度压缩的I/O层。 详情见org.terrier.compression。

Direct Index

直接索引(Direct Index)每篇文档里出现过的术语(term)及相应出现频率的标记。他被用于自动查询扩展, 也可用于用户分析活动。详情见org.terrier.structures.bit.DirectIndex

Document Index

文档索引(Document Index)存储关于每个文档的信息,比如文档的长度和标识,以及一个指向相应直接索引(Direct Index)里的入口的指针。 详情见org.terrier.structures.DocumentIndex

Inverted Index

The 倒排索引(Inverted Index)存储记录列表,比如文档标识和他们相应的词频。 另外他能够存储术语(term)在一篇文档中的位置。 详情见org.terrier.structures.bit.InvertedIndex

Lexicon

词典(lexicon)存储词汇的集合和相应的文档以及词频。详情见org.terrier.structures.Lexicon

Meta Index

元数据索引(Meta Index)存储每篇文档额外(meta)的信息,比如它的唯一文本编号或者URL。详情见 org.terrier.structures.MetaIndex 。

检索

名称

描述

Manager

这个组件负责处理/协调查询的主要上层查询操作,这些操作有:

  • 预处理 (术语管道,查找控制(control finding),术语汇总)
  • 匹配(Matching)
  • 后期处理
  • 后期过滤

详情见org.terrier.querying.Manager

Matching

匹配组件负责决定哪个文档与给定的查询匹配并负责对该文档关于相应的查询进行打分。详情见See org.terrier.matching.Matching

Query

查询(Query)组件是对一个包含子查询和查询术语(term)的查询建立模型。详情见org.terrier.querying.parser.Query

Weighting Model

加权模型(Weighting Model)代表给文档中的术语加权重的检索模型。 详情看org.terrier.matching.models.WeightingModel

Document Score Modifiers

负责查询相关的文档的评分的调整。详情 org.terrier.matching.dsms package

应用程序

名称

描述

Trec Terrier

一个支持对TREC数据集建索引和查询的应用。 详情见org.terrier.applications.TrecTerrier

Desktop Terrier

一个允许用户索引和检索本地内容的应用。 详情见 org.terrier.applications.desktop package

HTTP Terrier

一个允许通过浏览器检索文档的应用。详情见 src/webapps/results.jsp 或者relevant documentation的相关文档。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值