CN107679567A - 一种代码抄写行为识别方法、装置和系统 - Google Patents

一种代码抄写行为识别方法、装置和系统 Download PDF

Info

Publication number
CN107679567A
CN107679567A CN201710867292.2A CN201710867292A CN107679567A CN 107679567 A CN107679567 A CN 107679567A CN 201710867292 A CN201710867292 A CN 201710867292A CN 107679567 A CN107679567 A CN 107679567A
Authority
CN
China
Prior art keywords
student
module
code
electrons
record
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.)
Granted
Application number
CN201710867292.2A
Other languages
English (en)
Other versions
CN107679567B (zh
Inventor
方宏
方达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu Maritime Institute
Original Assignee
Jiangsu Maritime Institute
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu Maritime Institute filed Critical Jiangsu Maritime Institute
Priority to CN201710867292.2A priority Critical patent/CN107679567B/zh
Publication of CN107679567A publication Critical patent/CN107679567A/zh
Application granted granted Critical
Publication of CN107679567B publication Critical patent/CN107679567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3438Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching 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所述的代码抄写行为识别系统,其特征在于,所述识别端装置还包括结果输出模块;所述结果输出模块用于将所述抄写识别模块分析的结果以文件方式保存和输出。
CN201710867292.2A 2017-09-22 2017-09-22 一种代码抄写行为识别方法、装置和系统 Active CN107679567B (zh)

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 true CN107679567A (zh) 2018-02-09
CN107679567B 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165040A (zh) * 2018-07-04 2019-01-08 东华大学 一种基于随机森林模型的代码抄袭嫌疑检测的方法
CN111459787A (zh) * 2019-01-18 2020-07-28 南京大学 一种基于机器学习的测试抄袭检测方法
CN112035371A (zh) * 2020-09-04 2020-12-04 江苏海事职业技术学院 一种web应用作业的自动评分方法

Citations (6)

* Cited by examiner, † Cited by third party
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 西安交通工程学院 基于属性计数和结构度量技术相结合的程序剽窃检测方法及系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
常永虎等: "基于考生在线行为的互抄袭作弊检测算法研究", 《重庆工商大学学报(自然科学版)》 *
张丽萍等: "一种基于AST的代码抄袭检测方法", 《计算机应用研究》 *
王春晖等: "防抄袭编辑工具在程序设计类课程教学中的应用", 《内蒙古师范大学学报 (教育科学版)》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165040A (zh) * 2018-07-04 2019-01-08 东华大学 一种基于随机森林模型的代码抄袭嫌疑检测的方法
CN109165040B (zh) * 2018-07-04 2021-11-12 东华大学 一种基于随机森林模型的代码抄袭嫌疑检测的方法
CN111459787A (zh) * 2019-01-18 2020-07-28 南京大学 一种基于机器学习的测试抄袭检测方法
CN112035371A (zh) * 2020-09-04 2020-12-04 江苏海事职业技术学院 一种web应用作业的自动评分方法
CN112035371B (zh) * 2020-09-04 2022-10-04 江苏海事职业技术学院 一种web应用作业的自动评分方法

Also Published As

Publication number Publication date
CN107679567B (zh) 2021-04-27

Similar Documents

Publication Publication Date Title
CN108628741B (zh) 网页页面测试方法、装置、电子设备和介质
Bakharia Towards cross-domain MOOC forum post classification
CN107679567A (zh) 一种代码抄写行为识别方法、装置和系统
CN109637238B (zh) 一种练习题的生成方法、装置、设备和存储介质
CN107992764A (zh) 一种敏感网页识别与检测方法及装置
US20200357297A1 (en) Systems and Methods for Inquiry-Based Learning Including Collaborative Question Generation
CN111506504A (zh) 基于软件开发过程度量的软件安全性缺陷预测方法及装置
US20150294582A1 (en) Information communication technology in education
CN104463974B (zh) 三维模型展示方法、装置及系统
Jayakody et al. Enhancing competencies of less-able students to achieve learning outcomes: Learner aware tool support through Business intelligence
Akter et al. Case Study-Based Approach of Quantum Machine Learning in Cybersecurity: Quantum Support Vector Machine for Malware Classification and Protection
US20210272021A1 (en) Ai creation verification device
Ayotte et al. Introducing machine learning concepts using hands-on Android-based exercises
Cazares et al. A Training Web Platform to Improve Cognitive Skills for Phishing Attacks Detection
CN112765307A (zh) 一种基于机器学习算法的试卷试题拆分工具及其拆分提取方法
García et al. Learning analytics sources: Beyond learning platforms
WO2015114658A2 (en) An assessment system and method for assessing educational institutes
Carlyle et al. The Impact of an Introduction to Social Work Class on the Cultural Competency of Undergraduate Students in the College of Social and Behavioral Science at Minnesota State University, Mankato
Davidson Autoencoders
CN115941712B (zh) 报送数据的处理方法、装置、计算机设备及存储介质
Hilmi et al. DEEP LEARNING TECHNIQUE FOR DETECTING ONLINE LEARNING BEHAVIOR
Pargas et al. Using ink to expose students' thought processes in CS2/CS7
CN106407750A (zh) 一种随机生成课程编号的方法和系统
Biuk-Aghai et al. TransWiki: supporting translation teaching
Kommalapati Comparative study of state of the art deepfake detection models

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