第六章-信息检索
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
变换单词
若单词以ies而不是eies或aies结尾, 则将ies改成y.
Web数据挖掘 20
频率统计 + TF-IDF
统计文档中某个单词出现的总次数.
使用出现次数表示单词在文档中的相对重要性. 若单词在文档中经常出现, 则文档很可能阐述的是 关联于该单词的主题.
统计在文档集中包含某个单词的文档数目.
停用词占20-30%的总词量.
提高效率和有效性
停用词对于搜索或文本挖掘是没有用的. 它们还可能迷惑检索系统.
Web数据挖掘 18
词干提取
词干提取是简化单词的技术, 用于将单词变成它们的 词根或词干. 比如,
user users used using engineering engineered engineer
词干: use :
engineer
用处: 用处 提高信息检索和文本挖掘的有效性
匹配相似的单词 主要提高查全率
减少索引的大小
合并相同词干的单词可以将索引大小减少到40-50%.
Web数据挖掘
19
基本的词干提取方法
使用一组规则. 比如, 移除词尾
若单词以一个不是s的辅音字母再跟s结尾, 则删除s. 若单词以es结尾, 则去掉s. 若单词以ing结尾, 则除非余下部分仅有一个字母或者 是th, 否则删除ing. 若单词以ed结尾, 并且ed前面是一个辅音字母, 则除非 仅剩下一个字母, 否则删除ed. …...
i =1 i =0 k =0
f ikq
其中fiq表示ti在q中出现的次数, fikq表示序列(tk,ti)在q中出现的 次数, q0和t0都是空字符(当作起始符号).
Web数据挖掘 14
关联性反馈
关联性反馈是提高检索性能的有效技术之一. 它的过程是这样的:
第一轮检索会产生一个最初的检出文档列表, 然后用户从列 表中分辨一些与查询相关的文档 (Dr) 和一些与查询不相关 的文档 (Dir). 系统这时通过从用户分辨的相关文档集和非相关文档集中抽 取一些额外的词扩展查询q, 得到一个新查询qe , 进行下一轮检索.
Web数据挖掘 8
TF-IDF词权值表
这是最著名的权值表
TF: 仍然是词频 词频 IDF: 逆向文档频率 N: 文档总数 dfi: 包含ti的文档数目
最终的TF-IDF词权值是:
Web数据挖掘
9
向量空间模型中的检索
一个查询q的表示法和数据集中文档的表示法一样. 文档di跟q的相关程度: 比较查询q与文档di的相似度. 余弦相似度 (两个向量夹角的余弦相似度)
22
查准率-查全率曲线
Web数据挖掘
23
比较不同的检索算法
Web数据挖掘
24
利用多次查询评估
在每个查全率层次计算平均查准率.
画出查准率-查全率曲线. 不要忘记F-度量.
Web数据挖掘
25
排名查准率
选择一些排名位置上的文档, 计算查准率. 主要用于Web搜索评估. 对于一个Web搜索引擎, 我们通常计算排名在 第5, 10, 15, 20, 25和30位的页面的查准率
在分类过程中, 使用余弦相似度.
Web数据挖掘
16
文本预处理
词项抽取: 简单 停用词移除 词干提取 频率统计和计算TF-IDF词权值
Web数据挖掘
17
停用词移除
英语中很多经常使用的词在信息检索和文本挖掘中是 没有用的 – 这些词称作停用词. the, of, and, to, …. 典型地有400到500个这样的词 对于特定应用, 可以构造一个附加的领域依赖的停用 词表. 为什么需要移除停用词? 减少索引 (或数据) 文件的大小
Web数据挖掘
4
信息检索模型
信息检索模型决定
文档和查询的表示 文档与用户查询相关度的定义
主要的模型:
布尔模型 向量空间模型 统计语言模型 等等
Web数据挖掘
5
布尔模型
文档和查询都被表示成一组词(bag of words). 不考虑词序. 给定一个文档数据集D, 设 V = {t1, t2, ..., t|V|} 是 一组互不相同的词的集合. V 称为词汇表 (vocabulary). 每个词ti对应了一个大于0的权值wij, 表示它在 文档 dj ∈ D 中的重要程度. 如果ti在文档dj没 有出现, 则wij = 0. dj = (w1j, w2j, ..., w|V|j),
因为用户很少关心排名30位以后的页面.
查全率在Web搜索中意义不大.
为什么?
Web数据挖掘
26
作为一个大型信息检索系统的Web搜索
Web爬虫 (机器人) 爬取Web并搜索所有的网 页. 服务器建立一个巨大的倒排索引数据库和其 他索引数据库. 在查询 (搜索) 阶段, 搜索引擎进行不同类型的 向量查询匹配.
32
总结
这里仅给出信息检索的一个非常简单的介绍. 还有大 量的其他主题没有介绍, 比如
隐式语义索引 (LSI and SVD) ……
很多有趣的主题没有涉及, 比如,
Web搜索
索引压缩 排序: 结合内容和超链接
网页的预处理 合并多种排序方式和元搜索引擎 网络作弊
如何知道很多内容? 阅读教材
Web数据挖掘 33
Web数据挖掘
27
倒排索引
文档集的倒排索引是一种数据结构
关联每个单词到包含该单词的所有文档列表中
因此, 在检索中, 只需要常数时间去
寻找包含某个查询词的文档.
多个查询词也很容易处理.
Web数据挖掘
28
例子
Web数据挖掘
29
索引的建立
简单! 见下面的例子,
Web数据挖掘
30
使用倒排索引的搜索
给定一个查询q, 搜索过程包括下面的步骤: 步骤1 (词汇表搜索 在倒排索引数据库中寻找q 词汇表搜索): 词汇表搜索 中的每个单词. 步骤2 (结果合并 合并结果, 以找出包含q中所 结果合并): 结果合并 有或部分单词的文档. 步骤3 (排序分值计算 使用下述方式对找到的 排序分值计算): 排序分值计算 文档排序
f 一元模型: Pr(q = q1q2 ...qm | d j ) = ∏ Pr(qi | d j ) = ∏ Pr(ti | d j ) i =1 i =1 二元模型: |V | |V | m
iq
Pr(q = q1q2 ...qm | d j ) = ∏ Pr(qi | qi −1 , d j ) = ∏∏ Pr(ti | t k , d j )
Rocchio方法 (α, β 和γ 是参数)
Web数据挖掘
15
Rocchio文本分类器
事实上, 上文中描述的Rocchio方法有一种变异方法, 称为Rocchio分类 分类方法, 也能够提高检索的性能 分类
同时也能提高其他机器学习方法的性能. 为什么?
Rocchio分类器为每个类别i构造一个原型向量ci (无 论该类别在这次查询中是相关的 还是不相关的):
假设查询为 “hardware and software” 哪些文档被检出?
Web数据挖掘
11
例子 (续)
在布尔查询匹配中:
文档A4, A7被检出 (“AND”) 文档A1, A2, A4, A5, A6, A7, A8, A9被检出 (“OR”)
在余弦相似度匹配中:
q=(1, 1, 0) S(q, A1)=0.71, S(q, A2)=0.71, S(q, A4)=1, S(q, A5)=0.5, S(q, A7)=0.82, S(q, A8)=0.5, 被检出的文档集合为(带排序):
由于没有考虑词频, 通常只能得到较差的结果.
没有部分匹配 没有检出文档的排序
7
Web数据挖掘
向量空间模型
一个文档同样看作是一组词. 每个文档被表示成一个权值向量. 但是, 权值不再是0或1. 每个词的权值基于词 频率(TF)表或词逆向文档频率(TF-IDF)表或它 们的变异版本计算得到.
词频率(TF)表: 文档dj中的ti权值就是在dj中ti出 现的次数, 记作fij. 在此基础上还可以进行标准 化.
统计语言模型
理论基础
令查询q是一串词(或字符), q=q1q2…qm. 文档数据集D是一组 文档D={d1,d2,…,dN}. 为了对文档排序, 我们需要计算文档出现的后验概率
Pr(d j | q) = Pr( q | d j ) Pr(d j ) Pr(q )
n元模型(n-gram): 第n个词(或字符)只和前n-1个词(或 字符)相关 |V | m
2
信息检索 (IR)
信息检索指的是帮助使用者从大量的数据集信息中 发现需要的资料.
表现形式是查询
传统的信息检索是关于文档检索的, 假定基本的信 息单元是单个文档.
发现与用户查询相关的文档
Web数据挖掘
3
查询的形式
关键词查询 布尔查询 (使用AND, OR, NOT) 短语查询 邻近查询 全文搜索 自然语言查询
{A4, A7, A1, A2, A5, A6, A8, A9}
Web数据挖掘 12
S(q, A3)=0 S(q, A6)=0.5 S(q, A9)=0.5
Okapi方法
评估相关程度的另一种方法是直接计算每个文档与给 定查询的相关值. Okapi方法及其变异形式是该设定的流行技术.
Web数据挖掘
13
若单词出现在数据集的很多文档中, 则它可能并不 是很重要, 或者说没有区别度.
则TF-IDF可以计算.
Web数据挖掘
21
评估: 查准率和查全率
给定一个查询:
是否所有被检出的文档都相关? 是否所有相关的文档都被检出?
系统性能的度量:
第一个问题是关于搜索的查准率的. 第二个问题是关于搜索的查全率的.
Web数据挖掘
第6章: 信息检索 与Web搜索
广东外语外贸大学 杜剑峰 dududjf@gmail.com
介绍
文本挖掘指的是使用文本文档作为数据的数 据挖掘. 大部分的文本挖掘任务都使用信息检索(IR)方 法预处理文本文档. 这些方法有点不同于针对关系数据的传统数 据预处理方法. Web搜索也源于信息检索.
Web数据挖掘
Web数据挖掘 6
布尔模型 (续)
查询词被布尔操作符AND, OR, NOT逻辑的组 合在一起.
E.g., ((data AND mining) AND (NOT text))
检索
给定一个布尔查询, 系统会返回所有满足布尔表达 式为真的文档. 称作精确匹配 精确匹配(exact match). 精确匹配
基于内容排序 (内容相似度) 基于链接排序 (第7章方法)
Web数据挖掘 31
不同wenku.baidu.com搜索引擎
不同搜索引擎的不同点在于
它们的索引权值评估模式
包括单词的位置, 比如, 标题, 正文, 强调词, 等等.
它们的查询处理方法 (比如, 查询分类, 扩展, 等等) 它们的排序算法 这些信息很少公开发布.
Web数据挖掘
余弦相似度在文档聚类中也经常使用.
Web数据挖掘
10
例子
文档空间由下面三个词定义:
hardware, software, users 即词汇表
文档的一个集合定义如下:
A1=(1, 0, 0), A4=(1, 1, 0), A7=(1, 1, 1) A2=(0, 1, 0), A5=(1, 0, 1), A8=(1, 0, 1). A3=(0, 0, 1) A6=(0, 1, 1) A9=(0, 1, 1)