资源描述
本科学生毕业论文
学术论文相似度评估的研究
黑 龙 江 工 程 学 院
二○○八年六月
The Graduation Thesis for Bachelor's Degree
Research on the Similarity Assessment of Academic Paper
Heilongjiang Institute of Technology
2008-06·Harbin
黑龙江工程学院本科生毕业论文
摘 要
互联网的发展为人们共享信息提供了前所未有的条件,然而,这也为一些人的抄袭行为提供了便利。于是我们不得不对一篇学术论文是否存在抄袭现象进行评判。目前,国内尚没有相应的技术手段来解决这一问题,针对这一点,本文提出并实现了学术论文相似度评估系统,通过检测论文间的相似度来评判是否存在抄袭现象。
本系统采用n元文法结构作为索引单元设计基础,以相同的切分方式来处理查询文档和待检索文档。本文利用开源的Lemur Tookit作为检索系统基础,以概率模型Okapi 为检索模型,以BM25为相似度计算公式建立系统。在得到的检索结果反馈中如果有论文的权重值明显高于其他各文档,则判定存在抄袭行为该篇论文即为被抄袭论文,并将其返回给用户做更进一步的评判。
实验表明,相似度评估系统完全是可行的。本系统的运用会降低当前学术论文评审者们的劳动量,提高评审效率,同时也在很大程度上保护了论文作者的合法权益。它的发展势必为广大用户带来更高效快捷的服务。
关键词:信息检索;n元文法;索引;Lemur;相似度
ABSTRACT
The development of the Internet for people to share information provided unprecedented conditions, however, for some people's acts of plagiarism has facilitated. So we have to the existence of an academic paper to judge the phenomenon of plagiarism. At present, China is still not the appropriate technical means to resolve this problem, for this point, this paper and to achieve the academic papers similarity assessment system, by detecting the similarity between the papers to be judged by whether there is the phenomenon of plagiarism.
The system uses n-grammar structure as the index unit design basis, with the same segmentation approach to search for documents and question the document. By using open source Lemur Tookit retrieval system as a basis for probability model for the retrieval Okapi model to BM25 similarity formula for the establishment of systems. With the feedback in the search results if a paper weight was significantly higher than that of other documents, determine the existence of acts of plagiarism is the papers were copied papers, and returned to the user to do further evaluation.
The experiments show that the similarity assessment system is entirely feasible. This system will reduce the use of the current academic papers to have the assessment of labor, increase efficiency assessment, and also to a large extent to protect the legitimate rights and interests of the author's thesis. Its development is bound to bring customers more efficient and efficient service.
Key words: Information Retrieval;N-gram;Index;Lemur;Similarity
II
目 录
摘要 I
Abstract II
第1章 绪论 1
1.1 研究的背景和意义 1
1.1.1 研究的背景 1
1.1.2 研究的意义 2
1.2 研究现状 2
1.2.1 信息检索技术现状 2
1.2.2 中文分词技术现状 4
1.3 本文的组织结构 4
第2章 Lemur系统建立及检索模型介绍 6
2.1 Lemur介绍 6
2.1.1 Lemur概要 6
2.1.2 Lemur的特点 6
2.2 Lemur检索系统的建立 6
2.3 检索模型概要 8
2.3.1 文本检索的基本概念 8
2.3.2 文本检索模型介绍 9
2.4 系统测试 10
2.4.1 测试环境 10
2.4.2 评价方法 10
2.4.3 实验结果 11
2.5 本章小结 11
第3章 pdf转txt介绍 12
3.1 PDF与Xpdf概要 12
3.2 Xpdf的下载与安装 12
3.2.1 Xpdf下载 12
3.2.2 安装 12
3.3 Xpdf的使用 13
3.3.1 Xpdf参数文件的配置 13
3.3.2 Xpdf的使用 15
3.4转换结果 16
3.5本章小结 17
第4章 基于Lemur的论文相似度评估系统 18
4.1系统概要 18
4.1.1 基于Lemur论文相似度评估系统建立介绍 18
4.1.2 基于n元文法的检索策略 18
4.2 系统建立 20
4.2.1 待检索文档处理及建立索引 20
4.2.2 查询文档处理 25
4.2.3 进行检索 26
4.3 实验结果 27
4.3.1 实验环境 27
4.3.2 实验结果 27
4.4本章小结 28
结论 29
参考文献 30
致谢 31
第1章 绪 论
1.1 研究的背景和意义
1.1.1 研究的背景
随着计算机的出现与普及,尤其是上世纪90年代互联网蓬勃兴起之后,人们摆脱了信息贫乏的桎梏,进入了一个高度信息化的时代里,Internet作为一个信息共享平台在人们的生活和工作中发挥着越来越重要的作用,它的发展为人们共享信息提供了前所未有的条件,人们越来越多地通过互联网获取信息。信息资源的共享程度越来越高,这无疑方便我们对信息资源的获取节省了我们大量的时间和精力。但与此同时也为一些人的抄袭窃取行为提供了便利,大量的毫无新意千篇一律甚至大断抄袭的学术性论文层出不穷。应当承认,“模仿”作为特殊时期一种特殊的学习手段,有着一定的价值,但是那只局限于学习的初级阶段,最重要的是要在此基础上发展创新。因此,判定论文原创性的相似度评估就显得尤为重要,但是,目前在国内尚没有采用相应的特别有效的技术手段来解决这一问题。尤其在学术论文相似度的评估领域仍存在着大量的空白。
相似度评估技术不能仅仅依靠人为评定,因为我们不能指望让专家检验每一篇文章的原创性,这是不可能的也是不现实的。于是我们必须建立一个高效、准确、稳定的相似度评估系统来实现对论文原创性的评定。对中文学术性论文进行相似度评估就涉及到中文分词的问题,中文分词不同于英文分词,英文的词与词之间有天然的分隔符-空格,来分割,而中文却不同,中文的词与词之间没有固定的分隔符,这就使得中文分词成为中文信息检索领域的重的问题。
国内对中文分词的研究已经进行了十几年,目前主要使用的有中国科学院计算技术研究所在多年研究的基础上,耗时一年研制出了基于多层隐马模型的汉语词法分析系统(ICTCLAS)和哈尔滨工业大学信息检索实验室研发的中文分词系统。总体上中文分词技术大体可以总结为三大类:基于词库的,基于语义的,基于统计的。其中基于语义的中文分词受限于汉语语言知识的局限,还未取得明显进展,而针对另外两种分词算法的研究己经取得了一定的成果。由于每种算法都有其自身的优缺点,因此在很多研究和应用中,都是结合了“基于词库”和“基于统计”分词算法的优势,需要进行进一步的研究。因此,在研究、发展、创新论文相似度评估系统的过程中,需要考虑信息检索技术和中文分词技术。
1.1.2 研究的意义
学术抄袭,是当今中国学术界学术腐败的痼疾之一。近些年来受拜金主义、功利主义等思潮影响,学术界出现了不正之风,抄袭剽窃现象层出不穷,著名学者学术抄袭的事件亦有多起,败坏学术的风气,破坏学术的机制。我们必须及时阻止遏制这一现象,并且规范学术研究从而在整个社会形成一种良好的学术氛围,使我们的学术论文质量提高,获得更多有价值的研究成果。于是加大对论文原创性的评判力度,及时并且准确的判断出该论文是否有抄袭现象变得尤为重要。由于在这一领域尚未采用行之有效的技术手段,对论文相似度的研究也就具有更加重要的理论和现实意义。
此次我所选的论文题目就是针对这一问题进行研究。建立基于Lemur的学术性论文相似度评估系统。
1.2 研究现状
目前对论文相似度评估技术的应用还很少,由于其中要用到信息检索和中文分词方面的技术,这里就对信息检索技术和中文分词技术发展的现状作简要介绍。
1.2.1 信息检索技术现状
信息检索(Information Retrieval),通常指文本信息检索,包括信息的存储、组织、表现、查询、存取等各方面,其核心为文本信息的索引和检索。从历史上看,信息检索起源于图书馆的参考咨询和文摘索引工作,从19世纪下半叶首先开始发展,至20世纪40年代,索引和检索已成为图书馆独立的工具和用户服务项目。随着1946年世界上第一台电子计算机问世,计算机技术逐步走进信息检索领域,并与信息检索理论紧密结合起来;脱机批量情报检索系统、联机实时情报检索系统相继研制成功并商业化,20世纪60年代到80年代,在信息处理技术、通讯技术、计算机和数据库技术的推动下,信息检索在教育、军事和商业等各领域高速发展,得到了广泛的应用。时至今日,信息检索经历了手工检索、计算机检索到目前网络化、智能化检索等多个发展阶段。目前,信息检索已经发展到网络化和智能化的阶段。信息检索的对象从相对封闭、稳定一致、由独立数据库集中管理的信息内容扩展到开放、动态、更新快、分布广泛、管理松散的Web内容;信息检索的用户也由原来的情报专业人员扩展到包括商务人员、管理人员、教师学生、各专业人士等在内的普通大众,他们对信息检索从结果到方式提出了更高、更多样化的要求。适应网络化、智能化以及个性化的需要是目前信息检索技术发展的新趋势。目前信息检索技术的热点主要为以下几点:
1、智能检索或知识检索
传统的全文检索技术基于关键词匹配进行检索,往往存在查不全、查不准、检索质量不高的现象,特别是在网络信息时代,利用关键词匹配很难满足人们检索的要求。智能检索利用分词词典、同义词典,同音词典改善检索效果,比如用户查询“计算机”,与“电脑”相关的信息也能检索出来;进一步还可在知识层面或者说概念层面上辅助查询,通过主题词典、上下位词典、相关同级词典,形成一个知识体系或概念网络,给予用户智能知识提示,最终帮助用户获得最佳的检索效果,比如用户可以进一步缩小查询范围至“微机”、“服务器”或扩大查询至“信息技术”或查询相关的“电子技术”、“软件”、“计算机应用”等范畴。另外,智能检索还包括歧义信息和检索处理,如“苹果”,究竟是指水果还是电脑品牌,“华人”与“中华人民共和国”的区分,将通过歧义知识描述库、全文索引、用户检索上下文分析以及用户相关性反馈等技术结合处理,高效、准确地反馈给用户最需要的信息。
2、知识挖掘
目前主要指文本挖掘技术的发展,目的是帮助人们更好的发现、组织、表示信息,提取知识,满足信息检索的高层次需要。 知识挖掘包括摘要、分类(聚类)和相似性检索等方面。自动摘要就是利用计算机自动地从原始文献中提取文摘。在信息检索中,自动摘要有助于用户快速评价检索结果的相关程度,在信息服务中,自动摘要有助于多种形式的内容分发,如发往PDA、手机等。相似性检索技术基于文档内容特征检索与其相似或相关的文档,是实现用户个性化相关反馈的基础,也可用于去重分析。自动分类可基于统计或规则,经过机器学习形成预定义分类树,再根据文档的内容特征将其归类;自动聚类则是根据文档内容的相关程度进行分组归并。自动分类(聚类)在信息组织、导航方面非常有用。
3、异构信息整合检索和全息检索
在信息检索分布化和网络化的趋势下,信息检索系统的开放性和集成性要求越来越高,需要能够检索和整合不同来源和结构的信息,这是异构信息检索技术发展的基点,包括支持各种格式化文件,如TEXT、HTML、XML、RTF、MS Office、PDF、PS2/PS、MARC、ISO2709等处理和检索;支持多语种信息的检索;支持结构化数据、半结构化数据及非结构化数据的统一处理;和关系数据库检索的无缝集成以及其他开放检索接口的集成等。所谓“全息检索”的概念就是支持一切格式和方式的检索,从目前实践来讲,发展到异构信息整合检索的层面,基于自然语言理解的人机交互以及多媒体信息检索整合等方面尚有待取得进一步突破。
另外,从工程实践角度,综合采用内存和外部存储的多级缓存、分布式群集和负载均衡技术也是信息检索技术发展的重要方面。
随着互联网的普及和电子商务的发展,企业和个人可获取、需处理的信息量呈爆发式增长,而且其中绝大部分都是非结构化和半结构化数据。内容管理的重要性日益凸现,而信息检索作为内容管理的核心支撑技术,随着内容管理的发展和普及,亦将应用到各个领域。
1.2.2 中文分词技术现状
分词作为建立索引、进行检索的前提也是中文文档检索的关键问题和难点所在。目前具体的分词方法有以下几种:
1、基于字符串匹配\基于词典的分词方法。
对给定的待分词字串,按照一定的策略切取待分词字串的子串,若在词典中查找到与该子串相匹配的词条,则匹配成功,则该子串为词语。常用的分词方法有:正向最大匹配法、逆向最大匹配法、最少切分。还可以将上述方法相互组合或者利用各种其它的语言信息来进一步提高切分的准确率。
2、基于统计的分词方法。
该分词方法首先认定文档中相邻的字同时出现的频率或概率反映其成词的可能性。对文档中相邻共现的各个字的组合的频度进行统计,进行一定规则的筛选,从而得到所需词条。由于这种方法不需要给定词典,可以较好地解决未登录词的识别。
3、基于理解的分词方法。
基于理解的分词方法的分词系统通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,模拟人对句子的理解过程。这种分词方法需要使用大量的语言知识和信息,由于汉语知识的笼统及复杂性,缺乏一种有效的知识表示手段将各种语言信息组织成机器可直接读取的形式,分词系统复杂程度比较高。因此目前基于理解的分词系统还处于试验阶段。上述分词方法中,第一类属于机械分词方法,后两类属于自动分词方法,这三类分词方法到底哪种分词算法的准确度更高,目前尚无定论。对于任何一个成熟的分词系统来说,不可能单独依靠某一种算法来实现,需要综合不同的算法或通过多种算法来处理不同的问题。同时由于中文具有与外文不同的特点,在汉语的分词技术方面,必须根据语词知识库进行总结和归纳,总结每个词的出现频率以及词之间的关联信息,以从一定程度上减少各种歧义的产生,提高分词的准确度,从而准确地表述查询用户的查询请求和文档信息。
这里对一些广泛应用的信息检索技术和中文问分词技术做了介绍,但最终目的是把其应用于相似度评估,推进论文相似度评估系统的发展与研究。
1.3 本文的组织结构
本文提出并实现了论文相似度评估系统。学术论文的相似度评估系统是在当今信息化时代的大背景下提出的,信息共享所带来的好处大家都深有体会,然而,信息共享所造成的弊端也一一显露出来。学术论文抄袭问题就正引起学术界的关注,此次评估系统的建立会就是为了及时发现这一问题而建立。本系统在审核论文是否存在抄袭行为的过程中提出了适用于相似度评估检测的n元文法概念,使得相似度评估的问题转化为一般的信息检索问题,从而明确了相似度评估的理论基础和研究方向。
本文随后各章内容组织如下:
本文第二章主要介绍了开放源码的检索系统Lemur。讲述Lemur的主要特点并对基于Lemur的检索系统的建立做出介绍,另外还对检索系统的关键点检索模型分类进行介绍。最后利用trec数据进行试验,验证系统的正确性。
本文第三章主要介绍了Xpdf这一格式转换工具的使用方法。由于为建索引而收集的论文基本都是PDF格式,我们必须找到一个准确、高效、稳定的格式转换工具来对我们的文件进行处理。而Xpdf正是这样一个得到大家认可并且受到广泛使用的格式转换工具。
第四章介绍了基于Lemur和n元文法的学术论文相似度评估系统。并利用下载到的100篇文献为建立索引的论文库验证了本系统的可行性。
第2章 Lemur系统建立及检索模型介绍
2.1 Lemur介绍
2.1.1 Lemur概要
Lemur Toolkit是一个新兴的实验系统。它由卡耐基-梅隆大学(CMU)开发,在2001年公布了第一个公开的版本。 Lemur Toolkit的设计目标是促进和帮助在文本信息检索和语言模型方面的研究,包括特定目标检索、分布式检索、跨语言检索、文摘系统、信息过滤和文本分类等各方面技术的研究。工具包支持对大规模文本数据建立索引,对文档和查询构建简单的语言模型,同时实现了基于语言模型的检索系统。整个系统用C和C++语言实现,可在Unix和Windows系统下运行。
2.1.2 Lemur的特点
其特点是在支持传统的检索模型,如概率模型等的同时还在检索中引入了语言模型,实现基于Language Model和其它多个检索模型的系统。更重要的是,它不仅是一个完整的检索系统,而且是以工具包的形式提供的。各功能模块都有良好的封装,并提供清晰的源代码和丰富的文档说明,研究者使用它搭建自己的实验系统易如反掌。
2.2 Lemur检索系统的建立
首先让我们了解一下检索系统的基本流程。
数据集
数据预处理
索引生成
索引数据
查询处理
检索
结果输出
图2.1 检索系统流程
总体上,系统可分为四个部分:数据预处理,索引生成,查询处理,检索。下面我们分别对各个部分采用的技术加以介绍。
1、数据预处理
目前检索系统的主要数据来源是Web,格式包括网页、WORD 文档、PDF 文档等,这些格式的数据除了正文内容之外,还有大量的标记信息,因此从多种格式的数据中提取正文和其他所需的信息就成为数据预处理的主要任务。此外,众所周知,中文字符存在多种编码,比如GB2312、BIG5、Unicode,而原始数据集往往包含多种编码,因此要正确地检索到结果必须进行统一编码转换。
2、索引生成
对原始数据建索引是为了快速定位查询词位置,为了达到这个目的,索引的结构非常关键。目前主流的方法是以词为单位构造倒排文档表。每个文档都由一串词组成,而用户输入的查询条件通常是若干关键词,因此如预先记录这些词出现的位置,只要在索引文件中找到这些词,也就找到了包含它们的文档。为进一步提高查询速度,在组织索引时还可以采用更复杂的方法,比如B树、TRIE 树、哈希表等。这个阶段还需要对预处理之后的文档进行词法分析,这是因为很多语言的文本都不宜直接把正文中的字符串用于建立索引。例如,中文里的词与词之间不存在分隔符,因此必须先进行分词。此外,有些词虽然出现频率很高,但对于查询没有任何帮助,比如“的”、“了”等,就无需放入索引,为此需要预备一个停用词表(stop word list)对这类词进行过滤。
3、查询处理
用户输入的查询条件可以有多种形式,包括关键词、布尔表达式、自然语言形式的描述语句甚至是文本,但如果把这些输入仅当作关键词去检索,显然不能准确把握用户的真实信息需求。很多系统采用查询扩展来克服这一问题。各种语言中都会存在很多同义词,比如查“计算机”的时候,包含“电脑”的结果也应一并返回,这种情况通常会采用查词典的方法解决。但完全基于词典所能提供的信息有限,而且很多时候并不适宜简单地以同义词替换方法进行扩展,因此很多研究者还采用相关反馈、关联矩阵等方法对查询条件进行深入挖掘。
4、检索
最简单的检索系统只需要按照查询词之间的逻辑关系返回相应的文档就可以了,但这种做法显然不能表达结果与查询之间的深层关系。为把最符合用户需求的结果显示在前面,还需利用各种信息对结果进行重排序。目前有两大主流技术用于分析结果和查询的相关性:链接分析和基于内容的计算。许多研究者发现,WWW 上超链结构是个非常丰富和重要的资源,如果能够充分利用的话,可以极大地提高检索结果的质量。基于这种链接分析的思想,一些学者也相继提出了链接分析算法,如PageRank,HITS,SALSA,PHITS等算法。这些算法有的已经在实际的系统中实现和使用,并且取得了良好的效果。而基于内容的计算则沿用传统文本分类方法,多采用向量空间模型、概率模型等方法来逐一计算用户查询和结果的相似度。两者的优缺点恰好互补。链接分析利用了Web上丰富的链接结构信息,但它很少考虑网页本身的内容,而直观上看,基于内容的计算则较为深入地揭示了查询和结果之间的语义关系,但忽略了不同网页之间的指向关系,因此现在很多系统尝试把两者结合起来,以达到更好的性能。
2.3 检索模型概要
2.3.1 文本检索的基本概念
文本检索的基本任务就是对于任意一个用户查询,在给定的文档集合中找到一个与用户查询相关的文档子集。我们首先明确一下文本检索中的几个基本概念。文档(Document)是检索系统的检索对象,一般是自然语言描述的非结构化的自由文本半结构化的文本。一般通常用D来表示。在检索之前,文档一般要依据检索模型进行处理。文档集(Collection)是一组文档的集合或数据集。一般用C来表示。查询(Query)是用户对查询需求的自然语言描述。一般用Q来表示。用户对查询的描述基本上都是自然语言的词或句子。在检索系统进行查询之前,需要将用户输入的查询转化为查询表达式,如:简单的与或非的布尔表达式或Lemur系统中的Indri查询语言。相关性(Relevance)是用户查询与查询结果文档的匹配程度。一般用R来表示。这是信息检索中最难定义的一个概念,这是因为实际上我们很难将用户的查询需求形式化,即使用户输入了一些相关查询词汇,但文档和查询是否相关以及相关程度还依赖与用户自身的经验知识;同时由于自然语言处理还没有完全达到文本理解的能力,也无法判断一个文档与查询的真实相关程度。
基于以上概念,一个基本的文本检索过程如下图所示:
用户查询需求
检索结果
索引对象
查询表达式
文挡集中的文档
查询需求
文档表示
检索模型
检索反馈
图2.2 基本的文本检索过程
首先,检索系统会对文档集C中的每一个文档D进行分析,并将其文档信息建立索引数据对象。一般包括文本内容以及与文本相关的元信息,如:作者,标题等。然后当一个用户查询需求到来,通过将用户输入的自然语言表示成检索系统所识别的查询表达式。第三,通过检索模型匹配查询表达式和索引对象,找到相关文档,并将其作为检索结果。最后,通过查询反馈过程从查询结果的前几篇文档中找到与查询词相关的词汇,并加入到前面的查询过程及索引对象以提高检索效果。从这个过程我们可以清楚的看到在输入和输出之间,最为关键的步骤就是检索模型。
2.3.2 文本检索模型介绍
对文本检索模型的研究基本上分成两类:基于语义的检索方法和基于统计的检索方法。目前在信息检索中占统治地位的是基于统计的方法。针对文本的统计检索模型目前主要分成四类:布尔模型(Boolean Model)、向量空间模型(Vector Space Model,简称VSM)、概率模型(Probabilistic Model)和引用分析模型(Citation Analysis Model)。布尔模型是以布尔表达式为基础的的检索模型,文档的相关性是以是否满足布尔表达式为依据,若查询词出现在文档中,则表达式为1,否则为0。该模型的优点在于实现起来十分高效、具有结构化的查询表达方式并且容易解释,其缺点也是十分明显,用户难于建立一个好的布尔查询表述方式,查询结果无序无法判断相关文档的相关程度。
向量空间模型是以词汇向量的形式表示文档,通过计算向量的相近程度来判断文档的相关性。向量的相近程度通过计算查询向量和文档向量夹角的余弦值来确定。该模型的优点在于能够将词汇的权重特征融合到模型中并且计算简单有效,其缺点在于假设词汇之间的独立性并且其向量的相关操作缺乏理论验证,大都是经验公式,如:词汇的权重以及相似度计算方式。其代表性的相关度计算公式为公式(2.1)向量空间模型的Pivoted Length Normalization 公式。
概率模型是目前最为看好的检索模型,该模型以概率理论为基础,对文档和查询建立概率模型,并依据模型计算文档和查询之间的相似度。为了表示文档D和查询Q是否相关,设相关性R 取值为r 或r ,分别表示D和Q相关或者不相关。概率检索模型的目标就是估计文档D和Q相关的概率,即p(R = r | D,Q)一般使用相关概率和不相关概率的比值来计算文档和查询的相关性。典型的概率模型有双复合伯松分布模型(Two Poisson model)、贝叶斯推理网络模型(Bayesian inference network model)和统计语言模型(Statistical language model)。概率模型的优点在于具有良好的数学理论基础,可以通过学习的方法对检索中的查询和文档建立对应的模型。缺点在于对于语言中的长距离依赖无法处理,这主要因为概率模型在很大程度上使用了词汇的独立性假设,尽管可以使用多元模型进行估计,但是由于多元模型组合空间巨大,使得检索中的多元模型往往只用到二元模型。在目前的检索模型中,最具有代表性的相似度计算公式为公式(2.2)概率模型Okapi BM25公式和公式(2.3)语言模型的Dirichlet Prior 平滑公式。
引用分析模型是通过对网页中的链接进行引用分析来迭代计算每个网页的重要度,其代表的有Clever 的Hub & Authorities 算法以及Google 的Page Rank 算法。该模型是先检索出包含查询词的文档,然后依据算法对检索出的文档进行排序。该模型需要对所有文档进行多次迭代得到网页的重要度,计算代价大,因此该过程一般都是事先计算完成。
(2.1)
(2.2)
(2.3)
其中w为词,q为查询,|q|为查询词的个数,d为文档,|d|为文档词数,C为文档集合,avdl是平均文档集合中每个文档的词数,N为文档集合的文档数。c(w,d)为词w在文档d中的词频,c(w,q)为词w在查询q中的词频,df(w)为出现过词w的文档数,p(w|C)为词w在文档集合C中出现的概率。
2.4 系统测试
2.4.1 测试环境
在Windows XP系统下,以Lemur为基础建立相似度评估系统,对具体系统建立步骤第四章中将作出详细介绍,在此不再赘述。
在信息检索评测领域,TREC(Text REtrieval Conference)的影响力最大,因此本系统在评测时采用TREC测试集。对本系统进行测试,由于本系统以中文内容的论文为主要检索对象,所以测试时也以中文文档集的检索为例进行试验。以上这些评价指标被TREC所采用,TREC提供了标准评测软件trec_eval,本文在实验中使用trec_eval对检索系统进行评测。
2.4.2 评价方法
检索的质量通常由精确率(precise)和召回率(recall)来衡量。精确率也被称为查准率,召回率也被称为查全率。召回率是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率,见公式(2.4)。精确率是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率,见公式(2.5)。对于一个检索系统来讲,召回率和精度不可能两全其美:召回率高时,精度低,精度高时,召回率低。当然,也需要考虑很多其他因,例如快速查找大量文本文件的速度和能力的问题。平均精确率AP(Average Precision)是一个重要的评价指标,见公式(2.6)。
(2.4)
(2.5)
(2.6)
其中:为查询第j个相关文档的位次;为查询的相关文档数;n为测试的查询数。在信息检索中另一个重要的评价指标为R-精确率(R-Precision),计算检索出第R篇相关文档时的精确率,其中R为当前检索中所有相关文档总数。
以上这些评价指标被TREC所采用,TREC提供了标准评测软件trec_eval,本章在实验中使用trec_eval对检索结果与标准结果进行比较。
2.4.3 实验结果
我们使用Trec5的数据作为实验语料进行实验。并使用Trec5的28个查询作为测试查询,将检索结果与标准结果利用trec_eval.exe进行比对。得到的Average precision为较为理想的0.3185,证明了系统的正确性。
表2.1 实验结果
Queryid (Num)
28
AP
0.3185
RP
0.3526
2.5 本章小结
本章介绍了什么是Lemur,阐述了Lemur作为一个全文检索系统的特点。同时对文本检索的基本概念及检索模型作了介绍。最后以Trec5数据对系统进行测试并得到理想结果。
第3章 pdf转txt介绍
3.1 PDF与Xpdf概要
PDF格式文件已经成为Internet上最为流行的文件存储格式,其优点在于,文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还是在苹果公司的Mac OS操作系统中都是通用的。这一特点使它成为在Internet上进行电子文档发行和数字化信息传播的理想文档格式。越来越多的电子图书、产品说明、公司文告、网络资料、电子邮件开始使用PDF格式文件。PDF格式文件目前已成为数字化信息事实上的一个工业标准。
然而PDF格式文件中的信息却不能直接被电子制表软件或数据库等软件读取,尤其在本次系统设计中用到的主要工具Lemur也不能直接处理PDF格式文件,所以我们必须先对其进行格式转换,目前最受推崇的PDF格式转换工具是LLC公司公布的Xpdf,它以其完全开放的源代码、稳定的转换系统和同时对多种语言的转换支持得到广泛认可,并成为全球最大搜索引擎Google的专门格式转换工具,尤其是它做到了可以让用户通过对转换参数的配置来控制转换输出结果。下面就以本次试验用到100篇论文为例介绍格式转换整个工作流程。
3.2 Xpdf的下载与安装
3.2.1 Xpdf下载
1、主程序安装包下载
打开网页 所在位置,点击后保存该压缩包。
2、语言支持包下载
同一页下找到xpdf-chinese-simplified.tar.gz 所在位置点击保存该压缩包。(由于我们以转换中文文献为主,这里只下载中文语言支持包,)
3.2.2 安装
1、文件夹建立
以C盘根目录下的安装为例,建立文件夹xpdf。再在xpdf文件夹中建立名为chinese-simplified的文件夹(用于存放语言支持包)。
2、文件安装
先将下载得到的主程序压缩包xpdf-3.02pl2-win32.zip和中文支持包xpdf-chinese-simplified.tar.gz分别解压,分别得到名为xpdf-3.02pl2-win32(格式转换的主程序pdftotext.exe就在此文件夹中)和xpdf-chinese-simplified的两个文件夹。
将xpdf-3.02pl2-win32文件夹里的内容复制到刚建立的xpdf文件夹内,再将xpdf-chinese-simplified文件夹中的内容复制到xpdf内的chinese-simplified文件夹中。
至此Xpdf的安装工作完成,下面介绍其具体的使用方法。
3.3 Xpdf的使用
首先了解一下转换工具Xpdf的工作原理。Xpdf主要是通过使用可执行文件pdftotext.exe对pdf格式文件进行格式转化,在执行pdftotext.exe文件时会自动调用同目录下的名为xpdfrc的参数文件,该文件没有文件类型。而xpdfrc参数文件的配置工作即为我们正确运用此软件的关键。(pdftotext.exe文件已经存在于xpdf文件夹中,xpdfrc文件需要在同目录下手动建立)
3.3.1 Xpdf参数文件的配置
1、首先加载中文支持包中已经为我们提供的参数配置参考
将chinese-simplified中的add-to-pdfrc文件中的内容复制到参数文件xpdfrc中,以下为其中参数内容:
#----- begin Chinese Simplified support package
cidToUnicode Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/Adobe- GB1.cidToUnicode
unicodeMap ISO-2022-CN /usr/local/share/xpdf/chinese-simplified/ISO-2022- CN.unicodeMap
unicodeMap EUC-CN /usr/local/share/xpdf/chinese-simplified/EUC- CN.unicodeMap
unicodeMap GBK /usr/local/share/xpdf/chinese- simplified/GBK.unicodeMap
cMapDir Adobe-GB1 /usr/local/share/xpdf/chinese-simplified/CMap
展开阅读全文