一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于长短期记忆和图注意力网络的OJ平台题目推荐方法

2022-06-02 16:18:18 来源:中国专利 TAG:

基于长短期记忆和图注意力网络的oj平台题目推荐方法
技术领域
1.本发明涉及数据挖掘领域,尤其是涉及一种基于长短期记忆和图注意力网络的oj平台题目推荐方法。


背景技术:

2.oj(online judge)平台是一个专门针对算法编程竞赛的在线测评网站,用户可以选择题目,尝试编写代码并提交,oj平台会返回评测结果。由于用户对知识点的掌握程度以及oj平台使用熟练度等问题,导致很多用户很难选择到合适的题目。如果题目难度远高于用户现实能力,可能会打击用户的学习信心,对训练效果造成影响;如果题目难度远低于用户现实能力,则会浪费训练时间,降低训练效率。因此为不同用户推荐合适的训练题目是一个亟待解决的问题。推荐算法在商品、新闻等领域有着长期研究,方法也是多种多样,比如:传统的基于用户/物品的协同过滤、线性/逻辑回归算法;比较经典的因子分解机及变种算法;基于概率的决策树、随机森林等算法;基于神经网络、深度学习的方法在推荐领域也有广泛的运用;图神经网络在推荐领域也受到了大量关注,比如ngcf、lightgcn等算法;此外,对序列推荐的研究也逐渐增多,例如基于马尔科夫链、基于循环神经网络等方法。
3.上述方法在一定条件下拥有不错的推荐效果,但是oj平台题目推荐相对于传统场景的推荐是有一定差异的。首先,oj平台专业属性较强,随着用户训练的持续推进,编程能力不断提升,对于题目难度的需求也随之变化,用户兴趣的变化有较强的递进性,传统的推荐方法在兴趣递进变化的考虑存在一定的欠缺;其次,传统的方法忽略了用户—题目交互的拓扑信息和语义信息,但是这些信息在一定程度上蕴含了丰富的用户兴趣,在传统的算法中,用户提交的每一道题对用户兴趣表征的影响是相同的,但是在真实条件下每道题目对用户的兴趣表征的影响是存在明显差异的。因此急需一种方法来解决oj场景下题目的个性化推荐问题,以提升题目训练效率。


技术实现要素:

4.本发明的目的就是为了克服上述现有技术存在的缺陷而提供一种基于长短期记忆和图注意力网络的oj平台题目推荐方法,解决了oj平台题目推荐存在的个性化缺失问题,有效提高用户的学习训练效率。
5.本发明的目的可以通过以下技术方案来实现:
6.一种基于长短期记忆和图注意力网络的oj平台题目推荐方法,包括:
7.通过训练好的评分模型计算题目和用户的匹配评分;
8.根据评分排序向用户推荐题目;
9.其中,所述的评分模型的训练过程包括以下步骤:
10.s1、将用户和题目向量化,获得用户结点嵌入和题目结点嵌入;
11.s2、根据用户结点嵌入、题目结点嵌入以及用户在oj平台的答题记录构建二分图;
12.s3、根据二分图,通过图注意力网络获取每个用户的短期兴趣表示和长期兴趣表
示,通过gru将用户的短期兴趣表示和长期兴趣表示结合,得到用户最终兴趣表示;
13.s4、利用用户最终兴趣表示、题目表示和用户在oj平台的答题记录训练评分模型。
14.进一步地,所述的用户向量化的具体过程包括:
15.采用序号进行独热编码,得到用户嵌入表示。
16.进一步地,所述的题目向量化的具体过程包括:
17.通过独热编码对每道题目进行编码,每道题目对应一个二进制向量,所述的二进制向量的每一位对应一个知识点,1表示有该知识点,0表示没有该知识点,每道题目对应的二进制向量即为该题目的题目结点嵌入。
18.采用序号进行独热编码,得到用户嵌入表示。
19.进一步地,所述的图注意力网络的表达式为:
[0020][0021][0022][0023]
其中,e
i,j
表示题目j对于用户i的重要性,为注意力神经网络,w1为权值矩阵,ui表示用户i,α
i,j
为e
i,j
的归一化值,softmax为归一化函数,ui为用户的短期兴趣表示,σ表示激活函数,w2为权重矩阵,pj为二分图中的题目结点j。
[0024]
进一步地,所述的采用单层前馈神经网络,
[0025]
进一步地,所述的评分模型的表达式为:
[0026]ri,j
=mlp([u
′i,pj])
[0027]
其中,r
i,j
为题目j对于用户i的匹配评分,mlp为多层感知机,u
′i为用户最终兴趣表示,pj为二分图中的题目结点j。
[0028]
进一步地,将用户最近尝试过的l道题目作为训练集,后续尝试的1道题作为测试集,利用训练集和测试集对评分模型进行训练;
[0029]
其中,有多次提交或者正确通过的题目为正样本,没有尝试或者尝试次数少于设定值且未通过的题目为负样本,每次训练完成后通过与测试集比较计算损失,然后训练集和测试集都向后移1道题,开始下一次训练。
[0030]
进一步地,其特征在于,训练评分模型的损失函数表达式为:
[0031][0032]
其中,ψ

表示正样本,ψ-表示负样本,为正则化项,θ表示训练的所有参数,λ为超参数。
[0033]
一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器调用所述程序指令能够执行所述的oj平台题目推荐方法。
[0034]
一种计算机可读存储介质,包括计算机程序,所述计算机程序能够被处理器执行所述的oj平台题目推荐方法。
[0035]
与现有技术相比,本发明具有以如下有益效果:
[0036]
(1)本发明针对用户和题目生成二分图,二分图中蕴含了丰富的语义信息和拓扑信息,采用了基于图注意力网络充分聚合用户短期兴趣,在用户表示上有更好的效果,针对用户学习状态在不断变化,对题目的需求不断提高的问题,并且用户的状态是可以预知的情况下采用长短期记忆的模型gru将长期兴趣和短期兴趣相结合,解决oj平台题目推荐存在的个性化缺失问题,有效提高用户的学习训练效率;
[0037]
(2)本发明将有多次提交或者正确通过的题目为正样本,没有尝试或者尝试次数少于设定值且未通过的题目为负样本,更符合oj平台使用习惯,使推荐的题目更符合用户知识水平和做题习惯。
附图说明
[0038]
图1为本发明的方法流程示意图。
具体实施方式
[0039]
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
[0040]
实施例1
[0041]
一种基于长短期记忆和图注意力网络的oj平台题目推荐方法,包括:
[0042]
1)分别将用户和题目向量化,获得用户结点嵌入和题目结点嵌入;
[0043]
2)将所有用户近期尝试提交的题目构成一个二分图,该二分图的结点由题目和用户构成;
[0044]
3)对于每一个用户通过图注意力网络计算出短期兴趣表示和长期兴趣表示;
[0045]
4)使用gru(gate recurrent unit)将用户短期兴趣表示和长期兴趣表示结合,得到用户最终表示;
[0046]
5)通过用户的最终表示和题目表示计算得到用户—题目匹配评分;
[0047]
6)将评分高的作为预测正样本,其他的作为预测负样本,开始训练模型;
[0048]
7)利用模型为用户推荐题目。
[0049]
步骤1)中,在oj平台中,每道题有非常清晰且由专家标记的标签,这些标签包含了该题涉及的知识点和难度,使用这些标签对题目进行嵌入表示,这里采用独热编码的方式,为每个题目设置一个二进制向量,所述的二进制向量的每一位对应一个知识点,1表示有该知识点,0表示没有该知识点,每个题目结点对应的二进制向量即为该题目结点的题目结点嵌入。对于用户,采用序号进行独热编码,得到用户嵌入表示,用户的向量化表示和题目的表示方式相同。
[0050]
在步骤2)中,用户和题目构成的二分图记为g(u,e,p),u代表用户结点,p代表题目结点,e代表边,边表示用户u对题目d有过尝试。
[0051]
在步骤1)和步骤2)结束后,完成初始化,开始聚合用户兴趣。
[0052]
在步骤3)中,聚合用户短期兴趣的过程包括如下步骤:
[0053]
31)计算每一道题对用户的影响权重;
[0054]
32)根据每道题对用户不同的权重,聚合得到用户短期兴趣表示;
[0055]
其中每道题对用户不同的权重计算方式如下:
[0056][0057][0058]ei,j
表示了题目j对于用户i的重要性,注意力的方式有很多种,这里选择了单层前馈神经网络,使用gelu激活函数,w1为权值矩阵,最后通过softmax进行归一化得到题目j对用户i的权重α
i,j

[0059]
得到权重过后开始计算用户的短期兴趣表示,计算公式如下:
[0060][0061]
其中σ表示激活函数,w2为权重矩阵。
[0062]
在步骤4)中,长短期记忆融合方式使用了gru模型,公式如下:
[0063]rt
=δ(x
twxr
h
t-1whr
br)
[0064]zt
=δ(x
twxz
h
t-1whz
bz)
[0065][0066][0067]
其中t表示当前短期兴趣时间段,x
t
是当前通过图注意力网络的聚合过后的短期兴趣表示作为输入,r
t
表示gru的重置门,z
t
表示更新门,表示候选隐藏状态,h
t
表示当前时间段的状态,也是用户的最终表示(u
′i),同时也作为下一次gru的输入。
[0068]
在步骤5)中,用户i与题目j的匹配评分计算方式为:
[0069]ri,j
=mlp([u
′i,pj])
[0070]
其中mlp表示多层感知机。
[0071]
在步骤6)中,用户最近尝试过的l道题目作为训练集,后续尝试的1道题作为测试集,利用训练集和测试集对模型进行训练。并定义:有多次提交或者正确通过的题目为正样本;没有尝试或者尝试极少次数且未通过的题目为负样本。模型训练的损失函数为负对数似然,公式如下:
[0072][0073]
其中ψ

表示正样本,ψ-表示负样本,为正则化项,θ表示训练的所有参数,λ为超参数。
[0074]
每次训练过后训练集和测试集都向后移动1道题,开始下一轮训练。
[0075]
当训练一定次数后开始步骤7)进行推荐,将用户近期的提交记录送入训练好的模型,计算题目和用户的匹配评分,将匹配评分由低到高排序后的前k道题目推荐给用户。
[0076]
综上,本实施例提出的oj平台题目推荐方法的流程示意图如图1所示。
[0077]
实施例2
[0078]
一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器
调用所述程序指令能够执行实施例1所述的oj平台题目推荐方法。
[0079]
实施例3
[0080]
一种计算机可读存储介质,包括计算机程序,所述计算机程序能够被处理器执行实施例1所述的oj平台题目推荐方法。
[0081]
实施例1、实施例2和实施例3提出了一种基于长短期记忆和图注意力网络的oj平台题目推荐方法、电子设备及介质,使用图注意力网络获取用户短期兴趣表示和长期兴趣表示,采用gru将长期兴趣表示和短期兴趣表示相结合,合理选择正负样本,解决oj平台题目推荐存在的个性化缺失问题,有效提高用户的学习训练效率,为用户提供一个良好的学习体验,增加用户粘性。
[0082]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献