倒排检索构建_第1页
倒排检索构建_第2页
倒排检索构建_第3页
倒排检索构建_第4页
倒排检索构建_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、倒排检索构建主讲人:陈文亮苏州大学计算机学院提纲2倒排索引布尔查询的处理一个简单的例子(金庸小说)金庸的哪本小说包含郭靖和黄蓉但不包含洪七公?布尔表达式为 郭靖 AND 黄蓉 AND NOT 洪七公笨方法: 从头到尾扫描所有小说,对每本小说判断它是否包含郭靖和黄蓉但不包含洪七公3词项-文档(term-doc)的关联矩阵若某小说包含某单词,则该位置上为1,否则为0郭靖 AND 黄蓉 BUT NOT 洪七公射雕英雄传神雕侠侣天龙八部倚天屠龙记鹿鼎记郭靖11010黄蓉11010洪七公11000张无忌00010韦小宝00001上述查询的结果文档倚天屠龙记5IR中的基本假设文档集Collection:

2、由固定数目的文档组成目标: 返回与用户需求相关的文档并辅助用户来完成某项任务相关性Relevance6大文档集假定N = 1 百万篇文档(1M), 每篇有1000个词(1K)假定每个词平均有6个字节(包括空格和标点符号) 那么所有文档将约占6GB 空间.假定 词汇表的大小(即词项个数) |V| = 500K7词项-文档矩阵将非常大矩阵大小为 500K x 1M=500G但是该矩阵中最多有10亿(1G)个1词项-文档矩阵高度稀疏(sparse).稀疏矩阵应该有更好的表示方式求方法?8Why?词项-文档矩阵将非常大应该有更好的表示方式比如我们仅仅记录所有1的位置倒排索引(Inverted inde

3、x)对每个词项t, 记录所有包含t的文档列表.每篇文档用一个唯一的 docID来表示,通常是正整数,如1,2,3能否采用定长数组的方式来存储docID列表10BrutusCalpurniaCaesar124561657132124113145173231文档14中加入单词Caesar时该如何处理? 17454101倒排索引(续)通常采用变长表方式磁盘上,顺序存储方式比较好,便于快速读取内存中,采用链表或者可变长数组方式存储空间/易插入之间需要平衡11DictionaryPostings按docID排序 (原因后面再讲)PostingBrutusCalpurniaCaesar1245616571

4、3212411314517323117454101词典倒排(记录)表倒排记录索引构建过程: 词条序列二元组I did enact JuliusCaesar I was killed i the Capitol; Brutus killed me.Doc 1So let it be withCaesar. The nobleBrutus hath told youCaesar was ambitiousDoc 2索引构建过程: 排序按词项排序然后每个词项按docID排序 索引构建的核心步骤索引构建过程: 词典 & 倒排记录表某个词项在单篇文档中的多次出现会被合并拆分成词典和倒排记录表两部分每个词

5、项出现的文档数目(doc. frequency, DF)会被加入为什么加入?后面会讲存储开销计算15指针词项及文档频率倒排索引docID表第一讲:布尔检索提纲16倒排索引布尔查询的处理 (继续)第一讲:布尔检索假定索引已经构建好如何利用该索引来处理查询?17第一讲:布尔检索布尔检索针对布尔查询的检索,布尔查询是指利用 AND, OR 或者 NOT操作符将词项 连接起来的查询信息 AND 检索信息 OR 检索信息 AND 检索 AND NOT 教材18AND查询的处理考虑如下查询(从简单的布尔表达式入手):Brutus AND Caesar在词典中定位 Brutus返回对应倒排记录表(对应的do

6、cID)在词典中定位Caesar再返回对应倒排记录表合并(Merge)两个倒排记录表,即求交集1912834248163264123581321BrutusCaesar合并过程每个倒排记录表都有一个定位指针,两个指针同时从前往后扫描, 每次比较当前指针对应倒排记录,然后移动某个或两个指针。合并时间为两个表长之和的线性时间203412824816326412358132112834248163264123581321BrutusCaesar28假定表长分别为x 和y, 那么上述合并算法的复杂度为 O(x+y)关键原因: 倒排记录表按照docID排序其它布尔查询的处理OR表达式:Brutus AN

7、D Caesar两个倒排记录表的交集NOT表达式: Brutus AND NOT Caesar两个倒排记录表的减一般的布尔表达式(Brutus OR Caesar) AND NOT(Antony OR Cleopatra)查询处理的效率问题!21查询优化查询处理中是否存在处理的顺序问题?考虑n 个词项的 AND 对每个词项,取出其倒排记录表,然后两两合并BrutusCaesarCalpurnia123581621342481632641281316查询: Brutus AND Calpurnia AND Caesar22查询优化按照表从小到大(即df从小到大)的顺序进行处理:每次从最小的开始合并23这是为什么保存df的原因之一相当于处理查询 (Calpurnia AND Brutus) AND Caesar.BrutusCaesarCalpurnia123581621342481632641281316布尔检索的优点构建简单,或许是构建IR系统的一种最简单方式在30多年中是最主要的检索工具当前许多搜索系统仍然使用布尔检索模型:电子邮件、文献编目、Mac OS X Spotlight工具24布尔检索的缺点布尔查询构建复杂,不适合普通用户

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论