- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
倒排索引布尔查询的处理继续-苏州大学
倒排检索构建 主讲人:陈文亮 苏州大学计算机学院 提纲 * 倒排索引 布尔查询的处理 一个简单的例子(金庸小说) 金庸的哪本小说包含郭靖和黄蓉但不包含洪七公? 布尔表达式为 郭靖 AND 黄蓉 AND NOT 洪七公 笨方法: 从头到尾扫描所有小说,对每本小说判断它是否包含郭靖和黄蓉但不包含洪七公 * 词项-文档(term-doc)的关联矩阵 若某小说包含某单词,则该位置上为1,否则为0 郭靖 AND 黄蓉 BUT NOT 洪七公 射雕英雄传 神雕侠侣 天龙八部 倚天屠龙记 鹿鼎记 郭靖 1 1 0 1 0 黄蓉 1 1 0 1 0 洪七公 1 1 0 0 0 张无忌 0 0 0 1 0 韦小宝 0 0 0 0 1 上述查询的结果文档 倚天屠龙记 * IR中的基本假设 文档集Collection: 由固定数目的文档组成 目标: 返回与用户需求相关的文档并辅助用户来完成某项任务 相关性Relevance * 大文档集 假定N = 1 百万篇文档(1M), 每篇有1000个词(1K) 假定每个词平均有6个字节(包括空格和标点符号) 那么所有文档将约占6GB 空间. 假定 词汇表的大小(即词项个数) |V| = 500K * 词项-文档矩阵将非常大 矩阵大小为 500K x 1M=500G 但是该矩阵中最多有10亿(1G)个1 词项-文档矩阵高度稀疏(sparse). 稀疏矩阵 应该有更好的表示方式 求方法? * Why? 词项-文档矩阵将非常大 应该有更好的表示方式 比如我们仅仅记录所有1的位置 倒排索引(Inverted index) 对每个词项t, 记录所有包含t的文档列表. 每篇文档用一个唯一的 docID来表示,通常是正整数,如1,2,3… 能否采用定长数组的方式来存储docID列表 * Brutus Calpurnia Caesar 1 2 4 5 6 16 57 132 1 2 4 11 31 45 173 2 31 文档14中加入单词Caesar时该如何处理? 174 54 101 倒排索引(续) 通常采用变长表方式 磁盘上,顺序存储方式比较好,便于快速读取 内存中,采用链表或者可变长数组方式 存储空间/易插入之间需要平衡 * Dictionary Postings 按docID排序 (原因后面再讲) Posting Brutus Calpurnia Caesar 1 2 4 5 6 16 57 132 1 2 4 11 31 45 173 2 31 174 54 101 词典 倒排(记录)表 倒排记录 索引构建过程: 词条序列 词条,docID二元组 I did enact Julius Caesar I was killed i the Capitol; Brutus killed me. Doc 1 So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious Doc 2 索引构建过程: 排序 按词项排序 然后每个词项按docID排序 索引构建的核心步骤 索引构建过程: 词典 倒排记录表 某个词项在单篇文档中的多次出现会被合并 拆分成词典和倒排记录表两部分 每个词项出现的文档数目(doc. frequency, DF)会被加入 为什么加入?后面会讲 存储开销计算 * 指针 词项及文档频率 倒排索引 docID表 第一讲:布尔检索 提纲 * 倒排索引 布尔查询的处理 (继续) 第一讲:布尔检索 假定索引已经构建好 如何利用该索引来处理查询? * 第一讲:布尔检索 布尔检索 针对布尔查询的检索,布尔查询是指利用 AND, OR 或者 NOT操作符将词项 连接起来的查询 信息 AND 检索 信息 OR 检索 信息 AND 检索 AND NOT 教材 * AND查询的处理 考虑如下查询(从简单的布尔表达式入手): Brutus AND Caesar 在词典中定位 Brutus 返回对应倒排记录表(对应的docID) 在词典中定位Caesar 再返回对应倒排记录表 合并(Merge)两个倒排记录表,即求交集 * 128 34 2 4 8 16 32 64 1 2 3 5 8 13 21 Brutus Caesar 合并过程 每个倒排记录表都有一个定位指针,两个指针同时从前往后扫描, 每次比较当前指针对应倒排记录,然后移动某个或两个指针。合并时间为两个表长之和的线性时间 * 34 128 2 4 8 16 32 64 1 2 3 5 8 13 21 128 34 2 4 8 16 32 64 1 2 3 5 8 13 21 Brutus Caesar 2 8 假定表长分
您可能关注的文档
- 住宅隔声标准JGJ11—82.PDF
- 体内湿气重怎样祛除分享首次分享者fanfan已被分享1次评论0.DOC
- 体检中心隔音室招标文件-资阳人民医院.DOC
- 体间分Bodyspace体区Bodyregion-生物医学知识整合论.DOC
- 佑强医疗仪器有限公司.PDF
- 体育科专题研习之乒乓球.PPT
- 何良俊曲论中本色论的主要核心.PDF
- 何谓改善的现场力.PPT
- 何谓三聚氰胺.PPT
- 余个房产营销策划案例广东中小企业发展促进会.DOC
- 2024-2030年中国宁夏电子竞技行业市场发展监测及投资潜力预测报告.docx
- 半挂货车买卖交易合同精选.docx
- 2018-2024年中国数控刀具市场深度调研分析及投资前景研究预测报告.docx
- 2024-2030年中国福建物业管理行业市场发展监测及投资潜力预测报告.docx
- 2021-2026年中国动漫行业市场供需格局及行业前景展望报告.docx
- 2024-2030年中国节能技术服务行业市场发展现状及投资战略咨询报告.docx
- 2024-2030年中国山东省电子竞技行业市场发展监测及投资潜力预测报告.docx
- 2024年2月份中国APP活跃用户排行榜.docx
- 智慧停车可行性研究报告.docx
- 水质检测服务行业发展潜力预测及投资策略研究报告.docx
文档评论(0)