作业查重算法研究与系统开发开题报告

 2022-01-16 18:28:07

全文总字数:5921字

1. 研究目的与意义、国内外研究现状(文献综述)

1. 项目的意义

科技的发展改变了人们的生活方式和信息获取方式如今人们更多地依赖于电脑和互联网资源,习惯于使用网络搜索引擎寻找问题的详细信息和解决方案而互联网的发展与世界范围内的信息共享使得人们有机会获得越来越多的电子参考资料,而电子数据内容的非易复制性和易篡改性也为内容抄袭创造了更加便捷的机会这种未经批准的重复利用会导致令学术界难以保持高标准学术研究,令企业面临产品含未授权内容的法律风险在计算机编程领域,源代码抄袭的现象十分广泛,当我们百度一个具体任务时,往往会发现有许多个版本的版权不同的软件应用,而其中很多是从源代码来看都是雷同的在高校教学领域,代码的抄袭现象集中体现在程序语言教学中,学生之间抄袭代码的行为一方面影响教学质量的评估,另一方面带动不良的学习风气,对学生的能力成长非常不利因此近年来代码抄袭问题也得到一定程度的关注,有些学者对此发表相关研宄[1]但相比于自然文本方面的抄袭检测,尤其是论文查重方面的研究工作,在代码查重领域,我们仍需做进一步研究

“代码抄袭”,指的是“利用一些常有的方法将一个程序变换产生另一个程序”[2]本文的工作主要讨论大学程序语言教学中编程作业的代码查重问题由于程序课教学的需要,代码查重的工作是教学任务中很重要的一环而在进行检测的过程中,n份代码之间要进行的n(n-1)/2次一一对比,这意味着当代码提交量过大时,人工检测代码抄袭非常缓慢而耗费劳力,这意味着采用人工显得非常不实际也正因此国外的许多学校都尝试采用自动检测代码抄袭的系统国外的系统simjplag[3]moss在检测抄袭方面有较好的成效,但它们都只是用来对比少数代码集的代码之间的相似度jplag和sim采用两两对比的方式也限制它们无法对大规模的数据量进行操作jplag对上传代码大小有必须小于9.5mb的硬性要求,moss虽然没有大小上的限制,也通过建立索引的方式有效滤除不可能的代码对,然而它的运行过程全部在主存中进行,对主存大小要求很高.代码文本相似度检测方法的挑战在于,特定语言下的源码编码词袋(bag-od-words)数量具有不确定性对传统的无监督代码检测而言完备的预处理方案是解决上述问题的唯一途径

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

2. 研究的基本内容和问题

2 项目目标和项目内容

(1)研究目标

本毕设在传统代码文本相似度检测算法winnowing的基础上,考虑代码文本的特点与预处理规则,分析研究simhash算法的特点,通过两种算法的加权处理,以实现准确率更高的代码文本相似度检测方法。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

3. 研究的方法与方案

4.研究方法

(1)整理归纳:从知网、ieee等资料库中广泛搜索相关研究文献,整理归纳知识体系,评估值得借鉴的方法。

(2)前台与后台的搭建:用java做开发语言,搭建前台界面。

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

4. 研究创新点

算法的实现与调优

首先依据原理使用适合的语言实现算法,为了增加查重的准确度,考虑先基于winnowing算法对文本相似度检测,再将simhash算法引入文本相似度检测任务,对simhash算法和winnowing算法进行调参实验,设计一种基于两种算法的加权模型。

simhash 算法用于文本去重,该算法通过产生 simhash 指纹来检测文档内容的相似度,即将高维文档映射为低维二进制串格式的特征向量,该特征向量即为 simhash 指纹通过对 simhash 指纹的检测来实现文档相似重复性的检测,越相似的原始信息会生成越相近的指纹,该算法能够识别出不同内容在比特位上的差异程度,即认为 simhash 指纹具有唯一性

剩余内容已隐藏,您需要先支付后才能查看该篇文章全部内容!

5. 研究计划与进展

8研究计划

2019.1.9-2019.2.17:编写simhash算法,winnowing算法和分词模块。

2019.2.18-2019.3.18:编写查重报告模块,并完成服务器端数据库和本地数据库的搭建与连接。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付