作业查重软件,它实现了程序代码、文档文本、图片之间的相似度检查。a code-similarity, text-similarity and image-similarity computation software for the codes, documents and images of assignment.
软件主要检查、比较学生提交的电子档作业之间的相似度,能对多种编程语言(如java、c/c++、python等)、多种格式(txt、doc、docx、pdf等)的中英文、简繁体文档之间的文本、多种格式(png、jpg、gif、bmp等)的图片相似度进行比较分析,输出相似度高的代码、文本、图片,进而辅助发现学生之间互相抄袭的行为。
直接下载或clone项目源代码版,或下载软件的发布版releases。 源代码版可以直接导入eclipse,主入口类是gui.plag.edu下的PlagGUI。 系统在window10,jdk11 64位下开发、运行。
在发布版子目录下,双击run.bat批处理程序,就能启动程序。使用说明参见发布版子目录下的软件使用文档。程序主界面如下:
系统采用的主要技术是字符串相似度比较算法、代码词法语法解析、自然语言处理(nlp)中的分词、图片相似度比较算法。
程序类文本的相似度比较基于3个开放系统:
本系统在它们基础上进行了二次开发和封装,针对moss系统,开发出了客户端存取模块,实现了代码文件提交、结果获取和解析、结果排序等功能;针对sim和jplag,则将其集成到系统中,在moss因网络故障等原因不可用时,可作为替代产品使用。
中英文文档作业相似度的比较提供了两种算法:
第一种是基于shinglecloud算法(一种基于文本指纹的、语言无关的相似度快速计算方法),文档主要处理过程如下:
第二种是基于jplag的GST算法,对其功能进行了扩展,增加的“doc”语言类型,可以对各种文档进行相似度计算,并提供基于网页的可视化比对功能。
图片的相似度比较基于JImageHash项目:
主要采用了图片phash指纹相似度比较算法。
源于开源,还于开源,开源是美德,加星也是美德 :smile: 。