论文相似度匹配算法的研究与实现

2018-11-01 作者:小编

摘要:针对近年来社会上出现的一些专业论文的抄袭现象,设计并实现一种高效的论文相似匹配算法,以有效地帮助审查人员对专业论文进行核查,从而尽可能减少或避免在专业论文领域中的抄袭现象。PaperisOk论文查重网提供知网查重免费入口服务,所有论文查重系统均来之官网检测,查重报告均支持验证真伪!不论您学习哪个专业,写作什么类型的论文,只要您有文本相似度检测的需求,知网查重检测系统总有一个版本适合您。
关键词:论文 相似度 匹配 算法
1 概述
近年来,随着网络技术的发展与普及,人们通过互联网获得信息更加便捷。而很多专业性的论文也能够在互联网上进行检索。在校学生或社会上的一些工作人员在发表专业论文时,往往通过互联网查阅相关资料,但有些人为了能够尽快发表论文直接抄袭或剽窃他人论文。各高校每年有大量的毕业生需要写毕业论文,而社会上每年也会有大量的论文在公开期刊杂志上进行发表。如此多的论文如何检测其是否含有抄袭或剽窃现象呢?单单依靠人们对每一篇论文进行审查肯定是行不通的,这就要借助于现代化的手段以提高相应的审查效率。
设计和开发一种好的论文相似度算法可将待发表的论文与已有论文进行智能比对检查,若发现雷同现象可及时通知发表人员做进一步修改。从而减少甚至避免在社会上出现的专业论文抄袭现象。
2 算法设计
因为每年会产生大量的论文,因而已有论文的数量非常巨大,这就要求比对算法要尽可能的简单,从而达到较高的执行效率。
首先对已有论文进行分类整理,以建立已有论文库。对已有论文按照发表年份、专业类别、出版社进行分类收集和存储。然后将论文库中的论文与待发表论文进行逐一比对审查。
待发表论文与已有论文进行匹配时,具体算法步骤如下:
2.1 待审查论文文档预处理
首先提取待审查论文的文本内容,将其进行段落划分。段落划分时,要将相邻较小的段落合并为一个较大的段落;过大的段落也要分解为多个较小的段落。如规定有效段落中句子的数量应大于5并小于60,那么论文中如果有两个相邻的段,其中一段仅有4个句子,则该段应与另一段进行合并,从而合并为一个有效段落;但如果论文中有一个段包含了70个句子,则该段应分解为两个有效段落:其中一个有效段落包含30个句子,另一个有效段落包含40个句子。段落划分后,对有效段落进行逐个顺序编号。
2.2 有效段落匹配
将待审查论文中划分好的有效段落与另一篇论文进行一次匹配。匹配时按先后顺序读取有效段落中的句子,从句子中随机抽取一定数量的连续字符,将其与另一篇论文进行字符串匹配,如果相同则记录该句,然后继续读取下一句,同样随机抽取相同数量的字符串与另一篇论文进行字符串匹配,并记录匹配结果。依次进行,直至段落结束,统计该段落中记录下来句子的数量,将其除以段落总的句子数量,得出该段落的匹配相似度。
2.3 论文相似度计算
段落匹配结束后,选出段落相似度大的两个段落,将这两个段落中记录下来句子的数量,除以这两个段落总的句子的数量,视为该论文的相似度。如果该相似度值较大,则可视为论文中的段落有一定的抄袭现象。需相关人员做进一步审查核实。
3 算法实现
算法采用面向对象的思想,将具体的算法过程与功能封装在相应的类中。主要的类有:
Paper类:表示论文,含有年份、专业类别、出版社、作者名称,文档内容等属性。
PagerList类:用来实现论文的分类整理,含
有add(Pager p)和remove(Pager p)方法可在不同类别中添加或移除论文。
Paragraph类:用于论文段落的划分,其中ListdivideToParagraph(Paper p)方法负责将论文划分成有效段落,各个段落保存在一个字符串列表中。
CheckPager类:用于论文的相似度比较,其中的float check(Paper p1,Paper p2)方法负责将两篇论文进行匹配,匹配结束后返回相似度值。
其具体实现的流程如上图所示:
4 总结
由于每年会有大量的论文得以公开发表,因此已有论文的数量逐年增多,因此在算法设计时应着重考虑系统的审查匹配效率。该算法在论文匹配时主要以有效句为单位进行字符串的匹配比较,虽然精度上不是很高但可满足对大量论文进行快速匹配的效率要求,以提供一种简捷的辅助审查手段。在算法实现时还可采用多线程的机制,以能更好的被现今主流的多核CPU所支持,从而进一步提高匹配算法的执行效率和程序运行的稳定性。
参考文献:
[1]巫喜红,凌捷.BM模式匹配算法剖析.计算机工程与设计,第28卷第1期.2007.
[2]娄正良,刘昌平,白洪亮,邹明福.汉字串的模糊匹配算法.微电子学与计算机,第21卷第4期.2004.
[3]潘群娜.基于模式匹配KMP算法的探讨.科技信息(科学教研),第13期.2007.
[4]李容.Visual C# 2008开发技术详解.电子工业出版社,2008.
作者简介:
赵少林(1975-),男,河南新乡人,硕士,讲师,主要研究方向:计算机应用。程杰(1978-),男,山东荷泽人,硕士,讲师,主要研究方向:计算机软件与理论。

来源:中小企业管理与科技·下旬刊 2013年5期

.—— END ——.