CN112100439B - 基于依赖关系嵌入与神经注意力网络的推荐方法 - Google Patents

基于依赖关系嵌入与神经注意力网络的推荐方法 Download PDF

Info

Publication number
CN112100439B
CN112100439B CN202010672280.6A CN202010672280A CN112100439B CN 112100439 B CN112100439 B CN 112100439B CN 202010672280 A CN202010672280 A CN 202010672280A CN 112100439 B CN112100439 B CN 112100439B
Authority
CN
China
Prior art keywords
course
concept
level
courses
user
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
Application number
CN202010672280.6A
Other languages
English (en)
Other versions
CN112100439A (zh
Inventor
赵中英
杨永浩
李超
崔焕庆
梁永全
曾庆田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University of Science and Technology
Original Assignee
Shandong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong University of Science and Technology filed Critical Shandong University of Science and Technology
Priority to CN202010672280.6A priority Critical patent/CN112100439B/zh
Publication of CN112100439A publication Critical patent/CN112100439A/zh
Application granted granted Critical
Publication of CN112100439B publication Critical patent/CN112100439B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/735Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7844Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using original textual content or text extracted from visual content or transcript of audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • Multimedia (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Strategic Management (AREA)
  • Library & Information Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)

Abstract

本发明公开了一种基于依赖关系嵌入与神经注意力网络的推荐方法,属于信息技术领域。本文首先提出ConPreAlg和CoursePreAlg算法,用于从慕课课程字幕中提取概念级和课程级依赖关系;然后基于神经注意力网络和依赖关系嵌入,设计了一种推荐方法(GuessUNeed);在GuessUNeed中,依赖关系被嵌入到神经注意力网络中,改善了注意力系数的计算和推荐的可解释性;在真实数据集上的实验表明,与其它方法相比,该方法可以显著改善推荐的性能。

Description

基于依赖关系嵌入与神经注意力网络的推荐方法
技术领域
本发明属于信息技术领域,具体涉及一种基于依赖关系嵌入与神经注意力网络的推荐方法。
背景技术
近几年,慕课平台的快速发展吸引了数百万的在线用户,这些具有不同教育背景和学习兴趣的用户需要一种有效的个性化课程推荐。挖掘课程之间的依赖关系,并将其用于课程推荐可以让用户轻松获取学习一门课程所需的前置课程,以及进一步学习所需的后续课程,从而提高学习效率和推荐系统的可解释性。
发明内容
针对现有技术中存在的上述技术问题,本发明提出了一种基于依赖关系嵌入与神经注意力网络的个性化课程推荐方法,设计合理,克服了现有技术的不足,具有良好的效果。
为了实现上述目的,本发明采用如下技术方案:
一种基于依赖关系嵌入与神经注意力网络的推荐方法,首先进行如下定义:
定义1:课程语料;
课程语料是从m门课程中提取的视频字幕的集合,用A={Ai}i=1,2,...,m表示,其中Ai表示第i门课程;而课程由/>个视频组成,其中/>表示课程Ai中的第j个视频;每个视频都由字幕文本和序列信息组成;
定义2:课程概念;
课程概念是用C={ci}i=1,2,...,t表示的一组概念,其中ci是从A中提取的用于表示特定课程中需要学习的概念;和/>分别表示课程Ai中的概念和第i个视频/>ci被定义为A中的一个N元短语并满足如下条件:1)ci应该是语义和句法正确的短语;2)ci应该代表某门课程的学习内容;
定义3:概念级依赖关系;
概念级依赖关系实质上是两个概念的学习顺序;给定来自A的两个课程概念c1和c2,如果用户想要学习c2,则需要先学习c1;在这种情况下,c1和c2之间存在依赖关系,用<ci,cj>表示;具体而言,c1是c2的前置概念,c2是c1的后续概念;
定义4:课程级依赖关系;
课程级依赖关系是概念级依赖关系的扩展,反映的是课程学习的先后顺序,A的两个课程A1和A2,如果ci∈A1,cj∈A2且ci是cj的前置概念,那么可以得到A1和A2之间的课程级依赖关系,用<A1,A2>表示;所有课程之间的依赖关系构成一个课程级依赖关系矩阵G;
定义5:慕课课程推荐;
令U={ui}i=1,2,...,k表示用户集,其中ui是第i个用户;将用户ui的已选修的课程视为其选修记录,用表示;/>表示用户ui尚未选修的课程的集合;R表示所有用户选修记录的0-1矩阵;矩阵元素ruj=1表示用户ui选修了课程Aj;慕课推荐的目标是推荐一个课程列表/>其中的课程是根据用户ui可能选修的概率来排序;
该方法具体包括如下步骤:
步骤1:提取概念级依赖关系;
在课程开始的时候,视频中大多出现的是前置概念;随着课程的进行,大量后续概念被介绍;因此,概念出现的位置越靠前,它是前置概念的概率就越大;
定义了概念位置特征Ps,如公式(2)所示:
其中,A(c1,c2)表示c1和c2同时出现时的一组课程;表示出现概念c1的视频/>的序号;
当老师在介绍一个概念时常常会提及它的前置概念,反之则不会;也就是说,有些前置概念会出现在课程靠后的位置,相对来说后续概念基本不会出现在课程靠前的位置;
定义了概念分布特征Ds,如公式(3)所示:
其中,Ai∈A(c1,c2);表示c1在/>中的频率;/>表示c1是否出现在视频/>中,如果出现,则/>否则/>
前置概念会出现在更多的视频中,存活时间也更长;
定义了概念全局特征Gl,如公式(4)和公式(5)所示;
Gl(c1,c2)=Gl(c1)-Gl(c2) (5);
其中,A(c)是出现概念c的课程的集合;是课程Ai中出现了概念c的一组视频的序号;/>是课程Ai中出现了概念c的视频的数量;
当老师向学生们讲解一个概念时,往往会引用它的前置概念,以帮助学生更好地理解,这意味着后续概念常常和它的前置概念一起出现,而不是相反;
定义了概念共现特征Co,如公式(6)所示;
使用随机森林来整合上述特征,以提取概念级依赖关系;
通过ConPreAlg算法,提取概念级依赖关系;具体如下:
输入:已标记训练集CL={<ci,cj>,clabel},测试集CT={<ci,cj>},课程语料A;
输出:
算法的时间复杂度为O(m|CL|);
步骤2:提取课程级依赖关系;
对于名称之间有明确顺序关系的课程,通过课程名包含的顺序关系直接提取课程级依赖关系;
无法通过课程名得知课程之间的依赖关系时,通过CoursePreAlg算法,提取课程级依赖关系;
具体而言,当两个概念之间存在依赖关系时,学习后续概念需要首先掌握前置概念;因此,当前置概念和后续概念不在同一课程中时,如果想学习包含后续概念的课程,就需要先学习包含前置概念的课程;
确定课程级依赖关系的形式化表述如下:
给定两个课程Ai和Aj,令Pre(Ai)和Pre(Aj)分别表示Ai和Aj包含的概念级依赖关系;。因此,根据公式(7)确定Ai是否是Aj的前置课程;
具体如下:
输入:A={Ai,Aj},
输出:课程级依赖关系<Ai,Aj>;
为了便于嵌入到提出的推荐方法中,所有的课程级依赖关系根据公式(8)转换为矩阵G;
步骤3:推荐慕课课程;具体包括如下步骤:
步骤3.1:利用神经网络的特征表示能力来计算课程与课程之间的相似度,同时将课程级依赖关系嵌入到注意力网络中以区分已选修的课程对推荐的贡献;
预测模型表示如下:
其中,表示预测模型,/>是一个注意力系数,当模型计算用户ui选修课程Aj的概率时,它能够衡量课程Ak对影响这一概率的重要性;/>表示用户ui;/>表示偏差值;
步骤3.2:设计一个注意力网络,并将课程级依赖关系信息嵌入到注意力系数的计算中,注意力系数的计算表示为其中f(·)是一个多层感知机(MLP);的计算如公式(11)所示:
其中,表示注意力系数,W1和W2都是权重矩阵,b是偏置向量,/>表示向量/>和/>按元素相加操作,/>是G中的第k个行向量;
步骤3.3:使用对数损失函数作为目标函数来训练模型,如公式(12)所示。
其中,N为训练样本的个数,σ(·)表示sigmoid函数,用来将预测值转变为用户ui选修课程Aj的可能性的概率值;P和Q代表两个低阶矩阵;超参数λ1,λ2,λ3控制l2正则化的强度,防止过拟合;||·||是Frobenius范数,定义为/>χij是矩阵Xm×n中的一个元素;
步骤3.4:为了优化目标函数,采用GuessUNeed算法进行慕课课程推荐,具体如下:
输入:保存所有的用户选修记录的0-1矩阵R,学习率l,嵌入层大小s,迭代次数e;
输出:向用户推荐的课程的列表;
1:初始化学习空间中的所有参数;
2:根据步骤1得到概念级依赖关系;
3:根据步骤2得到表示课程级依赖关系的矩阵G;
4:repeat
5:根据R计算嵌入向量pi和qj
6:根据R和G计算嵌入向量gi
7:根据公式(11)计算
8:根据公式(10)计算
9:根据公式(12)和Adagrad算法优化模型;
10:until converge
11:保存参数已收敛的模型;
12:将用户选修记录导入到已训练模型中;
13:return向用户推荐的课程的列表。
本发明所带来的有益技术效果:
本文首先提出ConPreAlg和CoursePreAlg算法,用于从慕课课程字幕中提取概念级和课程级依赖关系;然后基于神经注意力网络和依赖关系嵌入,设计了一种推荐方法(GuessUNeed);在GuessUNeed中,依赖关系被嵌入到神经注意力网络中,改善了注意力系数的计算和推荐的可解释性;在真实数据集上的实验表明,与其它方法相比,该方法可以显著改善推荐的性能。
附图说明
图1为概念级和课程级依赖关系的示意图。
图2为根据概念级依赖关系提取课程级依赖关系的示意图。
图3为基于神经注意力网络和课程级依赖关系嵌入的GuessUNeed框架图。
图4为嵌入层大小对GuessUNeed性能的影响示意图。
图5为学习率对GuessUNeed性能的影响示意图。
具体实施方式
下面结合附图以及具体实施方式对本发明作进一步详细说明:
本发明方法提出了一种基于神经注意力网络和课程级依赖关系嵌入的慕课推荐方法(GuessUNeed)。具体来说,本发明方法首先提出了一种用于提取概念级依赖关系的算法,命名为ConPreAlg。然后,本发明方法研究了课程级依赖关系的提取,并提出一个名为CoursePreAlg的算法。为了区分用户选修过的不同课程对推荐的贡献,设计了一种神经注意力网络,将课程级依赖关系作为辅助信息,以改进注意力系数的计算。最后,本发明方法提出了GuessUNeed方法。
本发明方法提出了用于提取概念级和课程级依赖关系的算法。具体来说,本发明方法首先通过分析一组语义无关的特征,设计了一种从慕课视频字幕中提取概念级依赖关系的算法ConPreAlg。然后,本发明方法提出一种名为CoursePreAlg的算法来提取课程级依赖关系。
本发明方法提出了一种名为GuessUNeed的方法,该方法基于神经注意力网络和课程级依赖关系向用户推荐慕课中的课程。
在真实数据集上的实验结果表明,该方法能够有效地提取依赖关系。此外,所提出GuessUNeed方法和其它方法相比具有更好的推荐效果。
本发明方法给出了一些定义,然后阐述了关于慕课推荐问题的形式化表述。用到的符号如表1所示。图1展示了依赖关系的示例,这些关系在前四个定义中进行了详细说明。
表1
定义1:课程语料是从m门课程中提取的视频字幕的集合,用A={Ai}i=1,2,...,m表示,其中Ai表示第i门课程。而课程由/>个视频组成,其中/>表示课程Ai中的第j个视频。每个视频都由字幕文本和序列信息组成。
定义2:课程概念是用C={ci}i=1,2,...,t表示的一组概念,其中ci是从A中提取的用于表示
特定课程中需要学习的概念。本发明方法分别使用/>和来表示课程Ai中的概念和第i个视频/>ci可以被正式地定义为A中的一个N元短语并满足如下条件:1)ci应该是语义和句法正确的短语;2)ci应该代表某门课程的学习内容。
定义3:概念级依赖关系实质上可以看作是两个概念的学习顺序。给定来自A的两个课程概念c1和c2,如果用户想要学习c2,则需要先学习c1。在这种情况下,可以说c1和c2之间存在依赖关系,用<ci,cj>表示。具体而言,c1是c2的前置概念,c2是c1的后续概念。
定义4:课程级依赖关系是概念级依赖关系的扩展,反映的是课程学习的先后顺序。以来自A的两个课程A1和A2为例,如果ci∈A1,cj∈A2且ci是cj的前置概念,那么可以得到A1和A2之间的课程级依赖关系,用<A1,A2>表示。所有课程之间的依赖关系构成一个课程级依赖关系矩阵G。
定义5:慕课课程推荐,令U={ui}i=1,2,...,k表示用户集,其中ui是第i个用户。本发明方法将用户ui的已选修的课程视为其选修记录,用表示。此外,/>表示用户ui尚未选修的课程的集合。R表示所有用户选修记录的0-1矩阵。矩阵元素ruj=1表示用户ui选修了课程Aj。慕课推荐的目标是推荐一个课程列表/>其中的课程是根据用户ui可能选修的概率来排序的。
问题表述:给定课程语料库A、概念集合C、用户集合U和用户选修记录矩阵R,本发明中的慕课课程推荐任务是根据用户的已选修的课程和课程级依赖关系向用户推荐课程。为此,需要回答两个关键问题。如何提取课程级依赖关系?如何使用课程级依赖关系推荐课程?为了解决这两个问题,本发明首先从A中提取课程概念。然后,基于一组特征,提取出概念级依赖关系,进而得到课程级依赖关系。最后,本发明设计了一个神经注意力网络,将课程级依赖关系矩阵G嵌入其中。这样,G中包含的课程级依赖关系信息可以提高课程推荐方法的性能。课程推荐任务可以用公式(1)表示。
提出的方法
本申请首先提出一种提取概念级依赖关系的算法,然后设计一个算法提取课程级依赖关系,最后提出一种基于神经注意力网络和课程级依赖关系的课程推荐方法。
提取概念级依赖关系(ConPreAlg)
本发明方法设计了一组特征提取方法,这些特征包含了课程视频字幕中关于概念的统计和结构等信息,以帮助提取概念级依赖关系。
通常来说,在课程开始的时候,视频中大多出现的是前置概念。随着课程的进行,大量后续概念被介绍。因此,概念出现的位置越靠前,它是前置概念的概率就越大。
本发明方法定义了概念位置特征(Ps),如公式(2)所示。
其中A(c1,c2)表示c1和c2同时出现时的一组课程;表示出现概念c1的视频/>的序号。
当老师在介绍一个概念时常常会提及它的前置概念,反之则不会。也就是说,有些前置概念会出现在课程靠后的位置,相对来说后续概念基本不会出现在课程靠前的位置。
因此,本发明方法定义了概念分布特征(Ds),如公式(3)所示。
其中Ai∈A(c1,c2); 表示c1在/>中的频率;/>表示c1是否出现在视频/>中,如果出现,则否则/>
另外,如上所述,前置概念可能会出现在更多的视频中,存活时间也更长。
因此,本发明方法定义了概念全局特征(Gl),如公式(4)和公式(5)所示。
Gl(c1,c2)=Gl(c1)-Gl(c2) (5);
其中A(c)是出现概念c的课程的集合;是课程Ai中出现了概念c的一组视频的序号;/>是课程Ai中出现了概念c的视频的数量。
当老师向学生们讲解一个概念时,往往会引用它的前置概念,以帮助学生更好地理解。这意味着后续概念常常和它的前置概念一起出现,而不是相反。
因此,本发明方法定义了概念共现特征(Co),如公式(6)所示。
本发明方法定义的每个特征都可以看作是一个树结构的分类器。众所周知,随机森林与多个树分类器一起工作,每个树分类器都可以独立学习和预测,最后将它们的预测组合成一个单一的预测输出。实验证明,随机森林优于任何单一分类器的预测。因此,本发明方法使用随机森林来整合上述特征,以提取概念级依赖关系。
算法4.1给出了提取概念级依赖关系的算法(ConPreAlg)。算法的时间复杂度为O(m|CL|)。
提取课程级依赖关系(CoursePreAlg)
在获得概念级依赖关系后,便可以提取课程级依赖关系了。
课程级依赖关系的提取可分为两个步骤。
(1)对于名称之间有明确顺序关系的课程,可以通过课程名包含的顺序关系直接提取课程级依赖关系。例如课程“数据结构(上)”即为课程“数据结构(下)”的前置课程。
(2)然而更多的课程无法通过课程名得知它们之间的依赖关系。为了处理这一问题,基于已经获得的概念级依赖关系,本发明方法设计了一种简单的算法用于提取课程级依赖关系。
具体而言,当两个概念之间存在依赖关系时,学习后续概念需要首先掌握前置概念。因此,当前置概念和后续概念不在同一课程中时,如果想学习包含后续概念的课程,就需要先学习包含前置概念的课程。例如,如图2所示,给定课程A1,A2∈A,其中A1中有4个概念且A2中有5个概念:c1,c2,c3,c4∈A1,c3,c4,c5,c6,c7∈A2。这意味着概念c3和c4同时出现在课程A1和A2中。这里用有向边表示概念级依赖关系。根据图3,概念c3出现在A1和A2中,但其后续概念基本上没有出现在A1中,而是出现在A2中(例如,概念c5)。在这种情况下,认为A1和A2之间存在依赖关系,用<A1,A2>表示。
c1,c2,c3,c4是来自A1的概念;c3,c4,c5,c6,c7是来自A2的概念。一对概念之间的有向边表示概念级依赖关系。
确定课程级依赖关系的形式化表述如下。给定两个课程Ai和Aj,令Pre(Ai)和Pre(Aj)分别表示Ai和Aj包含的概念级依赖关系。因此, 可以根据公式(7)确定Ai是否是Aj的前置课程。
算法4.2给出了提取课程级依赖关系的算法(CoursePreAlg),时间复杂度为O(m2)。
为了便于嵌入到提出的推荐方法中,所有的课程级依赖关系根据公式(8)转换为矩阵G。
3慕课课程推荐方法(GuessUNeed)
本发明提出了一种基于神经注意力网络和课程级依赖关系的推荐方法(GuessUNeed),为了区分用户不同的学习背景,一个multi-hot向量被用来表示每个用户的历史学习路径。假设在线平台上有m个课程,如果用户ui学习了课程A1、A3和A4,则ui的用户向量可以用m维的multi-hot向量表示:(1,0,1,1,...)。课程推荐算法以用户向量、课程级依赖关系矩阵和一个表示目标课程的one-hot向量作为输入。由于输入层的值是高维的(向量长度为课程的个数)和稀疏的(向量的大部分元素值为0),所以构建一个嵌入层,将输入向量转换为低维的嵌入向量。然后,通过注意力机制计算每个已选修的课程对应的注意力系数,和低维向量一起进行一系列计算。最后通过sigmoid函数转换为用于预测的概率并输出。
下面简要介绍标准的基于项目的协同过滤算法,然后详细介绍GuessUNeed方法。
标准的基于项目的协同过滤算法通过计算两个项目之间的相似度,向用户推荐历史项目的邻居。以慕课课程推荐为例,给出一个交互矩阵R,它通常包含用户课程交互的隐式反馈。令ui∈U表示一个用户,Aj,Ak∈A表示课程,则标准的基于项目的协同过滤模型可以形式化地表示如下:
其中,和/>分别是已选修的课程Ak和目标课程Aj的向量表示;/>可以被认为是课程Ak和课程Aj之间的相似度;P和Q是所有课程的隐式因子向量的矩阵,/>和/>是相应的行向量。
如上所述,标准的基于项目的协同过滤算法没有区分已选修课程对推荐的贡献,这限制了算法的性能。相比之下,GuessUNeed利用神经网络强大的特征表示能力来计算课程与课程之间的相似度,同时将课程级依赖关系嵌入到注意力网络中以区分已选修的课程对推荐的贡献。GuessUNeed方法的预测模型表示如下:
其中是一个注意力系数,当模型计算用户ui选修课程Aj的概率时,它可以衡量课程Ak对影响这一概率的重要性。公式(10)括号中的部分可用于表示用户ui;/>表示偏差值。
接下来,本发明方法设计了一个注意力网络并将课程级依赖关系信息嵌入到注意力系数的计算中,注意力系数的计算可以表示为其中f(·)是一个多层感知机(MLP)。/>的计算如公式(11)所示。
其中W1和W2都是权重矩阵,b是偏置向量。表示向量/>和/>按元素相加操作。和向量按元素相乘相比,此操作的信息损失更小;而和向量的级联操作(例如,相比,此操作所需的权重矩阵的大小减少了一半,从而在训练时能更快地收敛。/>是G中的第k个行向量。本发明方法选择ReLU作为激活函数,它在基于注意力的神经网络中有很好的性能。然后,SoftMax函数用来进行归一化操作,将注意力权重转化为概率分布。
对于慕课推荐,用户-课程交互可以看作隐式反馈(值为0或1)。因此,可以将模型的训练视为一个优化二元分类的任务,从用户已选修的课程中选取数据作为正样本,从用户未选修的课程中选取数据作为负样本。本发明使用对数损失函数作为目标函数来训练模型,如公式(12)所示。
其中,N为训练样本的个数,σ(·)表示sigmoid函数,用来将预测值转变为用户ui选修课程Aj的可能性的概率值;P和Q代表两个低阶矩阵;超参数λ1,λ2,λ3控制l2正则化的强度,防止过拟合;||·||是Frobenius范数,可以定义为/>χij是矩阵Xm×n中的一个元素。
为了优化目标函数,本发明采用Adagrad算法,这是一种随机梯度下降(SGD)算法的变体,可以对学习率进行自适应调节并用于每个参数的学习。它从所有训练实例中提取随机样本,将相关参数更新到梯度的负方向。算法4.3给出了慕课课程推荐的算法(GuessUNeed)。
实验
对实验进行详细的介绍,包括数据集、预处理、评估方法、基线和结果分析等。
数据集
本发明方法评估了所提出的GuessUNeed方法应用在CSM数据集,Eco数据集和CP数据集上时的性能。
CSM数据集:这是由来自慕课平台“学堂在线”(http://www.xuetangx.com)的计算机科学和数学学科的数据集,包括2016年10月1日到2018年3月31日期间的49门课程、23288名用户和81495条选修记录。数据集的属性包括用户的id,选课时间,课程的名称和课程所属领域等。为了便于划分训练集和测试集,本发明从中选取并删除了该数据集中已选修的课程的数量少于2的用户。
Eco数据集:这也是来自“学堂在线”的数据集,包括37门课程,5167名用户和13309个用户选修记录。数据集的属性与CSM数据集一致,但区别在于Eco数据集中课程的学科是经济学。这可以评估本发明提出的方法在不同领域的性能。此外,本发明也会删除该数据集中已选修的课程数少于2的用户。
Concept-Prerequisites-data(CP)数据集:本发明设计了一个网络爬虫在“学堂在线”上搜索课程,并获取这些课程的视频字幕。首先提取每门课程的概念,然后标记每一对概念之间是否存在概念级依赖关系。例如,如果cx是cy的前置概念,则概念对<cx,cy>标记为“1”,反之标记为“0”。由于高昂的人工成本,本发明选择了5个课程,总共997个视频进行标记,然后,获得了2214个概念级依赖关系。该数据集用于评估所提出的概念级依赖关系提取模型的性能。
评价指标
本发明使用两个指标来衡量Top-N推荐的质量,分别是Hit Ratio(HR)和Normalized Discounted Cumulative Gain(NDCG)。这两个评价指标广泛地用于评价Top-N推荐方法。其中HR@N是基于召回率的评价指标,衡量测试集中的正样本出现在Top-N推荐列表中的比率;NDCG@N衡量的是正样本出现在Top-N推荐列表中的位置。这里的N是一个超参数,本发明对比了N为5和10的情况下的实验结果。
另外,本发明使用三个指标——精确度(Precision)、召回率(Recall)和F1值(F1-measure)——来衡量概念级依赖关系提取模型的效果。
基线方法
本发明使用如下方法和GuessUNeed进行对比。
MF:这是一个通过优化成对贝叶斯个性化排名(BPR)损失来学习矩阵分解的方法。该方法是在隐式反馈场景中进行协同过滤推荐的常用方法。
FISM:这是一个基于项目的协同过滤推荐模型。它根据所有已选修的课程的平均嵌入和目标课程的嵌入来进行推荐。
NCF:此方法利用多层感知机在矩阵分解框架下对用户和项目之间的非线性关系进行建模。
NAIS:这是一个基于神经注意力的计算项目相似度的模型,用于区分用户交互记录中所有已选修的课程的不同重要性。
实验结果与分析
为了评价推荐方法的性能,本发明采用标准的留一法(Leave-One-OutProtocol),这一方法在最近的推荐方法研究工作中被广泛使用。具体来说,本发明将所有选课记录作为正样本。对于每个用户,将其最近的已选修的课程用于测试,其余的已选修的课程用于训练。本发明从该用户未选修过的课程中随机抽取K门课程作为负样本加入训练集,所以在训练集中正负样本的比率为1:K。这里K是一个超参数,令K=4。另外,慕课平台中课程的数量很多,针对每个用户而对所有课程进行推荐排序的时间开销很大,所以本发明从目标用户未选修过的课程中随机抽取部分课程作为负样本加入测试集。在本发明中,测试集中的每个正样本对应19个负样本,所以测试集中每个用户对应20个交互。这种方法也被广泛地用于其它相关的研究。
本发明提出的GuessUNeed方法使用Tensorflow框架进行了实现。网络的输入层使用表示用户历史选课记录的multi-hot向量作为用户的输入,而目标课程的输入用one-hot向量表示,这也是基于项目的协同过滤算法常用的输入方式。课程级依赖关系信息使用m×m的0-1矩阵G表示。参数嵌入层大小(Embedding Size)设置为16。学习率设为0.05。迭代循环(Epoch)次数设置为50。另外,基准方法中的参数和其原文中的设置保持一致。
ConPreAlg在提取概念级依赖关系方面的性能。
本发明用CP数据集中75%的已标记数据训练ConPreAlg以获得实验结果。然后在训练过程中分别去除每个特征,分析每个特征对模型的影响。实验结果如表2所示。
表2特征的影响。
如表2所示,ConPreAlg-Ps意味着从ConPreAlg中删除了特征Ps,以此类推。从结果中可以看到,所有特征对ConPreAlg方法的性能都有积极的贡献。特别是,Ds对ConPreAlg的性能提升最大,说明课程中概念的位置信息贡献最大。此外,由特征Gl表示的概念分布的广泛性也起着重要作用。
使用本发明提出的ConPreAlg从CSM和Eco数据集中提取所有的概念级依赖关系。此外,还使用本发明提出的CoursePreAlg提取了课程级依赖关系。
GuessUNeed的性能。表3显示了不同的推荐方法在CSM和Eco数据集上的实验结果。可以看到,GuessUNeed方法比所有的基线方法的性能都要好。具体来说,在HR@5方面的性能比其它方法提高了0.91%-7.31%,在NDCG@5方面提高了0.83%-8.77%,在HR@10方面提高了0.71%-9.05%,在NDCG@10方面提高了1.15%-7.95%。MF是基于用户的协同过滤算法,它在所有方法中性能最差。这是因为在CSM和Eco数据集中,大部分的用户只选修了很少的课程。因此很多的用户嵌入向量无法从稀疏数据中获得有效信息用于推荐。NCF同样是基于用户的协同过滤的方法,但它得益于神经网络的强大性能能力,获得了高于MF的性能。FISM、NAIS和本发明提出的方法是基于项目的协同过滤算法。其中FISM性能最差的原因是,它认为用户的已选修的课程在推荐过程中的重要性相同,这限制了它的性能。NAIS认为用户的已选修的课程在推荐过程中有不同的重要性,并给它们赋予了不同的注意力系数。然而,它没有考虑课程中的依赖关系信息。
本发明提出的方法的性能和以上方法相比都有不同程度的提升。它通过神经网络计算课程相似性有效处理了数据稀疏问题,并且使用注意力机制区分已选修的课程在推荐过程中的不同重要性,同时向模型中加入了依赖关系信息,提升了推荐的效果。
表3不同方法在CSM和Eco数据集上的性能
注意力机制和依赖关系嵌入的贡献。为了研究注意力机制和依赖关系信息对推荐性能的影响,本发明将提出的GuessUNeed方法和无注意力机制的版本(GuessUNeed-Attention),以及无依赖关系嵌入的版本(GuessUNeed-Prerequisite)分别进行对比,实验结果如表4所示。
表4注意力机制和依赖关系嵌入对模型的贡献
从表4中可以看到,无注意力机制的模型无法区分已选修课程的重要性。因此,它无法捕获用户的复杂和动态的兴趣。此外,加入依赖关系信息后,GuessUNeed的性能也得到了改善。依赖关系描述了概念之间和课程之间的学习顺序,这有助于对用户的选课情况进行建模,提高推荐效果。总的来说,注意力机制和依赖关系嵌入都对课程推荐效果的提升有所贡献。
超参数的影响。本文研究了提出的GuessUNeed方法中的两个超参数——嵌入层大小和学习率——对推荐效果的影响。如图4所示,嵌入层大小从8增加到16时GuessUNeed的性能显著提升,这是因为当嵌入层过小时,丢失了部分特征信息,限制了模型的表示能力;而嵌入层大小从16增加到32时性能提升幅度变小,这是因为嵌入层大小为16时已经可以有效表示大部分特征信息,继续增大嵌入层对模型性能的提升有限,同时过大的嵌入层会导致需要训练的参数增加,从而增加训练模型时的收敛时间。
图5显示了学习率为0.1、0.05和0.01时对GuessUNeed的影响。具体来说,评价指标为HR@10时,可以看到,随着学习率的增大,训练模型时会更快收敛。同时,在NDCG评价指标上,当学习率为0.1时,随着迭代次数的增加模型的性能先上升后略微下降,这表明应该减小学习率的值。
结论
本发明首先提出ConPreAlg和CoursePreAlg算法,用于从慕课课程字幕中提取概念级和课程级依赖关系。然后基于神经注意力网络和依赖关系嵌入,设计了一种推荐方法(GuessUNeed)。在GuessUNeed中,依赖关系被嵌入到神经注意力网络中,改善了注意力系数的计算和推荐的可解释性。在真实数据集上的实验表明,与其它方法相比,该方法可以显著改善推荐的性能。
当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。

Claims (1)

1.基于依赖关系嵌入与神经注意力网络的推荐方法,其特征在于:首先进行如下定义:
定义1:课程语料;
课程语料是从m门课程中提取的视频字幕的集合,用A={Ai}i=1,2,...,m表示,其中Ai表示第i门课程;而课程由/>个视频组成,其中/>表示课程Ai中的第j个视频;每个视频都由字幕文本和序列信息组成;
定义2:课程概念;
课程概念是用C={ci}i=1,2,...,t表示的一组概念,其中ci是从A中提取的用于表示特定课程中需要学习的概念;和/>分别表示课程Ai中的概念和第i个视频/>ci被定义为A中的一个N元短语并满足如下条件:1)ci应该是语义和句法正确的短语;2)ci应该代表某门课程的学习内容;
定义3:概念级依赖关系;
概念级依赖关系实质上是两个概念的学习顺序;给定来自A的两个课程概念c1和c2,如果用户想要学习c2,则需要先学习c1;在这种情况下,c1和c2之间存在依赖关系,用<ci,cj>表示;具体而言,c1是c2的前置概念,c2是c1的后续概念;
定义4:课程级依赖关系;
课程级依赖关系是概念级依赖关系的扩展,反映的是课程学习的先后顺序,A的两个课程A1和A2,如果ci∈A1,cj∈A2且ci是cj的前置概念,那么可以得到A1和A2之间的课程级依赖关系,用<A1,A2>表示;所有课程之间的依赖关系构成一个课程级依赖关系矩阵G;
定义5:慕课课程推荐;
令U={ui}i=1,2,...,k表示用户集,其中ui是第i个用户;将用户ui的已选修的课程视为其选修记录,用表示;/>表示用户ui尚未选修的课程的集合;R表示所有用户选修记录的0-1矩阵;矩阵元素ruj=1表示用户ui选修了课程Aj;慕课推荐的目标是推荐一个课程列表其中的课程是根据用户ui可能选修的概率来排序;
该方法具体包括如下步骤:
步骤1:提取概念级依赖关系;
在课程开始的时候,视频中大多出现的是前置概念;随着课程的进行,大量后续概念被介绍;因此,概念出现的位置越靠前,它是前置概念的概率就越大;
定义了概念位置特征Ps,如公式(2)所示:
其中,A(c1,c2)表示c1和c2同时出现时的一组课程;表示出现概念c1的视频/>的序号;
当老师在介绍一个概念时常常会提及它的前置概念,反之则不会;也就是说,有些前置概念会出现在课程靠后的位置,相对来说后续概念基本不会出现在课程靠前的位置;
定义了概念分布特征Ds,如公式(3)所示:
其中,Ai∈A(c1,c2); 表示c1在/>中的频率;/>表示c1是否出现在视频/>中,如果出现,则否则/>
前置概念会出现在更多的视频中,存活时间也更长;
定义了概念全局特征Gl,如公式(4)和公式(5)所示;
Gl(c1,c2)=Gl(c1)-Gl(c2) (5);
其中,A(c)是出现概念c的课程的集合;是课程Ai中出现了概念c的一组视频的序号;/>是课程Ai中出现了概念c的视频的数量;
当老师向学生们讲解一个概念时,往往会引用它的前置概念,以帮助学生更好地理解,这意味着后续概念常常和它的前置概念一起出现,而不是相反;
定义了概念共现特征Co,如公式(6)所示;
使用随机森林来整合上述特征,以提取概念级依赖关系;
通过ConPreAlg算法,提取概念级依赖关系;具体如下:
输入:已标记训练集CL={<ci,cj>,clabel},测试集CT={<ci,cj>},课程语料A;
输出:
算法的时间复杂度为O(m|CL|);
步骤2:提取课程级依赖关系;
对于名称之间有明确顺序关系的课程,通过课程名包含的顺序关系直接提取课程级依赖关系;
无法通过课程名得知课程之间的依赖关系时,通过CoursePreAlg算法,提取课程级依赖关系;
具体而言,当两个概念之间存在依赖关系时,学习后续概念需要首先掌握前置概念;因此,当前置概念和后续概念不在同一课程中时,如果想学习包含后续概念的课程,就需要先学习包含前置概念的课程;
确定课程级依赖关系的形式化表述如下:
给定两个课程Ai和Aj,令Pre(Ai)和Pre(Aj)分别表示Ai和Aj包含的概念级依赖关系;因此,根据公式(7)确定Ai是否是Aj的前置课程;
具体如下:
输入:A={Ai,Aj},
输出:课程级依赖关系<Ai,Aj>;
为了便于嵌入到提出的推荐方法中,所有的课程级依赖关系根据公式(8)转换为矩阵G;
步骤3:推荐慕课课程;具体包括如下步骤:
步骤3.1:利用神经网络的特征表示能力来计算课程与课程之间的相似度,同时将课程级依赖关系嵌入到注意力网络中以区分已选修的课程对推荐的贡献;
预测模型表示如下:
其中,表示预测模型,/>是一个注意力系数,当模型计算用户ui选修课程Aj的概率时,它能够衡量课程Ak对影响这一概率的重要性;/>表示用户ui;/>表示偏差值;
步骤3.2:设计一个注意力网络,并将课程级依赖关系信息嵌入到注意力系数的计算中,注意力系数的计算表示为其中f(·)是一个多层感知机(MLP);/>的计算如公式(11)所示:
其中,表示注意力系数,W1和W2都是权重矩阵,b是偏置向量,/>表示向量和/>按元素相加操作,/>是G中的第k个行向量;
步骤3.3:使用对数损失函数作为目标函数来训练模型,如公式(12)所示,
其中,N为训练样本的个数,σ(·)表示sigmoid函数,用来将预测值转变为用户ui选修课程Aj的可能性的概率值;P和Q代表两个低阶矩阵;超参数λ1,λ2,λ3控制l2正则化的强度,防止过拟合;||·||是Frobenius范数,定义为/>χij是矩阵Xm×n中的一个元素;
步骤3.4:为了优化目标函数,采用GuessUNeed算法进行慕课课程推荐,具体如下:
输入:保存所有的用户选修记录的0-1矩阵R,学习率l,嵌入层大小s,迭代次数e;
输出:向用户推荐的课程的列表;
CN202010672280.6A 2020-07-14 2020-07-14 基于依赖关系嵌入与神经注意力网络的推荐方法 Active CN112100439B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010672280.6A CN112100439B (zh) 2020-07-14 2020-07-14 基于依赖关系嵌入与神经注意力网络的推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010672280.6A CN112100439B (zh) 2020-07-14 2020-07-14 基于依赖关系嵌入与神经注意力网络的推荐方法

Publications (2)

Publication Number Publication Date
CN112100439A CN112100439A (zh) 2020-12-18
CN112100439B true CN112100439B (zh) 2024-03-22

Family

ID=73750462

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010672280.6A Active CN112100439B (zh) 2020-07-14 2020-07-14 基于依赖关系嵌入与神经注意力网络的推荐方法

Country Status (1)

Country Link
CN (1) CN112100439B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113065060B (zh) * 2021-02-18 2022-11-29 山东师范大学 基于深度学习的教育平台课程推荐方法及系统
CN113420261B (zh) * 2021-08-23 2021-11-09 平安科技(深圳)有限公司 基于归因分析的课程推荐方法、装置、设备及介质
CN113673773B (zh) * 2021-08-25 2024-01-23 山东科技大学 一种融合知识背景和学习时间预测的学习路径推荐方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376269A (zh) * 2018-12-05 2019-02-22 西安交通大学 一种基于图谱关联的跨课程视频子图推荐方法
CN110134871A (zh) * 2019-05-27 2019-08-16 湖南大学 一种基于课程和学习者网络结构的动态课程推荐方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180005540A1 (en) * 2016-06-30 2018-01-04 International Business Machines Corporation Dynamic and adaptive learning system generator
US11086920B2 (en) * 2017-06-22 2021-08-10 Cerego, Llc. System and method for automatically generating concepts related to a target concept

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376269A (zh) * 2018-12-05 2019-02-22 西安交通大学 一种基于图谱关联的跨课程视频子图推荐方法
CN110134871A (zh) * 2019-05-27 2019-08-16 湖南大学 一种基于课程和学习者网络结构的动态课程推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于注意力的深度协同在线学习资源推荐模型;冯金慧;陶宏才;;成都信息工程大学学报;20200415(02);全文 *
基于知识点层次图的个性化习题推荐算法;蒋昌猛;冯筠;孙霞;陈静;张蕾;冯宏伟;;计算机工程与应用;20170414(10);全文 *

Also Published As

Publication number Publication date
CN112100439A (zh) 2020-12-18

Similar Documents

Publication Publication Date Title
CN109299396B (zh) 融合注意力模型的卷积神经网络协同过滤推荐方法及系统
Xiao et al. Quantifying uncertainties in natural language processing tasks
Athey et al. Machine learning methods that economists should know about
CN108363753B (zh) 评论文本情感分类模型训练与情感分类方法、装置及设备
CN108763362B (zh) 基于随机锚点对选择的局部模型加权融合Top-N电影推荐方法
CN112100439B (zh) 基于依赖关系嵌入与神经注意力网络的推荐方法
Wang et al. Collaborative deep learning for recommender systems
CN109992779B (zh) 一种基于cnn的情感分析方法、装置、设备及存储介质
Mohammadi et al. Ensemble deep learning for aspect-based sentiment analysis
CN112232087B (zh) 一种基于Transformer的多粒度注意力模型的特定方面情感分析方法
CN112364638B (zh) 一种基于社交文本的人格识别方法
CN111460157B (zh) 用于多领域文本分类的循环卷积多任务学习方法
CN112328900A (zh) 一种融合评分矩阵和评论文本的深度学习推荐方法
CN112861936A (zh) 一种基于图神经网络知识蒸馏的图节点分类方法及装置
CN110659742A (zh) 获取用户行为序列的序列表示向量的方法和装置
CN111274790A (zh) 基于句法依存图的篇章级事件嵌入方法及装置
CN115186097A (zh) 一种基于知识图谱和强化学习的交互式推荐方法
Kawintiranon et al. PoliBERTweet: a pre-trained language model for analyzing political content on Twitter
Sharma et al. The truth is in there: Improving reasoning in language models with layer-selective rank reduction
Rohit et al. Machine intelligence based personality prediction using social profile data
Yeung Effects of inserting domain vocabulary and fine-tuning BERT for German legal language
Guo et al. A comparative study of combining tree‐based feature selection methods and classifiers in personal loan default prediction
CN111581365B (zh) 一种谓词抽取方法
CN116956228A (zh) 一种技术交易平台的文本挖掘方法
Arifin et al. Automatic essay scoring for Indonesian short answers using siamese Manhattan long short-term memory

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