编辑: 向日葵8AS | 2019-07-11 |
14 2019/3/16 信息检索与数据挖掘 ?编码 ?将G 表示成长度(length)和偏移(offset)两部分 ?偏移对应G的二进制编码,只不过将首部的1去掉 ?例如
13 →
1101 →
101 = 偏移 ?长度部分给出的是偏移的位数 ?比如G=13 (偏移为 101), 长度部分为
3 ?长度部分采用一元编码: 1110. ?于是G的?编码就是将长度部分和偏移部分两者联接起来 得到的结果. 回顾:索引压缩
15 2019/3/16 信息检索与数据挖掘 本讲结构图 文档评分布尔检索结果太 少或太多 对结果进行排序 词项频率TF TF-IDF 布尔 词项-文档计数 矩阵 词项-文档权重 矩阵 词项-文档关联 矩阵 布尔模型 向量空间模型 文档和 查询均 表示成 向量, 计算 余弦 相似度
16 2019/3/16 信息检索与数据挖掘 本讲提纲 ? 回顾 ? 排序式检索 ? 词项频率 ? tf-idf权重计算 ? 向量空间模型
17 2019/3/16 信息检索与数据挖掘 排序式检索 ? 迄今为止,我们只介绍了布尔查询 ? 文档要么匹配要么不匹配 ? 对自身需求和文档集性质非常了解的专家而言,布尔 查询是不错的选择 ? 然而对大多数用户来说不方便 ? 大部分用户不能撰写布尔查询或者他们认为需要大量训练才 能撰写合适的布尔查询 ? 大部分用户不愿意逐条浏览1000多条结果,特别是对Web搜 索更是如此
18 2019/3/16 信息检索与数据挖掘 布尔查询: 盛宴 or 饥荒 ? 布尔查询的结果经常不是太多就是太少 ? Query1 standard user dlink
650 ->
200,000 个匹配结果 ? Query2 standard user dlink
650 no card found ->
0个匹配结果 ? 需要花费很多精力去构造一个合适的query才可以 获得一个在数量上可以接受的查询结果
19 2019/3/16 信息检索与数据挖掘 排序检索模型 ? 在排序检索模型中,系统根据文档与query的相关 性排序返回文档集合中的文档,而不是简单地返回 所有满足query描述的文档集合 ? 自由文本查询:用户query是自然语言的一个或多 个词语而不是由查询语言构造的表达式 ? 总体上,排序检索模型中有布尔查询和自由文本查 询两种方式,但是实际中排序检索模型总是与自由 文本查询联系在一起,反之亦然
20 2019/3/16 信息检索与数据挖掘 盛宴 or 饥荒 :不再是问题 ? 当系统给出的是有序的查询结果,查询结果数目多 不再是问题 ? 事实上,结果的数目不再是问题 ? 我们只需要给出top K(10左右)个结果 ? 为用户减轻负担 前提:合适的排序算法
21 2019/3/16 信息检索与数据挖掘 排序检索的基本――评分 ? 我们希望根据文档对查询者的有用性大小顺序将文 档返回给查询者 ? 怎样根据一个query对文档进行排序? ? 给每个 查询-文档对 进行评分,在[0,1]之间 ? 这个评分值衡量文档与query的匹配程度
22 2019/3/16 信息检索与数据挖掘 Query-document 评分 ? 需要一种方法给一个 query-document对 评分 ? 先以单个词组成的query为例 ? 如果该词项不出现在文档中,该文档评分为0 ? 该词项在文档中出现的频率越高,则评分越高 ? 下面是几种备选方案
23 2019/3/16 信息检索与数据挖掘 Jaccard 系数 ? 一种常用的衡量两个集合重叠度的方法 ? Jaccard(A,B) = |A ∩ B| / |A ∪ B| ? Jaccard(A,A) =
1 ? Jaccard(A,B) =
0 if A ∩ B =
0 ? 集合A和B不需要具有同样的规模 ? Jaccard(A,B)的取值在[0,1]
24 2019/3/16 信息检索与数据挖掘 Jaccard 系数:举例 ? 用Jaccard 系数的方法计算下面的query与文档之 间的query-document评分 ? Query: ides of march ? Document 1: caesar died in march ? Document 2: the long march Jaccard(q,doc1) = 1/6 Jaccard(q,doc2) = 1/5