lecture1-booleanretrieval 信息检索导论 王斌 PPT 课件 第1章
【企业导师】布尔检索模型&索引构建
储存开销计算
如何快速构建索引?快速定位词项。 如何减少存储开销?
布尔查询的处理 假定索引已经构建好 1. 如何利用该索引来处理查询? 2. 如何处理不同类型的查询? 比如带通配符的查询 “信息*检索” AND查询的处理 考虑如下查询(从简单的布尔表达式入手): Brutus AND Caesar 在词典中定位 Brutus 返回对应倒排记录表(对应的docID) 在词典中定位Caesar 再返回对应倒排记录表 合并(Merge)两个倒排记录表,即求交集,这步操作很关键
非结构化数据(文本) vs. 结构化数据(数据库)
@2009年
@1996年 传统信息检索主要关注非结构化、半结构化数据 现代信息检索中也处理结构化数据
信息检索 处理数据的规模 • Web搜索,需要处理数百亿的文档
如何采集到这种规模的文档? 如何在这种大规模数据量的情况下建立高效运行的系统? 如何应对Web 特性所带来的特殊问题,比如SEO?
布尔检索的缺点
布尔查询构建复杂,不适合普通用户。构建不当,检索结果过多或者过少 没有充分利用词项的频率信息 1 vs. 0 次出现 2 vs. 1次出现 3 vs. 2次出现, … 通常出现的越多越好,需要利用词项在文档中的词项频率(term frequency, tf)信息 不能对检索结果进行排序
搜索引擎系统与应用 索引构建
提纲 1. 简介 2. BSBI算法 3. SPIMI算法 4. 分布式索引构建 5. 动态索引构建
简介
布尔检索的优点
构建简单,或许是构建IR系统的一种最简单方式 在30多年中是最主要的检索工具 当前许多搜索系统仍然使用布尔检索模型: 电子邮件、文献编目、Mac OS X Spotlight工具
文献检索(信息检索技术)课件
2.3 截词检索(Truncation) 第 二 部 分 Ei Village中的截词符为: ‚*‛——用于词中或词后表示可以代替多个字符, 检索出相同词干的任意多个变化的词: 例如:输入optic *,可检索出optic, optics, optical等;
计 算 机 ‚?‛——用于词中表示可以代替一个字符, 信 息 检 例如,输入wom?n可检索出woman, women. 索 技 术
8 /29
2.2 位置检索(Position Search) 第 美国DIALOG检索系统的位置算符的用法: 二 部 (2) (nW)——nWords 分 (nW) 表示在此算符两侧的检索词之间最多允 许间隔n个词(实词或虚词),且两者的相对 计 位置不能颠倒。 算 机 信 检 索 式:laser (1W) printer 息 检索结果: 检 laser printer 索 laser color printer 技 术
16 /29
2.3 截词检索(Truncation) 第 二 部 分 计 算 机 信 息 检 索 技 术
截词检索是计算机检索系统中应用非常普遍 的一种技术。由于西文的构词特性,在检索中经 常会遇到名词的单复数形式不一致;同一个意思 的词,英美拼法不一致;词干加上不同性质的前 缀和后缀就可以派生出许多意义相近的词等。为 了保证查全,就得在检索式中加上这些具有各种 变化形式的相关意义的检索词,这样就会出现检 索式过于冗长,输入检索词的时间太久,同时也 占太多机时。
19 /29
2.3 截词检索(Truncation) 第 二 部 分 计 算 机 信 息 检 索 技 术 美国Dialog系统用‚?‛表示截词符,有以 下几种截词方式。
(1)后方截词 ①词尾的有限截断相同字符串后可能变化一个 字符时,则在其后使用一个‚?‛、空格、再加一 个‚?‛,常用来表示检索词的单复数变化。例如 用system? ?可以查出system和systems的文献。 相同字符串后可能变化两个以上字符时,则在 其后连续使用若干个‚?‛代替可能变化的字符。 例如,??表示两个字符,???表示三个字符, 以此类推。
lecture8-evaluation 信息检索导论 王斌 PPT 课件 第8章
15
现代信息检索
评价任务的例子
两个系统,一批查询,对每个查询每个系统 分别得到一些结果。目标:哪个系统好? 系统&查询 系统1,查询1 系统1,查询2 系统2,查询1 系统2,查询2 1 d3 d1 d6 d1 2 d6 d4 d7 d2 3 d8 d7 d3 d4 4 … d10 d11 d9 d13
19
现代信息检索
评价指标分类
对单个查询进行评估的指标
在单个查询上检索系统的得分
对多个查询进行评估的指标
在多个查询上检索系统的得分
20
现代信息检索
回到例子
系统&查询
系统1,查询1 系统1,查询2 系统2,查询1 系统2,查询2
1
2
3
4
d10 d11 d9 √ d13
…
d3 √ d6 √ d8 d1 d4 d7 d6 √ d7 d2 d1 d2 d4
29
现代信息检索
关于正确率和召回率的讨论(2)
虽然Precision和Recall都很重要,但是不同的应 用、不用的用户可能会对两者的要求不一样。 因此,实际应用中应该考虑这点。
垃圾邮件过滤:宁愿漏掉一些垃圾邮件,但是尽量 少将正常邮件判定成垃圾邮件。 有些用户希望返回的结果全一点,他有时间挑选; 有些用户希望返回结果准一点,他不需要结果很全 就能完成任务。
23
现代信息检索
四种关系的矩阵表示
真正相关文档 RR+NR 真正不相关文档 系统判定相关 RR+RN (检索出)
RR
RN
Ret = RR+RN Precision
系统判定不相关 (未检索出)
NR
NN
lecture4-indexconstruction 信息检索导论 王斌 PPT 课件 第4章
19
现代信息检索
Reuters RCV1语料库的统计信息
N L M 文档数目 每篇文档的词条数目 词项数目(= 词类数目) 每个词条的字节数 (含空格和标点) 每个词条的字节数 (不含空格和标点) 每个词项的字节数 无位置信息索引中的倒排记录数目 800,000 200 400,000 6 4.5 7.5 100,000,000
6
现代信息检索
基于B-树的词典查找
7
现代信息检索
基于轮排索引的通配查询处理
查询: 对 X, 查找 X$ 对X*, 查找 X*$ 对*X, 查找 X$* 对*X*, 查找 X* 对 X*Y, 查找 Y$X*
8
现代信息检索
基于k-gram索引的通配查询处理
比轮排索引空间开销要小 枚举一个词项中所有连读的k个字符构成的k-gram 。 2-gram称为二元组(bigram) 例子: from April is the cruelest month we get the bigrams: $a ap pr ri il l$ $i is s$ $t th he e$ $c cr ru ue el le es st t$ $m mo on nt h$ 同前面一样,$ 是一个特殊字符 构建一个倒排索引,此时词典部分是所有的2-gram,倒 排记录表部分是包含某个2-gram的所有词项 相当于对词项再构建一个倒排索引(二级索引)
将输入的文档集分片(split) (对应于BSBI/SPIMI算法中的块) 每个数据片都是一个文档子集
39
现代信息检索
分析器(Parser)
主节点将一个数据片分配给一台空闲的分析器 分析器一次读一篇文档然后输出 (term,docID)-对 分析器将这些对又分成j 个词项分区 每个分区按照词项首字母进行划分
[信息检索]第一讲布尔检索BooleanRetrieval
[信息检索]第⼀讲布尔检索BooleanRetrieval第⼀讲布尔检索Boolean Retrieval主要内容:1. 信息检索概述2. 倒排记录表3. 布尔查询处理⼀、信息检索概述什么是信息检索?Information Retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies an information need from within large collections (usually stored on computers).信息检索是从⼤规模⾮结构化数据(通常是⽂本)的集合(通常保存在计算机上)中找出满⾜⽤户信息需求的资料(通常是⽂档)的过程。
Document –⽂档Unstructured – ⾮结构化Information need –信息需求Collection—⽂档集、语料库⼆、倒排记录表1、什么是布尔查询?布尔查询是指利⽤ AND, OR 或者 NOT操作符将词项连接起来的查询如:信息 AND 检索2、⼀个信息检索的例⼦(莎⼠⽐亚全集)不到100万单词,假设每个英⽂单词平均长度为8字节,则整个全集不到10MB查询需求:莎⼠⽐亚的哪部剧本包含Brutus及Caesar但是不包含Calpurnia?查询的布尔表⽰:Brutus AND Caesar AND NOT Calpurnia解决⽅案:⽅法⼀:暴⼒⽅法从头到尾扫描所有剧本,对每部剧本判断它是否包含Brutus AND Caesar ,同时⼜不包含Calpurnia不⾜之处:速度超慢 (特别是⼤型⽂档集)处理NOT Calpurnia 并不容易(不到末尾不能停⽌判断)不太容易⽀持其他操作 (e.g., 寻找靠近countrymen的单词Romans)不⽀持检索结果的(灵活)排序 (排序时只返回较好的结果)优点:实现简单很容易⽀持⽂档动态变化⽅法⼆:倒排记录表词项-⽂档(term-doc)关联矩阵若某剧本包含某单词,则该位置为1,否则为0.关联矩阵的每⼀列(对应⼀篇⽂档)都是 0/1向量,每个0/1都对应⼀个词项关联矩阵的每⼀⾏(对应⼀个词项)也可以看成⼀个0/1向量,每个0/1代表该词项在相应⽂档中的出现与否给定查询Brutus AND Caesar AND NOT Calpurnia取出三个词项对应的⾏向量,并对Calpurnia 的⾏向量求反,最后按位进⾏与操作110100 AND 110111 AND 101111 = 100100.问题:当出现更⼤的⽂档集假定N = 1 百万篇⽂档(1M), 每篇有1000个词(1K)假定每个词平均有6个字节(包括空格和标点符号),那么所有⽂档将约占6GB 空间.假定词汇表的⼤⼩(即词项个数) M = 500K此时,词项-⽂档矩阵将⾮常⼤矩阵⼤⼩为 500K x 1M=500G但是该矩阵中最多有10亿(1G)个1:词项-⽂档矩阵⾼度稀疏(sparse)更好的办法:仅仅记录1的位置,即倒排索引对每个词项t, 记录所有包含t的⽂档列表.每篇⽂档⽤⼀个唯⼀的 docID来表⽰,通常是正整数,如1,2,3…磁盘上,顺序存储⽅式⽐较好,便于快速读取内存中,采⽤链表或者可变长数组⽅式倒排记录表按docID排序索引构建过程:1、词条序列:<词条,docID>⼆元组2、排序按词项排序,然后每个词项按docID排序1. 词典&倒排记录表某个词项在单篇⽂档中的多次出现会被合并拆分成词典和倒排记录表两部分每个词项出现的⽂档数⽬(doc frequency, DF)会被加⼊3、布尔查询的处理假定索引已经构建好了,如何利⽤索引来处理查询?AND查询的处理:考虑如下查询(从简单的布尔表达式⼊⼿):Brutus AND Caesar在词典中定位 Brutus返回对应倒排记录表(对应的docID)在词典中定位Caesar再返回对应倒排记录表合并(Merge)两个倒排记录表,即求交集合并过程:每个倒排记录表都有⼀个定位指针,两个指针同时从前往后扫描, 每次⽐较当前指针对应倒排记录,然后移动某个或两个指针。
lecture10xmlretrieval信息检索导论王斌
▪ 实体标记文本: give me articles about sightseeing tours of the Vatican and the Coliseum
12
现代信息检索
结构化检索(Structured retrieval)
基本配置: 结构化或非结构化查询+结构化文档
结构化检索的应用场景
数字图书馆、专利数据库、博客、包含已标注命名实体 (如人名、地名)的文本
例子
▪ 数字图书馆: give me a full-length article on fast fourier transforms
13
R列三个主要问题 ❶ 无序的DB系统可能返回大量文章,这些文章提到 Vatican、the
Coliseum和sightseeing tours,但是并没有按照它们和查询的相关 度排序 ❷ 大部分用户都很难精确描述结构化的限制条件。比如,用户可 能并不知道搜索系统支持对哪些结构化元素的查询 tours AND (COUNTRY: Vatican OR LANDMARK: Coliseum)? tours AND (STATE: Vatican OR BUILDING: Coliseum)? ❸ 用户可能对结构化搜索和高级搜索很不熟悉,或者他们压根就 不想用这些搜索功能。
不相关的 ▪ 搜索引擎根据标记结果计算得到信息需求的一个新查询
表示。当然我们希望该表示好于初始的查询表示 ▪ 搜索引擎对新查询进行处理,返回新结果 ▪ 新结果可望(理想上说)有更高的召回率
医学信息检索案例总结与分析 ppt课件
A.中国期刊网专题全文数据库(CNKI)、重庆维 普中文科技期刊数据库(全文版)、万方数据资源 系统、书生在线图书。 B. 中国期刊网专题全文数据库(CNKI)、重庆维 普中文科技期刊数据库(全文版)、中国生物医 学文献数据库检索系统(简称CBMdisc)。 C. 中国期刊网专题全文数据库(CNKI)、重庆 维普中文科技期刊数据库(全文版)、万方数据 资源系统、中国生物医学文献数据库检索系统( CBM)、书生在线图书/书生搜吧。
ppt课件 8
Management of Information is one of the seven requirements in Global minimum essential requirements (GMER) in medical education, which requires a medical practitioner to be able to
A.余恩琳.医学生信息素质教育研究[J].医学教育探索.2005.4(6):370373.
(1)信息收录范围。 (2)信息特征提示。 (3)信息标引质量。
(4)信息检索功能。
ppt课件 24
当检出的文献量小于期望时,可以尝试以下方
法扩大检索范围:
(1)增加用NOT连接的检索词。 (2)删除某些用AND连接的不重要的检索词 。 (3)选用下位主题词扩检。 (4)检索词后用截词符。
ppt课件 22
关于搜索引擎的描述,不恰当的是:
A.搜索引擎是通过互联网接受用其查询要求的信 息资源网址。 D.元搜索引擎可同时调用多种独立搜索引擎。
ppt课件 23
《信息组织检索二》PPT课件
精选PPT
33
运用逻辑优先级
❖ NOT 的优先级最高,其次是AND,最后是OR。
❖ 可以用括号改变运算顺序。
not and
精选PPT
or
34
2、截词(truncation)检索
❖ 左截词检索——又称“后方一致检索”,允许词前端有若干变化。如: 检索式“*magnetic”, 可以检索出 electromagnetic、paramagnetic等。
精选PPT
36
中间截词检索
❖ 又称“屏蔽”。允许检索词中间某个字符有变化(英 美单词拼写差异或单复数的不同等)。如:
❖ 检索式“organi?ation”, 可以检索出organization, organisation 等。
精选PPT
21
回溯法——
❖ 又称追溯法、引文法。以文献后面所附的参 考文献为线索,逐一追溯查找相关文献的方 法。该法获得文献的针对性比较强,尤其在 没有检索工具或检索工具不齐备的情况下较 实用。
精选PPT
22
循环检索法——
❖ 又称交替法、综合法。即利用回溯法和常规法交替 检索的方法。先利用检索工具查找,得出一批相关 文献,再利用回溯法按所附参考文献扩大检索线索。
精选PPT
17
❖ 近年来,信息抽取的处理对象已经扩展到图像、视 频、音频等其他媒体类型的数据。
❖ 目前的研究侧重于:利用机器学习技术增强系统的 可移植能力、探索深层理解技术、篇章分析技术、 多语言文本处理技术、Web信息抽取等。
精选PPT
18
❖ 信息抽取技术对搜索引擎、信息安全、企业智能信 息系统等许多应用领域具有相当重要的作用。
lecture2-dictionary 信息检索导论 王斌 PPT 课件 第2章
现代信息检索
词条归一化(Normalization)成词项
将文档和查询中的词归一化成同一形式:
U.S.A. 和 USA
归一化的结果就是词项,而词项就是我们最终要 索引的对象 可以采用隐式规则的方法来表示多个词条可以归 一成同一词项,比如
剔除句点
U.S.A., USA USA
字:李 明 天 天 都 准 时 上 班
索引量太大,查全率百分百,但是查准率低,比如查“明天” 这句话也会出来
词:李明 天天 都 准时 上班
索引量大大降低,查准率较高,查全率不是百分百,而且还会 受分词错误的影响,比如上面可能会切分成:李 明天 天都 准 时 上班,还有: 他和服务人员照相
提纲
❶ ❷ ❸
上一讲回顾 文档 词项
通常做法+非英语处理
英语
❹
❺
跳表指针
短语查询
17
现代信息检索
词条和词项
TOKENS AND TERMS
现代信息检索
词条化(Tokenization)
输入: ―Friends, Romans and Countrymen‖ 输出: 词条(Token)
state-of-the-art: co-education lowercase, lower-case, lower case ?
San Francisco: 到底是一个还是两个词条?
如何判断是一个词条?
现代信息检索
词条化中数字的处理
3/20/91 Mar. 12, 1991 55 B.C. B-52 PGP 密钥:324a3df234cb23e (800) 234-2333
lecture9-queryexpansion 信息检索导论 王斌 PPT 课件 第9章
更新时间: 2011/10/11
现代信息检索 Modern Information Retrieval
第9讲 相关反馈及查询扩展 Relevance Feedback & Query Expansion
19
现代信息检索
关于召回率Recall
本讲当中会放松召回率的定义,即(在前几页)给用户返回更 多的相关文档
这可能实际上会降低召回率,比如,将jaguar扩展为 jaguar(美洲虎;一种汽车品牌)+panthera(豹属) 可能会去掉一些相关的文档,但是可能增加前几页返回 给用户的相关文档数
❺
查询扩展
2
提纲
❶ ❷ ❸ ❹
上一讲回顾 动机 相关反馈基础 相关反馈详细介绍
❺
查询扩展
3
上一讲回顾
信息检索的评价方法
不考虑序的评价方法(即基于集合):P、R、F 考虑序的评价方法:P/R曲线、MAP、NDCG
信息检索评测语料及会议 检索结果的摘要
4
现代信息检索
正确率(Precision)和召回率(Recall)
现代信Байду номын сангаас检索
相关反馈后的检索结果
Source: Fernando Dí az
33
例3: 一个实际的例子
初始查询: [new space satellite applications] 初始查询的检索结果: (r = rank)
+ + r 1 2 3 4 5 6 7 + 8 0.539 0.533 0.528 0.526 0.525 0.524 0.516 0.509 NASA Hasn’t Scrapped Imaging Spectrometer NASA Scratches Environment Gear From Satellite Plan Science Panel Backs NASA Satellite Plan, But Urges Launches of Smaller Probes A NASA Satellite Project Accomplishes Incredible Feat: Staying Within Budget Scientist Who Exposed Global Warming Proposes Satellites for Climate Research Report Provides Support for the Critics Of Using Big Satellites to Study Climate Arianespace Receives Satellite Launch Pact From Telesat Canada Telecommunications Tale of Two Companies
最新信息检索导论-第一章-布尔检索(英文)教学讲义ppt
9
Sec. 1.1
Term-document incidence matrices
Antony Brutus Caesar Calpurnia Cleopatra mercy worser
Antony and Cleopatra 1 1 1 0 1 1 1
Julius Caesar 1 1 1 1 0 0 0
The Tempest 0 0 0 0 0 1 1
Hamlet 0 1 1 0 0 1 1
Othello 0 0 1 0 0 1 1
Macbeth 1 0 1 0 0 1 0
Brutus AND Caesar BUT NOT Calpurnia
1 if play contains word, 0 otherwise
– On disk, a continuous run of postings is normal
and best
– In memory, can use linked lists or variable lenPogsttihng
arrays
Brutus
•
Some
tradeoffs
in 1size/2ease 4of
in1s1ertio3n1
45 173 174
Caesar
1 2 4 5 6 16 57 132
Calpurnia
2 31 54 101
Dictionary
Postings
Sorted by docID (more later on why). 17
Sec. 1.2
Inverted index construction
Doc 1
信息检索技术讲义
中截断主要用于
• 第一,单复数在词中元音上变化的情况 --man men ; goose geese • 第二,动词与名词拼写的不同 --advice advise • 第三,同一单词英美拼写的差异 --defense defence
ORBIT前后截词
CHEMICAL CHEMISTRY CHEMISORPRION CHEMIST ELECTROCHEMICAL ELECTROCHEMISTRY PHYSICOCHEMICAL PHYSICOCHEMISTRY THERMOCHEMICAL THERMOCHEMISTRY
BRS
technique$1
词干后至多跟与截字符相同的字符数
DIALOG child????
child+children+ childish+childlike
ORBIT
child####
BRS
child$4
(2)无限截断(unlimited truncation),也称“开放式截断”
DIALOG中,词干后跟一个“?”
•
4、All that you do, do with your might; things done by halves are never done right. ----R.H. Stoddard, American poet做一切事都应尽力而为,半途而废永远不行
5.26.20215.26.202108:3008:3008:30:5708:30:57
• 布尔逻辑检索反映了检索词之间的逻辑关系, 属于一种定性的信息检索技术,这种定性检索 难以分辨出检索结果之间的重要程度。
• 严格的二值逻辑判断,使单纯布尔逻辑检索的 结果缺乏“量”的比较。
lecture12-languagemodel 信息检索导论 王斌 PPT 课件 第12章
5
现代信息检索
几种概率检索模型
基于Logistic回归的检索模型
经典的二值独立概率模型BIM 经典的BM25模型 (BestMatch25)
6
现代信息检索
Logistic 回归IR模型
基本思想:为了求Q和D相关的概率P(R=1|Q,D),通 过定义多个特征函数fi(Q,D),认为P(R=1|Q,D)是这 些函数的组合。 Cooper等人提出一种做法*:定义log(P/(1-P))为多个 特征函数的线性组合。则P是一个Logistic函数,即:
三元模型(trigram):
对于n-gram,n越大,则模型越复杂,估计的参数(即估计 的概率)也越多。当然,当数据量足够大的情况下,模型 阶数越高越对片段概率的计算也越准确。
18
现代信息检索
课堂思考
设词典大小为M ,试估计N元模型要估计的参数 (概率)空间大小。
P(w1w2 w3w4 ) P(w1 ) P(w2 ) P(w3 ) P(w4 )
一元模型(Unigram)*:
P(种过科雪园)=P(种) P(过) P(科) P(雪) P(园) P(重果可薛原)=P(重) P(果) P(可) P(薛) P(原) P(中国科学院)=P(中) P(国) P(科) P(学) P(院) 训练:在训练语料库中估计以上各 P(X)的值
课堂思考:一元模型存在的问题?
其中,P(D|R=1)、P(D|R=0)分别表示在相关和不相关情况 下生成D的概率。Ranking函数显然是随着P(R=1|D)的增长 而增长。
现代信息检索技术
概率检索模型的提出者之一 NLP和IR中的先辈 曾获ACL终身成就奖和1988年Salton奖
36
现代信息检索
国际著名研究机构和代表人物
微软英国剑桥研究院、伦敦城市大学 Robertson
概率检索模型的先驱和倡导者 开发了OKAPI检索系统 2000年Salton奖得主
23
现代信息检索
老师介绍(1)
主讲老师:王斌,中科院计算所博士毕业,副研 究员,博士生导师。现为中科院计算所前瞻研究 实验室信息检索课题组负责人。
/~wangbin/ wangbin@ 新浪微博:计算所王斌/wang2bin1 办公电话:62601350
*改编自”An introduction to Information retrieval”网上公开的课件,地址 /IR-book/
现代信息检索
提纲
① 什么是信息检索? ② 为什么要学习信息检索? ③ 课程情况
2
现代信息检索
提纲
① 什么是信息检索? ② 为什么要学习信息检索? ③ 课程情况
Web信息检索:在超大规模数据集上的检索。
中科院研究生院2011年度秋季课程
12
现代信息检索
提纲
① 什么是信息检索? ② 为什么要学习信息检索? ③ 课程情况
中科院研究生院2011年度秋季课程
13
现代信息检索
市场发展的需求
用户需要信息检索技术:互联网的信息量太大、噪音太多, 寻找所需要的信息非常不容易
15
现代信息检索
对相关专业研究生的基本要求
信息检索技术是内容应用特别是互联网内容应用 的核心技术,可以说在这些应用中无处不在
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
现代信息检索
传统信息检索 vs. 现代信息检索
传统信息检索主要关注非结构化、半结构化数据
现代信息检索中也处理结构化数据
9
现代信息检索
非结构化数据(文本) vs. 结构化数据 (数据库) @ 1996年
200 180 160
140 120 100
80 60 40 20
Unstructured
现代信息检索
典型的搜索过程
任务
Get rid of mice in a politically correct way
是否转义?
信息需求
Info about removing mice without killing them
是否转义?
自然语言描 述
How do I trap mice alive?
考虑如下查询(从简单的布尔表达式入手):
Brutus AND Caesar 在词典中定位 Brutus
返回对应倒排记录表(对应的docID)
在词典中定位Caesar
再返回对应倒排记录表
合并(Merge)两个倒排记录表,即求交集 2 1 4 2 8 3 16 5 32 8 13 64 21 128
半结构化查询
Title contains data AND Bullets contain search
… 这里还没有提文本的语言结构
7
现代信息检索
非结构化 vs. 结构化 vs. 半结构化
半结构化(Semi-structured): <title>李甲主页</title> <body>…</body> …
Julius Caesar
The Tempest
Hamlet
Othello
Macbeth
Antony Brutus Caesar Calpurnia Cleopatra mercy worser
1 1 1 0 1 1 1
1 1 1 1 0 0 0
0 0 0 0 0 1 1
0 1 1 0 0 1 1
0 0 1 0 0 1 1
信息检索是从大规模非结构化数据(通常是文本) 的集合(通常保存在计算机上)中找出满足用户 信息需求的资料(通常是文档)的过程。 Document –文档 Unstructured – 非结构化 Information need –信息需求 4 Collection—文档集、语料库
信息 AND 检索 AND NOT 教材
Google的高级搜索?
12
现代信息检索
提纲
① 信息检索概述
② 倒排索引
③ 布尔查询的处理
13
现代信息检索
一个简单的例子(《莎士比亚全集》)
莎士比亚的哪部剧本包含Brutus及Caesar但是不包 含Calpurnia? 布尔表达式为 Brutus AND Caesar AND NOT Calpurnia。 笨方法: 从头到尾扫描所有剧本,对每部剧本判 断它是否包含Brutus AND Caesar ,同时又不包含 Calpurnia 笨方法为什么不好?
全部返回,正确率低,召回率100% 只返回一个非常可靠的结果,正确率100%,召回率低 将在后面介绍(有兴趣的可以先看)
20
现代信息检索
大文档集
假定N = 1 百万篇文档(1M), 每篇有1000个词(1K) 假定每个词平均有6个字节(包括空格和标点符号)
那么所有文档将约占6GB 空间.
*改编自Manning网上公开的课件,/IR-book/
现代信息检索
提纲
① 信息检索概述
② 倒排索引
③ 布尔查询的处理
2
现代信息检索
提纲
① 信息检索概述
② 倒排索引
③ 布尔查询的处理
3
现代信息检索
信息检索Information Retrieval
Information Retrieval (IR) is finding material (usually documents) of an unstructured nature (usually text) that satisfies an information need from within large collections (usually stored on computers).
Hamlet, Act III, Scene ii
17
现代信息检索
IR中的基本假设
文档集Collection: 由固定数目的文档组成 目标: 返回与用户需求相关的文档并辅助用户来完 成某项任务 相关性Relevance
主观的概念 反映对象的匹配程度 不同应用相关性不同
18
Caesar Calpurnia
1
2
2
31
4
5
6
16 57 132
54 101
Dictionary
词典
Postings 倒排(记录)表
按docID排序 (原因后面再讲)
24
现代信息检索
倒排索引构建
待索引文档
Friends, Romans, countrymen.
Tokenizer 词条化工具 Friends Romans Linguistic modules Countrymen
16
现代信息检索
上述查询的结果文档
Antony and Cleopatra, Act III, Scene ii Agrippa [Aside to DOMITIUS ENOBARBUS]: Why, Enobarbus, When Antony found Julius Caesar dead, He cried almost to roaring; and he wept When at Philippi he found Brutus slain.
Introduction to Information Retrieval 中科院研究生院2011年秋季课程《现代信息检索》
更新时间: 2011/9/14
现代信息检索 Modern Information Retrieval
第1讲 布尔检索 Boolean Retrieval
授课人:王斌
/~wangbin
22
现代信息检索
倒排索引(Inverted index)
对每个词项t, 记录所有包含t的文档列表.
每篇文档用一个唯一的 docID来表示,通常是正整数, 如1,2,3…
能否采用定长数组的方式来存储docID列表
Brutus Caesar 1 1 2 2 2 31 4 4 11 31 45 173 1purnia
54 101
文档14中加入单词Caesar时该如何处理?
23
现代信息检索
倒排索引(续)
通常采用变长表方式
磁盘上,顺序存储方式比较好,便于快速读取 倒排记录 内存中,采用链表或者可变长数组方式
存储空间/易插入之间需要平衡 Posting
Brutus
1
2
4
11 31 45 173 174
Doc 2
So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious
现代信息检索
索引构建过程: 排序
按词项排序
然后每个词项按docID排序
索引构建的核心步骤
现代信息检索
索引构建过程: 词典 & 倒排记录表
Structured
0
Data volume Market Cap
数据量
市场规模
10
现代信息检索
非结构化数据(文本) vs. 结构化数据 (数据库) @ 2009年
数据量
市场规模
11
现代信息检索
布尔检索
针对布尔查询的检索,布尔查询是指利用 AND, OR 或 者 NOT操作符将词项 连接起来的查询 信息 AND 检索 信息 OR 检索
词条流 More on these later. 修改后的词条
语言分析工具 friend roman countryman 2 1 13 4 2
Indexer friend
倒排索引
roman countryman
16
现代信息检索
索引构建过程: 词条序列
<词条,docID>二元组
Doc 1 I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me.
假定表长分别为x 和y, 那么上述合并算法的复杂度为 O(x+y)
关键原因: 倒排记录表按照docID排序
33
某个词项在单篇文档中的多次出现会被合并 拆分成词典和倒排记录表两部分 每个词项出现的文档数目(doc. frequency, DF)会被 加入
为什么加入?后面会讲
第一讲:布尔检索
倒排索引
存储开销计算
docID表
词项及 文档频 率
后续章节: •如何快速构建索 引? •如何减少存储开 销?
1 0 1 0 0 1 0
Brutus AND Caesar BUT NOT Calpurnia
若某剧本包含某单 词,则该位置上为1, 否则为0
现代信息检索
关联向量(incidence vectors)
关联矩阵的每一列都是 0/1向量,每个0/1都对应 一个词项 给定查询Brutus AND Caesar AND NOT Calpurnia 取出三个列向量 ,并对Calpurnia 的列向量求补, 最后按位进行与操作 110100 AND 110111 AND 101111 = 100100.