信息检索基础(一):...
Transcript of 信息检索基础(一):...
《《互联网数据挖掘互联网数据挖掘》》本科生课程本科生课程《《互联网数据挖掘互联网数据挖掘》》本科生课程本科生课程
信息检索基础(一):信息检索基础(一):文本信息检索文本信息检索
小小
文本信息检索文本信息检索
北京大学语言计算与互联网挖掘组北京大学语言计算与互联网挖掘组
万小军万小军
北京大学语言计算与互联网挖掘组北京大学语言计算与互联网挖掘组http://www.icst.pku.edu.cn/lcwmhttp://www.icst.pku.edu.cn/lcwm
20122012年年99月月1818日日
信息检索概述信息检索概述
2
书包里只有1本书
书包里有5本书
书包里有50本书书包里有50本书
3
信息检索行为无处不在信息检索行为无处不在
4
图书馆文献检索图书馆文献检索
早期手 检索早期手工检索基于目录卡片
5 1954年,工作人员在编目。 1954年,读者在查目录。
图书馆文献检索图书馆文献检索
后期计算机检索后期计算机检索基于数据库
1997年,工作人员在编目。 1997年,读者在查目录。
6
7
8
9
信息检索相关概念信息检索相关概念
广义的信息检索广义的信息检索全称为“信息存储与检索”,是指将信息按一定的方式组织和存储起来 并根据用户的需要找出有关信息式组织和存储起来,并根据用户的需要找出有关信息的过程。
狭义的信息检索狭义的信息检索“信息存储与检索”的后半部分,通常称为“信息查找”或“信息搜索” 是指从信息集合中找出用户所找”或“信息搜索”,是指从信息集合中找出用户所需要的有关信息的过程。
文本信息检索文本信息检索针对文本的信息检索技术查询 关键词
10查询:关键词
信息检索相关概念信息检索相关概念
其他概念其他概念Web检索数据库检索图像检索视频检索音乐检索购物搜索…
11
文本信息检索一般流程文本信息检索 般流程
12
两个核心问题两个核心问题
效果效果如何准确匹配查询与文档?基于检索模型
效率如何快速返回检索结果?基于索引基于索引
13
文档表示与索引文档表示与索引
14
文档表示文档表示
元描述 d i i元描述(Meta-descriptions)域信息 (author, title, date)关键词、受控词汇分类
15
文档表示文档表示
元描述的优点元描述的优点主要依赖人工标注,结果比较可靠基于受控词汇的检索很高效
元描述的不足元描述的不足人工标注非常耗时检索受限制检索受限制
16
自动文档表示自动文档表示
词袋(Bag of Words): 一篇文档由该文档中出现的词的集合所表示中出现的词的集合所表示
17
词袋表示词袋表示
篇文档看作 个词语的无序集合一篇文档看作一个词语的无序集合句法信息丢失
符号化(tokenization): 识别词的边界the company / in the U S A… the company. / …in the U.S.A.
英文中大小写P id t B h id t b hPresident Bush => president, bush
18
词袋表示词袋表示
词语形态规范化词语形态规范化如何匹配 company 与 companies? sell 与 sold?删除词语的形态信息:时态、数量…
词根(Stemming) ( g)删除后缀: ed, ing, ational, ation, able, ism, etc.
E.g. Agreements =>agree基于规则进行 (例如 Porter’s stemmer)
Stemming的结果可能不是词语E i i iE.g. query, queries, querying => queri
不相关的词可能具有相同的stemE g police policy => polic
19
E.g. police, policy => polic
词袋表示词袋表示
词形还原 i i词形还原(Lemmatization)将词语变为其语法原型( syntactic stem)
• E.g. Agreements => agreement
使用一般规则与例外处理i d Ø Ø• E.g. ies-> y, ed -> Ø, s-> Ø
• sought-> seek, sheep -> sheep, feet -> foot
处理结果仍然为词处理结果仍然为词处理过程要考虑词性的不同
thought > think if thought is a verb• thought -> think if thought is a verb• thought 不变 if it is a noun
20
词袋表示词袋表示
停用词 S d停用词(Stop Words)不具有内容信息的词
• E.g. in, to, of, and, why, some, the, …
不同的停用词表: 100~400 words表依赖 文档集 应• 停用词表依赖于具体文档集及具体应用
过滤停用词原因• 停用词并不能提高检索效果• 可以大幅减少索引大小• 减少检索时间
21
词袋表示词袋表示
大部分互联网搜索引擎并不使用stemming/lemmatization:stemming/lemmatization:1. 文档集很大,词的各种形态都能匹配上2 不太考虑召回率2. 不太考虑召回率3. Stemming结果并不完美
大部分互联网搜索引擎使用停用词表
22
词袋表示词袋表示
无法从词袋表示恢复原文档无法从词袋表示恢复原文档
23
词袋表示词袋表示
优点:简单、有效
缺点:忽略了词之间的句法关系以及篇章结构句法关系以及篇章结构信息
24
文档索引文档索引
索引的目的在于提高检索效率索引的目的在于提高检索效率如没有索引就只能对所有文档内容进行顺序匹配
索引对象词-Word? 词组-Phrase?句子-Sentence?文档-词 词组 句子 文档document?
Phrase识别比较困难 并不能显著提高检Phrase识别比较困难,并不能显著提高检索效果通常采用 d构建索引通常采用word构建索引
25
文档索引文档索引
倒排索引 i d i d倒排索引(inverted index)以关键词为核心对文档进行索引帮助快速地找到文档中所包含的关键词可看作链表数组,每个链表的表头包含关键词,其后续单元则包括所有包括这个关键词的文档标号,以及一些其他信息,如该词的频率,该词的位置等
26
文档索引文档索引
Doc Text
1 Pease porridge
查询:cold
hot,pease porridge cold.
2 Pease porridge in the pot.
No Term (Doc: Words)1 cold (1:6), (4:8)2 days (3:2), (6:2)p
3 Nine days old.3 hot (1:3), (4:4)6 like (4:2,6), (5:2)7 nine (3:1), (6:1)8 ld (3 3) (6 3)4 Some like it hot, some
like it cold.
5 Some like it in the pot.
8 old (3:3), (6:3)9 pease (1:1,4), (2:1)
10 porridge (1:2,5),(2:2)11 pot (2:5) (5:6)p
6 Nine days old.
11 pot (2:5), (5:6)
思考: 查询包括多个关键词该27
思考: 查询包括多个关键词该如何匹配?
文档索引文档索引
倒排索引的优势倒排索引的优势关键词个数比文档少,因此检索效率高特别适合信息检索
• 查询词一般很少,通过几次查询就能找出所有可能的文档
倒排索引的数据结构关键词查询一般采用B-Tree或哈希表关键词查询 般采用 ee或哈希表文档列表组织一般采用二叉搜索树
28
文档索引文档索引
索引压缩索引压缩减小索引大小
动态索引索引库的动态维护、更新索引库的动态维护、更新
分布式索引索引信息分布在不同机器上索引信息分布在不同机器上
具体细节参阅L cene开源检索系统具体细节参阅Lucene开源检索系统的相关代码
29
思考思考
在信息检索中中文文本表示基于字还是基于词构建索引比较好?
30
查询: 周校长 文档: …周其凤校长…
基于词表示 周其凤 校长基于词表示: …, 周其凤, 校长, …
基于字表示: …, 周, 其, 凤, 校, 长, …基于字表示 , 周, 其, 凤, 校, 长,
31
查询: 万小军 文档: …而十万小军指挥得当…
基于词表示 而 十万 小军 指挥 得当基于词表示: …, 而, 十万, 小军,指挥,得当 …
基于字表示: …, 而, 十,万,小,军,指,挥,得,当, …
32
文本信息检索模型文本信息检索模型
33
相关度与相似性相关度与相似性
的基本思想IR的基本思想如果一篇文档与一个查询相似,那么该文档与查询相关关
相似性字符串匹配相似的词汇相同的语义
检索模型检索模型对实际检索过程的抽象和建模终极目标是基于语义进行匹配
34终极目标是基于语义进行匹配
文档检索模型文档检索模型
布尔模型 l d l布尔模型 (Boolean Model)向量空间模型(Vector Space Model)p概率模型(Probabilistic Model)
35
布尔检索模型布尔检索模型
基于布尔代数基于布尔代数布尔操作符: AND (NEAR), OR, NOT布尔操作符的语义
36
布尔检索模型布尔检索模型
根据信息需求构造布尔查询根据信息需求构造布尔查询E.g. President Bill Clinton =>
clinton AND (bill OR president)
37
布尔检索模型布尔检索模型
基 布尔运算进行文档检索基于布尔运算进行文档检索clinton AND (bill OR president)p
38
布尔检索模型布尔检索模型
布尔模型的优点布尔模型的优点简单对查询严格掌控
布尔模型的缺点一般用户难以构造布尔查询,耗时耗力
• 例如:早期文献检索要依赖检索专家
检索结果文档无法排序• 匹配 或 不匹配
根据布尔运算进行严格匹配,导致过少或过多的检索结果
思考 在查询中增加 个关键词或减少 个关键词的后果?39
• 思考:在查询中增加一个关键词或减少一个关键词的后果?
布尔检索模型布尔检索模型
尽管布尔模型不再用做主流文档检索模型 但其尽管布尔模型不再用做主流文档检索模型,但其思想常用于实现高级(综合)检索功能
40
向量空间模型向量空间模型
现代信息检索系统中比较常用的检索模型现代信息检索系统中比较常用的检索模型特性
用户输入自由文本作为查询对文档进行排序文档进 排序匹配准则放松
思想: 文档与查询都是高维空间中的一个向量思想: 文档与查询都是高维空间中的 个向量代表性系统: SMART by Salton, in 1960s
41
向量空间表示向量空间表示
文档是词语组成的向量文档是词语组成的向量词语是文档组成的向量查询是词语组成的向量
42
向量空间中的相似性向量空间中的相似性
给定查询向量 与文档向量d 向量长度均为 那给定查询向量q与文档向量d, 向量长度均为n, 那么q与d的相似性定义为
q与d之间的内积 (inner product)
当向量中的元素值非0即1时,上述计算等同于统计q与d中所匹配词语的数量
43
向量空间中的相似性向量空间中的相似性
44
文档长度文档长度
内积作为相似性的缺点内积作为相似性的缺点长文档由于更可能包含匹配词语,因而更可能相关如果两篇文档具有同样的相似值,用户更倾向于短文档,短文档更聚焦在用户信息需求上
Q ki i i• Query: Peking University• Doc1: Peking University ‘s web site• Doc2: (100 words about ZhongGuanCun) Peking• Doc2: (100 words about ZhongGuanCun)…Peking
University is here … (100 words about HaiDian)
相似性计算中应该考虑文档长度相似性计算中应该考虑文档长度
45
文档长度规范化文档长度规范化
文档长度 词语总数文档长度=词语总数
文档向量规范化文档向量规范化
规范化内积
46
文档长度规范化文档长度规范化
47
从另一角度看待相似性从另 角度看待相似性
查询与文档的相似性可基于它们在向量空间中的查询与文档的相似性可基于它们在向量空间中的夹角来衡量
90度: 不相似 (正交)0度: 最相似 (相同)d2比d1与查询q更相似,因为夹角α比β小
48
向量归一化向量归 化
向量 1 1 比向量 1 0 要长向量 <1, 1>比向量<1, 0>要长在n维向量空间里,向量v的模(大小)定义为
向量v归一化使其长度为1
49
余弦度量(Cosine Measure)余弦度量(Cosine Measure)
如果 1 d 2为单位向量 那么如果v1 and v2为单位向量,那么
50
余弦相似度(Cosine Similarity)余弦相似度(Cosine Similarity)
给定查询向量 文档向量d 向量长度均为 那给定查询向量q, 文档向量d, 向量长度均为n, 那么其余弦相似度定义为
51
词语权重词语权重
之前采用 值表示 非1即0之前采用二值表示: 非1即0没有反映词语频率假定所有词语均同等重要
词语权重词语权重tf: 词语出现的频率
52
词语权重词语权重
词语权重词语权重idf:区别不同词语的重要性区别不同词语的重要性
• 有意义的词语出现在一部分文档中,而非所有文档中
词语i在文档j中的权重53
词语i在文档j中的权重
其他相似性度量其他相似性度量
54
概率检索模型概率检索模型
19 年由S h b 提出1977年由Stephen Robertson提出
文档d与查询q相关的可能性REL 相关文档集合RELq :相关文档集合
55
概率检索模型概率检索模型
经过 系列的变换与假设经过一系列的变换与假设
56
概率检索模型概率检索模型
Ok i 2 是基于概率检索框架实现的 个比Okapi BM25是基于概率检索框架实现的一个比较经典的检索函数
参见维基百科页面对公式符号的说明
57
其他检索模型其他检索模型
58
相关问题相关问题
查询扩展与相关反馈查询扩展与相关反馈如何引入词语之间的位置信息?
Query: Beijing UniversityDoc1: …Peking University is famous for…
2 i h i i i l d i ijiDoc2: …Tsinghua University is located in Beijing…
如何考虑词语之间的句法关系?如何考虑词语之间的语义关系?
同义词: 北大 vs. 北京大学上下位词: 著名大学 vs. 北京大学
59
信息检索评价信息检索评价
60
信息检索评价信息检索评价
评价检索模型或搜索引擎的性能评价检索模型或搜索引擎的性能搜索质量 vs. 搜索效率对搜索质量的评价
评测数据集评测数据集评测指标
61
信息检索相关评测信息检索相关评测
CTRECtrec.nist.gov最具影响力多种信息检索任务,侧重于英文
NTCIRresearch.nii.ac.jp/ntcir/jp/ /
CLEFwww clef-campaign orgwww.clef-campaign.org
62
评测数据集评测数据集
般人 构建一般人工构建构成
较大规模的文档集合D查询集Q及每个查询q对应的相关文档列表RELq集Q及 个 q 应 相关文档列表 q
• 可通过Pooling方式构建一般采用国内外权威评测数据集般采用国内外权威评测数据集
63
评价指标评价指标
衡量检索结果与标准答案的 致性衡量检索结果与标准答案的一致性对非排序检索的评价
对检索结果集合进行整体评价对排序检索的评价对排序检索的评价
考虑相关文档在检索结果中的排序位置{Rel, Non-Rel, Non-Rel} 优于 {Non-Rel, Non-Rel, Rel}{ , , } 优于 { , , }
64
对非排序检索的评价对非排序检索的评价
准确率 i i 与召回率 ll准确率(precision)与召回率(recall)两个指标通常相互依赖
65
对非排序检索的评价对非排序检索的评价
值F值(F-measure)
66
对排序检索的评价对排序检索的评价
在不同 ll l l 的 i i 值在不同recall levels的precision值沿着检索结果列表从头往后考察11 recall points: 0%, 10%, 20%, …, 90%, 100%在找 关文档 值在找到n%的相关文档时的precision值
67
对排序检索的评价对排序检索的评价
68
对排序检索的评价对排序检索的评价
i i ll CPrecision-Recall Curves
69
对排序检索的评价对排序检索的评价
插值 l i插值(Interpolation)有时候检索结果无法对应标准recall levels
• 例如某个查询的相关文档为{d8, d56, d89},那么其recall levels分别为0.33, 0.66, 1.0
R 表示第j th 标准 recall level (e g r5表示 recallRj 表示第j-th 标准 recall level (e.g. r5表示 recall level 0.5)
70
对排序检索的评价对排序检索的评价
插值 l i插值(Interpolation)
71
对排序检索的评价对排序检索的评价
l d CInterpolated Curve
72
对排序检索的评价对排序检索的评价
i ll lAveraging over Recall Levels
73
对排序检索的评价对排序检索的评价
l d i iInterpolated Average Precision
N i l d i i (MAP)Non-interpolated average precision (MAP)
74
对排序检索的评价对排序检索的评价
i iR-Precision
@p@n
75
Q&AQ&A