1、1 2013/5/4 信息检索与数据挖掘 信 息检索与数据挖掘 第 7章 相 关反馈和查询扩展 2 2013/5/4 信息检索与数据挖掘 信息检索与数据挖掘课程内容 第 1章 绪论 第 2章 布尔检索及倒排索引 第 3章 词典查找及扩展的倒排索引 第 4章 索引构建和索引压缩 第 5章 向量模型及检索系统 第 6章 检索的评价 第 7章 相关反馈和查询扩展 第 8章 概率模型 第 9章 基于语言建模的检索模型 第 10章 文本分类 第 11章 文本聚类 第 12章 Web搜索 第 13章 多媒体信息检索 第 14章 其他应用简介 3 2013/5/4 信息检索与数据挖掘 提纲 上一讲回顾 动机
2、 相关反馈基础 相关反馈详细介绍 查询扩展 4 2013/5/4 信息检索与数据挖掘 提纲 上一讲回顾 动机 相关反馈基础 相关反馈详细介绍 查询扩展 5 2013/5/4 信息检索与数据挖掘 上一讲回顾 信息检索的评价方法 不考虑序的评价方法 (即基于集合 ): P、 R、 F 考虑序的评价方法: P/R曲线、 MAP、 NDCG 相关评测 检索结果的摘要 6 2013/5/4 信息检索与数据挖掘 正确率 (Precision)和召回率 (Recall) 正确率 (Precision ,简写为 P) 是返回文档中真正相关的比率 召回率 (Recall,R) 是返回结果中的相关文档占所有相关文
3、档 (包含返回的相关文档和未返回的相关文档 )的比率 7 2013/5/4 信息检索与数据挖掘 正确率 vs. 召回率 P = TP / ( TP + FP ) R = TP / ( TP + FN ) 8 2013/5/4 信息检索与数据挖掘 F 允许正确率和召回率的折中 where 0, 1 , b 2 0, 常用参数 : balanced F , b = 1 or = 0.5 实际上是正确率和召回率的调和平均数( harmonic mean) 正确率和召回率相结合的指标: F值 9 2013/5/4 信息检索与数据挖掘 正确率 -召回率曲线 每个点对应 top k上的结果 (k = 1,
4、 2, 3, 4, . . .). 插值 (红色 ): 将来所有点上的最高结果 插值的原理:如果正确率和召回率都升高,那么用户可能愿意浏览更多的结果 10 2013/5/4 信息检索与数据挖掘 平均的 11-点正确率 /召回率曲线 计算每个召回率点 (0.0, 0.1, 0.2, . . .)上的插值正确率 对每个查询都计算一遍 在查询上求平均 该曲线也是评测上常用的指标之一 11 2013/5/4 信息检索与数据挖掘 MAP 平均正确率 (Average Precision, AP):对不同召回率点上的正确率进行平均 未插值的 AP: 某个查询 Q共有 6个相关结果,某系统排序返回了 5篇相
5、关文档,其位置分别是第1,第 2,第 5,第 10,第 20位,则AP=(1/1+2/2+3/5+4/10+5/20+0)/6 多个查询的 AP的平均值称为系统的MAP(Mean AP) MAP是 IR领域使用最广泛的指标之一 12 2013/5/4 信息检索与数据挖掘 信息检索与数据挖掘R正确率 Precisionk 前 k个结果的查准率 R-Precision 检索结果中,在所有相关文档总数位置上的准确率。如某个查询的相关文档总数为 Rel,返回的结果中前Rel个中 r个是相关文档,则 R正确率是 r/Rel。 R正确率能够适应不同的相关文档集的大小 例: Rel=8; r=8。此时 R正
6、确率是 1,但是 P20=0.4 一个完美的系统的 R-precision=1 13 2013/5/4 信息检索与数据挖掘 信息检索与数据挖掘GMAP GMAP(GeometricMAP): TREC2004 Robust 任务引进 先 看一个例 子 从 MAP来看,系统 A好于系统 B,但是从每个查询来看, 3个 查询 中有 2个Topic B比 A有提高,其中一个提高的幅度达到 300% 几何平均 值 上面那个例子 GMAPa=0.056, GMAPb=0.086 GMAPaGMAPb GMAP和 MAP各有利弊,可以配合使用,如果存在难 Topic时, GMAP更能体现细微差别 14 2
7、013/5/4 信息检索与数据挖掘 信息检索与数据挖掘NDCG 每个文档不仅仅只有相关和不相关两种情况,而是有相关度级别,比如 0,1,2,3。 我们可以假设,对于返回结果: 相关 度级别越高的结果 越多越好 相关 度级别越高的结果 越靠前越 好 R( j,d)是评价人员给出的文档 d对查询 j的相关性得分, Zj,k是归一化因子,保证对完美系统 NDCG的值为 1,m是返回文档的位置 15 2013/5/4 信息检索与数据挖掘 信息检索与数据挖掘从文档集合如何构建测试集 需要 用于测试的查询 相关性的判定 用于测试的查询 必须和测试文档集合有密切关系 最好由领域的专家设计 随机的查询并不好
8、相关性的判定 人工判定耗时较长 使用一组人进行判定是否是最好的方式? 16 2013/5/4 信息检索与数据挖掘 信息检索与数据挖掘相关性判定之间的一致性 Kappa统计量 衡量不同人意见的一致性 对随机的一致性的简单校正 Kappa = P(A) P(E) / 1 P(E) P(A) 实际观察到的 一致性判断比率 P(E) 随机情况下 所期望的 一致性判断的比率 Kappa = 0 和随机判断的情况一样 , 1 完全一致 . k在 2/3, 1.0时,判定结果是可以接受的 如果 k值比较小,那么需要对判定方法进行重新设计 17 2013/5/4 信息检索与数据挖掘 计算 kappa统计量 P
9、(A) = (300 + 70)/400 = 370/400 = 0.925 Pooled marginals P(nonrelevant) = (80 + 90)/(400 + 400) = 170/800 = 0.2125 P(relevant) = (320 + 310)/(400 + 400) = 630/800 = 0.7878 Probability that the two judges agreed by chance P(E) = P(nonrelevant)2 + P(relevant)2 = 0.21252 + 0.78782 = 0.665 Kappa statisti
10、c = (P(A) P(E)/(1 P(E) = (0.925 0.665)/(1 0.665) = 0.776 (still in acceptable range) Judge 1 Relevance Judge 2 Relevance Yes No Total Yes 300 20 320 No 10 70 80 Total 310 90 400 Observed proportion of the times the judges agreed 18 2013/5/4 信息检索与数据挖掘 大型搜索引擎的评价 Web下召回率难以计算 搜索引擎常使用 top k的正确率来度量 ,比如 ,
11、k = 10 . . . . . . 或者使用一个考虑返回结果所在位置的指标,比如正确答案在第一个返回会比第十个返回的系统给予更大的指标 搜索引擎也往往使用非相关度指标 比如:第一个结果的点击率 仅仅基于单个点击使得该指标不太可靠 (比如你可能被检索结果的摘要所误导 ,等点进去一看 ,实际上是不相关的 ) . . . 当然,如果考虑点击历史的整体情况会相当可靠 比如:一些基于用户行为的指标 比如 : A/B 测试 19 2013/5/4 信息检索与数据挖掘 A/B 测试 目标 : 测试某个独立的创新点 先决条件:大型的搜索引擎已经在上线运行 很多用户使用老系统 将一小部分 (如 1%)流量导向
12、包含了创新点的新系统 对新旧系统进行自动评价,并得到某个评价指标,比如第一个结果的点击率 于是,可以通过新旧系统的指标对比来判断创新点的效果 这也可能是大型搜索引擎最信赖的方法 20 2013/5/4 信息检索与数据挖掘 信息检索与数据挖掘静态摘要 在典型的系统中,静态摘要是文档的一个子集 最简单的方法:文档的前若干个词汇 在建立索引的时候就缓存好 更复杂的方法:从文档中抽取一些关键的句子 用简单的自然语言处理的方法对句子进行打分 用打分最高的几个句子组成摘要 最复杂的方法:用自然语言处理的方法合成摘要 在 IR系统中几乎不用 21 2013/5/4 信息检索与数据挖掘 信息检索与数据挖掘动态
13、摘要 显示文档中包含查询词的一句或者几句文字 “ KWIC”片段: Keyword in Context presentation 快速在文档中寻找包含查询词的“窗口”(范围 ) 根据查询对文档中上述窗口打分 用多种特征,如窗口的长度,在文档中的位置,等等 用一个打分函数融合多种特征 最终将满足条件的窗口显示 出来作为 摘要 22 2013/5/4 信息检索与数据挖掘 信息检索与数据挖掘回顾:检索系统 能否让查询结果更相关? 23 2013/5/4 信息检索与数据挖掘 提纲 上一讲回顾 动机 相关反馈基础 相关反馈详细介绍 查询扩展 24 2013/5/4 信息检索与数据挖掘 搜索中提高召回率
14、的方法 本讲的主题:两种提高召回率的方法 相关反馈及查询扩展 考虑查询 q: aircraft . . . 某篇文档 d 包含 “plane”, 但是不包含 “aircraft” 显然对于查询 q,一个简单的 IR系统不会返回文档 d, 即使 d是和 q最相关的文档 我们试图改变这种做法: 也就是说,我们会 返回不包含查询词项的 相关 文档 。 25 2013/5/4 信息检索与数据挖掘 关于召回率 Recall 本讲当中会放松召回率的定义,即 (在前几页 )给 用户返回 更多的相关文档。 这可能实际上会 降低召回率 ,比如,将 jaguar扩展为jaguar(美洲虎;一种汽车品牌 )+pan
15、thera(豹属 ) 可能会 去掉 一些相关的文档,但是可能 增加前几页 返回给用户的相关文档数 26 2013/5/4 信息检索与数据挖掘 提高召回率的方法 局部 (local)方法 : 对用户查询进行局部的即时的分析 主要的局部方法 : 相关反馈 (relevance feedback) 全局 (Global)方法 : 进行一次性的全局分析 (比如分析整个文档集 )来产生同 /近义词词典 (thesaurus) 利用该词典进行查询扩展 27 2013/5/4 信息检索与数据挖掘 提纲 上一讲回顾 动机 相关反馈基础 相关反馈详细介绍 查询扩展 28 2013/5/4 信息检索与数据挖掘 信
16、息检索与数据挖掘相关反馈的基本思想 查询扩展: 用户对初始返回结果的相关性进行反馈 用户提交一个查询 用户将部分结果标记为相关或者不相关 系统根据用户的反馈,对信息需求进行优化,将其表示成更好的形式 相关反馈可以进行多次 Idea:如果不能很好地了解文档集合,就很难把自己的信息需求转化成查询,进行多次相关反馈可以有所帮助。 29 2013/5/4 信息检索与数据挖掘 相关反馈分类 用户相关反馈或显式相关反馈 (User Feedback or Explicit Feedback): 用户显式参加交互过程 隐式相关反馈 (Implicit Feedback): 系统跟踪用户的行为来推测返回文档的相关性,从而进行反馈。 伪相关反馈或盲相关反馈 (Pseudo Feedback or Blind Feedback): 没有用户参与,系统直接假设返回文档的前 k篇是相关的,然后进行反馈。 30 2013/5/4 信息检索与数据挖掘 信息检索与数据挖掘相关反馈 下面使用“ ad hoc retrieval ”来指未使用相关反馈的检索。 下面来看一下相关反馈的例子。