论文部分内容阅读
全文索引和检索是一种非常高效的信息检索技术,它极大地提高了从大量纷繁复杂的数据中查找特定信息的效率。作为开源组织ApacheJakarta的成员项目,Lucene是一个成熟、自由、开源的软件项目,是一个高性能的、可扩展的信息检索工具库,可以方便快捷地融入到应用程序中以增加索引和搜索功能。
目前,Lucene的核心包和扩展包对中文分词采取类似英文的机械式切分方法。但是,由于中英文之间在形式上存在着巨大的差异,这种切分方法的分词效果是非常粗糙和低效的。在对包括中文分词技术在内的全文检索技术进行分析和研究的基础上,本文设计实现了一个基于词典的、采用正向最大匹配算法的中文分词模块。测试结果表明,与Lucene内核包采用的单汉字切分方法和其扩展包针对中日韩等亚洲语言采用的二元切分方法以及传统的基于词典的中文分词方法相比,该模块具有效果更好、性能更优的比较优势。
此外,信息检索的实践表明,由于自然语言中存在着大量的同义词、近义词,用户在检索的时候很难全部列举出表示同一概念的不同词汇表达形式,因而易造成漏检。本文实现了一种同义词检索的解决方案,提高了查全率。Lucene使用了倒排索引结构,查找效率高,节省空间。被索引的词条除文本值外,还有其所在的文档号,出现位置和出现频率等信息,在写入索引的过程中通过人为干预,将原词条的同义词插入语汇单元流的适当位置,并设置其位置信息,索引后的同义词在文档中的位置和原词条一致,可以达到检索包含输入词的同义词的记录的效果。本文在设计词典时加入了同义词的存储结构,事实证明具有较高的访问效率和容易维护的特点。
在应用方面,本文主要工作是专利著录项目检索系统的设计与实现。系统在文档数据加工、格式转换等相关工作的基础上,完成构建分词器、索引器、查询器、数据库存储设计等内容,最终实现了系统对中外文专利著录项目的检索、文摘信息浏览、全文说明书的查看和下载等功能。