CN113793112A - A method, system and medium for automatic correction of programming operations - Google Patents
A method, system and medium for automatic correction of programming operations Download PDFInfo
- Publication number
- CN113793112A CN113793112A CN202110866914.6A CN202110866914A CN113793112A CN 113793112 A CN113793112 A CN 113793112A CN 202110866914 A CN202110866914 A CN 202110866914A CN 113793112 A CN113793112 A CN 113793112A
- Authority
- CN
- China
- Prior art keywords
- data
- programming
- building block
- correct answer
- preset
- 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
Links
- 238000012937 correction Methods 0.000 title claims abstract description 85
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000003062 neural network model Methods 0.000 claims abstract description 30
- 238000012549 training Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 24
- 238000013507 mapping Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 18
- 238000003491 array Methods 0.000 claims description 5
- 238000012986 modification Methods 0.000 claims 4
- 230000004048 modification Effects 0.000 claims 4
- 238000004806 packaging method and process Methods 0.000 claims 1
- 230000008569 process Effects 0.000 abstract description 24
- 238000004364 calculation method Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 230000009471 action Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B7/00—Electrically-operated teaching apparatus or devices working with questions and answers
- G09B7/02—Electrically-operated teaching apparatus or devices working with questions and answers of the type wherein the student is expected to construct an answer to the question which is presented or wherein the machine gives an answer to the question presented by a student
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Human Resources & Organizations (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Educational Administration (AREA)
- Educational Technology (AREA)
- General Business, Economics & Management (AREA)
- Computational Linguistics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Economics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Primary Health Care (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种编程作业自动批改方法、系统及介质,方法包括:获取待批改的编程作业;将所述编程作业输入至预设的神经网络模型中,计算输出所述编程作业的特征数据;将所述编程作业的特征数据与正确答案模板集合进行特征匹配,输出相应的置信度数据;根据所述置信度数据确认所述编程作业的批改结果。本发明实施例通过神经网络模型计算编程作业的特征数据,并将特征数据与正确答案模板进行特征匹配后得到相应的置信度数据,结合深度学习训练与特征匹配获取的置信度数据对编程作业的进行高效的自动批改,提高了编程教学过程中作业批改的效率。
The invention discloses a method, system and medium for automatic correction of programming jobs. The method includes: acquiring programming jobs to be corrected; inputting the programming jobs into a preset neural network model, and calculating and outputting characteristic data of the programming jobs ; Carry out feature matching between the feature data of the programming job and the correct answer template set, and output corresponding confidence data; confirm the correction result of the programming job according to the confidence data. In the embodiment of the present invention, the feature data of the programming job is calculated by the neural network model, and the corresponding confidence data is obtained after feature matching between the feature data and the correct answer template. Efficient automatic correction improves the efficiency of homework correction in the process of programming teaching.
Description
技术领域technical field
本发明涉及图形化编程技术领域,尤其涉及一种编程作业自动批改方法、系统及介质。The present invention relates to the technical field of graphical programming, in particular to a method, system and medium for automatic correction of programming operations.
背景技术Background technique
当前的在线少儿编程课程中,学生的课后编程作业批改主要还依赖于人工批改,主要是由于图形化编程作业是由代表各种变量、操作的图形化积木代码块组合而成,学生操作的自由度较高,一个作业通常会对应多种实现方式,现有的自动批改仅提供少数正确答案进行精确对比,使得自动批改的效率低下,难以满足多样化编程作业的高效自动批改需要。In the current online children's programming courses, students' after-school programming assignments mainly rely on manual corrections, mainly because the graphical programming assignments are composed of graphical building blocks representing various variables and operations. The degree of freedom is high, and a job usually corresponds to multiple implementation methods. The existing automatic correction only provides a few correct answers for accurate comparison, which makes the efficiency of automatic correction low, and it is difficult to meet the needs of efficient automatic correction of various programming jobs.
发明内容SUMMARY OF THE INVENTION
鉴于上述现有技术的不足,本发明的目的在于提供一种编程作业自动批改方法、系统及介质,旨在提高编程作业自动批改的效率。In view of the above-mentioned deficiencies of the prior art, the purpose of the present invention is to provide a method, system and medium for automatic correction of programming operations, so as to improve the efficiency of automatic correction of programming operations.
本发明的技术方案如下:The technical scheme of the present invention is as follows:
一种编程作业自动批改方法,其包括如下步骤:An automatic correction method for programming jobs, which comprises the following steps:
获取待批改的编程作业;Get programming assignments to be corrected;
将所述编程作业输入至预设的神经网络模型中,计算输出所述编程作业的特征数据;Inputting the programming job into a preset neural network model, and calculating and outputting characteristic data of the programming job;
将所述编程作业的特征数据与正确答案模板集合进行特征匹配,输出相应的置信度数据;Perform feature matching on the feature data of the programming job with the correct answer template set, and output corresponding confidence data;
根据所述置信度数据确认所述编程作业的批改结果。The correction result of the programming job is confirmed according to the confidence data.
所述的编程作业自动批改方法中,所述将所述编程作业的特征数据与正确答案模板集合进行特征匹配,输出相应的置信度数据,包括:In the described programming job automatic correction method, the feature matching is performed between the feature data of the programming job and the correct answer template set, and the corresponding confidence data is output, including:
将所述编程作业的特征数据输入至预设的匹配模型中,输出所述编程作业与预设模板类别之间的置信度数据,所述匹配模型基于所述正确答案模板集合中已获得的所有正确答案模板训练得到。Input the feature data of the programming job into a preset matching model, and output the confidence data between the programming job and the preset template category, the matching model is based on all the obtained correct answer template sets. The correct answer template is trained.
所述的编程作业自动批改方法中,所述将所述编程作业的特征数据输入至预设的匹配模型中之前,所述方法还包括:In the method for automatic correction of programming jobs, before the feature data of the programming job is input into the preset matching model, the method further includes:
对所述正确答案模板集合中已获得的所有正确答案模板进行类别标注,将各个正确答案模板分别标注为相应的预设模板类别;Classify all the correct answer templates that have been obtained in the correct answer template set, and mark each correct answer template as a corresponding preset template category;
将各个正确答案模板分别输入至所述神经网络模型中,计算输出各个正确答案模板的特征训练数据;Input each correct answer template into the neural network model respectively, and calculate and output the characteristic training data of each correct answer template;
构建所述匹配模型,并根据各个正确答案模板的所述预设模板类别和所述特征训练数据对所述匹配模型进行训练,直到所述匹配模型满足预设收敛条件。The matching model is constructed, and the matching model is trained according to the preset template category of each correct answer template and the feature training data, until the matching model satisfies preset convergence conditions.
所述的编程作业自动批改方法中,所述根据所述置信度数据确认所述待批改的编程作业的批改结果,包括:In the automatic correction method for programming jobs, the confirming the correction result of the programming job to be corrected according to the confidence data includes:
若存在大于等于置信度阈值的置信度数据,则所述编程作业的批改结果为合格;If there is confidence data greater than or equal to the confidence threshold, the correction result of the programming job is qualified;
若置信度数据均小于置信度阈值,则所述编程作业的批改结果为不合格;If the confidence data are all less than the confidence threshold, the correction result of the programming job is unqualified;
将批改结果为不合格的所述编程作业归入待处理作业集合中;classifying the programming jobs whose correction result is unqualified into the set of jobs to be processed;
对所述待处理作业集合进行聚类处理,提取新的正确答案模板并归入正确答案模板集合后继续进行特征匹配,直到从全部待批改的编程作业中匹配出所有的正确答案。Cluster processing is performed on the set of jobs to be processed, new correct answer templates are extracted and classified into the set of correct answer templates, and feature matching is continued until all correct answers are matched from all programming jobs to be corrected.
所述的编程作业自动批改方法中,所述将所述编程作业输入至预设的神经网络模型中,计算输出所述编程作业的特征数据之前,还包括:In the method for automatic correction of programming jobs, before the inputting the programming job into a preset neural network model, and before calculating and outputting the characteristic data of the programming job, the method further includes:
对所述编程作业按预设规则进行序列化处理。The programming job is serialized according to preset rules.
所述的编程作业自动批改方法中,所述对所述编程作业按预设规则进行序列化处理,包括:In the method for automatic correction of programming jobs, the serializing processing of the programming jobs according to preset rules includes:
获取编程作业中的积木代码块组合;Get the building block code block combination in the programming assignment;
按预设顺序解析所述积木代码块组合,得到每个积木代码块对应的积木类型与积木数据;Analyze the building block code block combination in a preset order to obtain the building block type and building block data corresponding to each building block code block;
根据所述积木类型和积木数据按预设规则进行序列化后生成相应的序列化数组。A corresponding serialized array is generated after serializing according to the building block type and building block data according to preset rules.
所述的编程作业自动批改方法中,所述按预设顺序解析所述积木代码块组合,得到每个积木代码块对应的积木类型与积木数据,包括:In the method for automatic correction of programming jobs, the combination of building block code blocks is analyzed in a preset order to obtain the building block type and building block data corresponding to each building block code block, including:
获取所述积木代码块组合的拼接时序;Obtain the splicing sequence of the building block code block combination;
按所述拼接时序依次对每个积木代码块进行解析,得到按拼接时序排列的积木类型与积木数据。Each building block code block is sequentially parsed according to the splicing sequence to obtain building block types and building block data arranged according to the splicing sequence.
所述的编程作业自动批改方法中,所述根据所述积木类型和积木数据按预设规则进行序列化后生成相应的序列化数组,包括:In the method for automatic correction of programming jobs, after serializing according to the building block type and building block data according to preset rules, a corresponding serialized array is generated, including:
将所述积木类型和积木数据按预设的编码映射库分别转换为对应的编码数据,所述编码映射库用于存储所述积木类型和积木数据与所述编码数据之间的映射关系;The building block type and building block data are respectively converted into corresponding encoded data according to a preset encoding mapping library, and the encoding mapping library is used to store the mapping relationship between the building block type and the building block data and the encoded data;
将所述编码数据按预设数据结构进行封装后得到与每个积木代码块对应的一维数组;After encapsulating the encoded data according to the preset data structure, a one-dimensional array corresponding to each building block code block is obtained;
将所述一维数组按拼接时序叠加,生成与所述积木代码块组合对应的二维序列化数组。The one-dimensional arrays are superimposed according to the splicing sequence to generate a two-dimensional serialized array corresponding to the combination of the building block code blocks.
本发明又一实施例还提供了一种编程作业自动批改系统,所述系统包括至少一个处理器;以及,Yet another embodiment of the present invention also provides an automatic correction system for programming jobs, the system includes at least one processor; and,
与所述至少一个处理器通信连接的存储器;其中,a memory communicatively coupled to the at least one processor; wherein,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述编程作业自动批改方法。The memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor to enable the at least one processor to perform the above-described method for automatic correction of programming jobs.
本发明的另一实施例还提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行时,可使得所述一个或多个处理器执行上述的编程作业自动批改方法。Another embodiment of the present invention also provides a non-volatile computer-readable storage medium storing computer-executable instructions, the computer-executable instructions being stored by one or more When the processor executes, the one or more processors can be made to execute the above-mentioned method for automatic correction of programming jobs.
有益效果:本发明公开了一种编程作业自动批改方法、系统及介质,相比于现有技术,本发明实施例通过神经网络模型计算编程作业的特征数据,并将特征数据与正确答案模板进行特征匹配后得到相应的置信度数据,结合深度学习训练与特征匹配获取的置信度数据对编程作业的进行高效的自动批改,提高了编程教学过程中作业批改的效率。Beneficial effects: The present invention discloses a method, system and medium for automatic correction of programming jobs. Compared with the prior art, the embodiment of the present invention calculates characteristic data of programming jobs through a neural network model, and compares the characteristic data with the correct answer template. Corresponding confidence data is obtained after feature matching, and the confidence data obtained from deep learning training and feature matching can be used for efficient automatic correction of programming assignments, which improves the efficiency of assignment correction during programming teaching.
附图说明Description of drawings
下面将结合附图及实施例对本发明作进一步说明,附图中:The present invention will be further described below in conjunction with the accompanying drawings and embodiments, in which:
图1为本发明提供的编程作业自动批改方法较佳实施例的流程图;1 is a flowchart of a preferred embodiment of a method for automatically correcting programming operations provided by the present invention;
图2为本发明提供的编程作业自动批改方法应用实施例中待处理编程作业中积木代码块组合的示意图;2 is a schematic diagram of a combination of building blocks code blocks in a programming job to be processed in an application embodiment of the method for automatically correcting programming jobs provided by the present invention;
图3为本发明提供的编程作业自动批改方法应用实施例中特征数据计算的流程图;3 is a flowchart of feature data calculation in an application embodiment of the method for automatically correcting programming jobs provided by the present invention;
图4为本发明提供的编程作业自动批改方法应用实施例中模板匹配的流程图;4 is a flowchart of template matching in an application embodiment of a method for automatically correcting programming jobs provided by the present invention;
图5为本发明提供的编程作业自动批改装置较佳实施例的功能模块示意图;FIG. 5 is a schematic diagram of functional modules of a preferred embodiment of the device for automatic correction of programming operations provided by the present invention;
图6为本发明提供的编程作业自动批改系统较佳实施例的硬件结构示意图。FIG. 6 is a schematic diagram of the hardware structure of a preferred embodiment of the system for automatic correction of programming operations provided by the present invention.
具体实施方式Detailed ways
为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。以下结合附图对本发明实施例进行介绍。In order to make the objectives, technical solutions and effects of the present invention clearer and clearer, the present invention will be described in further detail below. It should be understood that the specific embodiments described herein are only used to explain the present invention, but not to limit the present invention. The embodiments of the present invention are described below with reference to the accompanying drawings.
请参阅图1,图1为本发明提供的编程作业自动批改方法较佳实施例的流程图。如图1所示,其包括如下步骤:Please refer to FIG. 1 . FIG. 1 is a flowchart of a preferred embodiment of a method for automatic correction of programming jobs provided by the present invention. As shown in Figure 1, it includes the following steps:
S100、获取待批改的编程作业;S100. Obtain the programming job to be corrected;
S200、将所述编程作业输入至预设的神经网络模型中,计算输出所述编程作业的特征数据;S200, inputting the programming job into a preset neural network model, and calculating and outputting characteristic data of the programming job;
S300、将所述编程作业的特征数据与正确答案模板集合进行特征匹配,输出相应的置信度数据;S300, feature matching the feature data of the programming job with the correct answer template set, and output corresponding confidence data;
S400、根据所述置信度数据确认所述编程作业的批改结果。S400. Confirm the correction result of the programming job according to the confidence data.
本实施例中,当用户在例如在线编程教育平台上进行编程学习时,根据作业要求在相应的代码编辑区域输入待批改的编程作业,此时在线编程教育平台可自动获取用户所提交的待批改的编程作业,具体所述待批改的编程作业可以是历史提交待批改的编程作业,也可以是实时提交待批改的编程作业,本实施例对此不作限定,特别地,本实施例中可以以图形化编程形式的编程作业进行说明,即编程作业中包含的是多个已封装的具有相应功能的积木代码块,当然,在其它实施例中所述编程作业也可以是其它例如文本等形式,本实施例对此不作限定。In this embodiment, when the user performs programming learning on, for example, an online programming education platform, he inputs the programming assignment to be corrected in the corresponding code editing area according to the job requirements, and the online programming education platform can automatically obtain the pending correction submitted by the user. Specifically, the programming job to be corrected may be a programming job submitted in history to be corrected, or a programming job submitted in real time to be corrected, which is not limited in this embodiment. In particular, in this embodiment, it can be The programming operation in the form of graphical programming is described, that is, the programming operation contains a plurality of encapsulated building block code blocks with corresponding functions. Of course, in other embodiments, the programming operation can also be in other forms such as text, etc. This embodiment does not limit this.
获取到待批改的编程作业后通过预先构建并完成训练的神经网络模型进行特征提取,计算输出所述待批改的编程作业的特征数据,所述神经网络模型可以为VGG神经网络,其具有结构简洁、特征度宽、能提取更多特征信息等优点,当然在其它实施例中也可采用其它结构的神经网络模型,本实施例对其不作限定;具体所述神经网络模型的训练过程为根据预先采集的批改训练样本对所述神经网络模型进行训练,使所述神经网络模型达到预设收敛条件即完成模型训练,所述批改训练样本中包含有多种不同组合形式且带有标注的图形化编程作业,将其输入至神经网络模型中,根据所述神经网络模型对批改训练样本进行特征提取的输出值反向调节器权重参数直到模型收敛,也就是说完成训练的神经网络模型能准确的识别提取编程作业中所包含的积木代码块对应的特征数据,为后续的自动批改提供可靠的数据基础。After the programming job to be corrected is obtained, feature extraction is performed through a neural network model that is pre-built and trained, and the feature data of the programming job to be corrected is calculated and output. The neural network model can be a VGG neural network, which has a simple structure. , wide feature width, and the ability to extract more feature information. Of course, in other embodiments, neural network models with other structures can also be used, which are not limited in this embodiment; the specific training process of the neural network model is based on pre- The collected correction training samples are used to train the neural network model, and the model training is completed when the neural network model reaches the preset convergence condition. The programming operation, input it into the neural network model, and perform feature extraction on the corrected training samples according to the neural network model, and reverse the regulator weight parameters until the model converges, that is to say, the trained neural network model can accurately Identify and extract the feature data corresponding to the building block code blocks contained in the programming job, and provide a reliable data basis for subsequent automatic corrections.
提取得到待批改的编程作业的特征数据后将其与正确答案模板集合进行特征匹配,计算输出相应的置信度数据,例如自动批改初始时可预设至少一个正确答案模板并通过神经网络模型提取其特征数据保存在正确答案模板集合中,后续在自动批改时,将待批改的编程作业的特征数据与正确答案模板集合中所包含的模板特征数据进行匹配,并根据计算输出的置信度数据进一步确认得到所述待批改的编程作业的批改结果,本实施例通过结合深度学习训练得到神经网络模型与特征匹配处理,将编程作业自动批改时抽象的图形化对比转换为准确的特征数据匹配,有效提高了图形化编程教学过程中作业自动批改的效率。After extracting the feature data of the programming job to be corrected, perform feature matching with the correct answer template set, and calculate and output the corresponding confidence data. For example, at least one correct answer template can be preset at the beginning of automatic correction and extracted through the neural network model The feature data is stored in the correct answer template set, and in the subsequent automatic correction, the feature data of the programming job to be corrected is matched with the template feature data contained in the correct answer template set, and further confirmed according to the confidence data output by the calculation The correction result of the programming job to be corrected is obtained. In this embodiment, the neural network model and the feature matching process are obtained by combining deep learning training, and the abstract graphical comparison during automatic correction of the programming job is converted into accurate feature data matching, effectively improving The efficiency of automatic correction of homework in the process of graphical programming teaching is improved.
在一个实施例中,所述将所述编程作业的特征数据与正确答案模板集合进行特征匹配,输出相应的置信度数据,包括:In one embodiment, performing feature matching between the feature data of the programming job and the correct answer template set, and outputting corresponding confidence data, including:
将所述编程作业的特征数据输入至预设的匹配模型中,输出所述编程作业与预设模板类别之间的置信度数据,所述匹配模型基于所述正确答案模板集合中已获得的所有正确答案模板训练得到。Input the feature data of the programming job into a preset matching model, and output the confidence data between the programming job and the preset template category, the matching model is based on all the obtained correct answer template sets. The correct answer template is trained.
本实施例中,在进行特征匹配时,通过预设的匹配模型对所述编程作业的特征数据进行分类匹配,且该匹配模型是基于所述正确答案模板集合中已获得的正确答案模板训练得到的,即通过已获得的正确答案模板预先训练得到一匹配模型,该匹配模型用于将输入的编程作业与预设模板类别进行特征匹配后输出相应的置信度数据,置信度数据则表示编程作业的特征数据与预设模板类别对应的特征数据之间的相似度,同一编程作业针对所有预设模板类别的置信度数据之和为1,即通过该匹配模型可匹配输出编程作业与各个预设模板类别之间的相似度,以实现对输入的编程作业的特征数据进行高效的特征匹配处理。In this embodiment, during feature matching, a preset matching model is used to classify and match the feature data of the programming job, and the matching model is obtained by training based on the obtained correct answer templates in the correct answer template set , that is, a matching model is obtained by pre-training the obtained correct answer template. The matching model is used to perform feature matching between the input programming job and the preset template category and output the corresponding confidence data. The confidence data represents the programming job. The similarity between the feature data of the preset template category and the feature data corresponding to the preset template category, the sum of the confidence data of the same programming job for all preset template categories is 1, that is, the matching model can match the output programming job and each preset template category. Similarity between template categories to achieve efficient feature matching processing for input feature data of programming jobs.
在一个实施例中,所述将所述编程作业的特征数据输入至预设的匹配模型中之前,所述方法还包括:In one embodiment, before the feature data of the programming job is input into the preset matching model, the method further includes:
对所述正确答案模板集合中已获得的所有正确答案模板进行类别标注,将各个正确答案模板分别标注为相应的预设模板类别;Classify all the correct answer templates that have been obtained in the correct answer template set, and mark each correct answer template as a corresponding preset template category;
将各个正确答案模板分别输入至所述神经网络模型中,计算输出各个正确答案模板的特征训练数据;Input each correct answer template into the neural network model respectively, and calculate and output the characteristic training data of each correct answer template;
构建所述匹配模型,并根据各个正确答案模板的所述预设模板类别和所述特征训练数据对所述匹配模型进行训练,直到所述匹配模型满足预设收敛条件。The matching model is constructed, and the matching model is trained according to the preset template category of each correct answer template and the feature training data, until the matching model satisfies preset convergence conditions.
本实施例中,在进行特征匹配之前先构建并训练得到用于分类匹配的匹配模型,先对正确答案模板集合中已获得的所有正确答案模板进行类别标注,将各个正确答案模板分别标注为相应的预设模板类别,并且通过预设的神经网络模型计算得到各个正确答案模板的特征训练数据,从而构成匹配模型的分类训练样本,即匹配模型的分类训练样本为已进行了类别标注的特征训练数据,通过该分类训练样本对所述匹配模型进行训练,直到匹配模型满足预设收敛调节时即完成模型训练,完成模型训练的匹配模型能准确的对编程作业的特征数据进行分类匹配,得到编程作业与各个预设模板类别之间的置信度数据,实现高效准确的端到端的特征匹配。In this embodiment, before feature matching is performed, a matching model for classification matching is constructed and trained, firstly, all correct answer templates obtained in the correct answer template set are classified into categories, and each correct answer template is marked as corresponding The preset template category, and the feature training data of each correct answer template is calculated by the preset neural network model, so as to constitute the classification training sample of the matching model, that is, the classification training sample of the matching model is the feature training that has been classified into categories. The matching model is trained through the classification training sample, and the model training is completed when the matching model satisfies the preset convergence adjustment. The matching model after model training can accurately classify and match the characteristic data of the programming job to obtain the Confidence data between jobs and each preset template category to achieve efficient and accurate end-to-end feature matching.
可选的,由于正确答案模板集合可能是根据批改进程而动态更新的,以满足多样化实现形式的批改需求,因此匹配模型训练和分类匹配可同时进行,在初次完成了匹配模型的模型训练后,可根据动态更新的正确答案模板集合包含的特征训练数据与预设模板类别继续进行训练以得到更新后的匹配模型,提高对编程作业的特征数据进行特征匹配时的模板覆盖率,确保在特征匹配时不会由于遗漏导致批改错误,提高自动批改的可靠性。Optionally, since the correct answer template set may be dynamically updated according to the batch improvement process to meet the correction needs of various implementation forms, the matching model training and classification matching can be performed at the same time. After the model training of the matching model is completed for the first time , you can continue to train according to the feature training data contained in the dynamically updated correct answer template set and the preset template category to obtain an updated matching model, improve the template coverage rate when performing feature matching on the feature data of the programming job, and ensure that the feature When matching, there will be no correction errors due to omissions, which improves the reliability of automatic corrections.
所述根据所述置信度数据确认所述待批改的编程作业的批改结果,包括:The confirming the correction result of the programming job to be corrected according to the confidence data includes:
若存在大于等于置信度阈值的置信度数据,则所述编程作业的批改结果为合格;If there is confidence data greater than or equal to the confidence threshold, the correction result of the programming job is qualified;
若置信度数据均小于置信度阈值,则所述编程作业的批改结果为不合格。If the confidence level data are all less than the confidence level threshold, the correction result of the programming job is unqualified.
本实施例中,在进行特征匹配得到与各个预设模板类别相应的置信度数据后,如果存在大于等于置信度阈值的置信度数据,则说明当前待批改的编程作业与该置信度数据对应的预设模板类别是相匹配的,确认编程作业的批改结果为合格,因此确认编程作业的批改结果为合格,具体所述置信度阈值可根据实际批改需求以及正确答案模板集合的覆盖率进行灵活设置,本实施例对此不作限定;如果不存在,即置信度数据均小于置信度阈值,则说明当前的预设模板类别中没有与待批改的编程作业相匹配的模板类别,此时确认编程作业的批改结果为不合格,标记为未知作品留待后续处理,通过采用置信度阈值且置信度阈值可调的方式,能灵活根据批改需要调节正确答案模板的覆盖率,使得无需完全精确匹配亦可判断编程作业是否正确,有效提高了编程作业自动批改效率。In this embodiment, after feature matching is performed to obtain confidence data corresponding to each preset template category, if there is confidence data greater than or equal to the confidence threshold, it means that the current programming job to be corrected corresponds to the confidence data. The preset template categories are matched, and the correction result of the programming job is confirmed to be qualified, so the correction result of the programming job is confirmed to be qualified. The specific confidence threshold can be flexibly set according to the actual correction requirements and the coverage rate of the correct answer template set. , this embodiment does not limit this; if it does not exist, that is, the confidence data are all smaller than the confidence threshold, it means that there is no template category matching the programming job to be corrected in the current preset template category, and the programming job is confirmed at this time. The correction result is unqualified, and it is marked as unknown work for subsequent processing. By adopting the confidence threshold and the confidence threshold can be adjusted, the coverage rate of the correct answer template can be flexibly adjusted according to the correction needs, so that it can be judged without exact matching. Whether the programming job is correct effectively improves the efficiency of automatic correction of programming jobs.
在一个实施例中,所述若置信度数据均小于置信度阈值,则所述编程作业的批改结果为不合格之后,方法还可以包括:In one embodiment, if the confidence level data are all smaller than the confidence level threshold, after the correction result of the programming job is unqualified, the method may further include:
将批改结果为不合格的所述编程作业归入待处理作业集合中;classifying the programming jobs whose correction result is unqualified into the set of jobs to be processed;
对所述待处理作业集合进行聚类处理,提取新的正确答案模板并归入正确答案模板集合后继续进行特征匹配,直到从全部待批改的编程作业中匹配出所有的正确答案。Cluster processing is performed on the set of jobs to be processed, new correct answer templates are extracted and classified into the set of correct answer templates, and feature matching is continued until all correct answers are matched from all programming jobs to be corrected.
本实施例中,如果当前待批改的编程作业在进行特征匹配后被标记为未知作品,则将其归入待处理作业集合中,对所述待处理作业集合进行进一步的聚类处理,从待处理作业集合中提取新的正确答案模板并归与所述正确答案模板集合中,即虽然同一个作业的正确答案可以有多种实现组合,初始匹配时可能待批改的编程作业无法与现有的正确答案模板集合成功匹配,但是正确答案的总数理论上是确定的,且正确答案作业之间是具有共性的,因此不同正确答案模板之间具有一定的逻辑联系,例如不同正确答案模板中关键执行步骤是相同的,其余执行步骤存在顺序上的颠倒等等,因此本实施例中在特征匹配后根据匹配结果针对未知作品进行聚类操作,逐步得到新的正确答案模板从而对正确答案模板集合进行更新,进一步通过更新后的正确答案模板集合继续进行特征匹配,不断重复上述匹配、集合归入以及聚类过程,形成匹配与聚类的良性循环,直到聚类得到全部的正确答案模板即可从全部待批改的编程作业中匹配出所有的正确答案,有效提高了编程作业自动批改的覆盖率与效率。In this embodiment, if the programming job currently to be corrected is marked as an unknown work after feature matching, it is classified into the job set to be processed, and further clustering processing is performed on the job set to be processed. A new correct answer template is extracted from the processing homework set and merged into the correct answer template set, that is, although the correct answer of the same homework can have multiple implementation combinations, the programming homework to be corrected during the initial matching cannot be compared with the existing one. The set of correct answer templates is successfully matched, but the total number of correct answers is theoretically determined, and the correct answer assignments have commonalities, so there is a certain logical connection between different correct answer templates, such as the key execution in different correct answer templates. The steps are the same, and the remaining execution steps are reversed in order, etc. Therefore, in this embodiment, after feature matching, according to the matching results, the unknown works are clustered, and a new correct answer template is gradually obtained, so as to perform the correct answer template set. Update, further continue feature matching through the updated correct answer template set, and repeat the above matching, set entry and clustering process to form a virtuous circle of matching and clustering, until all correct answer templates are obtained from the clustering. All the correct answers are matched in all the programming jobs to be corrected, which effectively improves the coverage and efficiency of automatic correction of programming jobs.
所述对所述待处理作业集合进行聚类处理,提取新的正确答案模板并归入正确答案模板集合后继续进行特征匹配,包括:The clustering process is performed on the set of jobs to be processed, and a new correct answer template is extracted and classified into the correct answer template set, and then feature matching is continued, including:
根据预设聚类算法对所述待处理作业集合进行聚类处理;Perform clustering processing on the set of jobs to be processed according to a preset clustering algorithm;
判断是否有满足预设聚类标准的待处理作业类别;Determine whether there is a pending job category that meets the preset clustering criteria;
若有,则从所述满足预设聚类标准的待处理作业类别中提取新的正确答案模板并归入所述正确答案模板集合中;If so, extract a new correct answer template from the to-be-processed job category that satisfies the preset clustering criteria and classify it into the correct answer template set;
通过更新后的所述正确答案模板集合继续对待批改的编程作业进行作业匹配。Continue to perform assignment matching on programming assignments to be marked through the updated set of correct answer templates.
本实施例中,针对匹配过程中暂时无法匹配成功的待处理作品集合进行聚类操作,通过预设聚类算法例如K-means(K均值)聚类、均值漂移聚类、基于密度的聚类等等聚类算法对所述待处理作业集合进行聚类处理,由于正确答案作业之间是具有共性的,因此可根据当前作业的要求设置预设聚类标准,聚类处理时判断待处理作业集合中是否有满足预设聚类标准的待处理作业类别,若有,则从中提取最接近预设聚类标准的作品作为新的正确答案模板,并归入所述正确答案模板集合中,通过更新后的所述正确答案模板集合继续对待批改的编程作业进行作业匹配。具体地,可将现有的正确答案模板作为初始聚类中心,针对待处理作业集合中的各个待处理作业样本,分别计算每个待处理作业样本与各个初始聚类中心之间的距离,当待处理作业样本与任意一个初始聚类中心的距离小于预设距离时则视为满足预设聚类标准,并且将满足预设聚类标准的待处理作业样本分配至距离最小的初始聚类中心所对应的待处理作业类别中,从各个待处理作业类别中提取最接近初始聚类中心的待处理作业样本作为新的正确答案模板,即待处理作业类别与已经获得的正确答案模板相对应,其代表了与各个正确答案模板相似的作业类别,从各个待处理作业类别中进一步提取与对应正确答案模板最相似的作品作为新的正确答案模板从而对所述正确答案模板集合进行更新,以提高所述正确答案模板集合的覆盖率。In this embodiment, the clustering operation is performed on the set of works to be processed that cannot be successfully matched temporarily in the matching process, and a preset clustering algorithm such as K-means (K-means) clustering, mean-shift clustering, and density-based clustering is used. The clustering algorithm such as the clustering algorithm performs clustering processing on the set of jobs to be processed. Since the correct answer jobs have commonalities, preset clustering criteria can be set according to the requirements of the current job, and the jobs to be processed can be judged during clustering processing. Whether there is a pending job category that meets the preset clustering criteria, if so, extract the works closest to the preset clustering criteria as a new correct answer template, and put it into the correct answer template set. The updated set of correct answer templates continues to perform assignment matching on programming assignments to be marked. Specifically, the existing correct answer template can be used as the initial clustering center, and for each to-be-processed job sample in the to-be-processed job set, the distance between each to-be-processed job sample and each initial clustering center is calculated respectively. When the distance between the job sample to be processed and any initial cluster center is less than the preset distance, it is deemed to meet the preset clustering standard, and the job sample to be processed that meets the preset clustering standard is assigned to the initial clustering center with the smallest distance. In the corresponding to-be-processed job categories, the to-be-processed job samples closest to the initial cluster center are extracted from each to-be-processed job category as a new correct answer template, that is, the to-be-processed job category corresponds to the already obtained correct answer template, It represents an assignment category similar to each correct answer template, and further extracts the most similar work to the corresponding correct answer template from each pending assignment category as a new correct answer template to update the correct answer template set to improve Coverage of the set of correct answer templates.
也就是说,本实施例在进行特征匹配后还通过对待处理作业集合进行聚类操作后得到新的正确答案模板,从而对正确答案模板集合进行更新,以增加正确答案模板集合在批改匹配时的覆盖率,不断重复这一过程后即可逐步从全部待批改的编程作业中匹配出正确答案,并且逐步完善当前作业对应的正确答案模板集合,有效提高了后续作业批改的覆盖率和效率。That is to say, in this embodiment, after the feature matching is performed, a new correct answer template is obtained by performing a clustering operation on the set of jobs to be processed, so as to update the correct answer template set, so as to increase the correct answer template set when correcting and matching. Coverage, after repeating this process, you can gradually match the correct answers from all the programming assignments to be corrected, and gradually improve the correct answer template set corresponding to the current assignment, effectively improving the coverage and efficiency of subsequent assignments.
所述从所述满足预设聚类标准的待处理作业类别中提取新的正确答案模板并归入所述正确答案模板集合中,具体包括:The extracting a new correct answer template from the to-be-processed job category that meets the preset clustering criteria and classifying it into the correct answer template set specifically includes:
对满足预设聚类标准的待处理作业类别进行聚类中心提取,并将提取得到的聚类中心作为新的正确答案模板并归入所述正确答案模板集合中。The cluster centers are extracted for the to-be-processed job categories that meet the preset clustering criteria, and the extracted cluster centers are used as a new correct answer template and included in the correct answer template set.
本实施例中,在提取新的正确答案模板时,对满足预设聚类标准的待处理作业类别进行聚类中心取,将提取得到的聚类中心作为新的正确答案模板,即在根据各个待处理作业样本与各个初始聚类中心之间的距离按距离最小原则划分类别后,得到与各个初始聚类中心对应的待处理作业类别,此时则针对各个待处理作业类别中包含的待处理作业样本重新计算聚类中心,计算待处理作业类别中待处理作业样本与初始聚类中心之间的距离的平均值,将距离最接近平均值的待处理作业样本作为待处理作业类别的聚类中心,作为聚类中心的待处理作业样本是对应的待处理作业类别中最接近正确答案模板的作品,确保每次从待处理作业集合中提取新的正确答案模板时均选择最接近预设聚类标准,即最符合正确答案要求的作业,确保正确答案模板集合的准确性。In this embodiment, when extracting a new correct answer template, the cluster centers are taken for the job categories to be processed that meet the preset clustering criteria, and the extracted cluster centers are used as the new correct answer template, that is, according to each After the distance between the job samples to be processed and each initial cluster center is divided into categories according to the principle of minimum distance, the to-be-processed job category corresponding to each initial cluster center is obtained. The job sample recalculates the cluster center, calculates the average distance between the to-be-processed job sample and the initial cluster center in the to-be-processed job category, and uses the to-be-processed job sample with the distance closest to the average value as the cluster of the to-be-processed job category As the cluster center, the pending job samples are the works that are closest to the correct answer template in the corresponding pending assignment category, ensuring that each time a new correct answer template is extracted from the pending assignment collection, the closest preset cluster is selected. Class criteria, the assignments that best meet the correct answer requirements, ensure the accuracy of the correct answer template collection.
可选地,每次从所述待处理作业集合中提取了新的正确答案模板后,均将该新的正确答案模板从所述待处理作业集合中剔除,避免后续聚类算法时的重复提取,导致影响其他正确的作业无法被成功提取,影响正确答案模板集合的覆盖率。Optionally, every time a new correct answer template is extracted from the set of jobs to be processed, the new correct answer template is removed from the set of jobs to be processed to avoid repeated extraction during subsequent clustering algorithms. , causing other correct assignments to fail to be successfully extracted and affecting the coverage of the correct answer template set.
可选的,所述将所述编程作业输入至预设的神经网络模型中,计算输出所述编程作业的特征数据之前,方法还可以包括:Optionally, before the inputting the programming job into a preset neural network model, before calculating and outputting the characteristic data of the programming job, the method may further include:
对所述编程作业按预设规则进行序列化处理。The programming job is serialized according to preset rules.
本实施例中,由于图形化编程的作品是由多个积木代码块拼接而成的一个积木组合,无法对各个积木代码块组合所代表的代码数据进行自动识别,为实现代码数据的自动识别以提高后续的匹配以及聚类效率,在进行作业匹配之前,先将所述待批改的编程作业向量化处理,将图形化的编程作业转换为准确数字量化的编程作业,进而实现对编程作业的自动识别,为实现高效且准确的自动批改提供可靠的数据基础。In this embodiment, since the work of graphical programming is a building block combination formed by splicing multiple building block code blocks, it is impossible to automatically identify the code data represented by each building block code block combination. Improve the efficiency of subsequent matching and clustering. Before performing job matching, the programming job to be corrected is vectorized, and the graphical programming job is converted into an accurate digital programming job, so as to realize the automatic programming job. Recognition provides a reliable data basis for efficient and accurate automatic correction.
可选的,所述对所述编程作业按预设规则进行序列化处理,包括:Optionally, performing serialization processing on the programming job according to preset rules includes:
获取编程作业中的积木代码块组合;Get the building block code block combination in the programming assignment;
按预设顺序解析所述积木代码块组合,得到每个积木代码块对应的积木类型与积木数据;Analyze the building block code block combination in a preset order to obtain the building block type and building block data corresponding to each building block code block;
根据所述积木类型和积木数据按预设规则进行序列化后生成相应的序列化数组。A corresponding serialized array is generated after serializing according to the building block type and building block data according to preset rules.
本实施例中,具体的序列化处理过程为先获取待批改的编程作业中的积木代码块组合,如图2所示,所述待批改的编程作业是由多个积木代码块叠加而成的积木代码块组合,每个积木代码块内均封装有实现相应功能的代码,例如JavaScript代码等;获取到所述积木代码块组合后则按预设顺序对其进行解析,由于获取的积木代码块组合中不同积木代码块之间具有一定的时序关系,因此按预设顺序对所述积木代码块组合进行解析,得到按预设顺序排列的每个积木代码块对应的积木类型与积木数据,确保在不影响积木代码块之间逻辑关系的同时得到每个积木代码块所代表的功能与数据,进而根据解析得到的所述积木类型和积木数据按预设规则进行序列化处理,以生成与积木代码块组合相对应的序列化数组,使得在自动批改编程作业时可将图形化的积木代码块组合转换为易于识别的量化数组形式,可实现对积木代码块的自动识别,提高积木代码块的识别效率与准确性。In this embodiment, the specific serialization process is to first obtain the building block code block combination in the programming job to be corrected. As shown in FIG. 2 , the programming job to be corrected is formed by superimposing multiple building block code blocks. Combination of building block code blocks, each building block code block is encapsulated with codes that implement corresponding functions, such as JavaScript code, etc. After obtaining the building block code block combination, it is parsed in a preset order, because the obtained building block code block There is a certain timing relationship between different building block code blocks in the combination, so the combination of building block code blocks is parsed in a preset order, and the building block type and building block data corresponding to each building block code block arranged in the preset order are obtained to ensure that The function and data represented by each building block code block are obtained without affecting the logical relationship between the building block code blocks, and then the block type and building block data obtained by parsing are serialized according to preset rules to generate The serialized array corresponding to the code block combination enables the graphical block code block combination to be converted into an easily identifiable quantized array form during automatic correction of programming operations. Recognition efficiency and accuracy.
具体地,所述积木类型可以为常量积木、变量积木和/或操作积木中的一种或多种,即获取到的积木代码块组合可包括事件积木、控制积木、常量积木、变量积木以及操作积木中的一种或多种,通过多种不同类型的积木代码块的组合实现相应的功能,其中操作积木可进一步包括例如函数积木、运算积木、外观积木、声音积木等等,具体可根据实际需要设置,本实施例对此不作限定。所述积木数据为积木代码块上的输入参数,例如以控制积木为例,若当前控制积木为“等待0.5秒”,其积木数据则为“0.5”,当然,在积木代码块不存在输入参数时,所述积木数据可以为空,例如“重复执行”的控制积木等等。Specifically, the building block type may be one or more of constant building blocks, variable building blocks and/or operation building blocks, that is, the obtained building block code block combination may include event building blocks, control building blocks, constant building blocks, variable building blocks, and operation building blocks One or more of the building blocks, through the combination of a variety of different types of building block code blocks to achieve corresponding functions, wherein the operation building blocks may further include, for example, function building blocks, operation building blocks, appearance building blocks, sound building blocks, etc. It needs to be set, which is not limited in this embodiment. The building block data is the input parameters on the building block code block. For example, taking the control building block as an example, if the current control building block is "wait for 0.5 seconds", the building block data is "0.5". Of course, there is no input parameter in the building block code block. , the block data can be empty, such as the "repeatedly executed" control block and so on.
可选地,针对初始的正确答案模板集合中包含的作品同样也按预设规则进行序列化处理以及神经网络模型特征提取,使得后续在进行作业匹配时能直接进行直观准确的量化匹配,有效提高了匹配效率和准确性。Optionally, the works included in the initial correct answer template set are also serialized according to preset rules and feature extraction of neural network models, so that intuitive and accurate quantitative matching can be directly performed during subsequent job matching, effectively improving matching efficiency and accuracy.
可选地,所述按预设顺序解析所述积木代码块组合,得到每个积木代码块对应的积木类型与积木数据,包括:Optionally, parsing the building block code block combination in a preset order to obtain the building block type and building block data corresponding to each building block code block, including:
获取所述积木代码块组合的拼接时序;Obtain the splicing sequence of the building block code block combination;
按所述拼接时序依次对每个积木代码块进行解析,得到按拼接时序排列的积木类型与积木数据。Each building block code block is parsed in sequence according to the splicing sequence, and the building block types and building block data arranged according to the splicing sequence are obtained.
本实施例中,所述待批改的编程作业中的积木代码块组合是用户输入的,具体用户可直接在预设的积木库中选择已封装的积木代码块,并在代码编辑区进行例如拖拽、拼接、组合等积木代码编辑操作,进而获取得到具有相应拼接时序的积木代码块组合。由于在图形编程场景中,所有的积木代码块都是顺序叠加放置的,因此在时序上存在天然的序列关系,通过获取所述积木代码块组合的拼接时序即可得到用户编辑输入时的叠加顺序,之后按所述拼接时序依次对每个积木代码块进行解析,得到按拼接时序排列的积木类型与积木数据,从而按序对叠加放置的积木代码块进行功能与数据的解析还原,保证后续序列化处理时积木代码块所对应的功能与数据不会发生逻辑时序错误,提高积木代码块识别的准确性。In this embodiment, the building block code block combination in the programming job to be corrected is input by the user, and the specific user can directly select the packaged building block code block in the preset building block library, and drag and drop in the code editing area. Edit operations of building block code such as dragging, splicing, and combining, and then obtain the building block code block combination with the corresponding splicing sequence. In the graphics programming scenario, all building blocks code blocks are placed in sequence, so there is a natural sequence relationship in the time sequence. By obtaining the splicing sequence of the building block code block combination, the stacking sequence when the user edits the input can be obtained. , and then analyze each building block code block in turn according to the splicing sequence, and obtain the building block type and building block data arranged according to the splicing sequence, so as to parse and restore the functions and data of the stacked building block code blocks in order to ensure the subsequent sequence. The function and data corresponding to the building block code block will not have logical timing errors during the processing, and the accuracy of the building block code block recognition will be improved.
可选地,所述根据所述积木类型和积木数据按预设规则进行序列化后生成相应的序列化数组,包括:Optionally, generating a corresponding serialized array after serializing according to the building block type and building block data according to preset rules, including:
将所述积木类型和积木数据按预设的编码映射库分别转换为对应的编码数据,所述编码映射库用于存储所述积木类型和积木数据与所述编码数据之间的映射关系;The building block type and building block data are respectively converted into corresponding encoded data according to a preset encoding mapping library, and the encoding mapping library is used to store the mapping relationship between the building block type and the building block data and the encoded data;
将所述编码数据按预设数据结构进行封装后得到与每个积木代码块对应的一维数组;After encapsulating the encoded data according to the preset data structure, a one-dimensional array corresponding to each building block code block is obtained;
将所述一维数组按拼接时序叠加,生成与所述积木代码块组合对应的二维序列化数组。The one-dimensional arrays are superimposed according to the splicing sequence to generate a two-dimensional serialized array corresponding to the combination of the building block code blocks.
本实施例中,在进行序列化处理时,先将所有按拼接时序排列的积木类型和积木数据依次进行编码后分别转换为对应编码数据,具体可根据预设的编码映射库进行一一对应的数据转换,所述编码映射库中存储有所述积木类型与编码数据之间的映射关系,以及所述积木数据与编码数据之间的映射关系,之间在所述编码映射库中搜索相应的积木类型和积木数据后即可得到对应的编码数据,实现便捷快速的数据转换,之后将数字化的所述编码数据按预设数据结构进行封装,得到与每个积木代码对应的一维数组,即本实施例中将每一个积木代码块均对应转换为一条一维数组,在得到了每个积木代码所对应的一维数组后,再将所有的一维数组按拼接时序叠加生成一个二维序列化数组,所述二维序列化数组即与积木代码块组合相对应,其具有相同的拼接时序以及与积木类型和积木数据一一对应的编码数据,通过该二维序列化数组即可将图形化的积木代码块组合转换为量化的二维编码数据,实现了对图形化编程作品的向量化处理,便于后续实现准确的积木代码识别与审核,有利于实现图形化编程作品的自动审核。In this embodiment, during the serialization process, all building block types and building block data arranged according to the splicing sequence are encoded in sequence and then converted into corresponding encoded data respectively. Specifically, a one-to-one correspondence can be performed according to a preset encoding mapping library. Data conversion, the coding mapping library stores the mapping relationship between the building block type and the coding data, and the mapping relationship between the building block data and the coding data, and searches the coding mapping library for corresponding After the building block type and building block data, the corresponding encoded data can be obtained to realize convenient and fast data conversion, and then the digitized encoded data is encapsulated according to the preset data structure to obtain a one-dimensional array corresponding to each building block code, that is In this embodiment, each building block code block is correspondingly converted into a one-dimensional array, and after the one-dimensional array corresponding to each building block code is obtained, all the one-dimensional arrays are superimposed according to the splicing sequence to generate a two-dimensional sequence The two-dimensional serialized array corresponds to the combination of building block code blocks, which has the same splicing sequence and the encoded data corresponding to the building block type and building block data one-to-one. Through the two-dimensional serialized array, the graphic The combined combination of building block code blocks is converted into quantified two-dimensional encoded data, which realizes the vectorized processing of graphical programming works, facilitates the subsequent realization of accurate building block code identification and review, and is conducive to the automatic review of graphical programming works.
可选地,所述根据所述积木类型和积木数据按预设规则进行序列化后生成相应的序列化数组之前,还包括:Optionally, before generating a corresponding serialized array after serializing according to the building block type and building block data according to a preset rule, the method further includes:
预先定义所有积木类型对应的类型编码数据,以及积木数据对应的动作编码数据后得到所述编码映射库。The encoding mapping library is obtained by predefining type encoding data corresponding to all building block types and action encoding data corresponding to the building block data.
本实施例中,预先对积木库中所有积木代码块包括的积木类型以及积木数据进行编码定义并存储,得到所述编码映射库以实现准确的数据转换,具体所述编码映射库可采用映射表的形式,如表1所示,其展示了部分积木类型所对应的类型编码数据使得后续序列化处理时,可直接搜索调用各个积木类型对应的类型编码数据,以及积木数据对应的动作编码数据即可,确保每次序列化处理时的统一性与准确性。In this embodiment, the building block types and building block data included in all building block code blocks in the building block library are encoded, defined and stored in advance, and the encoding mapping library is obtained to realize accurate data conversion. Specifically, the encoding mapping library can use a mapping table As shown in Table 1, it shows the type coding data corresponding to some building block types, so that during subsequent serialization processing, the type coding data corresponding to each building block type can be directly searched and called, and the action coding data corresponding to the building block data is Yes, to ensure the consistency and accuracy of each serialization process.
表1Table 1
可选地,所述一维数组的首位数据位为类型编码数据,其余数据位为动作编码数据和/或预设空位字符。Optionally, the first data bit of the one-dimensional array is type-encoded data, and the remaining data bits are action-encoded data and/or preset space characters.
本实施例中,按预设数据结构对转换得到的编码数据进行封装,从而将每个代表一个变量、常量或者操作的待处理积木代码量化为统一数据格式的序列化一维数组,该数据结构如表2所示,每一行数据可固定长度为N位,N可根据实际积木情况,能满足最长需求即可,首位为类型编码数据,后几位为动作编码数据,若无法全用到,可用预设空位字符例如0替代。In this embodiment, the converted encoded data is encapsulated according to a preset data structure, so that each block code to be processed representing a variable, constant or operation is quantified into a serialized one-dimensional array in a uniform data format. The data structure As shown in Table 2, the length of each line of data can be fixed to N bits, and N can be based on the actual building block, as long as it can meet the longest demand. The first bit is the type encoding data, and the last few bits are the action encoding data. , can be replaced with a preset blank character such as 0.
表2Table 2
具体请一并参阅图2,举具体应用实施例对本发明提供的编程作业自动批改方法中序列化处理过程进行说明,如图2所示,本实施例中积木代码块组合按拼接时序分别为重复执行、下一个动作、等待0.5秒,对应的积木类型依次为重复执行、动作、等待(以秒为单位),对应的积木数据依次为无数据、下一个动作对应的动作编码数据、0.5,因此按上述预设数据结构对积木类型和积木数据对应的编码数据进行封装后即可将积木代码块序列化后转换为如表3所示的二维序列化数组,实现图形化至数字化的转换,达到对图形化编程作品进行自动识别的目的,为图形编程作品自动批改等提供准确的识别结果。Please refer to FIG. 2 for details. The serialization process in the automatic correction method for programming jobs provided by the present invention will be described with specific application examples. As shown in FIG. 2 , in this embodiment, the combination of building blocks and code blocks is repeated according to the splicing sequence. Execute, next action, wait for 0.5 seconds, the corresponding block types are repeated execution, action, wait (in seconds), and the corresponding block data are no data, action code data corresponding to the next action, 0.5, so After encapsulating the coding data corresponding to the building block type and building block data according to the above preset data structure, the building block code block can be serialized and converted into a two-dimensional serialized array as shown in Table 3, so as to realize the conversion from graphic to digital. Achieve the purpose of automatic identification of graphic programming works, and provide accurate identification results for automatic correction of graphic programming works.
表3table 3
具体地,为更好地理解本发明提供的编程作业自动批改方法的实施过程,以下结合图3和图4,举具体应用实施例对编程作业批改过程进行说明:Specifically, in order to better understand the implementation process of the method for automatic correction of programming jobs provided by the present invention, the following is a description of the correction process of programming jobs with specific application examples in conjunction with FIG. 3 and FIG. 4 :
本实施例中编程作业自动批改分为两个过程,先进行如图3所示的特征计算过程,获取了待批改作业后先对其进行序列化处理,使得图形编程作品转换为可用于计算的向量数据,之后将序列化处理后的数据输入至预先完成训练的VGG神经网络中进行计算,输出待批改作业的特征数据,之后进行如图4所示的模板匹配过程,其为一个逐步迭代递归的过程,首先获取之前计算输出的待批改作业的特征数据,之后将待批改作业的特征数据与已有的正确答案模板集合进行特征匹配计算,得到与正确答案模板数量相同的若干个置信度数据,该正确答案模板集合中初始包含的正确答案模板也经过同样的序列化处理和特征提取以实现准确的匹配计算,之后判断若干个置信度数据中是否存在大于等于置信度阈值的数据,若有,则标记待批改作业为正确答案并归入正确答案模板集合中,若没有,则归入未知结果作品集合中;进一步利用K-means等聚类算法对未知结果作品集合进行聚类操作,判断结果中是否有满足聚类标准的作品,若有,则在满足聚类标准的作品集合中选取聚类中心作为新的正确答案模板,将该聚类成功的新模板归入正确答案模板集合中,并将其从未知结果作品集合中剔除,通过更新后的正确答案模板集合继续进行作业匹配,重复上述匹配、集合、聚类过程,即可逐步从全部作业中匹配检测出正确的作业,并逐步完善当前作业的正确答案模板,有效提高后续作品匹配批改的覆盖率和效率。In this embodiment, the automatic correction of programming jobs is divided into two processes. First, the feature calculation process as shown in Figure 3 is performed. After the jobs to be corrected are obtained, they are serialized first, so that the graphic programming works can be converted into the ones that can be used for calculation. vector data, and then input the serialized data into the pre-trained VGG neural network for calculation, output the feature data of the job to be corrected, and then perform the template matching process shown in Figure 4, which is a step-by-step iterative recursion The process of first obtaining the feature data of the job to be corrected that was calculated and output before, and then performing the feature matching calculation between the feature data of the job to be corrected and the existing correct answer template set, and obtaining several confidence data with the same number of correct answer templates. , the correct answer template initially included in the correct answer template set also undergoes the same serialization processing and feature extraction to achieve accurate matching calculation, and then judge whether there is data greater than or equal to the confidence threshold in several confidence data, if so , then mark the work to be corrected as the correct answer and put it into the correct answer template set, if not, it will be classified into the unknown result work set; further use K-means and other clustering algorithms to cluster the unknown result work set, judge Whether there are works that meet the clustering criteria in the results, if so, select the cluster center as the new correct answer template in the set of works that meet the clustering criteria, and classify the new template that has been successfully clustered into the correct answer template set , and remove it from the unknown result work set, continue to match the homework through the updated correct answer template set, repeat the above matching, set, and clustering process, you can gradually match and detect the correct homework from all homework, and Gradually improve the correct answer template of the current homework, effectively improving the coverage and efficiency of matching and correcting subsequent works.
由以上方法实施例可知,本发明提供的编程作业自动批改方法通过神经网络模型计算编程作业的特征数据,并将特征数据与正确答案模板进行特征匹配后得到相应的置信度数据,结合深度学习训练与特征匹配获取的置信度数据对编程作业的进行高效的自动批改,提高了编程教学过程中作业批改的效率。It can be seen from the above method embodiments that the automatic correction method for programming jobs provided by the present invention calculates the feature data of programming jobs through a neural network model, and performs feature matching with the correct answer template to obtain corresponding confidence data, which is combined with deep learning training. The confidence data obtained by matching with the feature can effectively and automatically correct the programming assignments, which improves the efficiency of assignment correction in the programming teaching process.
需要说明的是,上述各步骤之间并不必然存在一定的先后顺序,本领域普通技术人员,根据本发明实施例的描述可以理解,不同实施例中,上述各步骤可以有不同的执行顺序,亦即,可以并行执行,亦可以交换执行等等。It should be noted that the above steps do not necessarily have a certain sequence. Those of ordinary skill in the art can understand from the description of the embodiments of the present invention that in different embodiments, the above steps may have different execution orders. That is, it can be executed in parallel, or it can be executed interchangeably, and so on.
本发明另一实施例提供一种编程作业自动批改装置,如图5所示,装置1包括:Another embodiment of the present invention provides an apparatus for automatic correction of programming operations. As shown in FIG. 5 , the
获取模块11,用于获取待批改的编程作业;an
特征计算模块12,用于将所述编程作业输入至预设的神经网络模型中,计算输出所述编程作业的特征数据;A
匹配模块13,用于将所述编程作业的特征数据与正确答案模板集合进行特征匹配,输出相应的置信度数据;The
输出模块14,用于根据所述置信度数据确认所述编程作业的批改结果。The
所述获取模块11、特征计算模块12、匹配模块13和输出模块14依次连接,具体实施方式请参考上述对应的方法实施例,此处不再赘述。The
进一步地,所述特征计算模块12具体用于:Further, the
将所述编程作业的特征数据至预设的匹配模型中,输出所述编程作业与预设模板类别之间的置信度数据,所述匹配模型基于所述正确答案模板集合中已获得的所有正确答案模板训练得到。The feature data of the programming job is put into a preset matching model, and the confidence data between the programming job and the preset template category is output, and the matching model is based on all the correct answers obtained in the correct answer template set. The answer template is trained.
进一步地,所述编程作业自动批改装置还包括:Further, the programming job automatic correction device also includes:
标注模块,用于对所述正确答案模板集合中已获得的所有正确答案模板进行类别标注,将各个正确答案模板分别标注为相应的预设模板类别;a labeling module, configured to label all the correct answer templates obtained in the correct answer template set, and label each correct answer template as a corresponding preset template category;
输入模块,用于将各个正确答案模板分别输入至所述神经网络模型中,计算输出各个正确答案模板的特征训练数据;an input module for inputting each correct answer template into the neural network model respectively, and calculating and outputting the characteristic training data of each correct answer template;
训练模块,用于构建所述匹配模型,并根据各个正确答案模板的所述预设模板类别和所述特征训练数据对所述匹配模型进行训练,直到所述匹配模型满足预设收敛条件。A training module, configured to construct the matching model, and train the matching model according to the preset template category of each correct answer template and the characteristic training data, until the matching model satisfies preset convergence conditions.
进一步地,所述输出模块14用于:Further, the
若存在大于等于置信度阈值的置信度数据,则输出所述编程作业的批改结果为合格;If there is confidence data greater than or equal to the confidence threshold, output the correction result of the programming job as qualified;
若置信度数据均小于置信度阈值,则输出所述编程作业的批改结果为不合格。If the confidence data are all smaller than the confidence threshold, output the correction result of the programming job as unqualified.
进一步地,所述输出模块14还包括:Further, the
归类单元,用于将批改结果为不合格的所述标记为未知作品的编程作业归入待处理作业集合中;a categorization unit, used for categorizing the programming jobs marked as unknown works whose correction result is unqualified into the set of jobs to be processed;
聚类单元,用于对所述待处理作业集合进行聚类处理,提取新的正确答案模板并归入正确答案模板集合后继续进行特征匹配,直到从全部待批改的编程作业中匹配出所有的正确答案。The clustering unit is used to perform clustering processing on the set of tasks to be processed, extract new correct answer templates and classify them into the set of correct answer templates and continue feature matching until all programming tasks to be corrected are matched. correct answer.
进一步地,所述编程作业自动批改装置还包括:Further, the programming job automatic correction device also includes:
序列化模块,用于对所述编程作业按预设规则进行序列化处理。The serialization module is used to serialize the programming job according to preset rules.
进一步地,所述序列化模块包括:Further, the serialization module includes:
获取单元,用于获取编程作业中的积木代码块组合;Get unit, used to get the building block code block combination in the programming job;
解析单元,用于按预设顺序解析所述积木代码块组合,得到每个积木代码块对应的积木类型与积木数据;a parsing unit for parsing the building block code block combination in a preset order to obtain the building block type and building block data corresponding to each building block code block;
序列化单元,用于根据所述积木类型和积木数据按预设规则进行序列化后生成相应的序列化数组。The serialization unit is used to generate a corresponding serialized array after serialization according to the preset rules according to the building block type and the building block data.
进一步地,所述解析单元包括:Further, the parsing unit includes:
时序获取子单元,用于获取所述积木代码块组合的拼接时序;a timing acquisition subunit for acquiring the splicing timing of the building block code block combination;
解析子单元,用于按所述拼接时序依次对每个积木代码块进行解析,得到按拼接时序排列的积木类型与积木数据。The parsing subunit is used to parse each building block code block in sequence according to the splicing sequence to obtain the building block types and building block data arranged according to the splicing sequence.
进一步地,所述序列化单元包括:Further, the serialization unit includes:
转换子单元,用于将所述积木类型和积木数据按预设的编码映射库分别转换为对应的编码数据,所述编码映射库用于存储所述积木类型和积木数据与所述编码数据之间的映射关系;The conversion subunit is used to convert the building block type and building block data into corresponding encoded data according to a preset encoding mapping library, and the encoding mapping library is used to store the building block type and building block data and the encoding data. The mapping relationship between;
数据封装子单元,用于将所述编码数据按预设数据结构进行封装后得到与每个积木代码块对应的一维数组;A data encapsulation subunit for encapsulating the encoded data according to a preset data structure to obtain a one-dimensional array corresponding to each building block code block;
序列叠加子单元,用于将所述一维数组按拼接时序叠加,生成与所述积木代码块组合对应的二维序列化数组。The sequence stacking subunit is used for stacking the one-dimensional arrays according to the splicing sequence to generate a two-dimensional serialized array corresponding to the combination of the building block code blocks.
本发明另一实施例提供一种编程作业自动批改系统,如图6所示,系统10包括:Another embodiment of the present invention provides an automatic correction system for programming jobs. As shown in FIG. 6 , the
一个或多个处理器110以及存储器120,图6中以一个处理器110为例进行介绍,处理器110和存储器120可以通过总线或者其他方式连接,图6中以通过总线连接为例。One or
处理器110用于完成系统10的各种控制逻辑,其可以为通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、单片机、ARM(Acorn RISCMachine)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。还有,处理器110还可以是任何传统处理器、微处理器或状态机。处理器110也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。The
存储器120作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的编程作业自动批改方法对应的程序指令。处理器110通过运行存储在存储器120中的非易失性软件程序、指令以及单元,从而执行系统10的各种功能应用以及数据处理,即实现上述方法实施例中的编程作业自动批改方法。The
存储器120可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据系统10使用所创建的数据等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器120可选包括相对于处理器110远程设置的存储器,这些远程存储器可以通过网络连接至系统10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The
一个或者多个单元存储在存储器120中,当被一个或者多个处理器110执行时,执行上述任意方法实施例中的编程作业自动批改方法,例如,执行以上描述的图1中的方法步骤S100至步骤S400。One or more units are stored in the
本发明实施例提供了一种非易失性计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如,执行以上描述的图1中的方法步骤S100至步骤S400。Embodiments of the present invention provide a non-volatile computer-readable storage medium, where the computer-readable storage medium stores computer-executable instructions, and the computer-executable instructions are executed by one or more processors, for example, to execute the above-described The method steps S100 to S400 in FIG. 1 .
作为示例,非易失性存储介质能够包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦ROM(EEPROM)或闪速存储器。易失性存储器能够包括作为外部高速缓存存储器的随机存取存储器(RAM)。通过说明而非限制,RAM可以以诸如同步RAM(SRAM)、动态RAM、(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、Synchlink DRAM(SLDRAM)以及直接Rambus(兰巴斯)RAM(DRRAM)之类的许多形式得到。本文中所描述的操作环境的所公开的存储器组件或存储器旨在包括这些和/或任何其他适合类型的存储器中的一个或多个。As examples, non-volatile storage media can include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) as external cache memory. By way of illustration and not limitation, RAM may be configured in a variety of formats such as Synchronous RAM (SRAM), Dynamic RAM, (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchlink DRAM (SLDRAM), and Direct Rambus (Lambas) RAM (DRRAM) and many other forms. The disclosed memory components or memories of the operating environments described herein are intended to include one or more of these and/or any other suitable types of memory.
综上所述,本发明公开的一种编程作业自动批改方法、系统及介质中,方法通过获取待批改的编程作业;将所述编程作业输入至预设的神经网络模型中,计算输出所述编程作业的特征数据;将所述编程作业的特征数据与正确答案模板集合进行特征匹配,输出相应的置信度数据;根据所述置信度数据确认所述编程作业的批改结果。本发明实施例通过神经网络模型计算编程作业的特征数据,并将特征数据与正确答案模板进行特征匹配后得到相应的置信度数据,结合深度学习训练与特征匹配获取的置信度数据对编程作业的进行高效的自动批改,提高了编程教学过程中作业批改的效率。To sum up, in the method, system and medium for automatic correction of programming jobs disclosed in the present invention, the method obtains the programming job to be corrected; inputs the programming job into a preset neural network model, and calculates and outputs the feature data of the programming job; feature matching the feature data of the programming job with the correct answer template set, and output corresponding confidence data; confirm the correction result of the programming job according to the confidence data. In the embodiment of the present invention, the feature data of the programming job is calculated by the neural network model, and the corresponding confidence data is obtained after feature matching between the feature data and the correct answer template. Efficient automatic correction improves the efficiency of homework correction in the process of programming teaching.
当然,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关硬件(如处理器,控制器等)来完成,所述的计算机程序可存储于一非易失性计算机可读取的存储介质中,该计算机程序在执行时可包括如上述各方法实施例的流程。其中所述的存储介质可为存储器、磁碟、软盘、闪存、光存储器等。Of course, those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing relevant hardware (such as processors, controllers, etc.) through a computer program, and the computer program can be stored in In a non-volatile computer-readable storage medium, the computer program may include the processes of the above-mentioned method embodiments when executed. The storage medium may be a memory, a magnetic disk, a floppy disk, a flash memory, an optical memory, and the like.
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。It should be understood that the application of the present invention is not limited to the above examples. For those of ordinary skill in the art, improvements or transformations can be made according to the above descriptions, and all these improvements and transformations should belong to the protection scope of the appended claims of the present invention.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866914.6A CN113793112B (en) | 2021-07-29 | 2021-07-29 | A method, system and medium for automatically correcting programming assignments |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110866914.6A CN113793112B (en) | 2021-07-29 | 2021-07-29 | A method, system and medium for automatically correcting programming assignments |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113793112A true CN113793112A (en) | 2021-12-14 |
CN113793112B CN113793112B (en) | 2024-12-13 |
Family
ID=79181453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110866914.6A Active CN113793112B (en) | 2021-07-29 | 2021-07-29 | A method, system and medium for automatically correcting programming assignments |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113793112B (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110110714A (en) * | 2019-04-28 | 2019-08-09 | 重庆学析优科技有限公司 | Method and system are corrected automatically on a kind of line of papery operation |
CN110490180A (en) * | 2019-07-05 | 2019-11-22 | 平安国际智慧城市科技股份有限公司 | Work correction method, apparatus, storage medium and server based on image recognition |
US20200020243A1 (en) * | 2018-07-10 | 2020-01-16 | International Business Machines Corporation | No-ground truth short answer scoring |
US20200142996A1 (en) * | 2018-11-02 | 2020-05-07 | Optum, Inc. | Method, apparatus and computer program product for improving deep question-answering (qa) applications using feedback from retrieval qa applications |
CN111680480A (en) * | 2020-04-24 | 2020-09-18 | 平安国际智慧城市科技股份有限公司 | Template-based job correction method, device, computer equipment and storage medium |
CN111753767A (en) * | 2020-06-29 | 2020-10-09 | 广东小天才科技有限公司 | Method and device for automatically correcting operation, electronic equipment and storage medium |
-
2021
- 2021-07-29 CN CN202110866914.6A patent/CN113793112B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200020243A1 (en) * | 2018-07-10 | 2020-01-16 | International Business Machines Corporation | No-ground truth short answer scoring |
US20200142996A1 (en) * | 2018-11-02 | 2020-05-07 | Optum, Inc. | Method, apparatus and computer program product for improving deep question-answering (qa) applications using feedback from retrieval qa applications |
CN110110714A (en) * | 2019-04-28 | 2019-08-09 | 重庆学析优科技有限公司 | Method and system are corrected automatically on a kind of line of papery operation |
CN110490180A (en) * | 2019-07-05 | 2019-11-22 | 平安国际智慧城市科技股份有限公司 | Work correction method, apparatus, storage medium and server based on image recognition |
CN111680480A (en) * | 2020-04-24 | 2020-09-18 | 平安国际智慧城市科技股份有限公司 | Template-based job correction method, device, computer equipment and storage medium |
CN111753767A (en) * | 2020-06-29 | 2020-10-09 | 广东小天才科技有限公司 | Method and device for automatically correcting operation, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN113793112B (en) | 2024-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413785B (en) | An automatic text classification method based on BERT and feature fusion | |
US12141193B2 (en) | Image processing method and apparatus, and storage medium | |
CN111651992B (en) | Named entity labeling method, named entity labeling device, named entity labeling computer equipment and named entity labeling storage medium | |
CN110765265B (en) | Information classification extraction method and device, computer equipment and storage medium | |
CN113901797B (en) | Text error correction method, device, equipment and storage medium | |
CN108491528B (en) | Image retrieval method, system and device | |
CN109992664B (en) | Dispute focus label classification method and device, computer equipment and storage medium | |
Sethi et al. | DLPaper2Code: Auto-generation of code from deep learning research papers | |
CN111581877B (en) | Sample model training method, sample generation method, device, equipment and medium | |
CN113486175B (en) | Text classification method, text classification device, computer device, and storage medium | |
US11373043B2 (en) | Technique for generating and utilizing virtual fingerprint representing text data | |
US20200320440A1 (en) | System and Method for Use in Training Machine Learning Utilities | |
CN113656547A (en) | Text matching method, device, equipment and storage medium | |
CN113254649A (en) | Sensitive content recognition model training method, text recognition method and related device | |
CN110309301B (en) | Enterprise category classification method and device and intelligent terminal | |
CN114647713A (en) | Knowledge graph question-answering method, device and storage medium based on virtual confrontation | |
CN114840900A (en) | Derivative BIM component automatic generation method based on i-GBDT technology | |
WO2023173546A1 (en) | Method and apparatus for training text recognition model, and computer device and storage medium | |
CN113778408A (en) | A building block code serialization method, device, system and medium | |
CN114154637B (en) | A knowledge point automatic annotation modeling method and system | |
CN113778406A (en) | Programming operation correcting method, device, system and medium based on template matching | |
CN113793112A (en) | A method, system and medium for automatic correction of programming operations | |
US20230042234A1 (en) | Method for training model, device, and storage medium | |
JP6517773B2 (en) | Classifier learning device, table type classification device, method, and program | |
CN114638229A (en) | Entity identification method, device, medium and device for recorded data |
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 |