1、基于双层PDF技术的数字档案馆全文检索实践基于双层PDF技术的数字档案馆全文检索实践基于双层PDF文档的全文检索技术在数字档案馆中的应用贺志军 向 禹(湖南长沙 中南大学档案馆 410083)【摘 要】本文通过基于双层PDF文档的全文检索技术运用于B/S结构的档案管理系统的研究实践,实现了高效、快捷的档案检索,实现了高查全率和高查准率,界面友好,可靠安全,扩展性强。【关键词】双层PDF 全文检索 数字档案馆【分类号】G270随着社会信息化程度的提高,人们对档案信息资源的依赖程序也越来越高,对高效率的档案资源管理、检索利用的需求也越来越迫切,发展数字档案馆是社会发展的必然,数字档案馆是一个提供档
2、案远程服务和信息共享的平台。近年来,数字档案馆的研究和建设也如火如荼的开展起来,数字档案馆的平台呈现多样化,档案数字化加工也存在着不同标准,建设数字档案馆的最终目标都是为了档案永久存储和高效利用,本文以中南大学数字档案馆建设实例,着重讨论数字档案馆建设中的全文检索技术。1 概述1.1 全文检索 全文检索是计算机程序通过扫描文件中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据索引进行查找,类似于通过字典的检索字表查字的过程。 档案的收藏是为了利用,档案检索应该把查全率摆在首位,兼顾查准率。数字档案馆要提供便捷的查询和高查全率,必须建设全文检索系统,全文检索
3、系统由索引模块、分词模块、检索模块和存储模块等构成。1.2 双层PDF技术双层PDF文件是一种包含Text层和Image层的多层结构PDF格式文件,两层内容位置上一一对应。Image层是原始图像,保留了原始档案的效果;Text层是Image层的识别结果,支持选择、检索和复制等功能。通过程序控制可实现两个图层的任意显示和切换,可实现检索词的精确定位。双层PDF加工是指将其它文件(可以是WORD、也可以是图像文件)转换,或者将标准纸质文档通过扫描后,经过去污、修正和OCR识别,通过软件生成双层PDF文档,然后挂接到档案管理系统的相应目录下。1.3全文检索的意义全文检索是一种很重要的检索途径,弥补了
4、目录检索的不足,也解决了目录著录不全、不规范等问题,大幅度提高了查全率。由于全文检索不是直接访问数据库,而是通过对数据库中的数据或者对双层PDF文件的Text层进行索引,因此用户搜索对数据库的压力为零,可以达到毫秒级的检索速度和每秒数百次的并发访问,大大提升检索速度。2 全文检索在数字档案馆的实现2.1 创建全文数据库 我们采用湖南德立信软件开发有限公司的档案数字化加工系统和PDF车间进行纸质档案的数字化加工,实行流水线作业,将档案扫描加工为电子档案;使用双层PDF车间,将文件识别为文字,然后再将Text层和Image层组合成为一个完整的双层PDF文件。我们仍然采用目前技术成熟、广为流行的基于
5、目录数据库挂接方式来实现PDF文件的挂接,对档案内容数据及其元数据等相关信息建立永久联系,形成数据包。2.2 创建索引将制作好的PDF文件和数据包通过调用德立信全文检索系统(Delisun Text)内核函数建立对应的索引文件,抓取和解析数据,创建索引的过程实际上也就是将数字化档案原文及其原数据(包括结构化和非结构化数据)信息提取并创建索引文件的过程。2.2.1索引创建:为了对文档进行索引,Delisun Text 提供了五个基础的类, Document、 Field、IndexWriter、Analyzer、Directory。1、首先指定生成Index目录。2、建立索引器indexWrit
6、er,生成index对象,把一个个的 Document 对象加到索引中来。3、建立信息字段对象Field,描述文档的某个属性,如文件标题和内容可以用两个 Field 对象分别描述。4、建立文档对象Document,用来描述文档,内容可以从TXT、HTML等文档及数据库等多种途径获得,一个 Document 对象由多个 Field 对象组成的。也可以把一个 Document 对象看作数据库中的一个记录,而每个 Field 对象就是记录的一个字段。在一个文档被索引之前,首先需要对文档内容进行分词处理,这部分工作就是由 Analyzer类来完成。Analyzer 类是一个抽象类,它有多个实现,针对不
7、同的语言和应用需要选择适合的 Analyzer。Analyzer 把分词后的内容交给 IndexWriter 来建立索引。在分词时,如果用来进行索引的文档不是纯文本,先得转换成纯文本才能再进行操作;对同一索引,用来分词建立索引的分词器与用来查询的分词器必须是同一个,才能保证得到正确的查询结果。 5、将Field添加到Document里面,再将Document添加到IndexWriter里面。6、优化indexWriter对象,Directory类代表了 Lucene 的索引的存储的位置,它是一个抽象类,有两个实现,一个是 FSDirectory,它表示一个存储在文件系统中的索引的位置;其次是
8、RAMDirectory,它表示一个存储在内存当中的索引的位置。通俗的讲,索引过程也可以理解为四个阶段:1) 有一系列被索引文件;2) 被索引文件经过语法分析和语言处理形成一系列词(Term);3) 经过索引创建形成词典和反向索引表;4) 通过索引存储将索引写入磁盘。最后完成index的生成。2.2.2索引管理: 1 查看索引,读取指定路径索引中是否存在;索引中包含的文档,词条情况,是否需经过优化等;最后一次修改的时间,路径信息,含有的文档数目等;读取索引词条相关基本信息。 2 删除索引,删除指定序号的文档之后,自动删除对应的索引文件;恢复被删除的文档及索引。 3 更新索引,更新索引中的某个文
9、档; 另外就是,索引同步处理,用户可根据需要自己定制创建索引时间,可定时更新也可以实时更新。2.3 全文检索2.3.1 检索过程全文检索实际上是一个复杂的过程,主要分为以下步骤: 第一步:用户输入查询语句。 第二步:对查询语句进行词法分析和语法分析,得到一系列的词,然后进行语言处理。词法分析主要用来识别单词和关键字;语法分析主要是根据查询语句的语法规则来形成一棵语法树;语言处理同索引过程中的语言处理几乎相同。通过分析和处理,得到一个查询树。 第三步:搜索索引,得到符合语法树的文档。1)在反向索引表中,分别找出包含查询内容的文档链表;2)对包含查询内容的链表进行合并操作,得到包含查询内容的文档链
10、表;3)将此链表与查询内容的文档链表进行差操作,去除无关的文档信息,从而得到包含查询内容的精确的文档链表;4)此文档链表就是我们要找的文档。 第四步:根据得到的文档和查询语句的相关性,对结果进行排序。1)一个文档有很多词(Term)组成;2)找出词(Term) 对文档的重要性的过程称为计算词的权重(Term weight) 的过程;3)判断词(Term) 之间的关系从而得到文档相关性的过程应用向量空间模型算法(Vector Space Model);4)最终计算出权重(Term weight)。第五步:将查询结果返回给用户界面。2.3.2 用户界面设计 直观实用的用户界面,用于接收系统返回的检
11、索结果:1)高亮显示结果条目中的检索条件,可根据需要通过Lucene高亮处理基本设置;2)提取过滤搜索结果,对搜索结果进行排序,初始的结果排序列按相关性计算出的权重值从大到小排列;3)对提取过滤搜索结果可进行二次过滤搜索;4)根据档案管理系统权限,对检索出的结果可进行下载与浏览。2.3.3 原文获取和定位通过检索过程,在用户界面得到了查询结果,接下来,在检索利用中,便是要获取PDF原文,并查出检索词在原文中的具体位置。这里,我们运用Acrobat Reader(创建和阅读PDF文档使用最广泛的软件),结合档案管理系统,自动实现检索词在原文中的定位。1、在多个PDF文档中查找文本Reader 软
12、件本身对双层PDF文档的查找、文本复制、双层切换等功能都提供了支持,“搜索”窗口允许在多个 PDF 查找项目。打开 Reader在“查找”工具栏,键入需要查找的文本然后从弹出菜单选择“打开完整的 Acrobat 搜索”。在“搜索”窗口,选择“所有 PDF 文档,位于”。从本选项下方弹出菜单选择“查找位置”。运用Acrobat Reader,可以实现在检索词在指定文档中的定位。2、在检索结果中自动实现PDF文档的定位档案管理系统的用户界面获取了来自检索系统的信息之后,如果实现从超级链接到自动打开PDF文档,以及检索词在文档中的精确定位呢?以下便是实现这一功能的代码的一部分。PDF控件代码: PA
13、RAM name=SRC value=3 总结经过实际测试,基于双层PDF文档技术的全文检索,有效的提高了查询利用工作效率,它通过对档案数据库的数据和双层PDF文档的TEXT层建立索引,查询时不访问数据库,有效减轻数据库和系统的压力。目前可以支持1000万级的数据,毫秒级的查询时间,每秒500人的并发访问,从而实现大容量、高速度的目标;可以适应linux和window平台,支持多种数据库接口;它具备通用搜索引擎的构架和功能,可以对用户的输入进行分词,可以进行多关键字搜索、关键词组合搜索,用户友好;同时能够根据客户的需求进行用户的数据挖掘,提高档案全文检索系统的价值。通过全文数据库及全文检索的实
14、现,得到高查全率和查准率,大幅提高档案的利用价值;同时,对档案编研也起到积极的作用;也为档案信息聚合(RSS,也叫聚合内容,Really Simple Syndication)的研究、定向的档案信息服务研究或者更深层次的档案服务奠定了基础。 【参考文献】1 李靖等. 基于Lucene的全文检索引擎的研究与应用J淮阴工学院学报,2008,(02).2 员建厦. Oracle全文检索及自动更新索引的实现J计算机与网络,2007,(12).3 刘清杰. 一种基于全文检索技术的数字档案馆解决方案J办公自动化,2009,(10).4 朱虹; 吴林. 倒排索引压缩及在RDBMS全文检索中的实现J华中科技大
15、学学报(自然科学版),2009,(4).5 张颖; 朱大鹏. 基于任意字串的全文检索算法J河南师范大学学报(自然科学版),2009,(4).6 解鹏飞. Lucene搜索引擎技术在国家海洋数字档案馆示范系统中的实现及应用J海洋环境科学,2008,(8).7 刘清杰.一种基于全文检索技术的数字档案馆解决方案ZOA2010办公自动化国际学术研讨会论文集,2010,(7).【作者简介】贺志军,1965年生,男,博士,副研究员,江西人,现为中南大学档案馆馆长,发表专业论文十余篇,参与多项省部级课题;向禹,1976年生,男,副研究馆员,毕业于湘潭大学图书情报、计算机应用专业,现为中南大学档案馆综合办公室主任,发表专业论文十余篇,参与省级课题多项。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1