第5讲 索引构建 Index construction 授课人:高曙明

Slides:



Advertisements
Similar presentations
葡萄糖 糖原 ( 动物细胞的储能物质 ) 肝糖原较多 肌糖原较多. 糖与人体健康 低血糖 症状 : 1 、饥饿感、软弱无力、面色苍白、头晕、心 慌、脉快、出冷汗、肢体颤抖等。 2 、精神激动、恐惧、幻觉、狂躁、惊厥、抽 搐、嗜睡甚至昏迷死亡。
Advertisements

1 1.2 信息的表示与存储  数据:数据是对客观事物的符号表示。 如,数值、文字、语言、图形、图像等都是不同形 式的数据。  信息:信息是既是对客观事物变化和特征的反映,又 是事物之间相互作用、相互联系的表征。 信息必须数字化编码,才能用计算机进行传送、存 储和处理。 信息具有针对性和时效性。
肺 痨 龙华医院 茅建春. 一、概述 (一)定义:肺痨是具有传染性的慢性 虚弱性疾病。 临床特征:咳嗽、咳血、潮热、 盗汗、身体逐渐消瘦。
第二篇 建筑空间构成及组合 一 建筑平面设计的内容 从组成平面各部分的使用性质来分析,建筑物 由使用部分和交通联系部分组成。 使用部分是指各类建筑物中的主要使用房间和辅助 使用房间。 交通联系部分是建筑物中各房间之间、楼层之 间和室内与室外之间联系的空间。 建筑平面设计包括单个房间平面设计和平面组 合设计。
九年级物理一轮复习 第一章 声现象 知识要点. 1. 声音的产生和传播  ( 1 )声音的产生:声音是由于物体的振动产生的。  凡是发声的物体都在振动。振动停止,发声也停止。  ( 2 )声源:正在发声的物体叫声源。固体、液体、气体 都可以作为声源,有声音一定有声源。  ( 3 )声音的传播:声音的传播必须有介质,声音可以在.
認識食品標示 東吳大學衛生保健組製作.
信息系统安全等级保护工作 主要内容和工作要求
第八章 互换的运用.
中华字库的云输入法 王勇 基础软件国家工程研究中心
手术切口的分级与抗菌药物的应用 贵阳医学院附属白云医院感染管理科 沈 锋
颞下颌关节常见病.
「健康飲食在校園」運動 2008小學校長高峰會 講題:健康飲食政策個案分享 講者:啟基學校-莫鳳儀校長 日期:二零零八年五月六日(星期二)
学习情境三 桥梁下部结构的构造与施工 桥梁墩台的构造.
黄岛区政府部门责任清单编制工作介绍 二〇一五年六月.
班級:醫管3B 組別:第二組 組員:王品媛、郭雅瑄、謝淑玲、蔡孟蔙
致理科技大學保險金融管理系 實習月開幕暨頒獎典禮
脊柱损伤固定搬运术 无锡市急救中心 林长春.
高一年级过渡性学习 活动汇报 高一年级组 教科研室 汉滨高中.
行政訴訟法 李仁淼 教授.
2013年二手车市场环境分析.
安全技术讲稿.
結腸直腸腫瘤的認知.
經歷復活的愛 約翰福音廿一1-23.
中小学校舍建设管理 《地县教育局基建专干培训班》 克拉玛依 2015年11月 校舍建设管理与现存问题对策 1.
PB级科研数据集的管理和应用 曙光信息产业(北京)有限公司.
郭詩韻老師 (浸信會呂明才小學音樂科科主任)
畜禽屠宰厂(场)的设置.
典型案例---医院.
2014年度企业所得税业务培训 蚌埠市地方税务局所得税科.
第三节 渐开线圆柱齿轮精度等级及应用.
南京大学计算机科学与技术系 主讲人:黄宜华 2011年春季学期
面向海量数据的 高效天文交叉证认的研究 答辩人:赵青 指导老师:孙济洲 教授 天津大学计算机学院
周星驰电影鉴赏.
大数据革命与大众生活变革 黄欣荣 博士 教授 江西财经大学 马克思主义学院
企业所得税年度纳税申报表(2014年版)培训 国家税务总局公告2014年第63号
《中文自修》VS.《读者》VS.《当代学生》
第一章 气压传动概述 一、气压传动基本知识 机电一体化技术 1)传动--动力的传递
發展東華特色課程 期末成果發表 呂進瑞 國立東華大學財金系.
2. 戰後的經濟重建與復興 A. 經濟重建的步驟與措施 1.
好好學習 標點符號 (一) 保良局朱正賢小學上午校.
學生:蔡耀峻、許裕邦 座號:23號、21號 指導老師:黃耿凌 老師
模块七 信息获取与发布 第8章 计算机网络信息的获取与发布.
第三章 企业管理概述.
禪宗的教外別傳.
4. 聯合國在解決國際衝突中扮演的角色 C. 聯合國解決國際衝突的個案研究.
新陸書局股份有限公司 發行 第十九章 稅捐稽徵法 稅務法規-理論與應用 楊葉承、宋秀玲編著 稅捐稽徵程序.
民法第四章:權利主體 法人 楊智傑.
云计算之分布式计算.
Homework 1(上交时间:10月14号) 倒排索引.
四年級 中 文 科.
第3.4节 距离保护的整定计算 及其评价.
生涯手冊第18頁 生涯統整面面觀.
第五章 三角比 二倍角与半角的正弦、余弦和正切 正弦定理、余弦定理和解斜三角形.
聖誕禮物 歌羅西書 2:6-7.
九十四年度國小圖書館經營與利用 教育專修研習班
政府採購法 第四章 履約管理 報 告 人:郭明恩 政府採購法及其子法相關規定 本法 第四章(§63~70)【8】
法政與公民素養 指導老師-張淳翔 人民 學習檔案 共產主義 資本主義 集權主義 民主主義 勞動階級 資本利益 改革派系 保守派系
基于云计算及数据挖掘技术的海量数据处理研究
2.1 数据库的创建 2.2 表的组成 2.3 表的创建 2.4 表间关系的建立
Cloud Computing Google云计算原理.
第一章 运动的描述 第四节 实验:用打点计时器测速度.
依撒意亞先知書 第一依撒意亞 公元前 740 – 700 (1 – 39 章) 天主是宇宙主宰,揀選以民立約,可惜他們犯罪遭
玻璃期货基础知识研究培训 张恒 2012年7月30日.
2.4 让声音为人类服务.
基督是更美的祭物 希伯來書 9:1-10:18.
手机淘宝“变形”产品—微淘 操作流程指南 (内测版).
全方位起動通識 戴偉森 沙田循道衛理中學 4/7/2009.
東吳大學『樂齡大學』 外雙溪環境與生態 產業 黃顯宗 東吳大學 微生物學系 101.
經文 : 創世紀一章1~2,26~28 創世紀二章7,三章6~9 主講 : 周淑慧牧師
慧能的教外別傳.
Presentation transcript:

第5讲 索引构建 Index construction 授课人:高曙明 信息检索与Web搜索 第5讲 索引构建 Index construction 授课人:高曙明 *改编自“现代信息检索”网上公开课件(http://ir.ict.ac.cn/~wangbin)

相关硬件基础知识 在内存中访问数据会比从硬盘访问数据快很多(大概10 倍左右) 硬盘寻道需要时间,即寻道时间,期间不发生数据传输 硬盘 I/O是基于块的: 读写时是整块进行的。块大小: 8KB到256 KB不等 IR系统的服务器的典型配置是内存几个GB或几十GB,硬 盘数百G或者上T 容错处理的代价非常昂贵:采用多台普通机器会比一台 提供容错的机器的价格更便宜 2

一些统计数据(ca. 2008) 符号 含义 值 s b P 平均寻道时间 每个字节的传输时间 处理器时钟频率 底层操作时间 (e.g., 如word的比较和交换) 内存大小 磁盘大小 5 ms = 5 × 10−3 s 0.02 μs = 2 × 10−8 s Hz 0.01 μs = 10−8 s 几GB 1 TB或更多 3

Reuters RCV1 语料库 路透社 1995到1996年一年的英语新闻报道文档集,包括政治、贸易、体育、科技等话题 4

Reuters RCV1语料库的统计信息 一个词项的平均出现次数是多少?即一个词项平均对应几个词条? N L M T 文档数目 每篇文档的词条数目 词项数目(= 词类数目) 每个词条的字节数 (含空格和标点) 每个词条的字节数 (不含空格和标点) 每个词项的字节数 无位置信息索引中的倒排记录数目 800,000 200 400,000 6 4.5 7.5 100,000,000 一个词项的平均出现次数是多少?即一个词项平均对应几个词条? 每个词条字节数为4.5 vs. 每个词项平均字节数 7.5,为什么有这 样的区别? 5

回顾: 倒排索引组成 词典 倒排记录表 6

回顾: 倒排索引构建的基本步骤 扫描一遍文档集合得到所有的词 项——文档二元组 以词项为主键,以文档ID为次键进 行排序 计算文档频率等统计量 该方法对大规模文档集不适用,为 此,需要找到基于磁盘的方法 图 1-4 7

基于排序的分块索引构建BSBI 基本思想:对大规模文档集的索引构建进行分而治之 算法步骤: 将文档集分割成若干大小相当的部分 将每个部分的词项ID-文档ID二元组排序 将每个部分的倒排记录表写到磁盘中 将所有的中间结果合并成整个文档集的倒排索引 8

BSBI算法 一个关键决策:如何确定块的大小 能够方便加载到内存 能够在内存中进行快速排序 9

两个块的合并过程 逐步读入与写出,故内存不需太大 10

基于BSBI的RCV1索引构建 需要对T = 100,000,000条无位置信息的倒排记录进行排 序 每条倒排记录需要12字节 (4+4+4: termID, docID, df) 定义一个能够包含10,000,000条上述倒排记录的数据块 这个数据块很容易放入内存中(12*10M=120M) 对于RCV1有10个数据块 基本过程: 对每个块: (i) 倒排记录累积到10,000,000条, (ii) 在内存中排 序, (iii) 写回磁盘 最后将所有的块合并成一个大的有序的倒排索引 11

内存式单遍扫描索引构建SPIMI 基本思想:对大规模文档集的索引构建进行分 而治之 算法特点 对每个块都产生一个独立的词典,使用词项而不是其ID, 不需要统一的词典 增量式动态形成倒排记录表,避免对所有词项—文档ID二 元组进行排序 在处理过程中形成块,而不是一开始分块,使分块更合理 12

SPIMI算法 13

课堂练习:计算1台机器下采用BSBI方法对Google级规模数据构建索引的时间 14

分布式索引构建 分布式计算环境:计算机集群,由很多台日用计算机 组成,每台计算机随时可能出故障 基本思想 维持一台主机(Master)来指挥索引构建任务-这台主机被 认为是安全的 将索引构建划分成多组并行任务 主机将把每个任务分配给空闲机器来执行 当发现某台计算机有问题时,将其任务重新分配 分布式策略:基于词项分割;基于文档分割 15

Google数据中心(2007Gartner) Google数据中心主要都是普通机器 数据中心均采用分布式架构,在世界各地分布 100万台服务器,300个处理器/核 Google每15分钟装入 100,000个服务器 每年的支出大概是每年2-2.5亿美元 这可能是世界上计算能力的10%! 在一个1000个节点组成的无容错系统中,每个节点的正常运行概率为99.9%,整个系统的正常运行概率是多少? 63% 假定一台服务器3年后会失效,对于100万台服务器,机器失效的平均间隔大概是多少?不到2分钟 16

并行任务 文档集分割:将输入的文档集分片(split) (对应于 BSBI/SPIMI算法中的块) 两类并行任务 分析器(Parser) 主节点将一个数据片分配给一台空闲的分析器 分析器逐篇处理文档产生 (term,docID)二元组 分析器将所有二元组分成j 个词项分区,写入j个分区文件 倒排器(Inverter) 主控节点将每一term分区(e.g., a-f分区)分配给一个倒排器, 倒排器收集其所有的 (term,docID) 二元组 对每个分区的所有二元组排序,输出倒排记录表(分布式 存放) 17

数据流 裂片 分析器 a-f g-p q-z 倒排器 主控节点 分配 倒排记录表 Map阶段 分区文件 Reduce阶段 18

MapReduce MapReduce是一个鲁棒的简单分布式计算框架, 由Google提出和推广 Hadoop是MapReduce的一个实现 Google索引构建系统 (ca. 2002) 由多个步骤组成, 每个步骤都采用 MapReduce实现 需要根据具体问题编写Map和Reduce函数 前面介绍的索引构建过程实际上是MapReduce的 一个实例 19

基于MapReduce的索引构建 排好序的倒排记录表 (k,list(v)) 20

动态索引构建 背景:文档集是变化的,文档会增加、删除和修改, 因此索引应该是动态更新的 一种解决方案:周期性重构一个全新的索引 能够接受对新文档检索的一定延迟 具有足够的资源 动态索引构建:能够及时更新变化文档集索引的 方法 21

动态索引构建: 主辅索引法 在磁盘上维护一个大的主索引(Main index) 在内存中构建新文档的索引,称辅助索引(Auxiliary index) 查询处理时,同时搜索两个索引,然后合并结果 定期将辅助索引合并到主索引中 删除文档的处理: 采用无效位向量(Invalidation bit-vector)来表示删除的文档 利用该维向量过滤返回的结果,以去掉已删除文档 22

主辅索引合并中的问题 合并可能过于频繁(因内存有限) 合并时如果正好在搜索,那么搜索的性能将很低,? 合并耗时分析: 如果每个倒排记录表都采用一个单独的文件来存储的话,那么 将辅助索引合并到主索引的代价并没有那么高 此时合并等同于一个简单的添加操作 但是这样做将需要大量的文件,造成文件系统效率不高 另一种方法是将索引整体存入一个大文件中 现实当中常常介于上述两者之间(例如:将大的倒排记录表分 割成多个独立的文件,将多个小倒排记录表一并存放在一个文件当 中……) 23

对数合并(Logarithmic merge) 对数合并算法能够缓解(随时间增长)索引合并的开销 → 用户并不感觉到响应时间上有明显延迟 维护一系列索引,其中每个索引是前一个索引的两倍大小 将最小的索引 (Z0) 置于内存 其他更大的索引 (I0, I1, . . . ) 置于磁盘 如果 Z0 变得太大 (> n), 则将它作为 I0 写到磁盘中(如果 I0 不存在) 或者和 I0 合并(如果 I0 已经存在) ,并将合并结果作为I1写 到磁盘中(如果 I1 不存在) ,或者和I1合并(如果 I0 已经存在), 依此类推…… 24

对数合并算法 25

对数合并的复杂度 索引数目的上界: O(log T) (T 是所有倒排记录的个数) 对数合并索引构建时间: O(T log T) 因此,对数合并的复杂度比辅助索引方式要低一个数量 级 查询处理时需要合并O(log T)个索引,效率比辅助索引方 式低 26

参考资料 《信息检索导论》第4章 http://ifnlp.org/ir Dean and Ghemawat (2004) 有关MapReduce 的原作 Heinz and Zobel (2003) 有关SPIMI的原作 YouTube视频: Google数据中心 27

课后作业 见课程网页: http://www.cad.zju.edu.cn/home/smgao/IR