本系统用的是Lucene全文检索架构,Lucene作为一个全文检索引擎框架,在构建机制上有众多明显的优点:首先,它可以对任何可以转化成文本格式的数据进行索引的创建,而学术论文包含的doc、PDF和CAJ等等这些格式都是可以转换成文本格式。其次,Lucene主要是运用经典的倒排索引建立索引,并在此基础上通过建立分块索引机制,对于新的文件建立小文件索引,然后将其与原有建立的索引进行合并,从而优化了索引结构,并整体提高了索引工作效率。同时,Lucene具有良好的开发环境和很强的兼容性,它可以顺利地在不同系统和不同平台上构建索引文件。基于Lucene的这些特点,它可以运用到学术论文查重上。

1 相关技术综述

1.1 Lucene概述

Lucene是基于java语言的免费开源的全文检索引擎的架构,由信息搜索领域的专家Doug Cutting创作,目前是Apache Jakarta家族中的一个开源项目。它为数据访问和管理提供了方便灵活的API,主要包括查询引擎、索引引擎、存储管理和文本分析接口。Lucene的API接口设计的比较通用,利用这些接口可以将Lucene集成到各种应用程序中[1]。Lucene本质上只是一个软件库或者说是工具包,为用户提供了强大的索引和搜索能力。

1.2 分词技术

分词是指将连续的字符序列按照一定的规则切分具有独立语义的词组的过程。分词技术从语言类型上来讲主要分为两类:一类以英文为代表的字母型文字,英文的基本单元是单词,单词之间是以空格作为自然分界符的;另一类是以汉语为代表的东亚语言;汉字只是字、句和段能通过明显的分界符来简单划界,词与词之间没有天然的分隔。因此与英文分词相比,中文要复杂的多且困难的多。目前,主流的中文分词技术包括:基于机械匹配的分词方法、基于统计的分词方法和模拟分词法。机械匹配分词方法是基于词典的分词方法,主要思想是基于字符串匹配的机械分词,这种方法是按照一定的策略将待分词的字符串与一个“充分大的”机器词典中的词条进行匹配,若能在词典中找到某个字符串,则匹配成功。由于机械分词法的效率和准确性受到词库容量的约束,且不能有效克服歧义切分,所以单纯采用机械分词法切分精度不高、切分准确率低;基于统计的分词法实际上是最大概率分词法,其基本思想是:首先切分出与词表能匹配成功的所有可能的词,然后运用统计语言模型和决策算法决定最优的切分结果,该方法的优点是具有非常好的切分歧义处理能力和识别新词的能力,但是统计分词方法需要大量的训练文本,计算量大,且分词精度与训练文本的选择有关;模拟分词方法是通过计算机程序模拟人对句子的理解最终达到分词的目的,实现方法主要是通过基于语法分析、语义分词和

上下文语境等来实现对词的切分并判断歧义。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即让计算机模拟人对句子的理解过程,具备人类的理解力。这种分词方法需要使用大量的语言知识和信息。由于汉语语言知识的笼统和复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于模拟的分词系统还处在试验阶段。

2 系统设计

设计目标:利用现有的全文检索技术对论文进行对比查重,结合该领域顶尖的主流技术实现高效、精准的查重效果。

Lucene并不是完美的,它在索引和检索方面具备很强的优势,然而在中文分词方面却比较薄弱。Lucene自带有两个中文分词器ChineseAnalyzer和CJKAnalyzer功能较弱。它们的分词方法各不同,ChineseAnalyzer分析器采用的是单字分词法,而CJKAnalyzer分析器采用的是二分法,CJKAnalyzer会产生大量的无实际意义或无检索意义的垃圾词汇;ChineseAnalyzer不仅分词效率低,而且分词质量差,需要结合其他的分词方法,才能保证分词的准确性。所以本系统在建立索引中采用的分词技术不依赖于Lucene本身的分词技术,主要是利用现在最高效的分词技术进行分词,结合Lucene在索引建立方面的高效性,使得两者更能高效的结合起来,

3 框架设计

3.1 系统整体流程

3.2 纯文本的转化

my document=Documents.Open(“文档所在目录”);

my txtfilename=‘H:\’

document.Saves({FileName=txtfilename,

FileFormat=document})。

现在好多工具都可以自身实现纯文本格式的转换,但是这些工具大多都是基于单一文档或者单一格式的,为了在这上面节省时间,本系统采用了批量转换所有格式文档,将库存文档全部一次性转换成纯文本文档以便后期的使用。

3.3 分词技术

分词技术前提是对文本文档按照一定的规则进行词法分析,之后针对文本文档进行分段,最后进行段落的分词。本文采用基于Ictclas中文分词算法的Ansj分词,对文本进行原子切分,切分的时候根据词法分析剔除了的、地、得这类无实际意义的词,保留人名、地名、国家名和用户自定义字典,最大化的减少歧义词的分解,该分词法利用双数组规划进行比对核心词典进行分词,其速度可以达到300w/s,经过分词之后我们可以计算每个词在文档中的权重其中Wx,d是词x在d这篇文本中的权重,fx,d是词x在d这篇文本中出现的频率,n是文本的总数,gx是包含词x的文本个数。

词的权重(Term weight)表示此词(Term)在此文档中的重要程度,越重要的词(Term)有越大的权重(Term weight),词的权重在计算文档之间的相关性中将发挥更大的作用。词的相关性打分公式如下:上述公式求得m和n文档的相关性,文档相关性主要用于调取和检索文档相关的文档。

3.4 创建索引

Lucene提供的API可以直接创建和更新索引,在分词重组之后用IndexWriter添加索引,对一级索引进行顺序排列,二级索引采用哈希法进行排列,其中必须包含的是词出现的文档、具体地址和频率,利用链表控制可以节省物理空间,在建立索引的时候把人名、地名这些名称代词和内容分开,方便查询。

3.5 查重

由于被查的文档不是纯文本格式,所以要先进行过滤和词法分析建立索引,进行文档索引和库索引的搜索对比,找到重复的索引之后打开库索引中保存的段信息,最终找到文档信息,进行某个索引词在文档中的精细对比,最终可以根据各个词的权重和查找到的概率进行一个论文重复度的计算,达到论文查重的目的。

4 总结

该系统充分结合了高效的分词技术和Lucene本身的全文检索优势,给高效的学位论文检测提供了方便,精细的查重技术在很大程度上缓解了论文重复度高的现状,虽然该系统结合了各个部分的优点,但是结合之处仍有一些不足之处,需要在系统运行之后进行实时的改进和完善。

lucene配置动态域_学位论文查重中如何使用Lucene全文检索相关推荐

  1. 查重多少合格_期刊论文查重一般多少合格?

    sci遴选目标是收录相对较为重要的期刊,但世界上期刊太多太多,从中遴选出重要的期刊,会有筛选标准,即sci只会收录部分期刊.众多期刊中,谁能成为sci期刊,就要达到sci收录的标准,而标准少不了参考该 ...

  2. 计划的主体部分应有哪些内容_本科论文查重查哪些部分内容?需要注意什么?...

    作者:新风学术网 关于本科毕业论文查重是查重哪些首先我们需要了解的是查重的依据,论文查重是建立在论文上的,我们先要知道一篇论文有哪些地方能用来检测,一篇论文它的组成是由封面.目录.前言.正文.参考文献 ...

  3. lucene配置动态域_Lucene BKD树-动态磁盘优化BSP树

    当我对遇到的问题找一个解决方案的时候,我遇到了BKD树这个难题.从来没有听过吗?这种情况可能不只是你自己.从google上搜索"bkd tree",通常会把你引导到 origina ...

  4. securecrt英文乱码怎么办_本科毕业论文查重率不合格怎么办?如何使用知网正版查重本科毕业论文?...

    01 本科毕业论文查重率不合格怎么办? 毕业论文可以说是大学生涯的一次总结,所以无论是学校还是个人,都是对于毕业论文比较重视的. 那么当毕业论文查重不合格的时候,学校可能会延期你的答辩,给予你几天去修 ...

  5. 学术论文查重经验分享

    本文涉及知网及Paperpass两种查询工具,非系统总结了降重技巧.查重网站避雷等内容. 最近一年,先后对结题报告和硕士论文做了"查重.改查重"工作,走了些弯路,将过程中的经验总结 ...

  6. 2021最新论文查重网站分享(附免费查重网址)

    前言 相信大家在写毕业论文会用到吧,虽然现在不是写论文的时候也不是我写论文的时候,但是可以保存一波. 正文如下 免费论文查重检测系统,毕业论文查重网. PaperPass:PaperPass官网-论文 ...

  7. 本科论文查重没通过怎么办?

    本科生在大四学年的最后一学期,需要通过高校的毕业考试,在毕业考试中论文是非常重要的,在整个考试阶段起着承上启下的作用,所以重视本科论文是非常重要的,但有许多在本科阶段没有经历过其他论文考试的大学生,对 ...

  8. 论文查重时封面、目录、引用会检测吗?

    在目前,高校中论文查重的结果已经成为了毕业论文写作的主要依据,学校更有规定要求,要求毕业论文的相似率在百分之多以以内不能超过这个规定的相似率范围的,否则就别是为是抄袭行为,面对学校的各种苛刻要求,对于 ...

  9. 硕士论文查重经常遇到的四大问题

    在硕士论文查重中,我们经常会遇到各种各样的问题,比如在论文查重过程中需要注意哪些要点?论文查重会检测哪些内容?而大部分首次进行论文查重的小白就更应该知道,在论文查重中经常遇到的问题有哪些? 1.关键词 ...

最新文章

  1. 查看详细_丹江口EH油泵入口滤芯W.38.B.0035_滤芯详细查看
  2. 云炬创业政策学习笔记20210115
  3. 分布式数据库CAP原理和Base
  4. C++ cout 输出 16, 8 , 2进制
  5. 简单五步,实现物联网批量创建设备
  6. Python 3.8 稳定版正式发布,新特性全面解读
  7. neo4j python
  8. WP7实例篇之土豆搜索器(2)
  9. 仅让演讲者看到备注信息
  10. vba替换字符串中的字符_R语言 | 字符串替换
  11. IBGP的自己下一跳,指定源命令。
  12. shell php的守护进程,实例详解shell编写守护进程的方法
  13. VC6.0安装番茄助手
  14. 螺丝螺母垫片顺序图片_如何计算螺丝,螺栓和螺母的尺寸
  15. git_ Git 工具 - 储藏(Stashing)
  16. 仿小米商城网: 项目启动
  17. 计算机图形学之绘制旗子
  18. 重要接口关键词搜索——item_search-按关键字搜索淘宝商品
  19. 【Paper Reading】二值化网络——BNN
  20. 2018世界人工智能大会总结

热门文章

  1. PMP就是个垃圾证书,YES or NO
  2. 30个Vim常用命令
  3. 京东、天猫等电商平台产品评价
  4. python中 什么意思_请问python中%代表什么意思?
  5. c语言益智程序,100个经典C语言程序(益智类)(71---80)
  6. Android和DLT日志系统
  7. 【阅读笔记】提升example-based SISR七个技巧
  8. 蚂蚁金服服务注册中心数据一致性方案分析 | SOFARegistry 解析
  9. R语言 - 集成开发环境IDE
  10. 梦回JDBC —— (Statement对象)