全文检索系统论文.docx
《全文检索系统论文.docx》由会员分享,可在线阅读,更多相关《全文检索系统论文.docx(63页珍藏版)》请在三一办公上搜索。
1、全文检索系统论文摘要 中文全文检索系统是信息产业中发展较快的一个领域,而一个中文检索系统的核心就是索引器,本文介绍了索引器构造的不同算法模型,对相关的技术进行了比较,分析了各自的优缺点和实现难点,提出了一种中文全文检索中索引实现的数据结构和新型的算法模型。 本文首先综述了中文全文检索中索引构造的相关技术,主要包括索引文件数据结构、索引单位选取和索引压缩算法。 在上述综述的基础上,本文采用了基于单字的倒排表文件格式和可变字节编码压缩技术实现了整个索引系统。该系统包括三方面的功能分别是:文本预处理、索引创建和索引更新。 在文本预处理部分实现了中文、外文和特殊字符的分离,同时实现了停止词 (stop
2、word)的删除。 在索引创建部分本文首先给出了一种基于传统倒排表的索引创建算法合并排序式索引创建算法,该算法需要源文本10倍大小的临时空间。为了解决合并排序式索引创建算法临时空间过大的问题,本文提出了一种新的索引创建方案,该方案采用分级的倒排表索引组织结构和链式顺序混合存储的方式。它不仅不需要额外的临时空间,而且还提高了索引创建的效率。在索引创建的过程中本系统采用了可变字节编码压缩技术对索引进行压缩,实验表明该压缩算法将索引文件大小减少了20-30%。 在索引更新部分本文提出了三种顺序存储方式下准动态的索引更新策略,一种链式存储格式下索引动态更新的算法。该系统采用的链式存储结构下的索引更新算
3、法复杂度达到了O(n)。 关键词:中文全文检索;索引器;倒排表;索引压缩 ABSTRACT Chinese Full-Text Retrieval System is one of the fast developing fields in information industry , and the core of the Chinese retrieval system is the Index device. The paper analyzes several different algorithms of constructing the index device, and comp
4、ares the related techniques, and then gives the advantages and disadvantages of each and the difficulty of achieving. Fnially this paper gives the data structure and a new algorithm model of The index in full-text retrieval system. This paper first summarizes the related techniques of index construc
5、ting in Chinese Full-Text Retrieval, mainly includes data structure of document indexing, index compression algorithms. The further way, this paper implements the entire index system using the setechniques, such as character based-on Inverted lists and the variable byte coding compression algorithm.
6、 This system includes three functions respectively is:Text pretreatment, index foundation and index up dating. In the part of text pretreatment, has realized separation of Chinese, foreign and the Special character, and has realized deletion of stopword. In the part of index foundation, produces one
7、 kind index foundation algorithm based on traditional Inverted ListsSort-Merge method. This algorithm needs the 10 time of sizes for temporary spaces than the source text. Inorder to solve the problem of oversized temporary space in above algorithms, this paper proposed a new index foundation plan.
8、The index organizational structure of this plan is improved Inverted lists, and its memory way is mix of chain ando rder. It not only does not need the extra temporary space, but also enhances the efficiency of index founding. In the process of index founding, using the invariable byte code compress
9、ion technology to carry on the Compression of index, the experiment tindicates this compression algorithm reduced the size of index document 20-30%. In the part of index renewal,this paper proposed three dynamic index updating strategies based on order memory, and a kind of index dynamic updating al
10、gorithm based on chain memory. The experiment indicates that index renewal algorithm complex has achieves O(n) based on chain memory. KEYWORDS:Chinese Full-Text Retrieval;Index device;Inverted Lists;index 引言 11研究背景 在信息时代产生了大量数字信息,其中文本信息是最基本和常用的形式,为了能在海量的文本信息中找到自己的所需,人们迫切需要一个高效的检索工具。怎样高效的存储和查询文本这种非结构
11、数据,就是一个颇值得研究的问题。这其中以全文检索技术成为国内外学者研究的热点。 全文检索(Full-text Retrieval)是以文本数据为主要处理对象,基于全文标引,使用自然语言进行检索的技术。在信息检索领域,全文检索一直是一个比较复杂的问题.与普通数据库检索所设计的结构化数据查询不同,全文检索不仅要查询结构化数据,而且还要查询非结构化数据,比起标引检索来,全文检索提供了全新的,强大的检索功能,方便多角度、多侧面的综合利用信息资源。当今以全文检索为核心技术的搜索引擎已成为网络时代的主流技术之一。 在文本检索中,为了满足一定的查询性能要求一响应时间(Response Time)和系统吞吐量
12、(Throughput),词表和文档元数据的存储要有良好的设计,文献就检索效率问题作了详细的论述.文本检索有几种主要建索引的模型:倒排表、正排表、后继数组模型、互关联后继数组模型等,其中倒排表是最常用的,它的存储设计也是文本检索中的基本问题之一。目前很多主流的全文检索系统用自设计的文件来存储倒排文件,比如易宝北信TRS。当倒排文件比较大时,就要考虑压缩。压缩在大规模文本索引时尤其重要,目前比较流行的压缩算法有以下几种:按位紧凑压缩法、可变字节编码、Elias gamma coding、Golomb coding等。压缩算法的好坏不能只用其压缩率来衡量,在考虑到压缩率的同时也要考虑到解压所用的时
13、间。 国外的全文检索软件虽然较早地得到应用,但对中国用户有很多不适用的地方。中文全文检索技术在原理上同西文全文检索是一致的,但汉语本身的特点使中文系统的实现比西文系统更为复杂。全文检索的核心技术是将源文档中的所有的基本元素的出现信息记录到索引库中fill.在中文系统中,基本元素可以是单个汉字字符,也可以是词。因此存在两种基本的索引库结构,即基于字表的索引库和基于词表的索引库。字表法和词表法各有优缺点.国内学者对此都各有侧重研究,前者实用性很强,构建直观方便,纵观近几年单汉字标引和检索技术的发展,其发展趋势可归结到两点:一是在单汉字标引和检索技术中引入受控标引和检索的技术和思想;二是引入人工智能
14、技术。检索方面,比较实用的是 “首字直接匹配法”,词表法多集中在中文自动分词研究,自然语料统计分析等方面。 12 索引在中文检索中的位置及研究现状 全文检索是指计算机索引程序通过扫描文章中的每一个词,给每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。 在上段全文检索的叙述中提到了索引,为什么要建立索引?索引对于全文检索到底意味这什么?在Otis Gospodnetic和Erik Hatcher的lucene in action一文中提到 “在搜索引擎的所
15、有概念中最为核心的概念就是索引,索引就是把原始的数据处理成一个有利于高效检索的数据形式。”他们就为什么要进行索引给出了具体和形象的说明:“假如你需要在很大量的文中进行某个特定信息的检索,并且你想在非常短的时间内找到含有需要信息的文件,你会怎样写程序实现这些?最简单的方法是顺序扫描所有的文件寻找给定词和短语,但这种方式有一些缺点,其中最致命的是当文件很大时根本没有足够的空间来存储该文件,这就是为什么需要索引了,为了在大量文本中检索到所需要的信息,首先必须把源文本集转换成一另一格式的文件,这种格式的文件能够让你进行快速的检索,而不是只进行很慢的顺序扫描。”这个转化的过程就是索引化,该过程输出的结果
16、就是 “索引气在上文中可以知道索引是全文检索的 “心脏气下面的全文检索的模型结构图能够清晰的说明索引在全文检索中的地位。 下图即为全文检索的模型结构图: 查询引擎 文本处理引擎 搜索命令 应 用 程 索引引擎 序 开查询结果 发 查询结果处理 索引文件 文本数据库 图1-1全文检索结构模型图 全文检索系统是按照全文检索理论建立起来的用来提供全文检索服务的软件系统,一般来说,全文检索要具有建立索引和提供查询的功能。从上图中可以看 出,全文检索系统中最为关键的部分是全文检索引擎,各种应用程序都需要建立在这个检索引擎之上。在检索引擎中可以看出索引引擎占据了核心的位置,他是整个检索效率的重要决定因素,
17、一个全文检索应用的优异程度,根本上由全文检索引擎来决定。而全文检索的效率主要是由一个索引引擎所决定的。 13本文论文安排 鉴于上文的分析,知道一个优秀的索引引擎对于全文检索非常重要。本文的主旨就是建立一个全文检索的索引系统。本文主要的工作安排如下: 第二章主要阐述了基于中文全文检索索引器的功能。同时给出了通用索引器的组织结构图:一个索引器应该包文本预处理模块,创建索引模块以及索引维护模块。 第三章论述了中文全文检索索引所设计的主要技术问题。主要有索引文件结构的选择,索引元的选取以及索引压缩算法的比较分析等。同时给出了基于字和基于词的索引器优缺点的比较。 第四章中给出了基于单字的中文全文检索的索
18、引器的设计方案和实现过程,其中包括索引文档的创建,索引文档的动态更新和删除以及索引压缩算法的实现。 第五章索引压缩算法测试结果以及索引创建效率分析。 第六章是小节篇,总结了本文所做的工作,找到了不足之处,给出了下一步工作的方向。 2中文全文检索中的索引器的结构和功能 21全文检索索引器的结构 在下图中可以看出一个索引器有三部分组成,第一部分是文本预处理模块,在该模块中针对给出的待索引的文本进行预处理,然后对经过处理的文本进行索引的建立,在索引建立后由于待查文档的改变要对索引尽心维护。索引维护主要涉及的问题是:源文档增加时将新的索引附加到原来的索引上,当源文档改变时,将其相对应的索引文件更新,但
19、某些文档不在需要时,也要将其相对应的索引文件删除。 具体的结构图见图2-1: 索引器 外部接口 文本预处理 建立索引 索引维护 文本数据库 索引数据库 外部接口 图2-1索引器结构图 22 全文检索索引器的基本功能 一个中文全文检索的索引器应该实现三部分的功能。第一部分是文本预处理,一般需要检索的文档成分比较复杂,需要用文本预处理将文档中的中文,数字,符号,以及西文分开并归类然后分别对其建立索引。由于中文语言的复杂性 (见 3.3.3节分词技术说明)在预处理这部分需要包括中文索引单位的选取,目前主流的有两类:一类是单字,一类是分词。 第二部分功能是创建索引,利用选定的索引数据结构对源文档遍历建
20、立索引。 第三部分功能是实现索引的维护,包括索引删除,索引增加,索引更新。 3中文全文检索索引器构造相关技术综述 一个完整的中文全文检索的索引器的构造涉及到索引数据结构的选取,索引单位的选定,以及整个索引器的结构,索引采用的策略,以及有关索引压缩算法的研究。在本章中介绍了索引数据结构以及其相关的工作原理,分析了一种基于单字的索引器的构造及工作原理以及基于分词技术的索引的构造方案,在最后的一小章中介绍了一些主流的压缩技术,并给出了这些技术与索引的结合应用。 31索引数据结构及其相关原理 索引文件有多种组织形式,其中以正排表、到排表以及后继数组比较常用。下面分别介绍正排表、倒排表以及后继数组的结构
21、和工作原理。 3.1.1正排表的数据结构和其工作原理 正排表是以文档的ID为关键字,表中记录文档中每个字的位置信息,查找时扫描表中每个文档中字的信息直到找出所有包含查询关键字的文档。正排表结构如图3-1所示,这种组织方法在建立索引的时候结构比较简单,建立比较方便且易于维护;因为索引是基于文档建立的,若是有新的文档假如,直接为该文档建立一个新的索引块,挂接在原来索引文件的后面。若是有文档删除,则直接找到该文档号文档对因的索引信息,将其直接删除。但是在查询的时候需对所有的文档进行扫描以确保没有遗漏,这样就使得检索时间大大延长,检索效率低下。 由于正排表的工作原理非常的简单,但是由于其检索效率太低,
22、几乎没有什么实用价值,所以在此不作详细介绍。 文档1 Word1 Word2 文档1 Word1 Word2 图3-1正排表结构图 312倒排表的数据结构和工作原理 倒排表以字或词为关键字进行索引,表中关键字所对应的记录表项记录了出现这个字或词的所有文档,一个表项就是一个字表段,它记录该文档的ID和字符在该文档中出现的位置情况。由于每个字或词对应的文档数量在动态变化,所以倒排表的建立和维护都较为复杂,但是在查询的时候由于可以一次得到查询关键字所对应的所有文档,所以效率高于正排表。在全文检索中,检索的快速响应是一个最为关键的性能,而索引建立由于在后台进行,效率相对低一些,不会影响整个搜索引擎的效
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全文 检索系统 论文
链接地址:https://www.31ppt.com/p-3292912.html