基于Lucene.net的档案垂直搜索引擎的实现

来源 :北京档案 | 被引量 : 0次 | 上传用户:hdu07095238
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:随着计算机技术的发展,档案信息的检索技术有待提高,垂直搜索引擎作为面向特定主题的搜索引擎,非常适合用来开发专业领域的搜索引擎。介绍了垂直搜索引擎的特点和系统结构,引入了Lucene.net的开源项目,提出了实现基于Lucene.net的档案垂直搜索引擎的设计方案,给出了搜索引擎系统中采集模块、索引模块和检索模块的实现方法。
  关键词:档案检索 垂直搜索引擎 Lucene.net技术
  计算机技术和网络技术的快速发展推动了档案信息化的发展。但是,我国档案信息化建设还处于初步发展阶段,存在许多问题,一些档案馆只提供档案目录的简单检索而不能提供智能化或专门用于档案领域的搜索服务,各类档案资源成为信息孤岛。如何充分利用现有档案资源,提高档案利用率成为我们急需解决的问题。搜索引擎作为互联网发展的核心技术,将互联网上各种不同格式的网络资源搜集并整理,挖掘其中大量隐含资源,提供海量数据服务于用户,在各行各业发挥着重要的作用①。垂直搜索引擎是在普通搜索引擎的基础上发展而来的,是指专门针对某一特定领域的搜索引擎。档案垂直搜索引擎就是将搜索引擎技术引入档案领域,构建面向档案领域的搜索引擎,该搜索引擎可以大量收集互联网上档案相关资源,进行优化整合,提供给用户具有价值的档案信息,最大限度的满足档案用户的需求。
  一、垂直搜索引擎
  搜索引擎一般分为通用搜索引擎和垂直搜索引擎,百度、谷歌、搜狗等均属于通用搜索引擎,通用搜索引擎是针对互联网上所有网站的信息进行搜集和检索,其范围覆盖了各个领域和各个行业。垂直搜索引擎是一种特定面向主题的专业搜索引擎,是针对某一特定领域、某一特定人群或某一特定需求,面向某一特定的用户群体,提供更有价值、更准确的信息服务,是通用搜索引擎的细分和延伸②。与通用搜索引擎相比,垂直搜索引擎具有如下特点:
  第一,垂直搜索引擎面向特定的领域,其信息量相对较小,但对其特定领域资源的覆盖率较高,信息质量较高,保证了搜索引擎对本领域信息搜集的全面性和实时性。
  第二,垂直搜索引擎只涉及特定的领域,用语中出现一词多义的可能性比通用搜索引擎小很多,通过利用特定领域的专业词库,可以保证信息检索的准确性。
  第三,网络爬虫在采集特定领域的信息后,需要对该信息进行结构化提取,并进行深度处理,这样就保证了网页信息抽取的准确性,提高用户的查询效率。
  二、Lucene.net技术介绍
  Lucene.net是一个由c#开发的开源全文索引库,是从apache的lucene项目移植到.Net平台上的③。Lucene.net的开源代码分为核心包和用户接口包,核心包用来实现搜索功能,用户接口包来用实现高亮显示等辅助功能。Lucene.net的核心包是由7个子包组成:
  (1) 索引管理包(Lucene.Net.Index):实现索引的建立、删除和文档中词的排序;(2) 检索管理包(Lucene.Net.Search):利用折半查找进行检索,返回结果;(3) 数据存储管理包(Lucene.Net.Store):实现数据存储等IO操作;(4) 公用算法包(Lucene.Net.Util):封装了一些常用的函数;(5) 文档结构包(Lucene.Net.Documents):描述索引存储中文档结构的管理和操作;(6) 查询分析器包(Lucene.Net.QueryParsers):解析查询串,构成查询对象,通过检索器对其调用,返回查询结果;(7) 语言分析器包(Lucene.Net.Analysis):用于切分放入索引的文档和查询词,可以通过对Analysis进行扩展来实现对自然语言的处理。
  三、基于Lucene.net的档案垂直搜索引擎的设计与实现
  1.系统的总体设计
  基于Lucene.net的档案垂直搜索引擎的设计与实现是在windows平台下进行的,开发工具是Visual Studio 2010和SQL Server 2008数据库。垂直搜索引擎主要是由采集模块、索引模块和检索模块组成。系统的总体设计方案如图1,首先,利用面向档案的主题爬虫通过互联网抓取档案信息。然后利用分词工具对抓取的档案信息进行处理,并建立档案信息对应的索引。最后,由用户输入的关键词,根据已建立的索引进行检索,并返回查询结果给用户。
  2.采集模块
  (1)普通的网络爬虫是从一些种子站点出发,下载种子URL的网页,分析网页中的超链接,并遍历这些超链接,在遍历链接下载网页的同时,提取网页中有用的信息存储在本地。这种爬虫是不适合档案领域的,因为档案领域的爬虫需要搜索的网络范围有限,它不需要去搜索整个互联网,只需要搜索一些指定的档案网站就可以。所以,数据采集模块的核心就是建立一个档案领域的主题爬虫。该主题爬虫的实现方法是:(1)预先定义好要从哪些档案类网站进行信息采集,将要采集档案网站的URL地址作为初始地址放入到一个专门队列URL Queue中,该队列是用来记录网络爬虫需要遍历访问的所有URL地址,如上图(2)。
  (2)从爬虫队列URLQueue中,提取出队列的第一个URL地址,并下载该URL地址对应用的网页。如上图中的(2)。
  (3)网络爬虫下载的网页是以文本格式返回的,文本的内容是含有html标签的网页源文件。网页解析器是将网页源文件作为字符串,通过定义不同的正则表达式与该字符串进行匹配,并从网页中提取需要的信息,去掉无关的信息和html标签。上图中的(3)就是利用网页解析器分析下载的网页,提取网页中含有的所有超链接存入一个用来存储链接地址的列表List中,同时,从网页中解析出档案文件的题名、关键词、内容、发布时间、责任者等信息。
  (4)将从网页中解析出的档案题名、关键词、内容、发布时间、责任者等信息添加到数据采集库中。在添加数据前,需要对每条档案数据进行查重,防止相同的数据多次插入数据库而影响系统的运行效率。如上图中的(4)。   (5)对于从网页中提取出来的所有超链接,利用Page Rank算法计算每个超链接与档案主题的相关度,链接的相关度越高,说明该链接指向的网页越具有较高的价值。通过对每个超链接与主题相关度的计算,排除不相关的链接,将与主题相关的链接加入到网络爬虫要访问的队列URL Queue中。
  循环重复(1)至(5)的步骤,直到爬虫队列URLQueue为空的时候,说明网络爬虫已经遍历了所有与档案主题相关的网页,同时,相关档案信息也被采集到了数据库中。
  3.索引模块
  档案信息被采集到数据库后,就可以对每条信息建立索引了。建立索引的核心是分词,分词的质量会直接影响搜索引擎的搜索速度和搜索精度,由于英文单词是以空格来分开的,所以英文分词相对比较容易,而中文分词就复杂多了,这是因为汉字的排列组合不同,可能使得相同的汉字具有不同的含义,比如“上海”和“海上”虽然由相同的汉字组成,但是其排列方式不同就使得两个词汇的含义完全不同。由于Lucene.net提供的中文分词(CJKTokenizer和ChineseTokenizer)功能较弱,所以应用基于词库的分词方法MMAnalyzer,其分词原理是建立专业词库,并依据词库中的词汇进行分词处理。这样做虽然延长了分词处理时间,却使得分词效果更加理想。建立索引的过程如下:
  (1)提取采集模块中采集的数据,返回结构化的数据。如上图中的(6)。
  (2)要对一条数据进行索引,需要将该数据转化成Lucene.net中的Document格式。如上图中的(7)。
  (3)利用MMAnalyzer分词工具对Document数据进行分词,过滤停用词,建立文档与关键词的倒排序索引。倒排序索引是相对于正向索引而言的,是指建立关键词到文档的映射关系,通过单词来索引文档。最后,建立文档的索引到索引库。如上图中的(8)。
  4.检索模块
  检索模块是根据用户输入的关键词,进行分词处理、过滤处理,并将检索条件封装到查询分析器QueryParse中,通过QueryParse完成检索,返回查询结果,查询结果是与关键词相关的文档集合,这时文档的数目可能很大,Lucene.net会按照这些文档与关键词的相关度由大到小进行排序。,与关键词相关度高的文档排在搜索结果的前面,所以,在每次检索的时候,Lucene.net都需要按照关键词对检索到的所有文档进行评分,根据分值来判断文档与关键词的相关程度。Lucene.net是采用向量空间检索模型,通过Tf-idf算法来计算关键词与文档的相关度来给每个文档进行评分。检索模块的具体实现如下:
  (1)用户输入关键词,如上图中的(9)
  (2)分词工具对关键词进行分词切分,停用词过滤等处理,如上图中的(10)
  (3)将分词后的词汇组成查询条件,封装到查询分析器中,如上图中的(11)
  (4)查询分析器通过与索引库中的索引进行匹配,检索得到与关键词匹配的所有文档,如上图中的(12)
  (5)通过索引模块中建立的文档倒排序索引,利用Tf-idf算法对所有匹配文档进行文档评分,如上图中的(13)
  (6)按照匹配结果中对每个文档的评分,对匹配结果进行相关度排序,与关键词相关度高的文档排在匹配结果的前面,如上图中的(14)
  (7)将经过排序的文档以Hits对象的方式返回用户,完成检索任务,如上图中的(15)
  四、结束语
  目前,我国档案领域的搜索引擎技术还相对滞后,研究和开发档案垂直搜索引擎意义重大。在Lucene.net全文索引库的基础上,开发档案领域的垂直搜索引擎,有利于快速准确的定位到具有价值的档案资源,为档案用户提供更有效更专业的信息服务。
  项目基金:高校青年自然科学基金(52WU1002)基于.Net的电子档案管理系统开发与利用
  注释:
  ①王振华.档案领域垂直搜索技术的研究与实现[D].上海:东华大学,2010
  ②刘朋.基于lucene的垂直搜索引擎关键技术的研究应用[D].武汉:武汉理工大学,2009
  ③李占波等.基于DotLucene的垂直搜索引擎的研究[J].微计算机信息,2007,23
  作者单位:天津师范大学档案馆
其他文献
当今社会转型时期,因市场经济改革的冲击打破全社会以往的利益平衡,在人们心灵深处产生了空前的激荡和冲突,使一些人理想信念发生动摇,出现信仰危机,迷失了前进的方向,这就需
随着企业业务的不断拓展和信息技术的蓬勃发展对各行业的冲击,原有企业应用系统问题逐渐暴露,为进一步推进企业的信息化造成了障碍。因此,探索符合企业实际生产的应用系统集
1 母猪的饲养管理1.1 后备母猪的饲养管理 后备母猪的科学饲养管理。对母猪的适时初配,提高母猪产仔率,延长繁殖寿命都有密切的联系。后备母猪上圈后,必须供给充足的配合饲料,保持
先进的企业文化是企业核心竞争力的重要组成部分,国有企业要大力推进先进企业文化建设,必须在企业领导的高度重视下,适应市场的竞争需求,依靠科学的管理,以人为本,全面提升企
本文根据北京市档案专业在职培训的现状和存在的问题,就建立在线学习系统,实现网络培训以及面授培训与网络培训的有机结合、共同发展阐述了个人的观点。
2009年5月,北京市住房城乡建设委接到市档案局《关于举办全市档案系统文艺汇演的通知》后,立即着手筹备档案系统文艺汇演事宜,上至领导下到参演单位高度重视、认真组织好相关工
从石油开采过程中产生的特征固体废物——油泥沙环境管理角度出发,对在使用现行的固体废物法律法规体系过程中,现有固体废物管理法规体系与实际应用情况存在的脱节进行了详细
1削蹄的作用给奶牛削蹄能及时矫正蹄形,恢复蹄的正常生理机能;削蹄能减少蹄病的发生率;削蹄能减少奶牛的淘汰率.延长奶牛生产利用年限。
档案作为历史的记录、知识的载体,汇集着大量的信息,且是最原始、最可靠的信息,具有不可估量的开发利用价值。开发档案信息资源、服务和谐社会已成为档案工作的一个中心课题,是信
国有企业的活力在很大程度上取决于如何创新人力资源开发机制,建立人才配置市场化机制,实现企业人才资源的优化配置。建立人才分配价值化机制,建立人才使用和业绩化机制,建立