信息检索中效率问题的研究 报告人:赵江华 北京大学计算机科学与技术系 网络与分布式系统实验室 2002年4月21日.

Slides:



Advertisements
Similar presentations
定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
Advertisements

国家税务总局关于修改企业所得税年度纳税申报表( A 类, 2014 年版) 部分申报表的公告(国家税务总局公告 2016 年第 3 号) 一、对《企业基础信息表》( A )及填报说明修改如下: (一) “107 从事国家非限制和禁止行业 ” 修改为 “107 从事国家限制或禁止行业 ”
index 目次 ( 請按一下滑鼠,解答就會出現喔 !) 接續下頁解答 3-1 極限的概念.
1 1.2 信息的表示与存储  数据:数据是对客观事物的符号表示。 如,数值、文字、语言、图形、图像等都是不同形 式的数据。  信息:信息是既是对客观事物变化和特征的反映,又 是事物之间相互作用、相互联系的表征。 信息必须数字化编码,才能用计算机进行传送、存 储和处理。 信息具有针对性和时效性。
2014 年 12 月 企业所得税年度纳税申报表 (A 类, 2014 版 ) 辅导材料(二) A 企业基础信息 A 主表.
年輕駕駛交通工具 考上駕照的 18 歲, 正好是高中畢業, 離家工作、上大學 的時候。 年輕人對新環境的 好奇及生疏,以及 尚未養成良好駕駛 習慣,造成意外的 產生。
护理学基础 第七章 医院与住院环境.
第5讲 索引构建 Index construction 授课人:高曙明
靜坐時身體的反應 反應一:兩腿發麻 會隨著靜坐的工夫而消失 甚至覺得舒服 血管被壓迫 神經被刺激 一般的常識是認為 其實不盡然
景观水池渗漏的研究 年级专业:12级土木工程 指导教师: ××× 教 学 点: ××××教学点 新疆工程学院继续教育学院 20 年 月 日
五專醫護類科介紹 樹人醫專 職業教育組 李天豪 組長.
Chapter 10 效能測量與分析.
工程定额与计价方法 教材名称:工程建设定额原理与实务
第2章 資料庫系統 2-1 資料庫環境的四大組成元件 2-2 ANSI/SPARC的三層資料庫系統架構
MySQL数据库服务介绍 2013 年 6 月.
阳光工程引导性培训 宁夏自治区盐池县农广校
第一章 管理的真谛.
医学文献和文献检索概论 哈尔滨医科大学图书馆 下一页.
《毛泽东思想和中国特色社会主义体系概论》 第一章马克思主义中国化两大理论成果
2010年春季开学学校食堂食品安全知识培训 徐汇区食品药品监督所
进出口食品检验监管 基础讲课内容 我国进出口食品安全管理体系介绍 法律法规 进口食品的检验检疫 出口食品的检验检疫.
授课班级 安全技术管理0605班 第 5 次 课 授课时间 2008年3月10日 星期一 授课地点 科技楼401多媒体教室 课题内容:
第八章 了解法律制度 自觉遵守法律.
第六章 数据库和ADO.NET 褚龙现 软件学院.
第二章 项目一:企业厂区与车间平面设计 1.
總務處營繕組簡報 1.業務職掌 2.九十四年度工作績效 3.工程一覽 4.歷年工作成果 5.未來展望 6.困難及建議.
2014年企业所得税汇算清缴相关税收政策 新华区地方税务局 卿继红
我們最常去的地方還是我的故鄉苗栗, 您知道春天的樟樹是什麼香味嗎?
第十章 季节施工 ——冬期施工准备.
推行使用散装预拌砂浆 全面贯彻落实禁现政策
我班最喜愛的零食 黃行杰.
第8章 机床操作 主讲:臧红彬 博士.
第十九课 南吕•一枝花 不 伏 老 关汉卿.
食品添加剂生产许可审查通则起草说明.
概述 检索图书的检索工具 检索期刊的检索工具 检索特种文献的检索工具
第10章 文件 10.1 文件的基本概念 10.2 顺序文件 10.3 索引文件 10.4 散列文件 10.5 多关键字文件.
第21章 信息检索 概述 利用项进行相关性排名 利用超链接的相关性 同义词, 多义词, 本体 文档的索引 检索有效性度量 Web抓取和索引
第7章 廉洁行政与行政监督 主讲:张等菊.
第2章 数据定义功能 创建表 在关系型数据模型中,表(Table)是最基本的数据结构。
治超新政相关文件解读 厅执法局 江涛 二零一六年九月.
数据库原理与应用     制作人:王春玲         黄金燕         张惠萍         陈志泊 人民邮电出版社.
科技服务业统计 报表填报说明 江苏省科技统计中心 2008年12月 镇江.
教学目的和要求 通过阐述新民主主义革命理论,使我们能够深入了解和掌握新民主主义革命理论的形成、基本内容及其意义,认识这一理论是中国革命实践经验的结晶,是中国革命胜利的指南,是马克思主义中国化的重要成果。
第二章 计算机基础知识 2.1 计算机系统的组成与工作原理 2.2 数制转换及运算 2.3 数据在计算机中的表示.
記憶.
資料庫結構與組織.
Course 4 搜尋 Search.
信息检索的评价 哈工大计算机学院 信息检索研究室 2007.
計算機概論 第十章 檔案與資料庫管理系統 陳維魁/陳邦治 旗標出版社.
第三章 儲存空間的配置.
CH03 行銷資訊系統資料庫模組--資料庫概論
认识计算机 随着科技的发展计算机已经成为人们学习、工作、生活中不可缺少的一部分。但是在享受计算机带来方便的同时人们却经常被各种各样的软件、硬件问题所困扰。 那么你们究竟有多了解计算机呢? 今天我们就一起来认识计算机。
第四章 存储器管理 4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配方式 4.4 基本分页存储管理方式
第四章 存 储 器 管 理 4.1 存储器的层次结构 4.2 程序的装入和链接 4.3 连续分配存储管理方式
微机原理与接口技术 西安邮电大学计算机学院 王忠民.
第十二章 文件管理 (Chapter 5 File Management)
计算机系统结构(2012年春) ----存储层次: Cache基本概念
知识点六 草原资源保护法及渔业资源保护法.
汪卫 王轶彤 老逸夫楼602-3 数据库新技术 汪卫 王轶彤 老逸夫楼602-3.
猜數字遊戲.
指導老師:邱登裕老師 組員:B 張萬鈞 B 鄭瑞傑 B 蔡譯陞 B 胡瑜真
參考資料: 黃慕萱,Chap. 2-3 Harter, Chap. 3
SQL Server2000概述 SQL Server简介 SQL Server安装 SQL Server数据库 2019/5/8.
參考資料: 林秋燕 曾元顯 卜小蝶,Chap. 1、3 Chowdhury,Chap.9
2017学考复习 信息管理(导引P37).
国家“十一五”规划教材 数据库原理与应用教程(第3版).
香港大學出版社電子書 操作手冊.
資料庫應用與實作 一到六章重點、習題.
HTML HELP Workshop 第一組.
Presentation transcript:

信息检索中效率问题的研究 报告人:赵江华 北京大学计算机科学与技术系 网络与分布式系统实验室 2002年4月21日

信息检索(IR)的基本概念(一) 信息检索和数据库管理系统(DBMS)的区别: DBMS处理对象是结构化数据,IR处理大量的非结构化数据。 DBMS只是管理数据,IR要管理数据的内容——内容管理(content management)。 DBMS的每次事务的结果是确定的,IR系统的任务是找到用户需要的信息,其结果是不精确的。

信息检索(IR)的基本概念(二) 信息检索的两大问题:效率(efficiency)、效果(effectiveness)。 效果指标:查准率(precision)和查全率(recall)。 效率指标:响应时间(response time)和吞吐量(throughput)。 文本信息检索效果的提高依赖于自然语言处理(NLP);信息的指数增长使得检索效率也成为不可忽略的问题。

信息检索(IR)的基本概念(三) 信息检索系统的组成部分:

信息检索(IR)的基本概念(四) 基本用户查询(query): 对原始信息创建索引加快检索速度: 逻辑操作(AND,OR,NOT)。 位置邻近查找(Proximity Search),短语查找(Phrase Search)。 对原始信息创建索引加快检索速度: Inverted file , signature file等。 倒排文件是最广泛使用的技术,它组织结构灵活,可以满足多种查询方式。

对文档的预处理 在英语等语言中做“stem”,索引单词的“主干”。—— 可以提高查全率,降低查准率。 汉字之间没有空格,可以对汉字字符索引,也可以索引做切词处理后的词组。 现代汉语中大部分是两个字的词组,单个的字符表示的意义很不确定,所以对词组建索引可以提高查询的效果。切词对查询效率也有重大影响。

倒排文件的组织 将文档分割成独立的单词项(term),按单词项索引形成倒排文件。 单词tj对应的posting lists是{( di , fi, a*)+( di+k , fi+k, a*)+…},fi表示tj在di的出现次数,也是后面a的数量。这是倒排文件的全文本索引(full-text inverted file)形式,它记录了每次出现的位置等信息,要占用较多的存储空间。如果去掉位置信息,仅可以支持逻辑查询形式。

词典的组织(一) 索引单词项的集合构成词典,系统通过查找词典定位该单词对应的posting lists,这是从单词到指针的映射。有两种词典的组织方式: 直接用B+树等方式组织单词的字符串。 用哈希(hash)的方式——速度更快,可以将所有单词装入内存中。

词典的组织(二) “天网”中用哈希的方法实现从单词字符串到单词标识(TermID,整数)的转换,单词的标志是在每次创建索引是赋予的(不是固定的),所有单词的标志是从零开始的连续整数。 如果维护一个全局稳定的词典(固定单词的标识,便于维护),系统的TermID可能成为稀疏的整数,可以组织成B+树实现从TermID到指针的映射。

数据组织(一) 倒排文件中单词对应的posting lists部分必须存储在磁盘中,不同单词的posting lists 长度差别很大,可以区别对待。 存储管理的方法在DBMS已经有深入研究。在倒排文件中,每个单词的posting lists的访问模式是顺序扫描(sequential scanning) ,作为一个对象看待最合适。关系数据库管理系统(RDBMS)用于倒排文件的缺点是不太灵活,而且SQL语句的开销比较大。

数据组织(二) 面向对象的概念更能简洁地描述倒排文件的结构,采用面向对象数据库系统(OODBS)是更好的选择。下面是两个被一些IR系统使用的例子: 用持久对象存储(Persistent Object Store)Mneme管理倒排文件,Mneme不但提供基于对象的数据缓存和良好的磁盘空间分配策略,还可以用它高度的可扩展性,根据数据的特性定制存储。 ObjectStore是商业上最成功的面向对象数据库系统之一,它用内存映射技术实现持久对象存储,和程序语言(C,C++,JAVA)完全集成,既有程序设计语言的灵活,又可以高效的存储数据,是另一个很好的索引管理工具。

数据组织(三) “天网”中用多个文件实现倒排文件的存储,优点是实现简单,可以利用文件的缓存机制,缺点是灵活性差,效率也有所损失。 嵌入式数据库系统Berkeley Database(Berkeley DB),是一个开放源代码产品,它提供简单高效的功能(三种访问方法 B+tree, hash, recno ),实现key/value的存取,这已完全能满足索引管理的需求,可以替代OODBS(在WebBase项目中使用)。

实现倒排表的随机访问 高频词(Term)的Posting lists长度通常1Mbytes以上(随着文档数据库规模增大,它会快速增长),称作“long Posting lists”。如果对它作顺序访问,从磁盘读入内存会耗费很长时间,同时占用系统大量的I/O带宽,从而降低整个系统的吞吐量。解决的方法是将对long Posting lists的顺序访问变成随机访问(random access Posting lists), long Posting lists被按照“文档号”分割成长度较小的数据块,在“AND”和“Proximity search”操作时可以有选择地访问部分数据,不可能相关的文档所在数据块被“跳过”(skip)。它增加了按照“文档号”索引数据,以空间换取时间。

信息检索的缓冲区管理(一) 利用文件系统的缓存往往不能得到最佳的性能,根据Posting lists的顺序访问模式,可以采用基于对象的缓存,对象持久存储中的双向缓冲区将对象和分页缓存结合起来,是一种更佳的策略。对很高频的单词,由于它对查询准确度的提高很有限(有些系统将它们作为stopword忽略,不建索引),缓存整个它的Posting lists将占用大量内存,少量的高频词就可以耗尽所有的内存 ,所以缓存高频词的Posting lists将得不偿失。采用random access Posting lists算法,可以将大对象分解成小对象,缓存对小对象的索引数据,提高内存使用效率。

信息检索的缓冲区管理(二) Jónsson, Björn T., Franklin, Michael J. and Srivastava, Divesh. "Interaction of query evaluation and buffer management for information retrieval."研究了信息检索中缓存管理和查询的相互作用关系,作者提出两种查询时优化利用缓存的策略:buffer-aware query evaluation 和 ranking-aware buffer replacement,前者在查询时优先使用在缓存中的数据来减少读磁盘,后一种技术将数据的语义引入到缓存的替换中,例如关键词的Posting lists要被顺序扫描,每次都必须访问第一个数据页,最后一页则未必需要,所以就应该尽量保持它的第一页在内存中。

查询处理中的Fast Ranking技术 主要思想:不检索出全部结果集,只需找出现面K个结果——Retrieve partial document allowing error,要和相关度评价算法(ranking algorithm)结合。 对数据存储的要求是在每个单词的Posting lists中要按照频率排序(认为单词在文档中出现频率越高,相关度越大)——Filtered Document Retrieval with Frequency-sorted Indexes。 由于只需读取部分数据,可以极大提高检索效率。

倒排文件压缩(一) 影响倒排文件查询效率的主要是关键词的Posting lists,所以必须压缩它的长度。压缩以后减少了内存、磁盘空间的占用和I/O带宽的使用,同时要对数据编码和解码,增加了CPU时间耗用。考虑到I/O是系统的瓶颈,CPU和I/O之间不断扩大的性能差距,以时间换取空间是可行的。压缩不仅能提高查询时的效率,还能加快创建索引,从各方面提升系统性能。

倒排文件压缩(二) 关键词对应的Posting lists是整数的序列,包含文档号(d)、关键词在文档中的频度(f)和关键词在文档中的一系列出现(a)。 压缩的方法首先基于“游程编码”(run length coding),增量整数序列被变换为差分序列(原来相邻整数之间的增量序列)。由于Posting lists中文档号d和出现位置a,都是递增排列,故可以做“游程编码”变换。游程编码本身并不能实现压缩,只是较大的整数被变换成了较小的整数(频度f本来就是小整数)。

倒排文件压缩(三) 字节对齐索引压缩(Byte Aligned Index Compression) 字节对齐索引的优点是容易编码和解码,位操作少,占用CPU时间少,缺点是对很小的整数压缩率低,每个整数最少用一个字节的空间。 变长索引压缩(Variable Length Index Compression) 一元编码(unary)、δ编码和γ编码 进一步优化的方法是根据整数序列的平均游程长度(mean run length),对位向量编码增加参数,称作“局部模式”。比较简单的一种方法是:一个整数序列的个数是pw,则它的平均游程长度是N/ pw,设b=0.69N/ pw,取VG=(b, b, b,…) 作压缩向量,前缀用一元编码,后缀是二进制编码(占用个位)。

倒排文件压缩(四) 在非全文索引中,Posting lists由文档号d和文档中的词频f组成,一个(d, f)平均用1个字节即可表示;单词t的Posting lists平均长度可以根据t的IDF推算出来。 在全文索引中,单词出现的位置信息占据索引数据的主要部分,所以忽略文档号d和文档中的词频f。用变长压缩算法,单词出现位置平均可以用少于8bit的位表示。设全部文档分词后的单词总数是TN,那么单词t总的出现次数是TN*TF, 它的Posting lists平均长度小于TN*TF字节。

结论(一) 用户的大部分查询中的单词数量比较少,查询一个主题时用2-3个单词就可以描述,查询文章的题目时可能有10个单词以上。不妨设Lq表示用户查询中的单词个数,估计平均Lq等于5。根据前面得出的现在一个磁盘的IOPS=100, 可以计算出在不考虑数据缓存情况下,系统平均每秒钟处理查询的上限是IOPS/Lq=20。根据磁盘的可用带宽大约是20MBytes/s,得出每个查询的I/O应不大于1Mbytes,也就是满足如下条件: TN*TF*Lq≤1MB。 代入以上得出的估计参数,有如下结论: l        对汉语字符: TN≤400MB (TF=0.05%,Lq=5 ) l        对英语单词: TN≤4GB (TF=0.005%,Lq=5 )

结论(二) 由于汉语的一个字符占两个字节,所以如果对汉语字符建索引,要维持每秒20个查询的系统吞吐量,只能索引800MB的文本数据库。英语的一个单词平均占用字节6-8个(包括空格符),故同样情况下可以索引24-32GB的英语文本。 汉语切词后关键词的平均频率达到和英语相近的水平 。在“天网”的检索系统中,使用北大计算语言学研究所开发的切词程序(共收录了7.3万词条 ),切词后对词组建索引。 日本的中日韩词典研究所[41]构建的汉语词典有260万的简体和繁体词条,包括60万的一般词汇(简繁各240,000)和科技术语,200万的人名、地名和公司名称等,它对GB-2312的词频统计显示在第100个词频率已经下降到0.05%。

结论(三) 单机系统支持的检索系统规模在Gbytes级,更大规模的数据必须使用分布并行系统。 “天网”。 Google。 分布式解决了规模问题,但是系统的吞吐量和并发度仍受限于I/O这个瓶颈。 可能必须用内存数据库,将所有数据载入内存,去掉I/O限制。