信息检索导论学习笔记(5)

参数化索引及域索引

迄今为止,我们都将文档看成一系列词项的序列。实际上,大多数文档都具有额外的结构信息。数字文档通常会把与之相关的元数据(metadata)以机读的方式一起编码。所谓元数据,指的是和文档有关的一些特定形式的数据,比如文档的作者、标题以及出版日期等等。

 

问题:考虑查询“ 寻找由 William Shakespeare于 1601年撰写、其中包含短语 alas poor Yorick的文档”。

 

对上述查询,如何设计索引结构?通常有两种方式:

 

词典方式处理

在词典中,对不同域分别建立一个索引。和通常一样,查询的处理过程需要进行倒排记录表的合并操作(不同域下倒排索引的合并)。

Image(16)

 

倒排记录方式处理

显然,对于查询,词典方式下域索引的处理要对多个索引进行合并处理,效率相对会比较低。因此考虑将域的信息存储在倒排记录而不是词典中。

Image(17)

 

实际索引方式1:

考虑上述索引方式,我们要处理的文档包含了2个域(author、title),所以可以用2个bit位来分别表示查询词项是否在某个域中出现过,Bit位为1表示出现,反之代表不出现。

于是,索引结构可变为

william→ 2:"11"→3:"10"→4:"01"→5:"10"

从索引结构,可看出有4个文档出现了查询词项“william”,其中文档2在author和title中都出现了“william”,文档3只在author中出现了“william”

注:实际搜索引擎的实现中,对域索引的倒排记录方式处理可能有很多变种设计,来加快查询的处理。

 

说明

域和字段很相似,只是它的内容可以是任意的自由文本,而字段通常的取值可能性相对较小。参数化索引(及字段索引)中,词典常常来自固定的词汇表(比如语言种类的集合、日期的集合等),而在域索引中,词典中应该收集来自域中自由文本的所有词汇。 本文章统称为域索引。

posted on 2012-08-17 10:14  God bless you  阅读(1822)  评论(0编辑  收藏  举报

导航