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

一种基于深度会话兴趣交互模型的课程推荐方法

2022-06-02 13:53:39 来源:中国专利 TAG:

一种基于深度会话兴趣交互模型的课程推荐方法
(一)技术领域
1.本发明涉及机器学习、深度学习及数据挖掘等技术领域,具体是捕捉用户多角度兴趣偏好的课程推荐方法。
(二)

背景技术:

2.近年来,传统线下教育模式受到人工成本飞涨的压力,与此同时,消费者个性化需求得不到满足,在这一背景下,线下教育所面临的高成本、低利润等挑战也日益凸显出来。而伴随着互联网和人工智能的飞速发展,使得在线教育网络环境得到了极大地改善与提升。在线教育是指通过互联网技术进行快速学习和内容传播的一种方法。目前存在的在线教育平台mooc,网易云教室等大受欢迎。与传统的教育模式比较,在线教育具有效率高、方便、低门槛、教育资源充足的特点。但是在线学习平台中存在大量的课程,通常使用户感到不知所措,增加了决策的难度。为了解决信息超载的问题,课程推荐系统应运而生,旨在在合适的时间为合适的用户提供个性化的服务。
3.目前已公布的发明专利“基于图卷积神经网络的动态权重的课程推荐方法和系统”,公开号为cn110580314a,通过获取用户对每一课程的评分值进行预处理,得到用户-课程矩阵,在此基础上构建图卷积神经网络,预测用户-课程评分矩阵,对其进行序列模式挖掘得到每个用户的推荐课程序列。该发明没有考虑用户交互的课程中存在噪声课程,会导致推荐结果不准确,并且用户的兴趣是动态变化的,并不是一成不变的。本发明描述的“一种基于深度会话兴趣交互模型的课程推荐方法”利用用户与项目交互的时间序列信息,使用注意力网络去除用户在课程会话中的噪声课程,提取每个会话的偏好,然后利用gru来模拟用户动态变化的兴趣,最后得到用户的兴趣表示,结合课程表示得到每个课程的得分,以此来为学生推荐课程。
(三)

技术实现要素:

4.本发明要解决的是目前基于课程推荐方法中在用户会话的兴趣提取过程中,没有考虑到用户与项目的交互过程中存在噪声项目的影响;同时一个静态且低秩的向量无法充分表达用户的兴趣,并且用户兴趣并不是一成不变的,是随着时间而改变的,从而导致生成的推荐模型无法为用户推荐给个性化的课程等问题,提供了一种深度会话兴趣交互模型的课程推荐方法。
5.为解决上述问题,本发明是通过以下技术方案实现的:
6.对已下载的好的mooccube数据集的原始在线学习相关行为数据进行筛选和预处理。
7.将用户与项目的行为信息按照时间进行排序,并以一天为时间间隔划分会话。
8.由于会话中的全部项目可能并不是用户真正想要交互的项目,所以应用注意力网络为每个会话剔除噪声课程,并提取每个会话的兴趣。
9.为了刻画用户动态变化的兴趣,丰富用户兴趣表示,gru擅长捕获顺序关系,所以
将其应用于捕获用户动态偏好中。
10.将用户最近行为数据和步骤四得到的动态兴趣表示输入到第二层attention网络中,得到用户的多角度兴趣表示。
11.最后,将用户的多角度兴趣表示和课程向量表示做内积,将得到每个候选项目的得分,选择得分高的为学生进行推荐。
12.与现有的技术相比,本发明具有如下优势:
13.在数据建模方面,本发明将用户的时间顺序行为进行划分,将用户一天内浏览的课程划分为一个会话,我们发现在同一会话内课程特征是高度同质的,而在不同的会话之间,课程特征之间有很大的差别。
14.基于顺序时间建模划分的会话,模型利用注意力机制能为不同的项目分配不同的权重,可以有效剔除噪声课程,提取会话中包含的兴趣点信息,有助于提高推荐的准确度。
15.在用户兴趣建模方面,由于用户的会话的间隔时间内可能受多种因素的影响,兴趣可能会产生变化,并且学习行为本身就是一个连续的行为,本发明通过使用gru模拟用户每个会话之间兴趣的变化,来提升学生在线学习的体验。
16.模型在考虑动态变化的用户兴趣这个角度之后,还注意到用户近期浏览的项目对于课程推荐也是一个重要的影响因素。本发明引入第二层attention,为用户动态兴趣表示和近期交互的项目分配不同的权重,最终得到用户的多角度兴趣表示,从而来提高性能。
(四)附图说明
17.图1为本发明的模型的框架图。
18.图2为基于深度会话兴趣交互模型的课程推荐的整体的流程图。
19.图3为提取会话兴趣的示意图。
20.图4为输入数据生成的流程图。
21.图5为提取会话兴趣的流程图。
22.图6为用户动态兴趣生成的流程图。
23.图7为用户的多角度偏好生成的流程图。
(五)具体实施方式
24.为使本发明的目的、技术方案和优点更加清楚,以下结合具体实例,并参照附图,对本发明进一步详细阐述。
25.本发明以基于深度会话兴趣交互模型的课程推荐为实例描述本发明方法的具体实施过程。本发明的模型框架如图1所示,基于深度会话兴趣交互模型的课程推荐的整体流程如图2所示。结合示意图说明具体步骤:步骤1、在moocdata官网下载mooccube数据集,对数据进行筛选后进行预处理。步骤2、由步骤1得到筛选的数据后,将学生的数据按照时间顺序进行排列,最后将每一个用户的顺序行为划分为会话,总的来说就是,将每一个用户的多个数据按照时间顺序排列,在按照规则划分会话,将多个数据整合成一条会话数据。步骤3、将用户每个会话中学生课程记录,嵌入到embedding层,得到用户会话向量矩阵,再通过attention层,得到会话兴趣向量,如图3所示。
步骤4、然后将每个会话兴趣输入到gru模块中,模拟用户动态变化的兴趣,从而得到用户动态兴趣向量。步骤5、考虑到每个会话兴趣项目对用户的影响可能不同,并且用户近期浏览的项目是影响用户偏好的重要因素,将近期浏览项目集作为短期兴趣偏好,同时结合用户动态兴趣向量偏好输入到attention层中,得到多角度用户兴趣向量表示。步骤6、将步骤5得到的多角度偏好表示与候选课程向量做内积,得到候选课程得分,将候选课程排序,选择前10的课程以实现课程推荐。
26.图4显示的是本实例输入数据生成的流程图,具体的步骤包括:步骤1、发表于acl2020的论文公开了一个面向大规模在线教育有关的开放数据仓库,此数据集包含706门真实在线课程、38181个教学视频、114563个概念、199999名mooc 用户的数十万选课、视频观看记录等课程概念有关的资源库。课程数据和学生行为数据来自学堂在线的真实使用环境。对此数据集进行初步处理,清洗掉无用的数据,在已选的数据集中user.csv文件,包含了学生学习行为的记录。course.csv包含了课程信息,包括课程名称、课程类型、课程简介等相关信息。学生的学习行为记录由不同的属性组成,这些属性有不同的意义。例如,在user.csv数据集中,id表示学生编号,name表示学生姓名,course_order 表示学生观看过的课程,enroll_time表示学生观看相应课程发生的时间。在course.csv中, id表示课程的course_id,name表示课程的信息,course_type表示相应课程所属于的类型, course_info表示课程简介,video_order表示此课程中包含的视频的顺序。步骤2、对上述两个数据集进行进一步处理,首先将user.csv数据集中的学生行为记录按照时间顺序排列,并筛选出观看课程数量大于10的用户,然后以一天为单位,为学生行为划分会话,再次筛选出会话个数大于4的用户。对于course.csv数据集,只保留user_id, course_id,enroll_time这三类数据,丢弃其他类型的数据。最终,经过数据预处理,符合要求的学生行为数据14580条,其中包括994位学生,632门课程。得到最终所需的数据集。
27.经过上述的处理,到了用户在相应时间戳的会话,并且由于用户的行为数据存在以下特点,首先,用户的每个会话中存在大量的噪声项目,其次在同一个会话中项目是高度同质的,所以应用注意力网络为每个会话剔除噪声课程,并提取每个会话的兴趣。
28.图5显示的是提取会话兴趣的流程图,具体的步骤包括:步骤1、对于每一个用户,对于每个用户u∈u,以天为单位从顺序数据中划分会话,步骤1、对于每一个用户,对于每个用户u∈u,以天为单位从顺序数据中划分会话,表示该用户的顺序会话,其中n表示用户u产生的会话总数量,表示该用户的顺序会话,其中n表示用户u产生的会话总数量,表示用户u的第n个会话(项目集)。在模型里用最后一个会话来提取用户的短期偏好,这也是为用户推荐课程的一个重要的因素。另一方面,对于用户的动态偏好,可以通过进行提取。本发明将会话中的课程向量输入到attention层中,通过 attention筛选出课程噪声,从形式上,注意网络的定义是:attention筛选出课程噪声,从形式上,注意网络的定义是:其中,是模型的参数。我们假设会话中的项目集从1到w连续被
标记,而cj表示项目j的稠密嵌入向量。将课程向量cj作为多层感知机(mlp)的输入,得到隐藏表示h
1j
。函数φ(
·
)是relu非线性激活函数。步骤2、我们将用户的嵌入u作为上下文向量,利用softmax函数来度量用户的注意得分。最后,会话特征表示
29.我们的发明考虑到用户的兴趣并不是一成不变的,是随着时间动态变化的,所以应用gru来模拟用户动态变化的兴趣。
30.图6显示的是用户动态兴趣生成的流程图,具体的步骤包括:步骤1、将得到的会话特征ik输入到门控神经单元(gru)中,并且对可变长度的序列数据进行建模,能够处理用户项目交互的时间动态和用户行为的顺序模式,且能够解决“长期依赖”的问题。步骤2、本发明应用gru建模会话兴趣的变化。gru的公式如下:z
t
=σ(wz·
[h
t-1
,i
t
])r
t
=σ(wr·
[h
t-1
,ii])])其中,σ(
·
)是sigmoid函数,z和r分别是更新门和重置门,并且他们的向量大小与输入 i
t
相同,其中(
·
)代表点乘,(*)代表叉乘。步骤3、步骤2中得到的h
t
是gru的隐藏状态,表示用户的动态偏好。
[0031]
除了用户的动态兴趣外,还应考虑用户的短期兴趣,首先,忽略短期兴趣会导致不准确的推荐结果,其次,当在稀疏数据集中时,由于短期偏好的数据集需求较小,短期利益可能是预测下一个项目和缓解稀疏主要决定因素,最后,短期偏好可在细粒度方面有效地捕获用户在每个维度上的兴趣。用户的动态兴趣需要在其长期的行为中推断出来,而用户的短期兴趣反映在其短期行为中,并通过用户的嵌入来捕获。
[0032]
图7显示的是用户的多角度偏好生成的流程图,具体的步骤包括:步骤1、将用户的动态偏好ht输入到第二层attention层中,attention为其分配权重。步骤2、与建模用户动态偏好类似,我们也转向注意网络,为短期项目集中的长期表示和项目嵌入分配不同权重,以捕获用户的高级表示。表示和项目嵌入分配不同权重,以捕获用户的高级表示。其中是模型的参数,并且j>0时,cj是短期偏好项目集中的课程当j=0时,cj=h
t
,与用户兴趣提取层相似,用户嵌入作为上下文向量得到用户兴趣的混合表示。计算混合用户表示如下:
其中,β0是长期用户兴趣偏好的权重。u
t
是最终的用户兴趣表示,它同时考虑了长期动态偏好和短期偏好,并利用注意力机制为它们分配不同的权重,这样同时可以捕获用户与物品之间的非线性交互。步骤3、为了给用户推荐课程,得到用户兴趣表示后,需要计算候选项目j偏好得分,如下:r
ujt
=u
tcj
然后我们根据用户对于候选项目的偏好得分对候选课程进行排序,模型的目的是为用户提供一个在时间t的课程排序列表。因此,模型按照bpr的优化标准,对于我们的模型利用一个成对排序的目标函数。我们假设用户相比于未观察到的项目ck更喜欢模型推荐的候选项目cj,因此有以下不等式:r
ujt
>r
ukt
其中,r
ukt
是在时间t用户对未观察到的项目ck的偏好得分。由此我们有一个成对的项目集然后我们通过最大化后验(map)来训练模型,如下所示:其中,θ={u,c,w1,w2,b1,b2}是模型的参数集合,σ是逻辑回归函数,θ
uc
={u,c}是用户和课程的嵌入矩阵的集合,θa={w1,w2,wz,wr,w}是注意力层和gru的权重矩阵集合,λ={λ
uc
,λa}是正则化参数。
[0033]
需要说明的是,尽管以上发明是说明性的,但那是并非是对本发明的限制,因此本发明并不局限于上述具体实施方式。在不脱离本发明原理的情况下,凡是本领域技术人员在本发明的启示下获得的其它实施方式,均视为在本发明的保护之内。
再多了解一些

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

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

相关文献