CN112037596A - 基于人工智能的编程作品自动批改方法及编程学习平台 - Google Patents

基于人工智能的编程作品自动批改方法及编程学习平台 Download PDF

Info

Publication number
CN112037596A
CN112037596A CN202010815584.3A CN202010815584A CN112037596A CN 112037596 A CN112037596 A CN 112037596A CN 202010815584 A CN202010815584 A CN 202010815584A CN 112037596 A CN112037596 A CN 112037596A
Authority
CN
China
Prior art keywords
programming
works
network model
deep learning
corrected
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.)
Pending
Application number
CN202010815584.3A
Other languages
English (en)
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.)
Guangzhou Huicai Chuangzhi Technology Co ltd
Original Assignee
Guangzhou Huicai Chuangzhi Technology Co ltd
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 Guangzhou Huicai Chuangzhi Technology Co ltd filed Critical Guangzhou Huicai Chuangzhi Technology Co ltd
Priority to CN202010815584.3A priority Critical patent/CN112037596A/zh
Publication of CN112037596A publication Critical patent/CN112037596A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • G09B7/02Electrically-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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明公开了一种基于人工智能的编程作品自动批改方法,包括:获取当前编程学习平台中待批改的编程作品;根据预设深度学习网络模型,对待批改的编程作品进行自动批改;其中,预设深度学习网络模型是已经训练完成的基于编程作品确定批改要求规范的模型;将批改的结果反馈至编程学习平台,以供用户进行学习。本发明通过预设深度学习网络模型,对待批改的编程作品进行自动批改,并将批改的结果反馈至编程学习平台,以供用户进行学习。如此,用户所完成的编程作品无需进行人工修改,提高了批改效率,同时,用户还可以接收到编程作品的批改反馈,有助于提高用户的编程能力。

Description

基于人工智能的编程作品自动批改方法及编程学习平台
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于人工智能的编程作品自动批改方法、编程学习平台、计算机终端设备及计算机可读存储介质。
背景技术
随着互联网的发展,网络学习成为了学习的常态,用户通过可以网络学习,学习各种技能,比如编程、剪辑、摄影等。
针对网络编程学习,由于编程学习过程枯燥、编程理论晦涩、需实操才能掌握。然而,用户通过编程学习平台所完成的作品,例如游戏、动画、网页设计、APP等,一般只能通过编程学习平台所聘请的编程老师进行人工批改,存在批改效率低的问题,尤其是当编程作品较多时,不仅编程老师的批改工作量大,还可能会造成判卷结果出现不公平不公正的现象。同时,由于编程作品的复杂性,当批改到错误点时,编程老师还需人工进行排查错误和批注,批改难度非常大。
发明内容
本发明目的在于,提供一种基于人工智能的编程作品自动批改方法、编程学习平台、计算机终端设备及计算机可读存储介质,以解决现有技术中人工批改编程作品存在批改效率低、批改不够客观、批改难度非常大的问题。
为实现上述目的,本发明实施例提供一种基于人工智能的编程作品自动批改方法,包括:
获取当前编程学习平台中待批改的编程作品;
根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改;其中,所述预设深度学习网络模型是已经训练完成的基于编程作品确定批改要求规范的模型;
将批改的结果反馈至所述编程学习平台,以供用户进行学习。
在一些实施例中,在所述获取当前编程学习平台中待批改的编程作品之后,在所述根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改之前,还包括:
根据所述待批改的编程作品,确认所采用的编程语言;
根据所采用的编程语言,创建至少一个测试用例。
在一些实施例中,所述根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改,包括:
对当前所述测试用例进行检查与编译,以生成对应的可执行文件;
判断所述测试用例编译是否成功。
在一些实施例中,还包括:
收集所述编程学习平台的历史批改数据;其中,所述历史批改数据包括人工批改数据;
对所述历史批改数据进行分类,并对分类后的结果分别进行标注。
在一些实施例中,还包括:
将批注后的所述历史批改数据进行异常值剔除和归一化,形成样本数据;
采用神经网络对所述样本数据进行训练,获得所述预设深度学习网络模型。
在一些实施例中,还包括:
模拟真人测试,以生成待测试的编程作品;
将所述待测试的编程作品输入至所述预设深度学习网络模型中;
所述预设深度学习网络模型对所述待测试的编程作品进行自动批改,以更新所述预设深度学习网络模型。
在一些实施例中,在所述获取当前编程学习平台中待批改的编程作品之后,在所述根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改之前,还包括:
确定与所述待批改的编程作品对应的用户,获取所述用户的历史批改数据;
则所述根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改,包括:
结合所述用户的历史批改数据,采用所述预设深度学习网络模型对所述待批改的编程作品进行自动批改。
本发明实施例提供还提供一种基于人工智能的编程学习平台,应用于上述任一个实施例中的基于人工智能的编程作品自动批改方法。
获取模块,用于获取当前编程学习平台中待批改的编程作品;
自动批改模块,用于根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改;其中,所述预设深度学习网络模型是已经训练完成的基于编程作品确定批改要求规范的模型;
反馈模块,用于将批改的结果反馈至所述编程学习平台,以供用户进行学习。
本发明实施例还提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任一个实施例所述的基于人工智能的编程作品自动批改方法。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述任一个实施例所述的基于人工智能的编程作品自动批改方法。
相较于现有技术,本发明实施例的基于人工智能的编程作品自动批改方法具有如下有益效果:
通过预设深度学习网络模型,对所述待批改的编程作品进行自动批改;其中,所述预设深度学习网络模型是已经训练完成的基于编程作品确定批改要求规范的模型;并将批改的结果反馈至所述编程学习平台,以供用户进行学习。如此,用户所完成的编程作品无需进行人工修改,提高了批改效率,同时,用户还可以接收到编程作品的批改反馈,有助于提高用户的编程能力。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明某一实施例提供的基于人工智能的编程作品自动批改方法的流程示意图;
图2是本发明某一实施例提供的基于人工智能的编程作品自动批改方法的流程示意图;
图3是本发明某一实施例提供的基于人工智能的编程作品自动批改方法的流程示意图;
图4是本发明某一实施例提供的基于人工智能的编程作品自动批改方法的流程示意图;
图5是本发明某一实施例提供的基于人工智能的编程作品自动批改方法的流程示意图;
图6是本发明某一实施例提供的基于人工智能的编程作品自动批改方法的流程示意图;
图7是本发明某一实施例提供的基于人工智能的编程作品自动批改方法的流程示意图;
图8是本发明某一实施例提供的基于人工智能的编程学习平台的结构示意图;
图9是本发明某一实施例提供的计算机终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,本发明实施例提供一种基于人工智能的编程作品自动批改方法,包括以下步骤:
S10、获取当前编程学习平台中待批改的编程作品。
在本发明实施例中,用户通过在编程学习平台进行编程学习。其中,用户可以为IT从业人员、学生、对编程感兴趣的普通用户等。当用户首次使用编程学习平台时,编程学习平台的后台服务器为该用户分配账号。此后,编程学习平台为用户提供编程代码片段、常用命令集合、试题、教程、书籍、行业报告、经验分享等丰富编程学习资源,并设置普通学习模式、训练模式及竞技模式等方式,以供用户进行自主编程学习。
用户在学习过程中,一方面需要完成理论知识的学习,另一方面还需要进行实际操作,例如响应于导师的作业要求或编程作品征集,完成自己的编程作品。在完成编程作品后,用户在编程学习平台上传其所完成的编程作品。其中,编程作品可以为UGC内容(UserGenerated Content,也就是用户生成内容,即用户原创内容),例如游戏、动画、网页设计、APP等,也可以为现有的生成内容。编程作品可采用不同的编程语言进行编写,例如PHP、Java、Python、C、C++、R、汇编、VHDL等,在此不做具体限定。例如A用户采用Java进行编程,生成“跳一跳”小游戏,B用户采用Python进行编程,生成“消一消”小游戏。
在本发明实施例中,编程学习平台自动获取该平台上用户所提交的待批改的编程作品。其中,待批改的编程作品既可以是历史待批改的编程作品,也可以是在线待批改的编程作品,在此不做具体限定。
S20、根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改;其中,所述预设深度学习网络模型是已经训练完成的基于编程作品确定批改要求规范的模型。
在本发明实施例中,将获取到的待批改的编程作品输入至预设深度学习网络模型,以进行自动批改。具体地,预设深度学习网络模型基于批改要求规范,对待批改的编程作品进行批改。预设深度学习网络模型可对当前的编程作品进行评分。在批改时,主要通过前端源码分析,获取编程作品的概要信息、分段结构、语义重点等,结合大量内容实例,给出质量评分范围。
继续以A用户的“跳一跳”小游戏编程作品为例,预设深度学习网络模型根据批改要求规范对该作品进行批改,若检测到作品中错误的地方,则标注出错误点并进行解析。
其中,批改要求规范可根据软件人工测试人员的反馈、不同单位公司、不同软硬件平台的不同软件规范要求、不同编程语言的编程规范技术升级等内容开展智能化的自学习过程,进一步完善该预设深度学习网络模型,实现自学习过程,不断自主更新,适应发展。
为了较快且准确地进行自动批改,在某一个实施例中,预设深度学习网络模型可以根据编程作品的类型,划分成不同类型的深度学习网络模型。因此,可以先对待批改的编程作品进行分类,然后将分类后的编程作品分别输入至对应的预设深度学习网络模型,以进行自动批改。
S30、将批改的结果反馈至所述编程学习平台,以供用户进行学习。
在本发明实施例中,批改后的结果(例如评分、解析批注等),反馈至编程学习平台。用户可对批改后的结果进行查阅,并进行学习,以提高其编程能力。再次以A用户的“跳一跳”小游戏编程作品为例,预设深度学习网络模型对该作品进行批改,得出评分,并将错误点进行批注解析,然后反馈至编程学习平台,A用户可根据编程学习平台呈现的批改结果查阅其错误点,并进行总结。在一些实施例中,编程学习平台还可以自动记录每个用户的编程作品批改情况,并进行总结分类,以供用户快速查阅其历史编程实际操作情况,有助于提高用户的编程能力。
综上,本发明实施例的基于人工智能的编程作品自动批改方法,通过预设深度学习网络模型,对所述待批改的编程作品进行自动批改;其中,所述预设深度学习网络模型是已经训练完成的基于编程作品确定批改要求规范的模型;并将批改的结果反馈至所述编程学习平台,以供用户进行学习。如此,用户所完成的编程作品无需进行人工修改,提高了批改效率,同时,用户还可以接收到编程作品的批改反馈,有助于提高用户的编程能力。
请参阅图2,在一些实施例中,在步骤S10,即所述获取当前编程学习平台中待批改的编程作品之后,在步骤S20,即根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改之前,还包括以下步骤:
S41、根据所述待批改的编程作品,确认所采用的编程语言。
在本发明实施例中,预设深度学习网络模型通过对创建的测试用例进行自动测试,从而实现对编程作品的批改。
其中,测试用例是一个文档,是执行的最小实体。测试用例包括输入、动作、时间和一个期望的结果,其目的是确定应用程序的某个特性是否可正常工作,并且达到程序所设计的结果,以便测试某个程序路径或核实是否满足某个特定需求般在进行测试用例设计前要全面了解被测试产品的功能、明确测试范围(特别是要明确哪些是不需要测试的)、具备基本的测试技术与方法等。测试用例设计一般遵循以下原则:
(1)正确性。输入用户实际数据以验证系统是否满足需求规格说明书的要求;测试用例中的测试点应首先保证要至少覆盖需求规格说明书中的各项功能,并且正常。(2)全面性。覆盖所有的需求功能项;设计的用例除对测试点本身的测试外,还需考虑用户实际使用的情况、与其他部分关联使用的情况、非正常情况(不合理、非法、越界以及极限输入数据)操作和环境设置等。(3)连贯性。用例组织有条理、主次分明,尤其体现在业务测试用例上;用例执行粒度尽量保持每个用例都有测点,不能同时覆盖很多功能点,否则执行起来牵连太大,所以每个用例间保持连贯性很重要。(4)可判定性。测试执行结果的正确性是可判定的,每一个测试用例都有相应的期望结果。(5)可操作性。测试用例中要写清楚测试的操作步骤,以及与不同的操作步骤相对应的测试结果。
由于不同的框架,生成测试用例的方法不一样。对于线性框架来说,无须编写脚本,只需要点击预设的按钮就能够生成测试用例;对于多数框架来说,生成测试用例需要编程。当然,不同框架使用的编程语言、编程风格有差异。对于Selenium框架来说,使用的是通用编程语言Java;对于Robot Framework来说,使用的是其专用的Robot Framework编程语言。一般来说,使用框架编程的过程很多时候就是调用库接口的过程。因此作为前提,在编写测试用例之前,用户需要熟悉框架提供的库的种类和功能,以及这些库所提供的API的使用方法。因此,在本发明实施例中,在创建测试用例之前还包括步骤S41,以明确其所采用的编程语言。
S42、根据所采用的编程语言,创建至少一个测试用例。
其中,测试用例的创建过程为测试人员利用关键字、变量等基本元素,组合生成程序组织单元(Program Organization Unit,POU),然后按照测试需求,通过若干POU之间的组合和相互调用形成复杂的测试用例,其主要包括待测的指令集和对测试结果的预判,以使得测试用例尽可能全面地覆盖测试范围。
请参阅图3,在一些实施例中,所述步骤S20,即根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改,包括以下步骤:
S21、对当前所述测试用例进行检查与编译,以生成对应的可执行文件。
具体地,所述对测试用例进行检查包括检查测试用例的语法是否符合规则、语意是否正确以及逻辑是否合理。在一个子实施例中,测试用例对应的可执行文件至少运行一个任务周期。这样做的目的是为了能够获取更加准确的测试结果,避免由于运行不充分而对最终测试结果产生的误判。
S22、判断所述测试用例编译是否成功。
如果当前测试用例编译成功,反馈成功命令至编程学习平台,表明该编程作品可行;如果当前测试用例不成功,反馈失败命令至编程学习平台,表明该编程作品存在错误,并自动通过预设深度学习网络模型查找错误点,以及标记错误点,然后一并反馈至编程学习平台。
请参阅图4,在一些实施例中,还包括以下步骤:
S51、收集所述编程学习平台的历史批改数据;其中,所述历史批改数据包括人工批改数据;
S52、对所述历史批改数据进行总结分类,并对总结分类后的结果分别进行标注。
在本发明实施例中,初期由导师对用户的编程作品进行人工批改,在积累一定数量的案例数据后,通过人工智能技术,总结作品批改的一般性规律和算法。其中,所采用的人工智能技术主要包括各类编程语言的在线编译、智能创建测试用例及模拟真人测试等技术。在人工智能的辅助下,逐步推进用户间相互批改,并通过更高数量级的批改案例数据,进一步强化人工智能的批改能力,最终实现自动批改。
请参阅图5,在一些实施例中,还包括以下步骤:
S61、将批注后的所述历史批改数据进行异常值剔除和归一化,形成样本数据;
S62、采用神经网络对所述样本数据进行训练,获得所述预设深度学习网络模型。
在本发明实施例中,对批注后的历史批改数据进行处理,形成样本数据,然后采用神经网络对样本数据进行训练,从而获得预设深度学习网络。其中,本发明实施例中的神经网络可以是基于深度卷积神经网络(CNN网络)建立的,还可以利用例如ResNet模型进行训练等。
请参阅图6,在一些实施例中,还包括以下步骤:
S71、模拟真人测试,以生成待测试的编程作品;
S72、将所述待测试的编程作品输入至所述预设深度学习网络模型中;
S73、所述预设深度学习网络模型对所述待测试的编程作品进行自动批改,以更新所述预设深度学习网络模型。
在本发明实施例中,首先通过模拟真人测试,生成待测试的编程作品,然后通过将待测试的编程作品输入至训练好的预设深度学习网络模型中,从而对预设深度学习网络模型进行测试,使其对待测试的编程作品自动批改,然后与人工批改进行比对,不断提高其自动批改的精度,从而实现预设深度学习网络模型的更新。
请参阅图7,在一些实施例中,在所述步骤S10,即获取当前编程学习平台中待批改的编程作品之后,在所述步骤S20,即根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改之前,还包括以下步骤:
S81、确定与所述待批改的编程作品对应的用户,获取所述用户的历史批改数据;
则所述步骤S20根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改,包括以下步骤:
S23、结合所述用户的历史批改数据,采用所述预设深度学习网络模型对所述待批改的编程作品进行自动批改。
可以理解,用户在编程过程中,存在一定的编程习惯,编程容易出错的位置仍有较大的概率出错。在本发明实施例中,通过获取用户的历史批改数据,能够辅助预设深度学习网络模型快速确定该用户的编程错误点,从而提高自动批改的效率。
当然,在一些实施例中,预设深度学习网络模型可以标记出无法批改的编程作品,并反馈给编程学习平台,以供导师进行人工批改。
请参阅图8,本发明实施例提供一种基于人工智能的编程学习平台100,应用于上述任意一个实施例中的基于人工智能的编程作品自动批改方法,该平台100包括:
获取模块110,用于获取当前编程学习平台100中待批改的编程作品;
自动批改模块120,用于根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改;其中,所述预设深度学习网络模型是已经训练完成的基于编程作品确定批改要求规范的模型;
反馈模块130,用于将批改的结果反馈至所述编程学习平台100,以供用户进行学习。
关于基于人工智能的编程学习平台100的具体限定可以参见上文中对于的限定,在此不再赘述。上述基于人工智能的编程学习平台100中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图9,本发明实施例提供一种计算机终端设备,包括一个或多个处理器和存储器。存储器与所述处理器耦接,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述任意一个实施例中的基于人工智能的编程作品自动批改方法。
处理器用于控制该计算机终端设备的整体操作,以完成上述的基于人工智能的编程作品自动批改方法的全部或部分步骤。存储器用于存储各种类型的数据以支持在该计算机终端设备的操作,这些数据例如可以包括用于在该计算机终端设备上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random AccessMemory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable ProgrammableRead-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable ProgrammableRead-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
在一示例性实施例中,计算机终端设备可以被一个或多个应用专用集成电路(Application Specific 1ntegrated Circuit,简称AS1C)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的基于人工智能的编程作品自动批改方法,并达到如上述方法一致的技术效果。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述任意一个实施例中的基于人工智能的编程作品自动批改方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器,上述程序指令可由计算机终端设备的处理器执行以完成上述的基于人工智能的编程作品自动批改方法,并达到如上述方法一致的技术效果。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (10)

1.一种基于人工智能的编程作品自动批改方法,其特征在于,包括:
获取当前编程学习平台中待批改的编程作品;
根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改;其中,所述预设深度学习网络模型是已经训练完成的基于编程作品确定批改要求规范的模型;
将批改的结果反馈至所述编程学习平台,以供用户进行学习。
2.根据权利要求1所述的基于人工智能的编程作品自动批改方法,其特征在于,在所述获取当前编程学习平台中待批改的编程作品之后,在所述根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改之前,还包括:
根据所述待批改的编程作品,确认所采用的编程语言;
根据所采用的编程语言,创建至少一个测试用例。
3.根据权利要求2所述的基于人工智能的编程作品自动批改方法,其特征在于,所述根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改,包括:
对当前所述测试用例进行检查与编译,以生成对应的可执行文件;
判断所述当前测试用例编译是否成功。
4.根据权利要求1所述的基于人工智能的编程作品自动批改方法,其特征在于,还包括:
收集所述编程学习平台的历史批改数据;其中,所述历史批改数据包括人工批改数据;
对所述历史批改数据进行分类,并对分类后的结果分别进行标注。
5.根据权利要求4所述的基于人工智能的编程作品自动批改方法,其特征在于,还包括:
将批注后的所述历史批改数据进行异常值剔除和归一化,形成样本数据;
采用神经网络对所述样本数据进行训练,获得所述预设深度学习网络模型。
6.根据权利要求5所述的基于人工智能的编程作品自动批改方法,其特征在于,还包括:
模拟真人测试,以生成待测试的编程作品;
将所述待测试的编程作品输入至所述预设深度学习网络模型中;
所述预设深度学习网络模型对所述待测试的编程作品进行自动批改,以更新所述预设深度学习网络模型。
7.根据权利要求1所述的基于人工智能的编程作品自动批改方法,其特征在于,在所述获取当前编程学习平台中待批改的编程作品之后,在所述根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改之前,还包括:
确定与所述待批改的编程作品对应的用户,获取所述用户的历史批改数据;
则所述根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改,包括:
结合所述用户的历史批改数据,采用所述预设深度学习网络模型对所述待批改的编程作品进行自动批改。
8.一种基于人工智能的编程学习平台,其特征在于,应用于如权利要求1至7任一项所述的基于人工智能的编程作品自动批改方法,所述平台包括:
获取模块,用于获取当前编程学习平台中待批改的编程作品;
自动批改模块,用于根据预设深度学习网络模型,对所述待批改的编程作品进行自动批改;其中,所述预设深度学习网络模型是已经训练完成的基于编程作品确定批改要求规范的模型;
反馈模块,用于将批改的结果反馈至所述编程学习平台,以供用户进行学习。
9.一种计算机终端设备,其特征在于,包括:
一个或多个处理器;
存储器,与所述处理器耦接,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至7任一项所述的基于人工智能的编程作品自动批改方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基于人工智能的编程作品自动批改方法。
CN202010815584.3A 2020-08-13 2020-08-13 基于人工智能的编程作品自动批改方法及编程学习平台 Pending CN112037596A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010815584.3A CN112037596A (zh) 2020-08-13 2020-08-13 基于人工智能的编程作品自动批改方法及编程学习平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010815584.3A CN112037596A (zh) 2020-08-13 2020-08-13 基于人工智能的编程作品自动批改方法及编程学习平台

Publications (1)

Publication Number Publication Date
CN112037596A true CN112037596A (zh) 2020-12-04

Family

ID=73578475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010815584.3A Pending CN112037596A (zh) 2020-08-13 2020-08-13 基于人工智能的编程作品自动批改方法及编程学习平台

Country Status (1)

Country Link
CN (1) CN112037596A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5932863A (en) * 1994-05-25 1999-08-03 Rathus; Spencer A. Method and apparatus for accessing electric data via a familiar printed medium
CN109408803A (zh) * 2018-08-29 2019-03-01 蓝舰信息科技南京有限公司 一种针对主观题自然语言的语义理解及批改的方法
CN110347603A (zh) * 2019-07-12 2019-10-18 北京精密机电控制设备研究所 一种人工智能的自动化软件测试系统及方法
CN110598642A (zh) * 2019-09-16 2019-12-20 杭州大拿科技股份有限公司 一种计算题在线练习方法、装置、设备和存储介质
CN110633072A (zh) * 2019-07-30 2019-12-31 广东工业大学 一种可供自动批改的编程训练题目构造方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5932863A (en) * 1994-05-25 1999-08-03 Rathus; Spencer A. Method and apparatus for accessing electric data via a familiar printed medium
CN109408803A (zh) * 2018-08-29 2019-03-01 蓝舰信息科技南京有限公司 一种针对主观题自然语言的语义理解及批改的方法
CN110347603A (zh) * 2019-07-12 2019-10-18 北京精密机电控制设备研究所 一种人工智能的自动化软件测试系统及方法
CN110633072A (zh) * 2019-07-30 2019-12-31 广东工业大学 一种可供自动批改的编程训练题目构造方法及装置
CN110598642A (zh) * 2019-09-16 2019-12-20 杭州大拿科技股份有限公司 一种计算题在线练习方法、装置、设备和存储介质

Similar Documents

Publication Publication Date Title
Strauss et al. jTRACE: A reimplementation and extension of the TRACE model of speech perception and spoken word recognition
DE102005042126A1 (de) Verfahren und Vorrichtung zum automatisierten Bewerten der Qualität eines Software-Quellcodes
US11710090B2 (en) Machine-learning models to assess coding skills and video performance
CN107704389B (zh) 一种页面测试方法及装置
CN113900654A (zh) 基于程序语言教学实践平台的代码抄袭检测方法及系统
CN116991467A (zh) 一种基于大型语言模型的代码修复系统及修复方法
CN110633072B (zh) 一种可供自动批改的编程训练题目构造方法及装置
CN117786077A (zh) 基于大语言模型的牲畜知识问答方法及装置
Cammaerts et al. Investigating the effectiveness of model-based testing on testing skill acquisition
CN117113080A (zh) 数据处理和代码处理方法、装置、一体机和存储介质
CN116841519B (zh) 一种代码编写教学评估方法及系统
Ogata et al. SML4C: Fully automatic classification of state machine models for model inspection in education
CN112037596A (zh) 基于人工智能的编程作品自动批改方法及编程学习平台
Oezbek et al. Jtourbus: Simplifying program understanding by documentation that provides tours through the source code
CN111474894B (zh) 可变目标plc仿真调试方法、存储介质及功能模块
Ohtsuki et al. Utilizing Software Engineering Education Support System ALECSS at an Actual Software Development Experiment: A Case Study.
Grocevs et al. The capabilities of automated functional testing of programming assignments
CN113204945A (zh) 应用题批改方法、装置、计算机可读介质及电子设备
CN113778454A (zh) 一种人工智能实验平台的自动评测方法及系统
CN117216220B (zh) 一种大语言模型的使用方法及装置
Ogata et al. Approach to Testing Many State Machine Models in Education.
CN112199476A (zh) 在会话智能导师系统中部分正确答案后选择支架的自动决策
Becker A web based tool for teaching hardware design based on the plain simple hardware description language
Chentouf Cognitive software engineering: a research framework and roadmap
CN111309306B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201204

RJ01 Rejection of invention patent application after publication