CN110134871B - 一种基于课程和学习者网络结构的动态课程推荐方法 - Google Patents
一种基于课程和学习者网络结构的动态课程推荐方法 Download PDFInfo
- Publication number
- CN110134871B CN110134871B CN201910443743.9A CN201910443743A CN110134871B CN 110134871 B CN110134871 B CN 110134871B CN 201910443743 A CN201910443743 A CN 201910443743A CN 110134871 B CN110134871 B CN 110134871B
- Authority
- CN
- China
- Prior art keywords
- course
- user
- courses
- network
- concept
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
发明公开了一种结合课程和学习者网络结构的动态课程推荐方法,首先根据用户学习记录构建用户网络,并综合考虑各方面因素从课程知识:概念级,用户体验:难度级,整体趋势:课程级,三方面定义课程关系,构建课程网络,表示课程之间的复杂关系。再次使用用户—课程分图结合用户网络和课程网络,使用HITS算法计算用户对课程的喜好程度,作为用户评分,衡量用户对课程的喜好程度,最后根据用户评分矩阵,采用基于用户的协同过滤对用户喜好建模,生成用户可能喜好课程序列,根据用户已学课程,通过课程网络计算用户知识水平,对用户可能喜好序列进行筛选,向用户推荐符合当前知识水平的课程,提高用户满意度,提升学习效率。
Description
技术领域:
本发明涉及一种基于课程和学习者网络结构的动态课程推荐方法,属于计算机软件领域。
技术背景:
慕课(MOOC)作为终身学习途径之一,正在被越来越多的人接受和使用。慕课网站上的众多课程为用户提供了丰富优质的学习资源,但数量繁多的课程让用户难以选择,繁杂的课程描述也很难让普通用户了解课程和做出选择,现有慕课网站尚未提供有效的个性化课程推荐。在研究方面:课程推荐领域主要有网络课程推荐和学校课程推荐。其中学校课程推荐利用来自学校数字化资源和选课平台中的数据信息,根据不同的需求使用协同过滤和图论进行课程推荐。网络课程推荐则利用课程网站上的用户日志和课程信息进行推荐,在推荐过程中构建用户-课程矩阵,利用协同过滤算法为用户进行课程推荐。已有研究有如下不足之处:
1.未探索对用户之间的网络关系。目前大部分慕课网站上没有好友列表,但学习是一种社会化行为,用户在交互中相互学习。因此在慕课网站上,用户交互形成用户网络。
2.课程网络方面,已有文章提出的是专家定义的链式课程关系,用来衡量用户当前知识水平。未考虑用户对课程关系的体验和由课程概念决定的课程关系。且链式课程关系无法完整的体现课程之间的复杂关系。
3.课程学习网站缺乏有效的用户评分,现有研究在用户-课程矩阵中所有已注册课程的权重一样。用户对已学课程的喜好程度缺乏有效的表示。
4.目前课程推荐中,并未从用户角度探索已学课程对用户知识水平的影响。未评估用户对可能喜好课程的知识掌握情况。
名词解释:
先决概念:一个课程中概念之间的先决关系表述,如果概念A是概念B的先决概念,则在学习过程中学习概念B之前需要先学习概念B。也是就是说概念A是概念B的基础知识概念。
root set:当前用户节点。
base:所有与当前用户节点相连的节点和边构成的子图,其包含当前节点。
HITS算法:一种搜索算法。
Hub值:枢纽值,节点导出边指向节点的权威值之和。
Authority值:权威值,节点导入边的连接的节点的枢纽之和。
协同过滤算法:一种推荐算法。
test用户和课程:在数据中,标明是测试用数据的用户和课程。
发明内容:
本发明克服已有方法的不足,本发明公开了一种结合课程和学习者网络结构的动态课程推荐方法。首先根据用户学习记录构建用户网络。其次综合考虑各方面因素从课程知识——概念级,用户体验——难度级,整体趋势——课程级,三方面定义课程关系,构建课程网络,表示课程之间的复杂关系。再次使用用户——物品二分图结合用户网络和课程网络,使用HITS算法计算用户对课程的喜好程度,作为用户评分,衡量用户对课程的喜好程度,克服了课程学习网站上用户评分矩阵稀疏的弊端。最后根据用户评分矩阵,采用基于用户的协同过滤(User based collaborative filtering)对用户喜好建模,生成用户可能喜好课程序列。根据用户已学课程,通过课程网络计算用户知识水平),对用户可能喜好序列进行筛选,向用户推荐符合当前知识水平的课程,提高用户满意度,提升学习效率。
一种基于课程和学习者网络结构的动态课程推荐方法,包括如下步骤:
步骤一、数据收集及预处理:所述数据包括用户数据和课程数据;
步骤二、构建用户网络图;
步骤三、构建课程网络:
创建以课程为节点的有向有权图,有向有权图中节点的权值代表难度较低的课程作为难度较高的课程的先决课程的先决分数;
步骤四、生成用户可能喜好课程序列:得到用户间的用户相似度矩阵和用户对课程的用户评分矩阵,根据协同过滤算法,使用用户相似度矩阵和用户评分矩阵,进行推荐,生成前k个用户可能喜好课程序列F=[fi 1,fi 2,...,fi k];fi k表示第k个可能喜好的课程;
步骤五、用户可能喜好课程序列筛选和动态课程推荐:
得到用户已学课程序列其中,表示用户i的第p个已学课程;计算用户对可能喜好课程的知识水平,进行有选择的推荐:用户i对课程的fi q知识水平p表示用户历史学习课程的数目;1≤q≤k;表示在课程网络中已学课程到用户可能喜好课程序列中的课程fi q的边的权值,F表示用户可能喜好课程序列;
根据用户知识水平筛选序列F中的课程:
Coursex表示任意一个不属于用户已学课程序列中的课程;α表示课程先决分数阈值;
将筛选后的课程序列推荐给用户,并根据用户反馈动态更新数据。
进一步的改进,所述步骤一种,过滤掉不信任数据,不信任数据包括test用户和课程。
进一步的改进,所述步骤一中,用户数据包括用户的历史注册课程,论坛发言,视频观看有效时长和作业提交;课程数据包含课程介绍。
进一步的改进,所述步骤二的步骤如下:根据用户课程注册记录构建用户网络,以用户为节点,节点信息包含用户id和历史学习课程序列;学习过同一课程的用户之间建立无向边,构建社交学习网络上的用户网络图。
难度级:难度级先决分数:
在课程网络中课程i指向课程j的边的权值R为:
进一步的改进,a+b+c=1;a、b、c的值通过试验或机器学习训练得到;α=0.7。
进一步的改进,所述步骤四中,用户相似度矩阵和用户评分矩阵的生成过程如下:在用户网络和课程之间,根据用户是否学习课程网络节点所代表的课程建立无向边,构建带有用户网络的二分图;
对于用户i,以用户i在二分图网络上的节点i为root set,以所有与i相连的节点为扩展集,形成base,根据HITS算法得到用户对课程节点所代表的课程的喜好度:即Base中课程节点的Authority值;
HITS算法会计算出所有节点的Authority值,仅保留课程节点的Authority值作为用户评分,得到用户评分向量;
计算出不同的用户节点作为root set时的用户评分向量得到用户评分矩阵;
用户相似度计算:
采用余弦相似度计算用户相似度,计算公式如下:
对当前用户u,计算不同用户与该节点的相似度形成用户相似度向量,不断改变当前用户,得到用户评分矩阵。
进一步的改进,所述步骤五中,根据用户反馈动态更新数据的步骤如下:用户注册推荐列表中的课程后,更新用户历史学习序列,重新生成推荐列表。
附图说明:
附图1:数据处理和动态推荐步骤示意图;
附图2:用户网络图:以用户为节点,学习过同一课程的用户之间生成无向边。以线型区别不同用户社区。同一线型连接同一课程中的学习者。在本专利中学习过同一课程的用户之间是一个全连接无向图。例如用户1,2,3,5之间;
附图3:课程概念网络图;
附图4:课程概念网络;带权值的有向图节点代表课程,边代表先决关系。边箭头的终点指向后继课程,边起始节点课程是终节点课程的先决课程,权值代表起点课程作为终点课程的先决课程的权值,权值大小∈[0,1],1.0表示起点课程可以单独作为终点课程的先决课程。0.0表示这两课程之间没有先决后继关系,由于本专利会将权值小于μ的边删掉,所以不会出现权值为0.0的边;
附图5:用户-课程二分图;
附图6:用户-课程二分图完整图示;
附图7:以图6中的用户5为例的base图。
具体实施方式:
为了更具体地阐述该发明,以以下实施例详细地讲述其实施方式。
步骤一、数据收集及预处理:所述数据包括用户数据和课程数据;用户数据包括用户的历史注册课程,论坛发言,视频观看有效时长和作业提交;课程数据包含课程介绍;需要对数据进行预处理,过滤掉不信任数据,例如test用户和课程;
步骤二、构建用户网络:根据用户课程注册记录构建用户网络,以用户为节点,节点信息包含用户id和历史学习课程序列。学习过同一课程的用户之间建立无向边,构建社交学习网络上的用户网络图,如图2所示:
步骤三、构建课程网络:
创建以课程为节点的有向有权图:有向有权图中节点的权值代表难度较低的课程作为难度较高的课程的先决课程的先决分数;
先决分数从如下三个方面定义:
难度级:难度级先决分数:
在课程网络中课程i指向课程j的边的权值R为:
若课程B的先决课程A的先决分数是100%,即A是B唯一的先决课程,则节点A到节点B的有向边的权值为1.0。同理若B,D各占50%,则节点B和节点D到节点F有向边的权值各为0.5。若E,C先决分数同为100%,两个课程的先决分数都为100%,相当于这两个课程都可以分别独立作为课程D的先决课程,例如数据结构的先决课程可以是C语言,也可以是C++,则节点E和节点C到节点D有向边的权值同为1.0,如图4所示:
步骤四、生成用户可能喜好课程序列:
在用户网络和课程之间,根据用户是否学习课程网络节点所代表的课程建立无向边,构建带有用户网络的二分图。为了便于观察隐藏用户网络,如图5所示,完整图示见图6:
对于用户i,以用户i在二分图网络上的节点i为root set,以所有与i相连和节点为扩展集,形成base。以用户5为例,如图7所示:
构建邻接矩阵,如下表所示:
表1:用户——课程邻接矩阵
使用HITS算法算出所有节点的Authority权值,然后仅保留课程节点的Authority权值作为用户评分,得到用户评分向量:对于当前用户节点root set,用生成的Base作为HITS算法的输入网络。HITS算法假定:
一个高质量的Authority节点会被很多高质量的Hub节点所指向。
一个高质量的Hub节点会指向很多高质量的Authority页面。
使用HITS算法为Base中的所有节点计算Athourity值。
用户对课程的喜好度=课程节点的Authority值=用户评分。
将不同的用户节点作为root set,重复上述方法,得到用户评分矩阵。用户相似度计算:
本专利采用余弦相似度计算用户相似度,计算公式如下:
根据协同过滤算法进行推荐,用我们计算出的用户相似度矩阵和用户评分矩阵,生成top-k用户可能喜好课程序列F=[fi 1,fi 2,...,fi k]。
步骤五、用户可能喜好课程序列筛选和动态课程推荐:
根据用户知识水平筛选序列F中的课程:
Coursex表示任意一个不属于用户已学课程序列中的课程。α表示课程先决分数阈值;
将筛选后的课程序列推荐给用户,并根据用户反馈动态更新数据。以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变换,均仍属于本发明技术方案的保护范围内。
Claims (8)
1.一种基于课程和学习者网络结构的动态课程推荐方法,其特征在于,包括如下步骤:
步骤一、数据收集及预处理:所述数据包括用户数据和课程数据;
步骤二、构建用户网络图;
步骤三、构建课程网络:
创建以课程为节点的有向有权图,有向有权图中节点的权值代表难度较低的课程作为难度较高的课程的先决课程的先决分数;
步骤四、生成用户可能喜好课程序列:得到用户间的用户相似度矩阵和用户对课程的用户评分矩阵,根据协同过滤算法,使用用户相似度矩阵和用户评分矩阵,进行推荐,生成前k个用户可能喜好课程序列F=[fi 1,fi 2,...,fi k];fi k表示第k个可能喜好的课程;
步骤五、用户可能喜好课程序列筛选和动态课程推荐:
根据用户知识水平筛选序列F中的课程:
Coursex表示任意一个不属于用户已学课程序列中的课程;α表示课程先决分数阈值;
将筛选后的课程序列推荐给用户,并根据用户反馈动态更新数据。
2.如权利要求1所述的基于课程和学习者网络结构的动态课程推荐方法,其特征在于,所述步骤一种,过滤掉不信任数据,不信任数据包括test用户和课程。
3.如权利要求1所述的基于课程和学习者网络结构的动态课程推荐方法,其特征在于,所述步骤一中,用户数据包括用户的历史注册课程,论坛发言,视频观看有效时长和作业提交;课程数据包含课程介绍。
4.如权利要求1所述的基于课程和学习者网络结构的动态课程推荐方法,其特征在于,所述步骤二的步骤如下:根据用户课程注册记录构建用户网络,以用户为节点,节点信息包含用户id和历史学习课程序列;学习过同一课程的用户之间建立无向边,构建社交学习网络上的用户网络图。
5.如权利要求1所述的基于课程和学习者网络结构的动态课程推荐方法,其特征在于,所述步骤三中的先决分数从如下三个方面确定:概念级:对于课程i和j,使用已有方法抽取课程概念并分别形成课程i和课程j概念的先决关系网络Gi、Gj;ki n表示课程i的第n个概念;
难度级:难度级先决分数:
在课程网络中课程i指向课程j的边的权值R为:
6.如权利要求5所述的基于课程和学习者网络结构的动态课程推荐方法,其特征在于,a+b+c=1;a、b、c的值通过试验或机器学习训练得到;α=0.7。
7.如权利要求1所述的基于课程和学习者网络结构的动态课程推荐方法,其特征在于,所述步骤四中,用户相似度矩阵和用户评分矩阵的生成过程如下:在用户网络和课程之间,根据用户是否学习课程网络节点所代表的课程建立无向边,构建带有用户网络的二分图;对于用户i,以用户i在二分图网络上的节点i为root set,以所有与i相连的节点为扩展集,形成base,根据HITS算法得到用户对课程节点所代表的课程的喜好度:即Base中课程节点的Authority值;
HITS算法会计算出所有节点的Authority值,仅保留课程节点的Authority值作为用户评分,得到用户评分向量;
计算出不同的用户节点作为root set时的用户评分向量得到用户评分矩阵;
用户相似度计算:
采用余弦相似度计算用户相似度,计算公式如下:
对当前用户u,计算不同用户与该节点的相似度形成用户相似度向量,不断改变当前用户,得到用户评分矩阵。
8.如权利要求1所述的基于课程和学习者网络结构的动态课程推荐方法,其特征在于,所述步骤五中,根据用户反馈动态更新数据的步骤如下:用户注册推荐列表中的课程后,更新用户历史学习序列,重新生成推荐列表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910443743.9A CN110134871B (zh) | 2019-05-27 | 2019-05-27 | 一种基于课程和学习者网络结构的动态课程推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910443743.9A CN110134871B (zh) | 2019-05-27 | 2019-05-27 | 一种基于课程和学习者网络结构的动态课程推荐方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110134871A CN110134871A (zh) | 2019-08-16 |
CN110134871B true CN110134871B (zh) | 2020-10-16 |
Family
ID=67581829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910443743.9A Active CN110134871B (zh) | 2019-05-27 | 2019-05-27 | 一种基于课程和学习者网络结构的动态课程推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110134871B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111523738B (zh) * | 2020-06-22 | 2023-07-21 | 之江实验室 | 基于用户在线学习行为模式预测学习效果的系统及预测方法 |
CN112100439B (zh) * | 2020-07-14 | 2024-03-22 | 山东科技大学 | 基于依赖关系嵌入与神经注意力网络的推荐方法 |
CN112163162B (zh) * | 2020-10-14 | 2023-12-08 | 珠海格力电器股份有限公司 | 基于人像识别的选修课程推荐方法、存储介质及电子设备 |
CN112231586A (zh) * | 2020-12-15 | 2021-01-15 | 平安科技(深圳)有限公司 | 基于迁移学习的课程推荐方法、装置、设备及介质 |
CN113139135B (zh) * | 2021-05-13 | 2023-09-19 | 南京工程学院 | 一种改进型协同过滤的网络课程推荐算法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150243176A1 (en) * | 2014-02-24 | 2015-08-27 | Mindojo Ltd. | Virtual course boundaries in adaptive e-learning datagraph structures |
CN106023015B (zh) * | 2016-05-18 | 2020-10-09 | 腾讯科技(深圳)有限公司 | 课程学习路径推荐方法及装置 |
CN108549987B (zh) * | 2018-04-18 | 2021-09-03 | 河南理工大学 | 一种基于有向环分析的课程考核方法 |
-
2019
- 2019-05-27 CN CN201910443743.9A patent/CN110134871B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110134871A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134871B (zh) | 一种基于课程和学习者网络结构的动态课程推荐方法 | |
Miech et al. | Howto100m: Learning a text-video embedding by watching hundred million narrated video clips | |
CN110674410B (zh) | 用户画像构建、内容推荐方法、装置及设备 | |
Chaplot et al. | Predicting Student Attrition in MOOCs using Sentiment Analysis and Neural Networks. | |
CN104615767B (zh) | 搜索排序模型的训练方法、搜索处理方法及装置 | |
CN106354872B (zh) | 文本聚类的方法及系统 | |
CN110442790A (zh) | 推荐多媒体数据的方法、装置、服务器和存储介质 | |
Jando et al. | Personalized E-Learning model: A systematic literature review | |
CN109871504B (zh) | 一种基于异构信息网络与深度学习的课程推荐系统 | |
CN102332025A (zh) | 一种智能垂直搜索方法和系统 | |
CN104133817A (zh) | 网络社区交互方法、装置及网络社区平台 | |
Deng et al. | Knowledge graph based learning guidance for cybersecurity hands-on labs | |
CN112784608A (zh) | 试题推荐方法、装置、电子设备和存储介质 | |
CN106934071A (zh) | 基于异构信息网络和贝叶斯个性化排序的推荐方法及装置 | |
CN110659311B (zh) | 题目推送方法、装置、电子设备及存储介质 | |
CN106708938A (zh) | 用于辅助推荐的方法及装置 | |
CN113806630B (zh) | 基于注意力的多视角特征融合跨域推荐方法及装置 | |
CN111831914A (zh) | 一种在线教育的智能推题系统 | |
CN109614480B (zh) | 一种基于生成式对抗网络的自动摘要的生成方法及装置 | |
CN110807509A (zh) | 一种基于贝叶斯神经网络的深度知识追踪方法 | |
CN107045533A (zh) | 基于标签的教育资源推荐方法及系统 | |
CN109408726B (zh) | 问答网站中问题回答者推荐方法 | |
Arai et al. | Predicting quality of answer in collaborative Q/A community | |
CN111311997B (zh) | 一种基于网络教育资源的互动方法 | |
Kardkovács et al. | The ferrety algorithm for the KDD Cup 2005 problem |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |