文档查重系统研究与实现
2021-05-23徐小桐王法胜
徐小桐 王法胜
摘要:在当下大数据的时代,引用和抄袭现象越来越严重,为了维护原创作业的权益,也为了培养学生独立思考的能力,该文设计了文档查重系统。该系统采用MVC模式,基于B/S架构,将MD5算法和SimHash算法结合,用于高校学生作业文档查重。系统共建有学生、老师、管理员三个端口。学生将作业文档上传,老师对作业进行查重评分,管理员统筹管理学生、老师和课程信息。该系统有效解决了目前因为查重平台收费而无法实现高校学生平时作业查重的现状。
关键词:查重;MD5算法;SimHash算法;MVC设计模式;B/S架构
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2021)11-0074-03
Research and Implementation of Document Duplicate Checking System
XU Xiao-tong, WANG Fa-sheng
(School of Information and Communication Engineering, Dalian 116600, China)
Abstract: In the era of big data, the phenomenon of citation and plagiarism is becoming more and more serious. In order to maintain the rights of original assignments, as well as to cultivate students' ability of independent thinking, this paper designs a document duplicate checking system. The system uses MVC mode, based on B/S architecture, combines MD5 algorithm and SimHash algorithm, and is used for duplicate checking of college students' homework documents. The system has three ports: students, teachers and administrators. The students upload the homework documents, the teachers check and grade the homework, and the administrators manage the students, teachers and course information as a whole. The system can effectively solve the current situation that college students can't check their homework because of the platform charge.
Key words: duplicate checking; MD5 algorithm; SimHash algorithm; MVC design pattern; B/S architecture
1 背景
如今我們生活在互联网时代,各种各样的信息扑面而来,为我们的生活和学习提供了海量的资源和巨大的方便,但是这也带来了弊端。学术文章、新闻类的文章甚至高校的作业与毕设项目都存在着抄袭现象,这不仅无法提高学生的创新思想与能力,还给原创的作者带来了不必要的麻烦和伤害[1]。所以,杜绝抄袭、维护原创是至关重要的。
我国一直重视教育的发展,培育具有独立思考、创新能力的新一代非常重要。高校应该在平时的作业中注意这方面能力的教育与培养,培养更优秀的新一代,所以查重工作变得非常重要,不仅要防止学生之间互相抄袭,也要防止网络资源的抄袭现象发生[2]。目前,学术论文的查重在我国制定了大量的规范,正规的查重平台比如中国知网等都需要收取额外的费用,这就给平时高校作业的查重带来了不方便性,难以用于查重平时作业。
鉴于查重工作的重要性,本文设计了一种基于MD5算法[3]和SimHash算法[4-5]结合的文档查重系统。该系统不仅可以对学生之间提交的文档作业进行查重,还更深入地针对特定网络资源来查重学生的文档作业,不仅培养学生的独立思考与创新能力,而且还为高校老师查重作业省去不必要的工作量,对于我国培养新一代的思考与创新能力至关重要。
2 系统分析
本系统主要是为实现学生作业文档的查重而设计,有学生,教师和管理员三个端口。教师在系统中发布作业要求,学生查看作业要求,并且提交相应的作业文档。当文档提交完毕,教师可以对指定文档进行查重,包括同门课程下学生文档之间的查重和与网络资源对比的查重,并根据查重结果进行评分。学生在教师评判完之后可以查看自己得分。管理员统筹对教师,学生和课程信息进行增删改查。系统用例图如图1所示。
3 系统设计
3.1 系统体系结构
对系统开发来说,选择一个合适的框架至关重要,这会减少很多不必要的时间和空间浪费,因此针对不同的系统需求我们要选择合适的系统框架。
本系统搭建过程中使用Eclipse开发环境和MySQL数据库,采用MVC模式,前端页面设计使用HTML、JavaScript和CSS完成,同时基于B/S结构。系统开发还包括了计算机安全领域中的MD5算法和自然语言处理领域中的SimHash算法,完成查重部分的功能。
MVC模式可以将程序结构分层,有利于开发者编程时逻辑清晰。MySQL是一种开源的关系型数据库,它可以处理大量的数据,满足用户需求,非常简单便捷。系统结构图如图2所示。
3.2 系统总体设计
系统根据用户需求和功能,分为四个模块:学生模块,教师模块,查重模块和管理员模块。学生模块具有查询课程功能,查看作业要求功能,上传作业文档功能,查看分数功能。教师模块具有添加自己课程信息功能,上传作业要求功能,查重作业功能和评判作业工作功能。查重模块里,系统会自动将学生文档转文本格式,再根据MD5算法[6]和SimHash算法[7]对文档进行粗查和精查,并将结果显示出来。管理员模块具有增删改查学生,教师,课程信息功能。系统模块层次图如图3所示。
系统总体流程:教师将作业要求发布到系统的对应课程下,学生查看课程作业要求,并根据要求上传作业。当学生上传完作业,教师进行作业查重。首先粗查,系统会自动根据文档MD5值来实现同门课程下该作业文档的查重,并将结果显示出来。如若有抄襲,教师直接给予通知,不必再精查。如若没有抄袭现象,则系统会根据SimHash算法将该文档与网络资源进行SimHash指纹[8]对比精查,将结果显示出来。网络资源由管理员定期从网上爬取相关资源上传到资源库。教师根据粗查和精查的结果给学生作业评分。学生在教师评定完分数后可以查看评分结果。管理员对学生,教师,课程信息进行统筹信息管理。
4 系统功能实现
4.1 学生细化用例逻辑
学生登录系统,输入学生学号和密码,如果正确,则系统跳转查询教师信息界面。学生根据课程编码和该课程教师的名字进行填写,如若填写正确或者数据库中有该课程,则系统显示出该课程的所有信息。其中,学生可以查看该课程下教师发布的作业要求,可以提交上传相应的作业以及可以查看自己之前几次作业的分数。作业提交完毕,系统会自动跳回查新课程信息界面。学生模块细化用例逻辑图如图4所示。
4.2 教师细化用例逻辑
教师登录系统,输入与工作号和密码,若输入正确,则系统会显示出该教师的所有课程。在该界面下,如若教师缺少相应课程或者需要新增加课程,教师可以直接注册。同时,在该界面下,教师可以选定一门课程上传作业要求或者选定一门课程查看该课程下的学生作业。当上传作业要求时,界面跳转到该课程下的上传界面,当查看学生作业时,界面显示出所有已提交作业的学生名单,教师根据名单,可以查看某一个学生的作业文档或者查重某一个学生的作业文档。当教师要审阅学生的作业文档时,界面跳转到该学生本门课程下的作业文档,供教师参考。当教师要查重学生作业时,系统根据MD5信息摘要算法和SimHash算法[9]将该生的作业文档与同门课程作业和网络资源进行粗查与细查,将结果显示出来。教师根据所有的查重结果,综合对学生的作业进行评分或者给予重新修改通知。教师模块细化用例逻辑图如图5所示。
4.3 查重流程
在该模块下,教师根据学生提交作业的名单,可以查重某一个学生的作业文档。当教师要查重学生作业时,系统根据MD5信息摘要算法将该生的作业文档与本门课程下所有学生作业文档的MD5值进行对比来粗查重,将超过阈值的信息连同抄袭学生的学号一同显示出来,供教师参考。如若没有抄袭,教师则可以接着进行与网络资源对比查重,系统使用SimHash算法细查,计算出选定作业文档的SimHash指纹与网络资源的SimHash指纹对比,结果根据阈值的设定将显示出是否有抄袭现象,对哪几篇网络资源进行了抄袭,其中一篇为语料库中的哪一篇。查重模块流程图如图6所示。
4.4 管理员细化用例逻辑
管理员登录系统,输入工作号和密码,若匹配正确,则进入管理员主界面。主界面分为三个选项,查看学生信息,查看教师信息,查看课程信息。点击任意一个查看功能,界面将会跳转,显示出相应的学生,课程或者教师数据,每条数据都可以进行删除和修改的功能。当点击删除信息时,界面跳转显示删除成功后返回到上一页显示信息界面。当点击修改信息时,界面跳转到信息修改界面,修改完成则系统显示成功并返回到上一层界面。管理员模块细化用例逻辑图如图7所示。
5 结束语
本文运用Eclipse开发环境和MySQL数据库研究并设计了文档查重系统,不仅对学生之间提交的文档作业进行查重,还更深入的针对特定网络资源来查重学生的文档作业,不仅培养学生的独立思考与创新能力,而且还为高校老师查重作业省去不必要的工作量,对于我国培养新一代的思考与创新能力至关重要。
参考文献:
[1] 王逍翔.基于SimHash的文本相似性检测研究与改进[D].昆明:昆明理工大学,2018.
[2] 李刚.网络环境下的中文查重系统的研究与实现[D].杭州:浙江理工大学,2017.
[3] 杨怀,宋俊芳,王聪华.浅谈MD5加密算法在网络安全中的应用[J].网络安全技术与应用,2018(9):40.
[4] 余意,张玉柱,胡自健.基于Simhash算法的大规模文档去重技术研究[J].信息通信,2015,28(2):28-29.
[5] Li Y,Sha Y,Shan J,et al.The Research of Weighted Community Partition based on SimHash[J].Procedia Computer Science,2013,17:797-802.
[6] 靳燕.基于MD5算法的文件完整性检测系统分析及设计[J].网络安全技术与应用,2019(11):36-38.
[7] 庞宇,张倩,韩凯,等.改进的Simhash算法在文本查重中的研究及应用[J].数字通信世界,2020(1):203-204.
[8] 王宇成.基于Simhash和层次聚类算法的网页去重技术研究[D].南京:南京邮电大学,2019.
[9] 王添男,冯锋.基于SimHash的文本相似检测算法研究[J].电子测试,2019(15):87-89.
【通联编辑:谢媛媛】