掌桥专利:专业的专利平台
掌桥专利
首页

针对在线编程教学的自适应推荐方法及相关设备

文献发布时间:2023-06-19 19:30:30


针对在线编程教学的自适应推荐方法及相关设备

技术领域

本申请涉及人工智能应用的技术领域,尤其涉及一种针对在线编程教学的自适应推荐方法、装置、设备及存储介质。

背景技术

随着越来越多的岗位要求从业者具备编程能力,在线编程平台应运而生,平台会收集了丰富的编程试题供学习者练习。而面对编程教学指导的高门槛,学习者如何在缺乏指导的情况下进行自主编程学习是当前的一个重要挑战。

现有技术中采用自适应教育的教学模式去提高学习者自主编程学习的效率,具体是通过给学习者提供少量试题来准确且全方位评估学习者能力,以有针对性地提升他相应的技能水平。

但是目前关于推荐策略的生成方法主要分为传统的启发式策略和双层优化策略,然而,这两类策略的自适应是有限的:

1)传统的启发式推荐策略依赖于编程教育相关的专家经验。为设计对应的推荐策略,不得不依靠专家去理解诊断模型的细节与原理,非常不灵活且费时费力,同时无法适应如今复杂的基于深度学习的诊断模型;

2)双层优化策略的计算复杂性较高,需要利用海量的学生数据训练得到,会消耗大量的计算资源且方法缺乏必要的理论保证。尤其当题库有新题增加时,又需要重新训练该推荐策略,推荐的效率低,导致实用性较差。

发明内容

本申请的主要目的在于提供一种针对在线编程教学的自适应推荐方法、装置、设备及存储介质,旨在解决现有技术中自适应推荐策略的效率低的技术问题。

为实现以上目的,本申请提供一种针对在线编程教学的自适应推荐方法,所述针对在线编程教学的自适应推荐方法包括:

获取学习者的答题数据;

基于所述答题数据,确定所述学习者的能力相似度最大化函数,其中,所述能力相似度最大化函数反映了基于所述学习者的有限答题数据得到的能力值评估与基于所述学习者的全量答题数据得到的能力值评估的相似度最接近;

对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略。

可选地,所述基于所述答题数据,确定所述学习者的能力相似度最大化函数的步骤,包括:

基于所述答题数据,确定所述学习者的题目相似度算法函数,其中,所述题目相似度算法函数反映了任意两个题目间的相似度;

基于所述题目相似度算法函数,确定所述学习者的能力相似度最大化函数。

可选地,所述基于所述答题数据,确定所述学习者的题目相似度算法函数的步骤,包括:

基于所述答题数据,确定所述学习者的能力值;

基于所述能力值,计算所述学习者对答题库中每一题目的期望梯度;

基于所述期望梯度,确定所述学习者的题目相似度算法函数。

可选地,所述对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略的步骤,包括:

将所述能力相似度最大化函数进行拉普拉斯平滑,得到归一化单调非减次模函数;

对所述归一化单调非减次模函数采用贪心算法,得到所述学习者的推荐策略。

可选地,所述对所述归一化单调非减次模函数采用贪心算法,得到所述学习者的推荐策略的步骤,包括:

确定答题库中的目标题目集;

将所述目标题目集中每一题目代入所述归一化单调非减次模函数,得到所述每一题目的信息量;

将所述题目集中各题目按照所述信息量大小进行排序,并将所述信息量最大的预设数量的题目确定为所述学习者的推荐策略。

可选地,所述确定答题库中的目标题目集的步骤,包括:

获取答题库的全部题目集;

基于所述学习者的答题数据,确定学习者的题目集;

将所述全部题目集中去除所述学习者的题目集,得到目标题目集。

可选地,所述确定答题库中的目标题目集的步骤之后,所述方法包括:

基于预设的不确定性度量算法,计算所述目标题目集中每一题目的价值量;

将所述题目集中各题目按照所述价值量大小进行排序,并将所述价值量最大的预设数量的题目确定为筛选后的目标题目集。

本申请还提供一种针对在线编程教学的自适应推荐装置,所述针对在线编程教学的自适应推荐装置包括:

获取模块,用于获取学习者的答题数据;

确定模块,用于基于所述答题数据,确定所述学习者的能力相似度最大化函数,其中,所述能力相似度最大化函数反映了基于所述学习者的有限答题数据得到的能力值评估与基于所述学习者的全量答题数据得到的能力值评估的相似度最接近;

计算模块,用于对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略。

本申请还提供一种针对在线编程教学的自适应推荐设备,所述针对在线编程教学的自适应推荐设备包括:存储器、处理器以及存储在存储器上的用于实现所述针对在线编程教学的自适应推荐方法的程序,

所述存储器用于存储实现针对在线编程教学的自适应推荐方法的程序;

所述处理器用于执行实现所述针对在线编程教学的自适应推荐方法的程序,以实现所述针对在线编程教学的自适应推荐方法的步骤。

本申请还提供一种存储介质,所述存储介质上存储有实现针对在线编程教学的自适应推荐方法的程序,所述实现针对在线编程教学的自适应推荐方法的程序被处理器执行以实现所述针对在线编程教学的自适应推荐方法的步骤。

本申请提供的一种针对在线编程教学的自适应推荐方法及相关设备,与现有技术中自适应推荐策略的效率低相比,在本申请中,获取学习者的答题数据;基于所述答题数据,确定所述学习者的能力相似度最大化函数,其中,所述能力相似度最大化函数反映了基于所述学习者的有限答题数据得到的能力值评估与基于所述学习者的全量答题数据得到的能力值评估的相似度最接近;对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略。即在本申请中,基于学习者的答题数据,即学习者有限的作答记录,得到的所述学习者的能力值评估最接近于所述学习者的全量作答记录的能力值评估,即仅用少量的样本数据,得到与大量样本数据最接近的能力评估,以此能力评估所得到的所述学习者的推荐策略准确性高,因此提高了自适应推荐策略的效率。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图;

图2为本申请针对在线编程教学的自适应推荐方法第一实施例的流程示意图;

图3为本申请针对在线编程教学的自适应推荐装置的模块示意图;

图4为本申请针对在线编程教学的自适应推荐方法第二实施例的流程示意图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

如图1所示,图1是本申请实施例方案涉及的硬件运行环境的终端结构示意图。

本申请实施例终端可以是PC,也可以是智能手机、平板电脑、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、便携计算机等具有显示功能的可移动式终端设备。

如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,终端还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作装置、网络通信模块、用户接口模块以及针对在线编程教学的自适应推荐程序。

在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的针对在线编程教学的自适应推荐程序。

参照图2,本申请实施例提供一种针对在线编程教学的自适应推荐方法,所述针对在线编程教学的自适应推荐方法包括:

步骤S100,获取学习者的答题数据;

步骤S200,基于所述答题数据,确定所述学习者的能力相似度最大化函数,其中,所述能力相似度最大化函数反映了基于所述学习者的有限答题数据得到的能力值评估与基于所述学习者的全量答题数据得到的能力值评估的相似度最接近;

步骤S300,对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略。

在本实施例中,具体的应用场景可以是:

现有技术中采用自适应教育的教学模式去提高学习者自主编程学习的效率,具体是通过给学习者提供少量试题来准确且全方位评估学习者能力,以有针对性地提升他相应的技能水平。采用双层优化策略的计算复杂性较高,需要利用海量的学生数据训练得到,会消耗大量的计算资源且方法缺乏必要的理论保证。尤其当题库有新题增加时,又需要重新训练该推荐策略,推荐的效率低,导致实用性较差。

具体步骤如下:

步骤S100,获取学习者的答题数据;

在本实施例中,所述针对在线编程教学的自适应推荐方法应用于针对在线编程教学的自适应推荐装置。

在本实施例中,学习者通常为在线学习平台上的学习者,所述在线编程平台收集了丰富的编程试题,用于供学习者练习各类试题,学习者也可以是用户、网民等,在此不作具体限定。所述学习者的答题数据为该学习者在在线学习平台上历史作答的题目的相关数据,所述学习者的答题数据可以分为以下两类:一类是用于描述学习者和试题的各种属性的数据,包括但不限于学习者的基本信息、题目ID、题目涉及的知识点等。另一类是用于描述学习者作答行为的数据,包括但不限于作答的时间、回答的题目ID、作答结果(正确或错误)等。

在本实施例中,进一步地,对此原始的学习者数据进行筛选,根据此次学习针对的目标学习者和学习范围的不同,将符合标准的数据予以保留,不符合标准的舍去,具体地,根据学习范围和目标学习者群体对作数据进行筛选,例如,若为中小学生组织一个在线编程学习课程,则根据涉及到的知识点,只保留那些初级算法所能解决的编程题。在过程中,学习者i的所有已作答的记录可表示为元组集合D

在本实施例中,进一步地,将描述学习者作答行为的数据中难度与区分度信息需要事先利用诊断模型在上述学习者答题数据上进行估计与校准,同时将符合标准的编程资源予以保留,不符合标准的舍去。

在本实施例中,装置获取学习者的答题数据的方式可以是从包含用户作答记录的平台数据库中提取所述学习者的答题数据,也可以是学习者将答题数据上传至装置得到的。

步骤S200,基于所述答题数据,确定所述学习者的能力相似度最大化函数,其中,所述能力相似度最大化函数反映了基于所述学习者的有限答题数据得到的能力值评估与基于所述学习者的全量答题数据得到的能力值评估的相似度最接近;

在本实施例中,装置基于所述答题数据,确定所述学习者的能力相似度最大化函数,其中,所述能力相似度最大化函数反映了所述学习者的有限作答记录的能力评估最接近所述学习者的全量作答记录的能力评估,具体地,利用给定的认知诊断模型以及学习者当前可获得的历史答题数据对其能力进行评估,确定最能符合历史答题数据的能力。利用有限的作答记录能够达到与全量作答记录相同的评估精度。由于学习者一般无法作答完题库中所有题目,因此是无法获得的。为此,本发明基于优化理论设计新的编程题推荐策略,能够选出有价值的题目集合:利用根据优化理论和核心集思想,使得在选出的学习者的作答记录上求得的梯度能够近似全量作答记录上的全梯度,就可以保证利用自适应策略选出的少量题目(如选择T个题目)而得到的能力估计,和学生作答完题库所有题目得到的能力估计是一致的,即求解如下优化问题:

其中,S代表学习者的作答记录,V代表全量作答记录(即学习者答完答题库的作答记录),γ

具体地,所述步骤S200,包括以下步骤S210-S220:

步骤S210,基于所述答题数据,确定所述学习者的题目相似度算法函数,其中,所述题目相似度算法函数反映了任意两个题目间的相似度;

在本实施例中,装置基于所述答题数据,确定所述学习者的题目相似度算法函数,其中,所述题目相似度算法函数反映了任意两个题目间的相似度,具体地,所述题目相似度算法函数的公式如下:

其中,i、j为答题库中任意两道题目,

具体地,所述步骤S210,包括以下步骤S211-S213:

步骤S211,基于所述答题数据,确定所述学习者的能力值;

在本实施例中,装置基于所述答题数据,确定所述学习者的能力值,其中,利用给定的认知诊断模型以及学习者历史答题数据V,在整个能力参数空间Θ上进行优化,试图找到最能符合历史答题数据的能力θ*:

其中,f是基于诊断模型的任意loss函数,V={(q

步骤S212,基于所述能力值,计算所述学习者对答题库中每一题目的期望梯度;

在本实施例中,装置基于所述能力值,计算所述学习者对答题库中每一题目的期望梯度,具体地,计算期望梯度差替代原始梯度差计算公式,由此,可以在没有学生真实作答结果的情况下,利用当前模型输出计算出平均梯度差以对其近似,即通过学习者的能力值模拟仿真在该能力值下对未做过的题目的梯度,得到梯度标签,例如,学习者答题数据为A、B,得到能力值X,装置在能力值X下预测计算该学习者答题C的概率为60%正确,40%错误,即60%正确,40%错误为该学习者对答题C的梯度标签。

步骤S213,基于所述期望梯度,确定所述学习者的题目相似度算法函数。

在本实施例中,装置基于所述期望梯度,确定所述学习者的题目相似度算法函数,具体地,最终任意两个编程题i和j相似度计算公式

其中,

步骤S220,基于所述题目相似度算法函数,确定所述学习者的能力相似度最大化函数。

在本实施例中,装置基于所述题目相似度算法函数,确定所述学习者的能力相似度最大化函数,具体地,首先定义集合V(全量作答记录)到S(学习者的作答记录)的一个映射函数h:h(i)=j∈S,将V中的任意元素映射到S中的某个元素,并根据三角不等式将原本优化问题进行转化优化梯度误差的上界(即能力相似度最大化函数),具体公式如下:

/>

步骤S300,对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略。

在本实施例中,装置对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略,其中,所述学习者的推荐策略具体可以是下一道推荐试题,也可以是下一组推荐试题,求解计算具体采用次模函数对优化问题求近似解,本实施例采用少量的样本数据,得到与大量样本数据最接近的能力评估,以此能力评估所得到的所述学习者的推荐策略准确性高,因此提高了自适应推荐策略的效率。

具体地,所述步骤S300,包括以下步骤S310-S320:

步骤S310,将所述能力相似度最大化函数进行拉普拉斯平滑,得到归一化单调非减次模函数;

在本实施例中,装置将所述能力相似度最大化函数进行拉普拉斯平滑,得到归一化单调非减次模函数,具体地,定义G(S)=∑

步骤S320,对所述归一化单调非减次模函数采用贪心算法,得到所述学习者的推荐策略。

在本实施例中,装置所述归一化单调非减次模函数采用贪心算法,得到所述学习者的推荐策略,具体地,利用基于F(S)的简单的贪心算法选出最有价值的题目,即从空集(第一轮)开始,每一轮从整个候选题库V(除去已经作答过的题目S

具体地,所述步骤S320,包括以下步骤S321-S323:

步骤S321,确定答题库中的目标题目集;

在本实施例中,装置确定答题库中的目标题目集,其中,答题库为在线学习平台上的试题库,包含了全部的试题,所述目标题目集是用于选出所述学习者的推荐策略的题目范围。

具体地,所述步骤S321,包括以下步骤S3211-S3213:

步骤S3211,获取答题库的全部题目集;

在本实施例中,装置获取答题库的全部题目集,其中,所述装置获取答题库的全部题目集可以是从包含全部题目集的平台数据库中提取所述全部题目集,也可以是平台开发者将答题数据上传至装置得到的。

步骤S3212,基于所述学习者的答题数据,确定学习者的题目集;

在本实施例中,装置基于所述学习者的答题数据,确定学习者的题目集,具体地,装置根据答题数据中的题目ID等属性确定学习者的题目集。

步骤S3213,将所述全部题目集中去除所述学习者的题目集,得到目标题目集。

在本实施例中,由于目标题目集需要在排除学习者答过的题目的题目集中进行选取所述学习者的推荐策略。

在所述步骤S321,确定答题库中的目标题目集的步骤之后,所述方法包括以下步骤A100-A200:

步骤A100,基于预设的不确定性度量算法,计算所述目标题目集中每一题目的价值量;

在本实施例中,装置基于预设的不确定性度量算法,计算所述目标题目集中每一题目的价值量,具体的梯度信息量的度量函数Q

其中,q代表具体某一试题,a代表对应的作答结果(正确或错误),p

步骤A200,将所述题目集中各题目按照所述价值量大小进行排序,并将所述价值量最大的预设数量的题目确定为筛选后的目标题目集。

在本实施例中,装置将所述题目集中各题目按照所述价值量大小进行排序,并将所述价值量最大的预设数量的题目确定为筛选后的目标题目集,具体地,由于装置为了提升推荐效果和学习者学习效率,目标题目集往往是在整个题库V,导致最终复杂度过大,为降低计算复杂度,基于不确定性度量方式计算每个候选题的信息量,并由此选择M

步骤S322,将所述目标题目集中每一题目代入所述归一化单调非减次模函数,得到所述每一题目的信息量;

在本实施例中,装置将所述目标题目集中每一题目代入所述归一化单调非减次模函数,得到所述每一题目的信息量,具体地,利用基于F(S)的贪心算法选出最有价值的题目,即从空集(第一轮)开始,每一轮从整个候选题库V(除去已经作答过的题目S

其中,S

步骤S323,将所述题目集中各题目按照所述信息量大小进行排序,并将所述信息量最大的预设数量的题目确定为所述学习者的推荐策略。

在本实施例中,装置将所述题目集中各题目按照所述信息量大小进行排序,并将所述信息量最大的预设数量的题目确定为所述学习者的推荐策略,其中,所述信息量最大的题目即最适合当前学习者的编程题,例如,装置得到信息量从大到小的试题A、B、C、D,预设数量为3,则选取试题A、B、C作为所述学习者的推荐策略,本实施例采用少量的样本数据,得到与大量样本数据最接近的能力评估,以此能力评估所得到的所述学习者的推荐策略准确性高,因此提高了自适应推荐策略的效率。

本申请提供的一种针对在线编程教学的自适应推荐方法,与现有技术中自适应推荐策略的效率低相比,在本申请中,获取学习者的答题数据;基于所述答题数据,确定所述学习者的能力相似度最大化函数,其中,所述能力相似度最大化函数反映了基于所述学习者的有限答题数据得到的能力值评估与基于所述学习者的全量答题数据得到的能力值评估的相似度最接近;对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略。即在本申请中,基于学习者的答题数据,即学习者有限的作答记录,得到的所述学习者的能力值评估最接近于所述学习者的全量作答记录的能力值评估,即仅用少量的样本数据,得到与大量样本数据最接近的能力评估,以此能力评估所得到的所述学习者的推荐策略准确性高,因此提高了自适应推荐策略的效率。

需要说明的是,在上述步骤S210以及S211-S213中采用期望梯度得到

同时,假设f是参数α的强凸函数,当S和V的期望梯度差为∈,且学习率为1/α时,在S和V上的能力估计的期望误差上界满足如下公式,

其中p

取得较小值,说明期望误差上界就会更紧,更利于准确评估学生能力。

本申请基于上述的第一实施例,还提供另一实施例,参照图4,所述针对在线编程教学的自适应推荐方法包括:

步骤S101,获取在线编程平台上学习者答题数据以及编程题相关信息与特征,并对其进行筛选;

在本实施例中,装置获取在线编程平台上学习者答题数据以及编程题相关信息与特征,并对其进行筛选,具体地,本发明实施例的数据需要的数据可以分为以下两类:一类是用于描述学习者和试题的各种属性的数据,包括但不限于用户的基本信息、题目ID、题目涉及的知识点等。另一类是用于描述学习者作答行为的数据,包括但不限于作答的时间、回答的题目ID、作答结果(正确或错误)等。接着,对原始的学习者数据进行筛选,基于预先设定好的筛选标准。本发明实施例中根据学习范围和目标学习者群体对作数据进行筛选,例如,若为中小学生组织一个在线编程学习课程,则根据涉及到的知识点,只保留那些初级算法所能解决的编程题。在过程中,学习者i的所有已作答的记录可表示为元组集合D

步骤S102,根据编程学习的特点,将自适应推荐中推荐策略生成过程定义为一个优化问题;

在本实施例中,装置根据编程学习的特点,将自适应推荐中推荐策略生成过程定义为一个优化问题,参照第一实施例的步骤S210,在此不作重复概述。

步骤S103,将原NP难的优化问题(无法在有限时间内求解)进行转换与放缩,进而优化梯度误差的上界;

在本实施例中,装置将原NP难的优化问题(无法在有限时间内求解)进行转换与放缩,进而优化梯度误差的上界,具体地,鉴于上述问题是个NP难问题且需要考虑整个能力参数空间,无法在有限时间内求解,因此对其进行转换和放缩。定义集合V到S的一个映射函数h:h(i)=j∈S,将V中的任意元素映射到S中的某个元素,并根据三角不等式可以得到:

当映射函数h是将V中每个元素映射到S中离它梯度最接近的点时,上述不等式右侧取得最小值,因此可以对梯度差的上界进一步约束:

步骤S104,基于次模函数的简单贪心算法求出优化问题近似解,并根据编程学习的特点设计推荐策略;

在本实施例中,装置于次模函数的简单贪心算法求出优化问题近似解,并根据编程学习的特点设计推荐策略,具体地,参照第一实施例的步骤S310,在此不作重复概述。

步骤S105,降低次模函数计算复杂性高以及候选题数量,以优化推荐效率。

在本实施例中,装置降低次模函数计算复杂性高以及候选题数量,以优化推荐效率,具体地,包括两个方面:1)次模函数计算复杂性高;2)候选题量较大导致检索和推荐复杂性高。为此,本发明实例分别对其进行优化:

1)虽然上述基于次模函数的选择策略能够解决NP难问题,但计算F(S)中计算:

需在整个能力参数空间找到梯度最大距离,复杂性过高。因此,本发明实例利用学习者的多面性,挖掘他出最可能的几个能力参数,以缩小能力参数空间大小。例如,一个编程题可以同时动态规划、广度优先搜索、暴力搜索等多种算法方法来求解,使用方法的不同决定了学习者可能具有多种不同的潜在能力,用这组可能的能力替代整个能力空间Θ。具体地,这里了使用自适应测验领域最新的多面性参数估计方法,即在每一轮t修改θ的优化函数,并生成m个能力估计值:

只需在常用的loss函数中添加多样性正则项ψ(θ)。具体的计算公式为:

其中,

是定义在学生之前的作答记录的S

同时用m个能力估计值的均值作为新的估计量,提升准确性和鲁棒性,即:

进而可以使得S104理论分析中期望误差上界更小,能力估计更准。

2)将试题推荐划分为两个阶段,改进试题检索复杂性与计算效率。具体地,当在线编程平台在利用次模函数公式如下:

在选题时,计算量主要集中在其中G(S)=∑

另一方面,阶段二计算F(S

因此,最终改进后的计算复杂性为O(|V|+|M

在本实施例中,装置将一种基于优化理论和次模函数的推荐策略生成方法应用于在线编程教育平台上自适应推荐中,用于在学习过程中自动选出适合学习者的试题,从而提高评估准确性和编程学习的效率。其中,学习者的数据为来自在线教育平台的答题数据,数据可分为描述学习者和试题属性的数据和描述学习者答题行为的数据。然后会基于学习范围和目标学习者群体对作数据进行筛选。根据编程学习的特点,将推荐策略生成过程定义为一个优化问题,将对其进行转换与放缩,以优化梯度误差的上界。然后,基于次模函数的简单贪心算法求出优化问题近似解,以此设计编程试题的推荐策略。最后,为降低次模函数计算复杂性高与候选题数量,将推荐过程进一步划分为两阶段以提升推荐效率。

本申请还提供一种针对在线编程教学的自适应推荐装置,所述针对在线编程教学的自适应推荐装置包括:

获取模块10,用于获取学习者的答题数据;

确定模块20,用于基于所述答题数据,确定所述学习者的能力相似度最大化函数,其中,所述能力相似度最大化函数反映了基于所述学习者的有限答题数据得到的能力值评估与基于所述学习者的全量答题数据得到的能力值评估的相似度最接近;

计算模块30,用于对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略。

可选地,所述确定模块20,包括:

题目相似度函数确定模块,用于基于所述答题数据,确定所述学习者的题目相似度算法函数,其中,所述题目相似度算法函数反映了任意两个题目间的相似度;

能力相似度最大化函数确定模块,用于基于所述题目相似度算法函数,确定所述学习者的能力相似度最大化函数。

可选地,所述题目相似度函数确定模块,包括:

能力值评估模块,用于基于所述答题数据,确定所述学习者的能力值;

期望梯度计算模块,用于基于所述能力值,计算所述学习者对答题库中每一题目的期望梯度;

题目相似度算法函数确定模块,用于基于所述期望梯度,确定所述学习者的题目相似度算法函数。

可选地,所述计算模块30,包括:

平滑处理模块,用于将所述能力相似度最大化函数进行拉普拉斯平滑,得到归一化单调非减次模函数;

贪心算法计算模块,用于对所述归一化单调非减次模函数采用贪心算法,得到所述学习者的推荐策略。

可选地,所述贪心算法计算模块,包括:

题目集确定模块,用于确定答题库中的目标题目集;

信息量确定模块,用于将所述目标题目集中每一题目代入所述归一化单调非减次模函数,得到所述每一题目的信息量;

推荐策略确定模块,用于将所述题目集中各题目按照所述信息量大小进行排序,并将所述信息量最大的预设数量的题目确定为所述学习者的推荐策略。

可选地,所述题目集确定模块,包括:

题库获取模块,用于获取答题库的全部题目集;

学习者题目集确定模块,用于基于所述学习者的答题数据,确定学习者的题目集;

目标题目集确定模块,用于将所述全部题目集中去除所述学习者的题目集,得到目标题目集。

可选地,所述针对在线编程教学的自适应推荐装置还包括:

价值量计算模块,用于基于预设的不确定性度量算法,计算所述目标题目集中每一题目的价值量;

筛选模块,用于将所述题目集中各题目按照所述价值量大小进行排序,并将所述价值量最大的预设数量的题目确定为筛选后的目标题目集。

本申请针对在线编程教学的自适应推荐装置具体实施方式与上述针对在线编程教学的自适应推荐方法各实施例基本相同,在此不再赘述。

参照图1,图1是本申请实施例方案涉及的硬件运行环境的终端结构示意图。

如图1所示,该终端可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,该针对在线编程教学的自适应推荐设备还可以包括矩形用户接口、网络接口、摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。矩形用户接口可以包括显示屏(Display)、输入子模块比如键盘(Keyboard),可选矩形用户接口还可以包括标准的有线接口、无线接口。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。

本领域技术人员可以理解,图1中示出的针对在线编程教学的自适应推荐设备结构并不构成对针对在线编程教学的自适应推荐设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块以及针对在线编程教学的自适应推荐程序。操作系统是管理和控制针对在线编程教学的自适应推荐设备硬件和软件资源的程序,支持针对在线编程教学的自适应推荐程序以及其它软件和/或程序的运行。网络通信模块用于实现存储器1005内部各组件之间的通信,以及与针对在线编程教学的自适应推荐系统中其它硬件和软件之间通信。

在图1所示的针对在线编程教学的自适应推荐设备中,处理器1001用于执行存储器1005中存储的针对在线编程教学的自适应推荐程序,实现上述任一项所述的针对在线编程教学的自适应推荐方法的步骤。

本申请针对在线编程教学的自适应推荐设备具体实施方式与上述针对在线编程教学的自适应推荐方法各实施例基本相同,在此不再赘述。

本申请还提供一种存储介质,所述存储介质上存储有实现针对在线编程教学的自适应推荐方法的程序,所述实现针对在线编程教学的自适应推荐方法的程序被处理器执行以实现如下所述针对在线编程教学的自适应推荐方法:

获取学习者的答题数据;

基于所述答题数据,确定所述学习者的能力相似度最大化函数,其中,所述能力相似度最大化函数反映了基于所述学习者的有限答题数据得到的能力值评估与基于所述学习者的全量答题数据得到的能力值评估的相似度最接近;

对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略。

可选地,所述基于所述答题数据,确定所述学习者的能力相似度最大化函数的步骤,包括:

基于所述答题数据,确定所述学习者的题目相似度算法函数,其中,所述题目相似度算法函数反映了任意两个题目间的相似度;

基于所述题目相似度算法函数,确定所述学习者的能力相似度最大化函数。

可选地,所述基于所述答题数据,确定所述学习者的题目相似度算法函数的步骤,包括:

基于所述答题数据,确定所述学习者的能力值;

基于所述能力值,计算所述学习者对答题库中每一题目的期望梯度;

基于所述期望梯度,确定所述学习者的题目相似度算法函数。

可选地,所述对所述能力相似度最大化函数进行求解计算,得到所述学习者的推荐策略的步骤,包括:

将所述能力相似度最大化函数进行拉普拉斯平滑,得到归一化单调非减次模函数;

对所述归一化单调非减次模函数采用贪心算法,得到所述学习者的推荐策略。

可选地,所述对所述归一化单调非减次模函数采用贪心算法,得到所述学习者的推荐策略的步骤,包括:

确定答题库中的目标题目集;

将所述目标题目集中每一题目代入所述归一化单调非减次模函数,得到所述每一题目的信息量;

将所述题目集中各题目按照所述信息量大小进行排序,并将所述信息量最大的预设数量的题目确定为所述学习者的推荐策略。

可选地,所述确定答题库中的目标题目集的步骤,包括:

获取答题库的全部题目集;

基于所述学习者的答题数据,确定学习者的题目集;

将所述全部题目集中去除所述学习者的题目集,得到目标题目集。

可选地,所述确定答题库中的目标题目集的步骤之后,所述方法包括:

基于预设的不确定性度量算法,计算所述目标题目集中每一题目的价值量;

将所述题目集中各题目按照所述价值量大小进行排序,并将所述价值量最大的预设数量的题目确定为筛选后的目标题目集。

本申请存储介质具体实施方式与上述针对在线编程教学的自适应推荐方法各实施例基本相同,在此不再赘述。

本申请还提供一种计算机程序产品、包括计算机程序,该计算机程序被处理器执行时实现上述的针对在线编程教学的自适应推荐方法的步骤。

本申请计算机程序产品的具体实施方式与上述针对在线编程教学的自适应推荐方法各实施例基本相同,在此不再赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。

以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

技术分类

06120115934985