CN107679567B - 一种代码抄写行为识别方法、装置和系统 - Google Patents
一种代码抄写行为识别方法、装置和系统 Download PDFInfo
- Publication number
- CN107679567B CN107679567B CN201710867292.2A CN201710867292A CN107679567B CN 107679567 B CN107679567 B CN 107679567B CN 201710867292 A CN201710867292 A CN 201710867292A CN 107679567 B CN107679567 B CN 107679567B
- Authority
- CN
- China
- Prior art keywords
- module
- students
- code
- homework
- student
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种代码抄写行为识别方法、装置和系统。其中系统包括编辑端装置和客户端装置。编辑端装置包括UI模块、行为记录模块以及作业电子包生成模块。行为记录模块用于提取所述UI模块中学生编辑代码的键盘和鼠标的输入输出记录生成编辑行为记录。作业电子包生成模块用于将作业代码集和编辑行为记录打包成作业电子包。识别端装置包括作业输入模块、相似分析模块、分类学习模块以及抄写识别模块。识别端装置通过分析学生代码相似度找出相似学生集,然后根据相似学生的编辑行为记录采用机器学习算法进行分析得到该相似学生是否抄写行为。
Description
技术领域
本发明涉及学生程序作业的自动化批改。
背景技术
在学生编程作业及编程考试中,同学之间互相抄袭、甚至替人写代码的现象时有发生,人工发现抄袭的代码,需要逐个比对每份提交的代码,费时费力;通过代码查重软件对提交的源代码文本进行相似度检查来判断是否存在抄袭,是目前应用较多的方法;但对于编程初学者,很多题目使用同一种算法,代码量也不多,代码相似度普遍较高,影响了抄袭判断的准确度;而且该方法难以判断谁是抄袭者。
发明内容
本发明所要解决的问题:判断学生编程作业中是否存在抄袭。
为解决上述问题,本发明采用的方案如下:
根据本发明的一种代码抄写行为识别方法,包括如下步骤:
S1:获取各个学生的作业电子包;所述作业电子包内包含有作业代码集和编辑行为记录;所述编辑行为记录为学生在终端编辑代码时所获得键盘和鼠标的输入输出记录;
S2:计算各个学生的作业电子包内的作业代码集与其他学生的作业电子包内的作业代码集的相似度值,选取所述相似度值超过限值的学生作为该学生的相似学生,从而得到各个学生的所对应的相似学生集合;
S3:采用分类学习算法,对各个学生的所对应的相似学生集合内的相似学生的编辑行为记录与该学生的编辑行为记录进行分析判断该相似学生是否抄写。
进一步,根据本发明的代码抄写行为识别方法,所述分类学习算法为随机森林算法。
根据本发明的一种代码抄写行为识别装置,该装置包括以下模块:
M1,用于:获取各个学生的作业电子包;所述作业电子包内包含有作业代码集和编辑行为记录;所述编辑行为记录为学生在终端编辑代码时所获得键盘和鼠标的输入输出记录;
M2,用于:计算各个学生的作业电子包内的作业代码集与其他学生的作业电子包内的作业代码集的相似度值,选取所述相似度值超过限值的学生作为该学生的相似学生,从而得到各个学生的所对应的相似学生集合;
M3,用于:采用分类学习算法,对各个学生的所对应的相似学生集合内的相似学生的编辑行为记录与该学生的编辑行为记录进行分析判断该相似学生是否抄写。
进一步,根据本发明的代码抄写行为识别装置,所述分类学习算法为随机森林算法。
根据本发明的一种代码抄写行为识别系统,该系统包括编辑端装置和识别端装置;
所述编辑端装置包括UI模块、行为记录模块以及作业电子包生成模块;所述UI模块用于为学生编辑代码提供UI交互;所述行为记录模块用于提取所述UI模块中学生编辑代码的键盘和鼠标的输入输出记录生成编辑行为记录;所述作业电子包生成模块用于将学生编辑代码所生成的作业代码集和所述行为记录模块所生成的编辑行为记录打包成作业电子包;所述作业电子包内包含有作业代码集和编辑行为记录;
所述识别端装置包括作业输入模块、相似分析模块、分类学习模块以及抄写识别模块;
所述作业输入模块用于获取各个学生的作业电子包;
所述相似分析模块用于:计算各个学生的作业电子包内的作业代码集与其他学生的作业电子包内的作业代码集的相似度值,选取所述相似度值超过限值的学生作为该学生的相似学生,从而得到各个学生的所对应的相似学生集合;
所述分类学习模块用于:执行分类学习算法;
所述抄写识别模块用于:将各个学生的所对应的相似学生集合内的相似学生的编辑行为记录与该学生的编辑行为记录提交给所述分类学习模块进行分析判断该相似学生是否抄写;
进一步,根据本发明的代码抄写行为识别系统,所述分类学习算法为随机森林算法。
进一步,根据本发明的代码抄写行为识别系统,所述识别端装置还包括抄写训练模块;所述抄写训练模块用于为所述分类学习模块提供数据进行训练得到模型数据;
进一步,根据本发明的代码抄写行为识别系统,所述识别端装置还包括代码回放模块;所述代码回放模块用于将学生的编辑行为记录进行回放。
进一步,根据本发明的代码抄写行为识别系统,所述识别端装置还包括结果输出模块;所述结果输出模块用于将所述抄写识别模块分析的结果以文件方式保存和输出。
本发明的技术效果如下:本发明采用代码相似度识别和编辑行为记录的机器学习相结合的方法,准确率比较高。
附图说明
图1是本发明实施例代码抄写行为识别系统的整体结构示意图。
具体实施方式
下面结合附图对本发明做进一步详细说明。
一种代码抄写行为识别系统,如图1所示,包括编辑端装置1和识别端装置2。编辑端装置1由通过运行在学生作业终端上的代码作业编辑程序所实现,包括UI模块11、行为记录模块12以及作业电子包生成模块13。UI模块11用于为学生编辑代码提供UI交互。行为记录模块12用于提取所述UI模块中学生编辑代码的键盘和鼠标的输入输出记录生成编辑行为记录。作业电子包生成模块13用于将学生编辑代码所生成的作业代码集和所述行为记录模块所生成的编辑行为记录打包成作业电子包。作业电子包内至少包含有作业代码集和编辑行为记录。
本实施例中,编辑端装置1由网页客户端实现。作业电子包是一个文件包,其内包含作业代码集、编辑行为记录、作业学生信息以及信息摘要。其中作业学生信息包括但不限于学生姓名、学生学号、学生账号、作业时间以及作业ID等信息。信息摘要是根据作业代码集、编辑行为记录、作业学生信息通过散列函数计算得到的散列值。其中散列函数可以为MD5或SHA3等算法。本实施例中,作业电子包为加密的文件包,加密算法可以采用对称加密算法,比如AES、DES等。所生成的作业电子包通过网页客户端被上传至网页服务器中。
识别端装置2由通过运行在教师作业终端上的代码作业批改程序所实现,包括作业输入模块21、相似分析模块22、抄写识别模块23、抄写训练模块231、分类学习模块232、结果输出模块24以及代码回放模块25。作业输入模块21用于获取各个学生的作业电子包。相似分析模块22用于计算各个学生的作业电子包内的作业代码集与其他学生的作业电子包内的作业代码集的相似度值,选取所述相似度值超过限值的学生作为该学生的相似学生,从而得到各个学生的所对应的相似学生集合。抄写识别模块23用于将各个学生的所对应的相似学生集合内的相似学生的编辑行为记录与该学生的编辑行为记录提交给分类学习模块232进行分析判断该相似学生是否抄写。分类学习模块232用于执行分类学习算法。抄写训练模块231用于为分类学习模块231提供数据进行训练得到模型数据。结果输出模块24用于将抄写识别模块分析的结果以文件方式保存和输出。代码回放模块25用于将学生的编辑行为记录进行回放。
本实施例中,识别端装置2由网页客户端实现。当教师通过网页客户端登录网页服务器后,教师可以通过网页客户端下载学生上传的作业电子包。作业输入模块21通过教师下载作业电子包后再进行解密所实现。教师下载所有学生的作业电子包后,通过相似分析模块22的相似度分析,得到各个学生相应的相似学生集合。相似分析模块22中的相似度分析,本实施例采用了stanford大学开放的moss系统。分类学习模块232中的分类学习算法是指机器学习算法或机器分类算法,比如深度学习算法、随机森林算法等。本实施例中分类学习算法采用了随机森林算法。
本实施例中,抄写识别模块23根据分类学习算法得到的结果在显示屏上通过UI界面以列表形式展示。教师可以在该UI界面中对结果逐个分析,必要时,教师可以通过代码回放模块25将学生的编辑行为记录进行回放后进行深度分析,确定其是否可能存在抄袭行为。最后列表形式所展示的结果通过结果输出模块24存成文件。文件格式可以为HTML格式,也可以采用CSV格式。
本实施例上述系统实现的代码抄写行为识别过程具体如下:
S1:获取各个学生的作业电子包;所述作业电子包内包含有作业代码集和编辑行为记录;所述编辑行为记录为学生在终端编辑代码时所获得键盘和鼠标的输入输出记录;
S2:计算各个学生的作业电子包内的作业代码集与其他学生的作业电子包内的作业代码集的相似度值,选取所述相似度值超过限值的学生作为该学生的相似学生,从而得到各个学生的所对应的相似学生集合;
S3:采用分类学习算法,对各个学生的所对应的相似学生集合内的相似学生的编辑行为记录与该学生的编辑行为记录进行分析判断该相似学生是否抄写。
上述过程即为本发明所指的代码抄写行为识别方法。其中,步骤S1由前述作业输入模块21所实现;步骤S2由前述相似分析模块22所实现;步骤S3由前述抄写识别模块23和分类学习模块232所实现。
Claims (9)
1.一种代码抄写行为识别方法,其特征在于,包括如下步骤:
S1:获取各个学生的作业电子包;所述作业电子包内包含有作业代码集和编辑行为记录;所述编辑行为记录为学生在终端编辑代码时所获得键盘和鼠标的输入输出记录;
S2:计算各个学生的作业电子包内的作业代码集与其他学生的作业电子包内的作业代码集的相似度值,选取所述相似度值超过限值的学生作为该学生的相似学生,从而得到各个学生的所对应的相似学生集合;
S3:采用分类学习算法,对各个学生的所对应的相似学生集合内的相似学生的编辑行为记录进行分析判断该相似学生是否抄写。
2.如权利要求1所述的代码抄写行为识别方法,其特征在于,所述分类学习算法为随机森林算法。
3.一种代码抄写行为识别装置,其特征在于,该装置包括以下模块:
M1,用于:获取各个学生的作业电子包;所述作业电子包内包含有作业代码集和编辑行为记录;所述编辑行为记录为学生在终端编辑代码时所获得键盘和鼠标的输入输出记录;
M2,用于:计算各个学生的作业电子包内的作业代码集与其他学生的作业电子包内的作业代码集的相似度值,选取所述相似度值超过限值的学生作为该学生的相似学生,从而得到各个学生的所对应的相似学生集合;
M3,用于:采用分类学习算法,对各个学生的所对应的相似学生集合内的相似学生的编辑行为记录进行分析判断该相似学生是否抄写。
4.如权利要求3所述的代码抄写行为识别装置,其特征在于,所述分类学习算法为随机森林算法。
5.一种代码抄写行为识别系统,其特征在于,该系统包括编辑端装置和识别端装置;
所述编辑端装置包括UI模块、行为记录模块以及作业电子包生成模块;所述UI模块用于为学生编辑代码提供UI交互;所述行为记录模块用于提取所述UI模块中学生编辑代码的键盘和鼠标的输入输出记录生成编辑行为记录;所述作业电子包生成模块用于将学生编辑代码所生成的作业代码集和所述行为记录模块所生成的编辑行为记录打包成作业电子包;所述作业电子包内包含有作业代码集和编辑行为记录;
所述识别端装置包括作业输入模块、相似分析模块、分类学习模块以及抄写识别模块;
所述作业输入模块用于获取各个学生的作业电子包;
所述相似分析模块用于:计算各个学生的作业电子包内的作业代码集与其他学生的作业电子包内的作业代码集的相似度值,选取所述相似度值超过限值的学生作为该学生的相似学生,从而得到各个学生的所对应的相似学生集合;
所述分类学习模块用于:执行分类学习算法;
所述抄写识别模块用于:将各个学生的所对应的相似学生集合内的相似学生的编辑行为记录提交给所述分类学习模块进行分析判断该相似学生是否抄写。
6.如权利要求5所述的代码抄写行为识别系统,其特征在于,所述分类学习算法为随机森林算法。
7.如权利要求5所述的代码抄写行为识别系统,其特征在于,所述识别端装置还包括抄写训练模块;所述抄写训练模块用于为所述分类学习模块提供数据进行训练得到模型数据。
8.如权利要求5所述的代码抄写行为识别系统,其特征在于,所述识别端装置还包括代码回放模块;所述代码回放模块用于将学生的编辑行为记录进行回放。
9.如权利要求5所述的代码抄写行为识别系统,其特征在于,所述识别端装置还包括结果输出模块;所述结果输出模块用于将所述抄写识别模块分析的结果以文件方式保存和输出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710867292.2A CN107679567B (zh) | 2017-09-22 | 2017-09-22 | 一种代码抄写行为识别方法、装置和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710867292.2A CN107679567B (zh) | 2017-09-22 | 2017-09-22 | 一种代码抄写行为识别方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107679567A CN107679567A (zh) | 2018-02-09 |
CN107679567B true CN107679567B (zh) | 2021-04-27 |
Family
ID=61137898
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710867292.2A Active CN107679567B (zh) | 2017-09-22 | 2017-09-22 | 一种代码抄写行为识别方法、装置和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107679567B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109165040B (zh) * | 2018-07-04 | 2021-11-12 | 东华大学 | 一种基于随机森林模型的代码抄袭嫌疑检测的方法 |
CN111459787A (zh) * | 2019-01-18 | 2020-07-28 | 南京大学 | 一种基于机器学习的测试抄袭检测方法 |
CN112035371B (zh) * | 2020-09-04 | 2022-10-04 | 江苏海事职业技术学院 | 一种web应用作业的自动评分方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315622A (zh) * | 2007-05-30 | 2008-12-03 | 香港中文大学 | 检测文件相似度的系统及方法 |
CN101398758A (zh) * | 2008-10-30 | 2009-04-01 | 北京航空航天大学 | 一种代码抄袭的检测方法 |
CN103678528A (zh) * | 2013-12-03 | 2014-03-26 | 北京建筑大学 | 基于段落抄袭检测的电子作业反抄袭系统和方法 |
CN105791299A (zh) * | 2016-03-11 | 2016-07-20 | 南通职业大学 | 一种无人监考的智能化上机考试系统 |
CN106373057A (zh) * | 2016-09-29 | 2017-02-01 | 西安交通大学 | 一种面向网络教育的成绩不良学习者识别方法 |
CN107169321A (zh) * | 2017-06-10 | 2017-09-15 | 西安交通工程学院 | 基于属性计数和结构度量技术相结合的程序剽窃检测方法及系统 |
-
2017
- 2017-09-22 CN CN201710867292.2A patent/CN107679567B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315622A (zh) * | 2007-05-30 | 2008-12-03 | 香港中文大学 | 检测文件相似度的系统及方法 |
CN101398758A (zh) * | 2008-10-30 | 2009-04-01 | 北京航空航天大学 | 一种代码抄袭的检测方法 |
CN103678528A (zh) * | 2013-12-03 | 2014-03-26 | 北京建筑大学 | 基于段落抄袭检测的电子作业反抄袭系统和方法 |
CN105791299A (zh) * | 2016-03-11 | 2016-07-20 | 南通职业大学 | 一种无人监考的智能化上机考试系统 |
CN106373057A (zh) * | 2016-09-29 | 2017-02-01 | 西安交通大学 | 一种面向网络教育的成绩不良学习者识别方法 |
CN107169321A (zh) * | 2017-06-10 | 2017-09-15 | 西安交通工程学院 | 基于属性计数和结构度量技术相结合的程序剽窃检测方法及系统 |
Non-Patent Citations (3)
Title |
---|
一种基于AST的代码抄袭检测方法;张丽萍等;《计算机应用研究》;20111231;第28卷(第12期);第4616-4620 * |
基于考生在线行为的互抄袭作弊检测算法研究;常永虎等;《重庆工商大学学报(自然科学版)》;20160630;第33卷(第3期);第51-55页 * |
防抄袭编辑工具在程序设计类课程教学中的应用;王春晖等;《内蒙古师范大学学报 (教育科学版)》;20140930;第27卷(第9期);第147-149页 * |
Also Published As
Publication number | Publication date |
---|---|
CN107679567A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108595583B (zh) | 动态图表类页面数据爬取方法、装置、终端及存储介质 | |
TWI621077B (zh) | 理賠單據的字元識別方法及伺服器 | |
CN107239666B (zh) | 一种对医疗影像数据进行脱敏处理的方法及系统 | |
CN107679567B (zh) | 一种代码抄写行为识别方法、装置和系统 | |
WO2015176431A1 (zh) | 一种测试数据的生成方法及装置 | |
ATE457493T1 (de) | Verfahren und vorrichtung zum durchsuchen von backup-daten auf der basis von inhalt und attributen | |
CN104598020A (zh) | 保留用户输入的情感的方法和装置 | |
US8793499B2 (en) | Nested digital signatures with constant file size | |
US20180005626A1 (en) | Obfuscating training data | |
CN107544734A (zh) | 一种信息展示方法、装置和存储介质 | |
CN109324956B (zh) | 系统测试方法、设备及计算机可读存储介质 | |
CN104731583A (zh) | 基于习题和知识点编号记录的学习方案生成系统及方法 | |
US20200364034A1 (en) | System and Method for Automated Code Development and Construction | |
CN110969547A (zh) | 一种文本生成方法及装置 | |
CN113938408B (zh) | 一种数据流量测试方法、装置、服务器及存储介质 | |
CN111260080A (zh) | 基于机器学习的流程优化方法、装置、终端及存储介质 | |
CN111026604B (zh) | 一种日志文件解析方法及装置 | |
CN112036252A (zh) | 动作打标签模型的构建、视频动作打标方法及装置 | |
US20210272021A1 (en) | Ai creation verification device | |
CN112668282B (zh) | 一种设备规程文档格式转换的方法及系统 | |
CN110851400A (zh) | 文本数据的处理方法及装置 | |
CN110517010B (zh) | 一种数据处理方法、系统及存储介质 | |
CN112559377A (zh) | 一种首次测试用例的生成方法和装置 | |
JP2017167219A (ja) | 読み上げ情報編集装置、読み上げ情報編集方法およびプログラム | |
CN112395456B (zh) | 音频数据分类方法、训练方法及装置、介质、计算机设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |