所以燃

Information Retrieval --- Data Structure

一、倒排索引

1.构建

image

2.压缩。有损压缩:去停用词、词干还原、去数字等。

2.1无损压缩:词典压缩

a.定常数组变为当行字符串(加词项指针)

b.按块存储

c.前缀编码

2.2无损压缩:倒排记录表压缩(存docID间隔)

1.变长字节(VB)码:后7位存储,第8位记录是否结束

image

2.ϒ编码

image

3.位置信息

image

4.倒排记录表合并:求交集。优化:按df从小到大合并

image

*跳表法:加跳表指针

image

 

二、词项定位:在词典中快速找到查询。方法:哈希表;树(支持通配符查询,对词典再建索引)。

image

2.1轮排索引:支持m*nchen查询。基本思想:将每个通配查询旋转,使*出现在末端。

image

2.2 k-gram索引:支持通配符和拼写错误查询。建立k-gram到词项的倒排表用于查找词项。

image

 

三、支持拼写校正

1.编辑距离

image

2.k-gram

image

 

四、TopK排序

1.精确TopK加速

a.快速计算余弦(不考虑词项权重)

b.对所有文档评分后,堆法N中选K(不必排序)。

堆:二叉树的一种,每个节点上的值>子节点上的值 (Max Heap)

image

c.c.提前终止计算:按PageRank的g(d)值降序排列,忽略低于K中最小g(d)值的后续文档。

2.非精确TopK加速:利用文档集剪枝后集合C'的TopK代替整个文档集C的TopK。

a.索引去除:只考虑高idf的查询,只考虑包含多个查询词项的文档

b.胜表法:预先计算倒排表中权重最高的r篇文档(称胜表或高分文档)

c.提前终止遍历:预先计算权威度g(d)值,并降序排列。net-score=g(d)+cosin(q,d)。

d.影响度wft,d排序

e.簇剪枝:选根号N个先导者,对其他文档计算和它最近的先导者。在对最近的几个先导者上的追随者进行预先相似度计算。

posted on 2013-12-16 17:48  Jizhiyuan  阅读(557)  评论(0编辑  收藏  举报

导航