[IR] Boolean retrieval
How to build Inverted Index?
1. Token sequence.
2. Sort by terms.
3. Dictionary & Postings
code
【Qword1 and Qword2】
等高线式前进。
O(x+y)
【Qword1 and not Qword2】
O(m*log2n) = m个中的any one都要查看n个中是否也有(二分查找)。
【Qword1 or not Qword2】
O(m+n)
【Qword1 and Qword2 and Qword3 and ...】
借助min-heap.
Update min-heap: O(log2k), k = number of lists.
O(Total_Length * log2k)
【Qword1 and Qword2】- 改进: Galloping Search
- 源于skip pointers, but how to placing skip?
- L1/2
Normally, len(a) < len(b)
O(2a*log2(b/a)) [ better than O(a*log2b) 二分查找 ]
Stage1: Σi = 1log2(ni) = log2Πi=1(ni) <= log2(Σ(ni)/a)a (柯西不等式) = log2(b/a)a = a*log2(b/a)
Stage2: 二分查找的cost与Stage1相近(因为都是2的指数级增长)
code
Pharse Queries
1. Biword Indexes
排列组合。但总有些组合是没用的,导致False Positive增加。
所以要Filter out.
2. Positional Index --> Proximity Queries
支持位置信息查询
k词邻近搜索
Figure, 邻近搜索中两个倒排记录表 p1 和 p2 的合并算法,算法寻找两个词项在 k 个词之内出现的情形,
返回一个三元组<文档 ID,词项在 p1中的位置,词项在 p2中的位置>的列表。
Step:
[IR] Boolean retrieval的更多相关文章
- [信息检索] 第一讲 布尔检索Boolean Retrieval
第一讲 布尔检索Boolean Retrieval 主要内容: 信息检索概述 倒排记录表 布尔查询处理 一.信息检索概述 什么是信息检索? Information Retrieval (IR) is ...
- [IR] Inverted Index & Boolean retrieval
教材:<信息检索导论> 倒排索引 How to build Inverted Index? 1. Token sequence. 2. Sort by terms. 3. Dictiona ...
- [IR] Tolerant Retrieval & Spelling Correction & Language Model
Dictionary不一定是个list,它可以是多种形式. 放弃Hash的原因: 通常,tree是比较适合的结构. From: http://www.cnblogs.com/v-July-v/arch ...
- 本人AI知识体系导航 - AI menu
Relevant Readable Links Name Interesting topic Comment Edwin Chen 非参贝叶斯 徐亦达老板 Dirichlet Process 学习 ...
- Information retrieval信息检索
https://en.wikipedia.org/wiki/Information_retrieval 信息检索 (一种信息技术) 信息检索(Information Retrieval)是指信息按一定 ...
- [IR] Information Extraction
阶段性总结 Boolean retrieval 单词搜索 [Qword1 and Qword2] O(x+y) [Qword1 and Qword2]- 改进: Gallo ...
- [Code] 烧脑之算法模型
把博客的算法过一遍,我的天呐多得很,爱咋咋地! 未来可考虑下博弈算法. 基本的编程陷阱:[c++] 面试题之犄角旮旯 第壹章[有必要添加Python] 基本的算法思想:[Algorithm] 面试题之 ...
- [Algorithm] Graph
图的概念有点多,在此只讨论最基础的内容,所以选择比较薄的高教版<数据结构>. 1.4 非线性数据结构--图 ........................................ ...
- [Z] 计算机类会议期刊根据引用数排名
一位cornell的教授做的计算机类期刊会议依据Microsoft Research引用数的排名 link:http://www.cs.cornell.edu/andru/csconf.html Th ...
随机推荐
- UItableView嵌套UICollectionView
首先我们需要继承一下UITableView并且遵守<UITableViewDelegate,UITableViewDataSource,UICollectionViewDataSource,UI ...
- js中的eval()和catch()
定义和用法 eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码. 语法 eval(string) 参数 描述 string 必需.要计算的字符串,其中含有要计算的 Java ...
- shell切割日志脚本
#!/bin/bash set -e source /etc/bashrc cd `dirname $` linenum=`wc -l userinfolist.txt | awk '{print $ ...
- Avizo - 高级三维可视化及分析软件
今天从材料科学应用角度介绍Avizo的基本功能. Avizo是一款先进的三维可视化及分析应用,可用来探索从断层扫描.显微镜.核磁共振成像及更多其他技术获得的材料科学数据.从简单的可视化与测量到高级的图 ...
- 用Wireshark提取WPA握手包
进入正文前,先来看一张截图,如图1,使用“aircrack-ng wpa.cap -w password.lst”命令后,程序会提示输入待破解网络的序号,此时只要提供一个序号即可.注意:1:命令中不需 ...
- Splunk - 如何在WebFramework之CORS模式下你的网站和splunk web进行交互
1. 修改配置文件以支持CORS 进入/Applications/Splunk/etc/system/local 修改server.conf 在最后加入如下: [httpServer]crossOri ...
- 解决eclipse使用Search弹出错误问题
在eclipse中搜索时,搜索完之后有时候会弹出错误对话框,虽然错误内容有时候不同,但是解决办法都一样. 这个问题是由于eclipse中文件不同步引起的.在eclipse中,工程文件是由eclipse ...
- VirtualBox不能为虚拟电脑 Ubuntu 打开一个新任务
今天在用Vbox中的Ubuntu系统准备测试Python代码时,Vbox报了一个错误:"不能为虚拟电脑 Ubuntu 打开一个新任务".因为之前用的时候还好好的,也不知道是不是最近 ...
- 【cocos2d-x 手游研发----目录】
感谢大家一直支持我写这样一系列的博客,从中我自己也获益良多,cocos2d-x这样一款非常棒的引擎,是值得我们去学习和分享的,谈到分享,那我就把这套写了差不多一两个月的框架给大家开源下载,写的很一般, ...
- [原]OpenGL基础教程(四)VBO+纹理绘制四边形
工程下载地址:http://pan.baidu.com/s/1ntr7NHv 提取码:yf1h 一.本文牵扯知识点梳理: (1)VBO (2)纹理 (3)libpng(加载png) (4)shader ...