【毕业学位论文】(Word原稿)基于PARADISE平台论文检索系统-计算机科学与技术网络与分布式系统_第1页
【毕业学位论文】(Word原稿)基于PARADISE平台论文检索系统-计算机科学与技术网络与分布式系统_第2页
【毕业学位论文】(Word原稿)基于PARADISE平台论文检索系统-计算机科学与技术网络与分布式系统_第3页
【毕业学位论文】(Word原稿)基于PARADISE平台论文检索系统-计算机科学与技术网络与分布式系统_第4页
【毕业学位论文】(Word原稿)基于PARADISE平台论文检索系统-计算机科学与技术网络与分布式系统_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业论文 题目 :基于 台 论 文 检 索 系 统 姓 名: 学 号: 00548193 院 系: 信息科学技术学院 专 业: 计算机科学与技术系 指导教师: 闫宏飞 副教授 二一六年七月九日 摘要: 本文基于天网实验室的 索引擎平台,500多篇论文为数据,搭建成一个论文搜索系统,最终目的是通过论文之间的 引用关系,获得其他引用这篇论文的作者对这篇论文的评价,形成一个小的评价段落,以及 而使得我们能够从专业级的角度获得这篇论文的内容以及优劣。面抓取了文章之间的引 用关系,然后通过一个算法获得了对一篇文章评价的候选句子集,根据这些句子的重要程度进行排序,获得一个评价短文。并且构建了一个语言模型,通过这些候选句子集对原文的句子进行评分,取得分最高的几个句子,获得原文基于影响的概括。 关键词 搜索引擎 , 论文评价 , 语言模型 , 法 , 基于影响的概括 3 n on 500 in of we a of is to of on We on a we a we in 4 目录 第 1章 引言 . 5 . 5 . 2 . 2 . 2 . 3 台搭建搜索平台 . 3 . 3 第 2章 数据的收集 . 5 . 5 . 6 . 7 第 3章 生成评论集 . 10 . 10 . 11 第 4章 建立模型并生成基于影响的概括 . 13 . 13 . 13 . 14 . 15 第 5章 搭建搜索引擎 . 16 5.1 . 16 . 17 . 18 . 19 . 19 . 20 . 21 第 6章 实验结果与分析 . 22 . 22 . 22 第 7章 后续工作 . 26 第 8章 致谢 . 27 5 第 1 章 引言 究 背景 如今,全世界范围内学术活动日益积极,所 产生的论文也在不断增多,因此,如何搜索到自己所需要的论文,以及自动获取一些关于论文的信息,是客观需要的。 学术检索,绝不简简单单的检索出所要查找的论文,这样就和普通的通用搜索引擎如 术检索,更侧重于深层次的内容挖掘 。 例如,可以通过一篇论文所引用的文章以及所属领域,寻找出这个文章所在领域的主要论文,这对了解一篇论文的背景知识以及理解一个领域的发展非常重要。在 11(L. 提到了文献检索现在主要 的发展方向, 有以下几点: 是从语言模型的角度 ,让人们更加准确的找到所需要的论文。 及一些较 权威的作者,帮助读者了解相关知识。 3.从 度,挖掘出一些知识,最常见的,就是通过一篇论文的被引用次数确定它的 排名以及影响力。 我们知道,国外的 生在第一年 的学习 之后都是要通过 试的,考试的形式一般是 先读几十篇论文,然后根据这些论文的内容进行一些答辩。这时候,他们 往往很想知道别人是如何评价这篇论文的,这篇论文有什么优点和缺点,有什么后续的研究等等。这就像我们准备去一个地方去旅游,不仅需 要该景点本身的介绍(有点类似于摘要),往往更想知道去过这个地方的人都是如何评价这些地方的。通过对这篇论文的评价,我们可以从更专业并且更加广阔的角度获得这篇论文的一些信息,并且可以知道这篇论文之后可以做哪些事情。 基于上面的观点,我们就准 备做出这样一个知识提取系统,通过这个系统,可以自动获得别人对这篇论文的评价 22,以及论文中的一些较有影响力的信息,从而帮助人们更好的理解这篇论文。 整 体 流程如 图表 1。 在 33(,作者利用 法建立了一个模型,生成了一篇论文基于影响的概括,但是它并没有强调评论的重要性( 这里 的评论,是指别的作者对它引用的一篇文章的评 论),它只讲评论当成一个中间状态,当成一个求得基于影响的概括的手段。实际上,这些评论和最终经过 法形成的概括是同等重要的,有时候,它甚至比后者更加清晰易懂。本文相对于 33的优点是,赋予 评论以及概括同等重要 的意义 ,并且形 成了一个实际的系统供人使用,而不仅仅是用于研究。 2 作 内容 取所需要的论文数据 要进行论文搜索,首先需要一批实验数据,我是从 抓取下来的。之所以选择从这上面抓取,是因为我们不仅需要论文的 档,还需要从中自动提取摘要、引用等信息,而这本身就应该是一个挺复杂的算法了,而且不是我们工作的目的,而上述网站已经人工的将论文的摘要、引用信息提取了出来,并且对于每一个引用还有相应的链接,因此会节省我们抓取数据所要花费的工作量。最终 我们会 将抓取的数据存储在 得一篇论文的评价并较好的显示出来 我们这个系统的主要工作是通过别的论文对原论文的评 论 ,来获得一些不 能直接从原论文中获得的信息,因此,最基础的,就是如何获得这些评 论 。关于这一点,我们通过上面的数据收集工作,会获得一个论文之间的引用图,然后通过引用的倒置,能够获得引用一篇论文的所有文章,然后,通过一个算法,可以从这些文章中提取出对原文进行评价的句子。最终,为了便于使用者观看,还需要对这些句子进行一些整理,进行排序、整理成一个段落出来 。 论文 1 正文 引用 1 引用 2 论文 2 正文 引用 1 引用 2 源论文 句子 1 句子 2 句子 3 句子 4 . 引用 评论 引用 评论 评论 基于影响的概括 图表 1 3 得一篇论文基于影响的总结段 落 在获得对原文进行评 论 的句子之后,将原文划分成一个一个的句子,我们利用了 法 ( 33) ,对这些句子进行打分,这里分数的高低,代表了原文中每一个句子影响程度的高低,显然,影响越大的句子,在别的文章中提及的越多,其分数就越高。最后,我们取一定数量得分最高的句子,组成一个段落,这个段落是对原文的一个概括,而且会获摘要所不能获得一些信息的一些信息 。 于 台搭建搜索平台 我们基于 索引擎平台搭建成了一个关于 全文搜索系统。 预处理,简历索引,检索,前台四部分组成。由于我们的数据是论文,并且已经转化为了 处理这一部就略去 了,需要继承一个建立索引的类,并且修改一些前台的接口就可以了,这样就搭建成了一个论文搜索系统。这一过程也体现出了 的每一个组件都是可以通过继承一个自定义的新类来完成的,其中包括预处理、索引、检索、语言模型、排序、压缩等等所有的模块都可以自己选择或者自己重新定义来完成。 我们在读一篇论文之前,一般能简单的看到它的摘要、作者等信息。而在读完一篇论文之后,我们能获得什么信息呢?主要有以下几种: (1) 这篇文章做了什么事情,这可以从摘要中获得。 (2) 这篇文章中涉及到 的 核心算法,这个只有在细致的读完了这篇文章之后才能理解,应该是没法依靠辅助来获得的。 (3) 这篇文章哪些部分比较重要,哪些部分比较好,哪些部分需要改正,我们可以从哪些方向进行扩展 。 对于第三点,如果完全自己理解 ,可能会比较困难,而且对读者自己的要求也比较高,可能要读了很多 这方面的背景知识、后续论文等等才可能获得,而 通过我们做的这个系统,就可以帮助大家更简单的获得一些从文章中不能直接获得信息 。 一般来说,作者 如果 想 从自己的角度归纳 本文的大体内容,通过 阅读 摘要,我们可以看到作者写这篇文章大体做了什么。但是文章中很有可能有一些作者没有发现,或者作者当前没有重视但是以后被别人发掘出来很重要的意义。通过将那些对文章进行引用的句子,与本文建模,对原文中的句子进行排序,从而获得 4 文章中一些有特殊意义,影响较大的句子,这样,我们可以获得文章中最重要的信息,而这些重要信息和摘要的区别就是,它们不是作者提出来的,而是别的作者在读了这篇 文章以及其他的文章,经过很多思考之后,总结出来的这篇文章最重要的地方 。 此外,别的文章中对原文进行评论的句子 (44),本身就是很重要的信息,可以让我们知道原文都做了那些后续工作,或者那些部分比较好,哪些部分需要改正 。 简单来说 ,我们这个系统的意义,就是通过数据挖掘的方法,获得一些直接从原论文很难发现的信息,并且结合 统,以搜索引擎的方式呈现出来,便于大家检索查找 。 5 第 2 章 数据的收集 我们这个系统的目的是为了方便读者理解论文,因此除了需要基本的论文的需 要提取发表期刊、作者、摘要、被应用次数,引用文章这些信息。其中,发表期刊、作者以及被引用次数是用来在后面获得 及行排序的时候加权用的,显而易见,较好的期刊,较有名的作者,引用次数较高的文章,它做出的评价应该要重要一些(当然,这里只是预留着为以后的扩展用,而我们的系统实际上并没有用到作者的知名度信息)。当然,其中最重要的是提取引用的信息。我们的目标是通过获得每篇文章所引用过的文章,建立 一个映射表,然后将映射表倒置过来,从而获得每篇文章被哪些文章 引用 过 。 何提取数 据 首先,是如何提取文章的摘要等各种信息了。本来我是准备直接从文章中提取的,随着工作的深入,发现这样做有很多的缺点,首先,从 提取各种信息就是一个很繁重的工作,这本身就可以当做一个毕业设计来做了,会消耗我大量的时间,但却不一定能够达到工作的目的;其次,最重要的是,在每一篇文章里, 者,文章名,发表期刊,年份)的形式表现出来的,例如 : G. H. J. J. M. . A PI 15:93 100, 2003. 而 我 们存储每篇文章的时候, 是以期刊作为文件夹,以文章作文文件名来存储的,例如这篇论文,以下面的形式存储的 。 因此,我们需要从上面的那句话中提取会议名以及文章名,才能获得文章之间的引用关系,建立一个 ,这之中甚至是相差一个空格都不行的,会直接导致整个系统的失败 。 于是,我们想出了一个简单的办法。可以看到,在 ,每一篇论文的格式都是规整的,从上面可以很容易的提取出摘要、文章名、期刊等 6 信息,可以下载到 重要的是,对于论文的引用信息,在该网页上该出了一个超链接,点击之后就可 以进入引用的文章的信息。因此,可以利用递归的方法,进入引用的文章,从中提取出会议名以及文章名,这样,每篇文章的引用就可以形成上面的格式,并且是完全正确的,方便我们建立引用映射表 。 接着,要设定递归的种子以及递归的层数。因为我们的实验所需要的数据最好是在一个领域里面的一个方向的论文,并且需要引用关系较紧密的,以便于后续的工作,因此,这里采用 于每一篇文章递归三层。如果递归四层,就会太多了。假设一篇文章又十个引用,那么递归四层,就会导致没从 议中抓取一篇文章,就需要抓取 1000 篇相应的其他文章,这个数量实在是太大了;如果递归两层,就会导致每篇文章只能抓取其引用的文章,这样引用的层次较浅,很有可能导致最后引用倒置时,每一篇文章只被一两篇文章引用,这样不利于我们的实验 。 最后,我们需要将 化为 式,这是利用 带的 是这个工具并不支持对文件夹的递归操作,因此,我用 过递归操作,可以将一个 件递归转化为 按照原来的相对路径存在 据抓取的 过 程 已经确定抓取数据的大体方法了,下面就要开始正式的抓取数据了。所用的工具比较简单,就是利用 的 具,将网页下载到文本文件里进行分析。另外我们这里利用了第三方库 种正则表达式非常适合从网页中进行模式匹配并且提取出数据。有了前面的两项工具,我们只需要分析好网页的模式,尽量正确的提取数据既可以了 ,需要注意的是,由于网页并不是完全规整的,因此,有时候,对于同一个数据,往往要写多种匹配的公式才可以,这其中,最麻烦的当属提取引用部分了(我们不仅要提取引用,还要提取这个 引用对应得 而递归进入提取它的论文名) 。 以提取作者信息为例 : u 我们需要从上面得公式中提取出作者名,需要以下几步: (1) 利用 式写一个正则表达式匹配上面的文本 s*(s* , 其中引号中的内容为匹配的正则表达式,注意其中的一对小括号,其中的内容就是我们需要提取的信息 (2) 利用 结果存入 这样,文章中所有匹配上面正则表达式的字符串,其中的作者信息(即上面括号中的内容),都会存在 还需要注意的一点就是,由于网页 的不规整性 ,所以要排除一些错误的情况。还有一些文章,确实没有摘要、引用或者其他信息(这些文章多出现在引用链的顶层,主要是一些书籍等参考资料,所以也比较正常),遇到这些情况我们就不抓取下来了 。 据的存储及解 析 在将数据从网页下载下来之后,需要存储起来。首先 ,对于 格式,只能存在文件系统里,按正常的方式存储。对于其他的信息,这里选择存储在面。 一种轻量级的数据库, 数据库底层就是利用 完成的。它的有点是可移动性,不用想 样搭建服务器,而且读取数据时较快。对于每一篇文章的基本信息 照 【 表格 1】 中的 形式存入 表格 1 符流 ,存储元数据信息,按如下格式: *8 *得这些基本信息之后,我们还要 根据这些元信息,陆续 建立一些于存储其他信息, 如 表格 2: 表格 2 文件名 论文 篇论文的全部文本内 容 论文 于存储 一 篇 论文 所引用的所有文 章 论文 于存储 一 篇论文被哪些文章所引 用 论文 储最终要显示在页面上的文章的评 价 论文 储最终要显示在页面上的基于影响的文章的概括 其中 通过将 式转化为 后获得的。 从上面的元数据中,我们可以获得每个论文所引用的论文的名称,这样,我们可以通过这些名称,来获得这个论文所引用的所有论文的 且存储到数据库中 。获 得 后,对其进行倒置,就可以获得 这里之所以选择 因为它有以下这些优点: 嵌入式( 它直接链接到应用程序中,与应用程序运行于同样的地址空间中,因此,无论是在网络上不同计算机之间还是在同一台计算机的不同进程之间,数据库操作并不要求进程间通讯。 B 为多种编程语言提供了 中包括 C、 C+、 有的数据库操作都在程序库内部发生。 对于我们这个系 统,后台程序是由 c+完成,而前台程序是由 成,他们都会共同访问一些文件,通过存储在 行存储,就解决了不同语言之间兼容的问题。 轻便灵活( 它可以运行于几乎所有的 统及其 9 变种系统、 它并不需要搭建一个数据库服务器,以用户、服务器形式访问数据库,而是以函数调用的形式。 一旦 端用户一般根本感觉不到有一个数据库系统存在。 这样提高了我们的系统的实用性,当用户需要自己搭建一个我们的论文系统时,不用再去搭建数据库服务器,进行各种繁琐的配置。 10 第 3 章 生成 评论集 通过上面的内容之后,我们获得了所有基本的信息,其中,最重要的,获得了 ,该表的 一篇论文 A 的 引用 A 的所有论文 下面我们就要结合前面获得的数据,包括论文的文本、元数据,来获得一篇论文的评论集 。 得评价的候选句子 集 通过 们可以获得一个集合 2,.,其中 进行了引用。我们相信,如果 进行了引用, 那么 进行了评价。一般有以下几种情况 : (1) 的论文 名 (2) 的作者 名 (3) 在 表中,如果 A 出现在第 么通常在文章中会利用 k来对 (4) 3)的情况,有时候并不只是对 k 进行引用,可能文章中的一句话代表的是好几篇文章的工作概括,因此会出现“ i,k,j”这种类型的符号来对 且出现的概率很高 。 (5) (如果 的某句话对 A 进行了评论,那么通常它的前一句话和后一句话也会出现评价的信 息 通过上面的 5 点,我 们就可以获得了 对 A 进行评价的句子,从而获得了一个候选句子集,里面的每一句话都不同程度的对 。 11 图表 2 如 图表 2所示流程, 具体实现的时候,先要将 .,然后遍历这个句子序列,对于每一个句子,按照上面的前 四 条规则进行评判,如果满足其中任意一条,则这个句子是候选句子集合中的一个,并将其前后两个句子也合到一起,添加的候选句子集合中 。 最终,得到对 e1,e2,.,这里面可能会有一些评价来自同一篇论文 。 得评论段落 获得了候选句子集之后,我们需要对其进行适当的排序,从中选出较好的几个句子,最终显示在页面上。由于不同的人,对这篇论文的评价可能也不太一样,因此,就不能简单的按照这些评价句子与原文的相似度来进行打分排序了,因为这样会造成和原文观点相近的评分较高,不是我们希望获得的结果。实际上,有时候越是和原文的观点不同,反而可能越重要,它可能是对这篇文章的批判,也有可能是原文的作者并在写 对我们寻找后续工作时可能会非常重 要 。 我们在提取数据的同时,会获得每一篇文章的 表这篇文章被引用的次数,一般,一个较好的文章,被引用的次数也应当比较多,因此,对于每一个评价,根据它所在文章的被引用次数进行排序,可以获得较为专业, 12 也较为合理的结果 。 同时,需要注意的是,如果一个篇论文的被引用次数很高,而且它又有两段评论原文的句子时,那么这两段会一起出现在最终的结果里,在这里我们就需要对结果进行调整,保证在权重相同的情况下,尽可能选择尽量不同的文章 的评论 。 13 第 4 章 建 立 模 型并 生成 基于影响的概括 通过获得了对源论文的评论集合,下面就可以与源论文建立模型来获得基于影响的概括。所谓基于影响的概括,简单来说,就是某句话与评论之间的关系越紧密,那么这句话的影响力就越大。最终将影响力最大的几个句子合在一起,就形成了基于影响的概括。 模之前我们所有的数 据 在建模之前,我们先来看看我们已经获得了哪些数据: (1)所有论文集合 D,以及 成一个单词表 V,并且可以统计出每个单词 w 出现的次数 C(w,D) (2)对于一篇论文 d,将其 划分为多个句子 (3)已经获得了这片论文进行评论的所有句子 , 把他们的集合成为 C( 下面,我们就可以参照 法 (33, ei 对 里的打分,主要是基于词频以及相似度来做的。 模算 法 首先,为任何一个句子打分的公式 s)如 下: ( ) ( | | )( | ) l o g ( ( | ) ) ( | ) l o g ( ( | ) )s I w VS c o r e s Dp w p w p w p w 从信息理论的观点,其中 ( | )即为 以被解释为通过句子 示 基于影响的段落, 需要从文章中删除的信息量。显然,其值越小,也越能代表文章以及其他文章对它的评价的意思(因为它只要删除较少的信息) 14 可以看出,公式中最重要的是求出 ( | ) ( | )w p w和( , ) * ( | )(1 ) ( | )|w s p w ( , ) ( | )( 2 ) ( | )|w d p w 对于公式( 1), 其中, ( , )c 示一个单词 ( | )p w s为平滑参数。我们假设s为 |s|的 (1)式可以看成是 ( | ) ( | ) *11p w s p w D ,可见,s越大,表示 w 与整个论文空间的关系越大,而与这个句子的关系则较少。 时,则表示二者一样,各占 1/2。我在这里将s设置为了 1。 对于公式 (2),其中 ( , )c 示一个单词 ( | )p w C 表示单词 中出现的概率。C为平滑参数。我们仍然假设 u 为 w 的 n 倍,则 (2)式可以看成( | ) ( | ) *11p w d p w C ,可见, 示这个单词 的关系越大,而 时,则与论文本身关系较大。可以看出,极端的情况,当 时,则 我们获得的那些评价都没有关系了,因此获得的句子实际上对其他论文也没有什么影响了。因此,对于本实验,应当将 法的实现 具体实现算法时,会出现一些问题:我们假设一篇论文可以划分成 1000 个句子,每个句子有 20个不同单词,我们总共有 2000篇论文,那就有 4亿个单词。那么,对于每一个句子 s,我们在进行上面的算法时,需要进行如下一步 ( ( | ) l o g ( ( | ) ) ( | ) l o g ( ( | ) ) )I s I w p w p w p w 这就需要对这 4亿个单词进行遍历一遍,并且分别计算括号中的那一步。而每篇论文有 1000个句子,就相当于要计算 4000亿次 , 这个计算量对我们来说太庞大了,因此,我在这里选取了一个简便一点的方法,就是在上面的一步时,并不是对整个单词空间进行计算,而只是对论文 中出现的所有单词进行遍历计算打分。 可以看出,对于一个既不在 中的单词 , ( | ) 此,上面的公式只是理论的公式,具体应用时,只需要对 d 和 就节省了大量的计算量。 整个流程如 图表 3, 15 需要用到 图表 2中的前三部算法获得的评论列表。这里之所以不用 图表 2的 最终结果,是因为我们需要更多的信息,信息越多,获得的概括越具有影响力。 图表 得基于影响的概 括 通过上面的模型,可以对 后 根据所打得分数进行从打到小排序。这里因为每篇论文只有 1000 左右的句子,数量级并不是很大,就自己写了一个简单的冒泡排序 算法来排序。之后, 选择其中得分最高的 合在一起,就获得了原文基于影响的概括了。从整个建模的过程中也可以看出,所谓基于影响,就是通过哪些对 A 进 行评价的句子集 C,分别获得 这些句子的相似程度,与其相似程度最高的,证明这个句子被其他作者提及的最多,影响最大。而这个概括与摘要的区别就是,影响较大的句子,可能原来的作者并没有想到,因此在摘要中并没有提及(正所谓无心插柳柳成荫);而摘要中提及的部分,影响可能反而没有那么大 。 图表 3 16 第 5 章 搭建搜索引擎 本段内容主要介绍如何利用 索引擎平台来搭建我们的论文检索系统。通过这段内容,我们可以了解到 用的基本过程,最终我们会发现,如果想搭建其他方向的搜索引擎, 使用 5.1 构简 介 统,全称是 是网络实验室搜索引擎组耗时一年多开发的一个国家 863项目,其目的是建立一个搜索引擎平台,将搜索引擎的各个部分模块化,使得这个搜索引擎不在针对专一 的某一个 领域,而是可以针对各个领域。其功能有点类似于 其不同的是 用 c+编写的。 见 表格 3 表格 3 1) 于对网页进行去噪、消重以及编码转换等等处理,如果是对网页构建搜索引擎,这一步骤就可以省略了。 ( 2) 索引模块,用于将需要检索的部分建立倒排索引。( 3) 可以利用 于每一个词,去倒排索引里面查找包含它的文档中的 (网页中为从而完成检索。 ( 4) 前台模块,完成一个类似于天网搜索引擎的前台界面。除了现实结果之外,还进行摘要处理,一个文档的摘要。这 个地方需要 注意 的就是与 在后面提到。 除了以上 4个大的模块之外, 提供 了很多可供选择以及继承修改的小模块 例如,在 语言模型这个部分,可以选择需要的模型,也可以自己重写一些语言模型。压缩

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论