第三讲:索引及查询处理(5章).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三讲:索引及查询处理(5章)

一、引言 检索速度 每天全世界输入超过5亿个查询,而互联网有几十亿网页 高效的查询处理,对于网络搜索特别重要! 高效检索的基础 大多数检索计算都与数据结构有关,优秀的算法都有好的数据结构 例:处理项目列表应当采用链表,根据属性查找项目可采用哈希表,一些复杂搜索(如人名)需采用B+树,。。。 搜索引擎的基石 文本搜索与传统的计算任务有很大不同,需采用特殊数据结构 倒排索引是一种特殊数据结构,能很好地服务于相关排序函数 倒排索引是所有现代网络搜索引擎的核心 检索模型(第7章) 查询处理算法依赖于:检索模型、以及指定索引的内容 (相关)排序模型又依赖于索引的选择 搜索引擎各独立部分之间有很强的依赖关系! 二、相关排序模型 2.1 抽象的相关排序模型 ‘抽象的’相关排序模型示例(图5-1) 文档,通过转换(4章)抽取出文档特征(主题特征和质量特征) ‘查询输入’和’文档特征’经查询处理后,得到文档的分数(排序依据) 重要现象:大多数排序函数都只用到文档中少量特征!(?) 使 得:倒排索引成为搜索中一个引人注目的数据结构! 人工排序时: 可以分成 好,中,差几类 可以仔细地看看 每个文档的内容 但智能化花精力 搜索引擎: 确定好的特征 基于特征的排序 2.2 一种‘具体的’相关排序模型 相关排序函数R的形式: (7章将详细讨论) (fi,gi都是数字特征函数,为各种特征记分) 实例(图5-2) 三、倒排索引 倒排索引 通常:文档-包含单词,反看则: 单词-附着文档(与单词关联的文档) 倒排索引,通过索引项(单词)来组织文档! 索引项经常按照字母排列,但不是必须! 可以用哈希表来查找 每个索引项,都有一个倒排列表(inverted list)(文档/单词位置) 文档集中的每个文档有一个唯一的编号(有效地存储文档指针) 列表中的项(称pointing),可是文档编号,甚至更多信息(用于特征函数计算) 传统上,倒排列表中文档编号从小到大依序排列 倒排索引的优点 模型简单易行,可有效支持相关排序搜索的设计 对大多数查询来说,只有一小部分索引需要处理 # 3.1 倒排表文档检索 简单的倒排表 最简单形式的倒排表,只包含每个单词及相应文档的编号(例子) 倒排表的交集 例子:如何寻找与查询“coloration freshwater”相关的句子? Coloration、freshwater两个索引项的倒排表直接求交集 倒排表可高效支持查询!时间开销:O(max(m,n)) (n,m两倒排表各自包含的项数)# 简单倒排表的例子 3.2 单词计数文档排序 存在问题 简单倒排表中,文档是二元的 要么出现,要么不出现 对于找最相关的文档太过粗糙! 例:查询“tropical fish” 找到3个句子S1,S2,S3,如何排序? 带频次的倒排索引 倒排表的posting可含单词出现次数 例子,表5-4 频次的用途 查询“tropical fish”找到的3句子,按照(前面的)相关排序函数,可以实现排序 因值是4,5,3,故排序S2,S1,S3# 3.3 单词位置文档检索 问题 对查询“tropical fish” 若一个文档有多章节,依次是 tropical fruits,saltwater fish 会查出这个文档,但并不相关 是否能准确判断包含该短语? 包含位置的倒排索引 在到排表的posting中记录单词位置 例子,图5-5 改进的效果 对查询,fish和tropical倒排表求交集 不仅交集为S1,S2,S3;而且知道: tropical和fish均在相继位置出现! 分别是:S1(1-2),S2(6-7),S2(17-18),S3(1-2) 3.4 域与范围 域 文档不仅由单词构成,而且单词还有域的区分 例如,句子、段落、章节、小标题、标题,甚至(邮件)时间等 单词出现在什么域对查询有重要影响 例:在邮件中查询brown教授的来信, 词“brown”出现在内容还是From字段中,对于返回结果的相关性是非常不同的 又例:查询“tropical fish”, 返回文档中,词tropical和fish是否出现在标题中,文档的相关性是非常不同的 考虑域的倒排索引 法一:为每种域(标题,小标题),都单独建立一个倒排索引 法二:倒排索引中,每一posting后用‘0/1’表示词‘是/否’出现在标题 范围表(extent list) 除了单词(索引项)的倒排表外,还有标题域的范围表。 即每个文档的标题出现(单词起止)位置范围 用途:判定单词是否出现在标题域中 (同样地,其它域可类似处理) # 3.5 分数 分数(特征函数值) 表示单词(特征项)在文档中的重要程度(代表度)或相关度! 例:tropical fis

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档