买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:江西师范大学
摘要:本发明公开了一种融合代码和得分信息的编程知识追踪方法,包括如下步骤:将大学生的历史编程行为表述为在线判题系统OJ中的历史编码事件;将学生编程行为数据集中的每个编程问题输入问题表示模块,给每个编程问题统一生成一个包含知识点和难度信息的问题表示;代码表示模块使用预训练技术,构建监督预训练任务对自身进行训练,在训练过程中大学生提交的代码、编程问题和编程问题的问题表示进行融合,生成增强代码表示;将编程问题的问题表示和增强代码表示输入双序列建模模块,进行最终的正确性预测;本发明通过使用预训练技术,构建了一个有监督的预训练任务,进一步融合了得分信息和问题相关信息,增强了代码的表示能力。
主权项:1.一种融合代码和得分信息的编程知识追踪方法,其特征在于,包括如下步骤:步骤S1:构建学生编程行为数据集,学生编程行为数据集包括若干名大学生对多道编程问题的若干次完整提交的代码;将通过测试用例的代码提交视为正确提交,否则视为错误提交;步骤S2:将大学生的历史编程行为作为在线判题系统OJ中的历史编码事件;步骤S3:构建编程知识追踪模型PKT-ICS,所述编程知识追踪模型PKT-ICS由问题表示模块、代码表示模块和双序列建模模块组成;问题表示模块采用PEBG模型,代码表示模块采用CodeBERT模型以及GPT-2编码器;双序列建模模块采用两个独立的GRU模型;步骤S4:将学生编程行为数据集中的每个编程问题输入问题表示模块,输出每个编程问题的问题表示,每个编程问题的问题表示包括该编程问题的知识点和难度信息;步骤S5:以大学生提交的代码对应的得分信息为代码表示模块的目标,大学生提交的代码、编程问题和编程问题的问题表示为代码表示模块的输入,构建监督预训练任务对代码表示模块进行训练,在训练过程中使用乘积层对大学生提交的代码、编程问题和编程问题的问题表示进行融合,生成增强代码表示;其中,大学生提交的代码对应的得分信息分为三类:全部未通过,表示为0;部分通过,表示为0~1;全部通过,表示为1;步骤S6:将编程问题的问题表示和增强代码表示输入双序列建模模块,使用两个独立的GRU模型分别对编程问题的问题表示和增强代码表示进行建模,并添加指数衰减注意力机制分别对建模后的编程问题的问题表示和增强代码表示加权求和,最后再融合进行最终的正确性预测;步骤S6的具体过程为:将编程问题的问题表示序列和增强代码表示序列分别输入到两个独立的GRU模型中,GRU模型的每一个时间步代表每一次循环,每一次循环设有对应的输入和输出,其中,每个GRU模型的输入有两个,接收问题表示序列的GRU模型的输入分别是上一次循环的输出和本次循环的输入;接收增强代码表示序列的GRU模型的输入分别是上一次循环的输出和本次循环所需的输入;对于GRU模型的到的每个时间步,应用式(9)来更新编程问题的问题表示序列中的隐藏状态向量和增强代码表示序列中的隐藏状态向量,表示为: (9);式中,和为编程问题的问题表示序列中的权重系数;和是增强代码表示序列中的权重系数;和分别是编程问题的问题表示序列和增强代码表示序列的偏置项;表示双曲正切激活函数;表示k时间步时的编程问题的问题表示;表示k时间步时的增强代码表示;使用注意力机制预测大学生在时间步时的表现;将当前编程问题的问题表示与先前时间步的编程问题的问题表示序列中的隐藏状态向量和增强代码表示序列中的隐藏状态向量计算相似度,并按相似度大小分配权重,相似度计算方式如下: (10);式中,和分别表示从时间步到的和的拼接矩阵的转置;表示全连接层;代表编程问题的问题表示和编程问题的问题表示序列中隐藏状态的相似度向量;代表编程问题的问题表示和增强代码表示序列中隐藏状态的相似度向量;在应用softmax函数之前,对相似度矩阵添加指数衰减,获得归一化的注意力机制权重: (11); (12);式中,表示问题序列中归一化的注意力机制权重向量;表示代码序列中归一化的注意力机制权重向量;是指数衰减的超参数;是时间步向量;表示指数函数;通过对到的和加权求和,得到大学生在时间步时的编程知识掌握程度和编码能力: (13); (14);最后,将与进行拼接并输入至全连接层,得到最终的预测概率; (15);式中,代表sigmoid函数,表示拼接;根据预测概率得到预测结果,计算预测结果和真实结果之间的二元交叉熵损失,更新GRU模型和全连接层的参数,表示为: (16);式中,表示二元交叉熵损失函数;表示k时刻的真实值;表示k时刻的预测值。
全文数据:
权利要求:
百度查询: 江西师范大学 一种融合代码和得分信息的编程知识追踪方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。