- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 文本索引和搜索
第五章:文本索引和搜索 任飞亮 东北大学自然语言处理实验室 2010 基于归并的方法 优点: 适用于各种大小的文档集合,即使对于内存不大的机器也同样有效和实用; 该方法仅需一次扫描和分析文档,效率较高。 倒排索引主要内容 倒排索引简介 倒排文件的使用 倒排文件的建立 倒排文件的维护 倒排文件的压缩 倒排文件的性能分析 词汇表的存取 倒排文件的维护 维护倒排文件通常需要三种维护操作 插入、删除和更新文档或文档集合 通常的更新操作需要较高的代价 例如,要在存储了单词位置信息的倒排文件中进行一篇文档的更新,即使该文档仅仅改动很小的部分,文档中出现的大部分单词的记录表都需要做出改动。 原因:单词的位置很可能发生变化,这就需要频繁地读取和修改记录表,这种代价是相当高的。 因此,在维护倒排文件时,一般不进行更新操作,而是使用删除+插入操作代替 插入操作的维护 在已有的倒排文件中插入一篇文档相当于在该文档包含的单词所对应的记录表后面插入此文档的编号或者每个单词的位置信息 对于一般的文当,这种插入需要调用获取记录表并在其末尾添加该文档或者单词位置信息的操作多次,以目前的硬件水平,这种操作需要较长的时间。 如果使用批量插入,效率将大大的提高 类似归并操作,首先为待插入的多个文档建立临时内存索引结构,然后一次性地将此索引结构插入到原索引中; 在生成批的时候新插入的文档不能马上被检索,会造成索引内容滞后的问题,可以通过对临时内存索引进行检索解决 除使用批量插入方法外,还可以在新文档中包含单词被用户检索的时候进行该单词词表的更新,或者使用后台进程在机器空闲的时候进行插入操作; 效率都不如批量插入效率高 删除操作 文档的删除操作与插入操作类似,其瓶颈也是记录表从磁盘读取和写回的过程; 也可使用批量删除的方法 为了保持删除的及时性,需要维护一张删除文件列表 在检索时如果结果包含列表中的文件,则将其从结果中删除 总之,在维护倒排文件的时候,无率是插入操作还是删除操作,为了提高效率,必须想办法减少读写磁盘的操作,即提高磁盘I/O的效率 倒排索引主要内容 倒排索引简介 倒排文件的使用 倒排文件的建立 倒排文件的维护 倒排文件的压缩 倒排文件的性能分析 词汇表的存取 倒排文件的压缩 优点 减少内存和磁盘的空间占用 提高磁盘的吞吐量,提高索引维护和查找的效率 压缩分类 有损压缩 去停用词、词干提取等技术 使用这些技术会损失一些原文中的信息; 无损压缩 在压缩倒排文件的同时,其原始信息完全被保留,不会缺损。 分词汇表的压缩和记录表的压缩 词汇表的压缩 在检索的时候,需要经常查询词汇表,在理想情况下,应将词汇表始终置于内存之中。 实际情况: 随着文档数的增多,词汇表也将逐渐增大; 存在一些对内存使用有限制的应用 必须对词汇表进行压缩; 压缩常用方法: 使用一个长字符串连续存储词汇表 见下页图 词汇表的压缩 使用长字符串连续存储单词表 这样的存储方式紧凑,且不会出现溢出问题; 通过该种简单的压缩方式,可以很容易地将词汇表压缩为原来大小的50%左右 记录表的压缩 文档和单词的位置使用16位或32位整数表示 16位太小,32位太大,浪费空间 解决方法:仅记录相邻文档编号或词位置之间的差异 用比较少的字节表示编号的相对变化 database D345, 25, 34, 98, 120 D348, 37, 71, 85 database 345, 25, 9, 64, 22 3, 37, 34, 14 Word positions 记录表的压缩 (2) 整数的定长表示不是特别的节省空间 对于常用词相对变化不多,使用16位编码,浪费空间 对于非常用词,有可能仅存在于少数的文档之中,16位表示会溢出 解决方案:变长整数表示 基本原理 使用较少位数表示较小,出现次数较多的整数 使用较多位数表示较大,出现次数较少的整数 倒排表压缩总结 优点: 1、降代了索引在内存和磁盘中占用的空间,经过适当的压缩,索引的大小可以降为原始文档的25%左右; 2、由于索引被压缩,提高了磁盘的传输效率,使得查询的速度加快; 3、由于磁盘传输效率的提高,使得索引的构造和维护的效率也得到提高; 4、另外一个隐含的好处是,这样提高了倒排文件的缓存能力;进而提高了检索的速度 倒排表压缩总结 负面影响: 1、在搜索时必须花时间对压缩的数据进行解码; 2、在维护时,特别是进行删除操作时,由于某些文档被删除,不得不对剩余的文档编号进行重新编码; 总体上:利大于弊 倒排索引主要内容 倒排索引简介 倒排文件的使用 倒排文件的建立 倒排文件的维护 倒排文件的压缩 倒排文件的性能分析 词汇表的存取 倒排文件性能分析 可以证明,使用倒排文件,检索查询的开销与文档集合大小成次线性关系,其时间复
文档评论(0)