CN112860989B - 课程推荐方法、装置、计算机设备及存储介质 - Google Patents
课程推荐方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN112860989B CN112860989B CN202110077869.6A CN202110077869A CN112860989B CN 112860989 B CN112860989 B CN 112860989B CN 202110077869 A CN202110077869 A CN 202110077869A CN 112860989 B CN112860989 B CN 112860989B
- Authority
- CN
- China
- Prior art keywords
- course
- user
- label
- matrix
- calculating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 34
- 239000011159 matrix material Substances 0.000 claims abstract description 209
- 230000006399 behavior Effects 0.000 claims abstract description 85
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012163 sequencing technique Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 2
- 230000011218 segmentation Effects 0.000 description 16
- 238000012549 training Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005094 computer simulation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 235000019633 pungent taste Nutrition 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/70—Information retrieval; Database structures therefor; File system structures therefor of video data
- G06F16/73—Querying
- G06F16/735—Filtering based on additional data, e.g. user or group profiles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Tourism & Hospitality (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- Economics (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及人工智能技术领域,提供一种课程推荐方法、装置、计算机设备及存储介质,包括:根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵;根据所述第一用户标签矩阵计算得到标签课程矩阵;根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子;使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵;根据所述第二用户标签矩阵、所述标签课程矩阵及所述目标惩罚因子计算得到用户课程矩阵;根据所述用户课程矩阵生成用户课程推荐列表。本发明提高了课程推荐的多样性,提高了课程推荐的效果。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种课程推荐方法、装置、计算机设备及存储介质。
背景技术
传统的用户生产内容(user generated content,UGC)标签推荐系统需要用户为观看过的课程打标签,推荐系统基于用户的打标签行为进行更新和维护。然而,用户为课程打标签主观性很强,标签质量较低,不能反映课程的真实特征,引起推荐结果的偏差;另外,用户会打上一些无用的标签,例如,“无聊”、“不喜欢”,推荐系统要识别这些无用标签,需要增添更大的任务量,推荐效率低。在推荐课程时,推荐系统仅考虑用户对课程的观看行为,不能反映出用户对所观看课程的喜爱程度,造成推荐效果较差。
发明内容
鉴于以上内容,有必要提出一种课程推荐方法、装置、计算机设备及存储介质,提高了课程推荐的多样性,提高了课程推荐的效果。
本发明的第一方面提供一种课程推荐方法,所述方法包括:
根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵;
根据所述第一用户标签矩阵计算得到标签课程矩阵;
根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子;
使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵;
根据所述第二用户标签矩阵、所述标签课程矩阵及所述目标惩罚因子计算得到用户课程矩阵;
根据所述用户课程矩阵生成用户课程推荐列表。
本发明可选的一种实施方式,所述根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵包括:
计算每个用户观看每门课程的每种观看行为的行为次数;
根据每种观看行为的行为次数及对应的预设行为权重计算每个用户对于每门课程的课程偏好程度;
根据每个用户对于每门课程的课程偏好程度,计算每个用户对于具有相同课程标签的课程的标签偏好程度;
根据每个用户的标签偏好程度构建第一用户标签矩阵。
本发明可选的一种实施方式,所述根据所述用户课程矩阵生成用户课程推荐列表包括:
根据所述用户课程矩阵获取每个用户对每门课程的偏好程度;
将每个用户对每门课程的偏好程度进行倒序排序;
根据排序在前预设第一数量的课程偏好程度对应的课程生成第一用户课程推荐列表;
计算所述第一用户课程推荐列表中每两个课程之间的相似度;
获取所述相似度中大于预设相似度阈值的目标相似度;
将每个目标相似度对应的两个课程中偏好程度最小的课程从所述第一用户课程推荐列表中删除,得到第二用户课程推荐列表。
本发明可选的一种实施方式,所述根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子包括:
基于每个课程标签的标记次数构造第一惩罚因子;
基于每门课程的观看次数构造第二惩罚因子;
根据所述第一惩罚因子及所述第二惩罚因子计算得到目标惩罚因子。
本发明可选的一种实施方式,所述使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵包括:
使用潜在狄利克雷分布根据每门课程的课程介绍提取多个课程主题及每个课程主题的后验概率;
对每门课程的多个所述后验概率进行倒序排序;
获取排序在前预设第二数量的后验概率对应的目标课程主题;
确定所述目标课程主题作为对应课程的扩展标签;
根据所述扩展标签更新所述第一用户标签矩阵得到第二用户标签矩阵。
本发明可选的一种实施方式,根据所述第二用户标签矩阵、所述标签课程矩阵及所述惩罚因子计算用户课程矩阵包括:
根据所述第二用户标签矩阵及所述标签课程矩阵计算得到第一用户课程矩阵;
根据所述第一用户课程矩阵及所述惩罚因子计算得到第二用户课程矩阵。
本发明可选的一种实施方式,所述方法还包括:
提取每个课程中的多个分词,并根据每个分词的词热度确定多个热词;
根据用户观看课程的观看行为计算每个热词的热词分享热度;
根据所述热词分享热度计算每门课程的课程分享热度;
根据所述课程分享热度计算每个课程标签的标签分享热度;
根据所述标签分享热度确定目标课程标签。
本发明的第二方面提供一种课程推荐装置,所述装置包括:
第一计算模块,用于根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵;
第二计算模块,用于根据所述第一用户标签矩阵计算得到标签课程矩阵;
第三计算模块,用于根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子;
标签扩展模块,用于使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵;
第四计算模块,用于根据所述第二用户标签矩阵、所述标签课程矩阵及所述目标惩罚因子计算得到用户课程矩阵;
课程推荐模块,用于根据所述用户课程矩阵生成用户课程推荐列表。
本发明的第三方面提供一种计算机设备,所述计算机设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现所述的课程推荐方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述课程推荐方法。
综上所述,本发明所述的课程推荐方法、装置、计算机设备及存储介质,利用用户观看课程的观看行为构建了用户标签矩阵和课程标签矩阵,将用户观看过的课程的原有标签作为用户为该课程所打标签,构建出四元组(u,i,t,S),表示用户u观看过课程i,该课程标签为t,用户对于该课程的偏好程度为S。利用四元组构造用户标签矩阵A(用户对课程标签的评分矩阵)以及标签课程矩阵B(课程标签下的课程的热度矩阵),得到用户课程矩阵C(用户对课程的评分矩阵),按照用户对课程的评分排序得到最终的推荐结果。为用户标签矩阵添加权重分数,表现出用户对于不同课程标签的倾向程度,大幅度提高了推荐结果的准确率与召回率,达到精准推荐的目标;利用LDA主题模型对课程标签进行了扩展,增加了课程标签的多样性,打破了人工标注课程标签的局限性,同时解决了用户标签矩阵的稀疏性问题;借助于TF-IDF思想,为热门的课程标签和热门的课程加入了惩罚项,提高了课程推荐的多样性,使推荐结果中的课程更能反映不同用户的个性化兴趣,达到个性化推荐的目标。
附图说明
图1是本发明实施例一提供的课程推荐方法的流程图。
图2是本发明实施例二提供的课程推荐装置的结构图。
图3是本发明实施例三提供的计算机设备的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
本发明实施例提供的课程推荐方法由计算机设备执行,相应地,课程推荐装置运行于计算机设备中。
图1是本发明实施例一提供的课程推荐方法的流程图。所述课程推荐方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些可以省略。
S11,根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵。
计算机设备的本地中存储有多门课程(例如,培训用的课程),每门课程对应一个观看链接,不同的课程对应不同的观看链接。
用户可以向计算机设备发起课程请求,计算机设备响应于所述课程请求,发送所述课程请求对应的课程链接给用户,用户根据所述课程链接观看课程。
用户在观看课程时会产生一系列的观看行为,计算机设备可以通过埋点的方式获取不同用户在观看课程时产生的观看行为,从而根据所述观看行为构建第一用户标签矩阵及标签课程矩阵。
所述观看行为可以包括但不限于:打赏、点赞、分享等。每种观看行为对应一个预设行为权重,不同的观看行为可以对应不同的预设行为权重,也可以对应相同的预设行为权重。
在一个可选的实施例中,所述根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵包括:
计算每个用户观看每门课程的每种观看行为的行为次数;
根据每种观看行为的行为次数及对应的预设行为权重计算每个用户对于每门课程的课程偏好程度;
根据每个用户对于每门课程的课程偏好程度,计算每个用户对于具有相同课程标签的课程的标签偏好程度;
根据每个用户的标签偏好程度构建第一用户标签矩阵。
用户观看某门课程的观看行为,代表了该用户对于该门课程的喜爱程度,不同的观看行为表明了该用户对于该门课程的喜爱程度不同,将这些观看行为进行加权组合,可以得到该用户对于该门课程的整体课程偏好程度:
其中,pu,k表示用户u观看课程i的第k种观看行为的行为次数,sk表示第k种观看行为的观看权重,K表示观看行为的种类,Su,i表示用户u对于课程i的偏好程度。
对于每个用户,将具有相同课程标签的课程进行聚合得到多个课程标签簇,每一个课程标签簇对应一个课程标签,不同的课程标签簇对应不同的课程标签。对于每个用户,将该用户对于每一个课程标签簇中的课程的课程偏好程度进行加权组合,得到该用户对于该课程标签的标签偏好程度。
每个用户对应多个课程标签及每个课程标签的标签偏好程度,将多个用户对应的多个标签偏好程度进行组合,得到第一用户标签矩阵A。所述第一用户标签矩阵A中每一行代表一个用户的多个课程标签的标签偏好程度,每一列代表同一个课程标签下不同用户的标签偏好程度。第一用户标签矩阵A(u,t,Su,t),即用户u对课程标签t的标签偏好程度Su,t。
示例性的,假设用户u1观看过课程i1,在观看时对该课程i1分享1次,点赞2次,打赏2次,其中,分享观看行为对应的预设行为权重为1,点赞观看行为对应的预设行为权重为2,打赏观看行为对应的预设行为权重为4,则用户u1对于课程i1的课程偏好程度为:1*1+2*2+1*4=9分。同理,计算用户u1对于课程i2的课程偏好程度为10分,计算用户u1对于课程i3的课程偏好程度为12分。假设课程i1、课程i2、课程i3的课程标签均为t1,那么用户u1对于课程标签t1的标签偏好程度为
S12,根据所述第一用户标签矩阵计算得到标签课程矩阵。
计算机设备可以根据所述第一用户标签矩阵确定每个用户对每个课程标签的标签偏好程度。对于每个用户,确定每个课程标签对应的多个课程,根据所述用户对每个课程标签的标签偏好程度确定所述用户对每个课程标签下的每门课程的课程偏好程度。
示例性的,假设根据第一用户标签矩阵确定用户u1对于课程标签t1的标签偏好程度为31,课程标签t1对应课程i1、课程i2、课程i3,那么对于用户u1而言,对于课程标签t1下的课程i1的课程偏好程度为31,课程标签t1下的课程i2的课程偏好程度为31,课程标签t1下的课程i3的课程偏好程度为31。
根据每个用户所偏好的不同课程标签,构建标签课程矩阵B(t,i,Rt,i),表示包含标签t的课程i的课程偏好程度Rt,i。
在另一个实施例中,计算机设备还可以获取每门课程被用户观看的观看次数,即该门课程i总共被多少用户观看过,相当于该门课程的热门程度。根据课程的课程标签及热门程度构建标签课程矩阵。
S13,根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子。
由于推荐结果往往会受到热门内容的较大影响,导致推荐结果单一,重复性较大;另外,用户偏好的课程标签往往服从长尾分布,大部分课程标签仅被很少的用户所偏好或者喜爱,但这部分课程标签能够很大程度上反映用户的个性化学习需求,因此,仅考虑课程标签与课程的热门程度很难将长尾中的课程推荐出来。
在一个可选的实施例中,所述根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子包括:
基于每个课程标签的标记次数构造第一惩罚因子;
基于每门课程的观看次数构造第二惩罚因子;
根据所述第一惩罚因子及所述第二惩罚因子计算得到目标惩罚因子。
其中,所述每个课程标签的标记次数是指每个课程标签被用户标记的第一数量,通过获取用户标记所观看的课程的课程标签,然后计算同一个课程标签被多少个用户所标记得到第一数量,从而得到每个课程标签的标记次数。对于课程标签t,用表示课程标签t被用户标记的标记次数,对所述标记次数取对数得到课程标签t的第一惩罚因子。
其中,每门课程的观看次数是指每门课程被用户观看的第二数量,通过获取用户所观看的课程,然后计算同一门课程被多少个用户所观看得到第二数量,从而得到每门课程的观看次数。对于课程i,用表示课程i被用户观看的观看次数,对所述观看次数取对数得到课程i的第二惩罚因子。
第一惩罚因子表示对对应的课程标签的惩罚程度,第二惩罚因子表示对对应的课程的惩罚程度,计算所述第一惩罚因子与所述第二惩罚因子的乘积得到目标惩罚因子,所述目标惩罚因子表示每个课程标签下的每门课程的惩罚程度。
TF-IDF值主要用于评估一个关键词对一个语料库的重要程度,一个关键词的重要程度跟它在文档中出现的次数成正比,跟它在整个语料库中出现的次数成反比。
该可选的实施例中,借助于TF-IDF思想,引入了课程标签的第一惩罚因子以及课程的第二惩罚因子,来表明某门课程在整个课程库中的重要程度。通过惩罚因子能够降低过于热门的课程标签下的热门课程在最终推荐结果中的分数,并提高过于冷门的课程标签下的冷门课程在最终推荐结果中的分数,使得为每一位用户推荐出的课程列表中更多地出现包含课程标签长尾中的课程,提高课程推荐的多样性及覆盖率。
S14,使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵。
标签推荐系统很大程度上取决于用户的历史观看行为,对于一些新用户和历史观看行为较少的用户,由于观看过的课程中包含的课程标签的数量较少,则得到的第一用户标签矩阵较为稀疏。为了提高标签推荐系统的泛化能力,使得推荐结果能够被更多用户所认可,需要对课程标签进行扩展。
在一个可选的实施例中,所述使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵包括:
使用潜在狄利克雷分布根据每门课程的课程介绍提取多个课程主题及每个课程主题的后验概率;
对每门课程的多个所述后验概率进行倒序排序;
获取排序在前预设第二数量的后验概率对应的目标课程主题;
确定所述目标课程主题作为对应课程的扩展标签;
根据所述扩展标签更新所述第一用户标签矩阵得到第二用户标签矩阵。
其中,狄利克雷分布(Latent Dirichlet Allocation,LDA)在训练时不需要手工标注训练集,因此,是一种无监督的贝叶斯模型,可以将文档集中的每篇文档按照概率分布的形式给出。狄利克雷分布给出的概率称之为后验概率,后验概率是相对于先验概率而言的,先验概率是指根据以往经验得到的概率,后验概率是指事情已经发生,求这件事情发生的原因是由某个因素引起的可能性的大小。
计算机设备可以初始化课程主题的个数,然后提取每门课程的课程内容,将所有课程内容作为课程内容集,对课程内容集中的每篇课程内容,在主题分布中抽取一个主题,对抽到的主题所对应的单词分布中随机抽取一个单词,不断重复这两个抽取过程直到遍历完课程内容中的每个单词。
该可选的实施例中,利用LDA对用户观看过的课程进行课程主题抽取,然后选取后验概率最大的n个课程主题作为该课程的扩展标签,添加到用户u标记过的标签列表Tu,从而用扩充后的标签列表更新所述第一用户标签矩阵得到第二用户标签矩阵,解决了人工标注课程标签具有一定的局限性导致标签类型不多的技术问题,从而扩充了标签推荐系统中的课程标签的数量,基于扩展课程标签后训练标签推荐系统,能够提高标签推荐系统的泛化能力。
S15,根据所述第二用户标签矩阵、所述标签课程矩阵及所述目标惩罚因子计算得到用户课程矩阵。
计算机设备基于所述第二用户标签矩阵、所述标签课程矩阵及所述目标惩罚因子计算用户课程矩阵,来标识用户对于每门课程的偏好程度,从而基于对每门课程的偏好程度实现个性化的课程推荐。
在一个可选的实施例中,所述根据所述第二用户标签矩阵、所述标签课程矩阵及所述惩罚因子计算用户课程矩阵包括:
根据所述第二用户标签矩阵及所述标签课程矩阵计算得到第一用户课程矩阵;
根据所述第一用户课程矩阵及所述惩罚因子计算得到第二用户课程矩阵。
将构造出的用户标签矩阵A和标签课程矩阵B相乘,并添加惩罚因子,得到用户课程矩阵C。
在一个可选的实施例中,可以采用如下计算模型计算用户课程矩阵:
其中,Tu表示用户u的扩展标签和课程标签的总列表,C(u,i,Qu,i)表示用户课程矩阵,Qu,i表示用户u对课程i的课程偏好程度。
该可选的实施例中,在计算用户课程矩阵时,通过在分母部分添加课程标签的惩罚因子和课程的惩罚因子使得热门的课程标签且热门的课程最终计算得到的偏好程度Qu,i降低,非热门的课程标签且非热门的课程最终计算得到的偏好程度Qu,i提高,从而在推荐结果中能够将包含用户喜爱的带有非热门课程标签的课程推荐出来,实现了个性化的推荐效果。
S16,根据所述用户课程矩阵生成用户课程推荐列表。
所述用户课程矩阵中的每一行代表一个用户对于不同课程的偏好程度,每一列代表不同用户对于同一个课程的偏好程度,因而,计算机设备基于所述用户课程矩阵可以为多个用户批量推荐课程,极大的提高了课程的推荐效率。
在一个可选的实施例中,所述根据所述用户课程矩阵生成用户课程推荐列表包括:
根据所述用户课程矩阵获取每个用户对每门课程的偏好程度;
将每个用户对每门课程的偏好程度进行倒序排序;
根据排序在前预设第一数量的课程偏好程度对应的课程生成第一用户课程推荐列表;
计算所述第一用户课程推荐列表中每两个课程之间的相似度;
获取所述相似度中大于预设相似度阈值的目标相似度;
将每个目标相似度对应的两个课程中偏好程度最小的课程从所述第一用户课程推荐列表中删除,得到第二用户课程推荐列表。
所述用户课程矩阵中的每一行代表每个用户对多个课程的偏好程度,计算机设备可以将每一行中的课程偏好程度进行倒序排序,然后根据排序在前预设第一数量的课程偏好程度对应的课程生成第一用户课程推荐列表。
由于有些课程的内容非常接近,为了避免对内容非常接近的课程进行重复学习,浪费学习时间和精力,计算机设备可以采用BERT模型提取每门课程的文本向量,通过计算文本向量之间的相似度来计算两个课程之间的相似度,通过相似度判断两个课程的内容是否相同或者近似。相似度越高,则对应的两个课程的内容越近似,相似度越低,则对应的两个课程的内容越不相干。
当两个课程的相似度大于预设相似度阈值时,表明这两个课程的内容相同或者非常近似,则将这两个课程中用户的偏好程度较大的课程保留,将用户的偏好程度较小的课程删除,实现了对第一用户课程推荐列表的过滤,将过滤得到的第二用户课程推荐列表推荐给用户,能够避免用户对相同或者相近似的内容的课程的重复学习。
在一个可选的实施例中,所述方法还包括:
提取每个课程中的多个分词,并根据每个分词的词热度确定多个热词;
根据用户观看课程的观看行为计算每个热词的热词分享热度;
根据所述热词分享热度计算每门课程的课程分享热度;
根据所述课程分享热度计算每个课程标签的标签分享热度;
根据所述标签分享热度确定目标课程标签。
计算机设备可以采用结巴分词工具对每个课程进行分词,得到多个分词。根据多个课程的多个分词构建分词语料库,计算每个分词在整个分词语料库中的TF-IDF值得到每个分词的词热度。将所述词热度进行倒序排序,将排序在前预设数量的词热度对应的分词确定为热词。
将用户具有分享观看行为的课程确定为分享课程,对于每个热词,计算包含有所述热词的分享课程的数量,得到该热词的热词分享热度。对于每个课程,计算所述课程中所有热词的热词分享热度,得到该课程的课程分享热度。对于每个课程标签,则计算所述课程标签下所有课程的课程分享热度,得到该课程标签的标签分享热度。标签分享热度越高,表明用户对该课程标签的共享程度越高,标签分享热度越低,表明用户对该课程标签的共享程度越低。对标签分享热度进行倒序排序,将排序在前预设数量的标签分享热度对应的课程标签确定为培训需求度较高的目标课程标签。
综上,本发明实施例提供的课程推荐方法,利用用户观看课程的观看行为构建了用户标签矩阵和课程标签矩阵,将用户观看过的课程的原有标签作为用户为该课程所打标签,构建出四元组(u,i,t,S),表示用户u观看过课程i,该课程标签为t,用户对于该课程的偏好程度为S。利用四元组构造用户标签矩阵A(用户对课程标签的评分矩阵)以及标签课程矩阵B(课程标签下的课程的热度矩阵),得到用户课程矩阵C(用户对课程的评分矩阵),按照用户对课程的评分排序得到最终的推荐结果。为用户标签矩阵添加权重分数,表现出用户对于不同课程标签的倾向程度,大幅度提高了推荐结果的准确率与召回率,达到精准推荐的目标;利用LDA主题模型对课程标签进行了扩展,增加了课程标签的多样性,打破了人工标注课程标签的局限性,同时解决了用户标签矩阵的稀疏性问题;借助于TF-IDF思想,为热门的课程标签和热门的课程加入了惩罚项,提高了课程推荐的多样性,使推荐结果中的课程更能反映不同用户的个性化兴趣,达到个性化推荐的目标。
需要强调的是,为进一步保证上述课程推荐列表的私密性和安全性,上述课程推荐列表可存储于区块链的节点中。
图2是本发明实施例二提供的课程推荐装置的结构图。
在一些实施例中,所述课程推荐装置20可以包括多个由计算机程序段所组成的功能模块。所述课程推荐装置20中的各个程序段的计算机程序可以存储于计算机设备的存储器中,并由至少一个处理器所执行,以执行(详见图1描述)课程推荐的功能。
本实施例中,所述课程推荐装置20根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:第一计算模块201、第二计算模块202、第三计算模块203、标签扩展模块204、第四计算模块205、课程推荐模块206、热词确定模块207及热度计算模块208。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
所述第一计算模块201,用于根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵。
计算机设备的本地中存储有多门课程(例如,培训用的课程),每门课程对应一个观看链接,不同的课程对应不同的观看链接。
用户可以向计算机设备发起课程请求,计算机设备响应于所述课程请求,发送所述课程请求对应的课程链接给用户,用户根据所述课程链接观看课程。
用户在观看课程时会产生一系列的观看行为,计算机设备可以通过埋点的方式获取不同用户在观看课程时产生的观看行为,从而根据所述观看行为构建第一用户标签矩阵及标签课程矩阵。
所述观看行为可以包括但不限于:打赏、点赞、分享等。每种观看行为对应一个预设行为权重,不同的观看行为可以对应不同的预设行为权重,也可以对应相同的预设行为权重。
在一个可选的实施例中,所述第一计算模块201根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵包括:
计算每个用户观看每门课程的每种观看行为的行为次数;
对应的预设行为权重根据每种观看行为的行为次数及对应的预设行为权重计算每个用户对于每门课程的课程偏好程度;
根据每个用户对于每门课程的课程偏好程度,计算每个用户对于具有相同课程标签的课程的标签偏好程度;
根据每个用户的标签偏好程度构建第一用户标签矩阵。
用户观看某门课程的观看行为,代表了该用户对于该门课程的喜爱程度,不同的观看行为表明了该用户对于该门课程的喜爱程度不同,将这些观看行为进行加权组合,可以得到该用户对于该门课程的整体课程偏好程度:
其中,pu,k表示用户u观看课程i的第k种观看行为的行为次数,sk表示第k种观看行为的观看权重,K表示观看行为的种类,Su,i表示用户u对于课程i的偏好程度。
对于每个用户,将具有相同课程标签的课程进行聚合得到多个课程标签簇,每一个课程标签簇对应一个课程标签,不同的课程标签簇对应不同的课程标签。对于每个用户,将该用户对于每一个课程标签簇中的课程的课程偏好程度进行加权组合,得到该用户对于该课程标签的标签偏好程度。
每个用户对应多个课程标签及每个课程标签的标签偏好程度,将多个用户对应的多个标签偏好程度进行组合,得到第一用户标签矩阵A。所述第一用户标签矩阵A中每一行代表一个用户的多个课程标签的标签偏好程度,每一列代表同一个课程标签下不同用户的标签偏好程度。第一用户标签矩阵A(u,t,Su,t),即用户u对课程标签t的标签偏好程度Su,t。
示例性的,假设用户u1观看过课程i1,在观看时对该课程i1分享1次,点赞2次,打赏2次,其中,分享观看行为对应的预设行为权重为1,点赞观看行为对应的预设行为权重为2,打赏观看行为对应的预设行为权重为4,则用户u1对于课程i1的课程偏好程度为:1*1+2*2+1*4=9分。同理,计算用户u1对于课程i2的课程偏好程度为10分,计算用户u1对于课程i3的课程偏好程度为12分。假设课程i1、课程i2、课程i3的课程标签均为t1,那么用户u1对于课程标签t1的标签偏好程度为
所述第二计算模块202,用于根据所述第一用户标签矩阵计算得到标签课程矩阵。
计算机设备可以根据所述第一用户标签矩阵确定每个用户对每个课程标签的标签偏好程度。对于每个用户,确定每个课程标签对应的多个课程,根据所述用户对每个课程标签的标签偏好程度确定所述用户对每个课程标签下的每门课程的课程偏好程度。
示例性的,假设根据第一用户标签矩阵确定用户u1对于课程标签t1的标签偏好程度为31,课程标签t1对应课程i1、课程i2、课程i3,那么对于用户u1而言,对于课程标签t1下的课程i1的课程偏好程度为31,课程标签t1下的课程i2的课程偏好程度为31,课程标签t1下的课程i3的课程偏好程度为31。
根据每个用户所偏好的不同课程标签,构建标签课程矩阵B(t,i,Rt,i),表示包含标签t的课程i的课程偏好程度Rt,i。
在另一个实施例中,计算机设备还可以获取每门课程被用户观看的观看次数,即该门课程i总共被多少用户观看过,相当于该门课程的热门程度。根据课程的课程标签及热门程度构建标签课程矩阵。
所述第三计算模块203,用于根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子。
由于推荐结果往往会受到热门内容的较大影响,导致推荐结果单一,重复性较大;另外,用户偏好的课程标签往往服从长尾分布,大部分课程标签仅被很少的用户所偏好或者喜爱,但这部分课程标签能够很大程度上反映用户的个性化学习需求,因此,仅考虑课程标签与课程的热门程度很难将长尾中的课程推荐出来。
在一个可选的实施例中,所述第三计算模块203根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子包括:
基于每个课程标签的标记次数构造第一惩罚因子;
基于每门课程的观看次数构造第二惩罚因子;
根据所述第一惩罚因子及所述第二惩罚因子计算得到目标惩罚因子。
其中,所述每个课程标签的标记次数是指每个课程标签被用户标记的第一数量,通过获取用户标记所观看的课程的课程标签,然后计算同一个课程标签被多少个用户所标记得到第一数量,从而得到每个课程标签的标记次数。对于课程标签t,用表示课程标签t被用户标记的标记次数,对所述标记次数取对数得到课程标签t的第一惩罚因子。
其中,每门课程的观看次数是指每门课程被用户观看的第二数量,通过获取用户所观看的课程,然后计算同一门课程被多少个用户所观看得到第二数量,从而得到每门课程的观看次数。对于课程i,用表示课程i被用户观看的观看次数,对所述观看次数取对数得到课程i的第二惩罚因子。
第一惩罚因子表示对对应的课程标签的惩罚程度,第二惩罚因子表示对对应的课程的惩罚程度,计算所述第一惩罚因子与所述第二惩罚因子的乘积得到目标惩罚因子,所述目标惩罚因子表示每个课程标签下的每门课程的惩罚程度。
TF-IDF值主要用于评估一个关键词对一个语料库的重要程度,一个关键词的重要程度跟它在文档中出现的次数成正比,跟它在整个语料库中出现的次数成反比。
该可选的实施例中,借助于TF-IDF思想,引入了课程标签的第一惩罚因子以及课程的第二惩罚因子,来表明某门课程在整个课程库中的重要程度。通过惩罚因子能够降低过于热门的课程标签下的热门课程在最终推荐结果中的分数,并提高过于冷门的课程标签下的冷门课程在最终推荐结果中的分数,使得为每一位用户推荐出的课程列表中更多地出现包含课程标签长尾中的课程,提高课程推荐的多样性及覆盖率。
所述标签扩展模块204,用于使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵。
标签推荐系统很大程度上取决于用户的历史观看行为,对于一些新用户和历史观看行为较少的用户,由于观看过的课程中包含的课程标签的数量较少,则得到的第一用户标签矩阵较为稀疏。为了提高标签推荐系统的泛化能力,使得推荐结果能够被更多用户所认可,需要对课程标签进行扩展。
在一个可选的实施例中,所述标签扩展模块204使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵包括:
使用潜在狄利克雷分布根据每门课程的课程介绍提取多个课程主题及每个课程主题的后验概率;
对每门课程的多个所述后验概率进行倒序排序;
获取排序在前预设第二数量的后验概率对应的目标课程主题;
确定所述目标课程主题作为对应课程的扩展标签;
根据所述扩展标签更新所述第一用户标签矩阵得到第二用户标签矩阵。
其中,狄利克雷分布(Latent Dirichlet Allocation,LDA)在训练时不需要手工标注训练集,因此,是一种无监督的贝叶斯模型,可以将文档集中的每篇文档按照概率分布的形式给出。狄利克雷分布给出的概率称之为后验概率,后验概率是相对于先验概率而言的,先验概率是指根据以往经验得到的概率,后验概率是指事情已经发生,求这件事情发生的原因是由某个因素引起的可能性的大小。
计算机设备可以初始化课程主题的个数,然后提取每门课程的课程内容,将所有课程内容作为课程内容集,对课程内容集中的每篇课程内容,在主题分布中抽取一个主题,对抽到的主题所对应的单词分布中随机抽取一个单词,不断重复这两个抽取过程直到遍历完课程内容中的每个单词。
该可选的实施例中,利用LDA对用户观看过的课程进行课程主题抽取,然后选取后验概率最大的n个课程主题作为该课程的扩展标签,添加到用户u标记过的标签列表Tu,从而用扩充后的标签列表更新所述第一用户标签矩阵得到第二用户标签矩阵,解决了人工标注课程标签具有一定的局限性导致标签类型不多的技术问题,从而扩充了标签推荐系统中的课程标签的数量,基于扩展课程标签后训练标签推荐系统,能够提高标签推荐系统的泛化能力。
所述第四计算模块205,用于根据所述第二用户标签矩阵、所述标签课程矩阵及所述目标惩罚因子计算得到用户课程矩阵。
计算机设备基于所述第二用户标签矩阵、所述标签课程矩阵及所述目标惩罚因子计算用户课程矩阵,来标识用户对于每门课程的偏好程度,从而基于对每门课程的偏好程度实现个性化的课程推荐。
在一个可选的实施例中,所述第四计算模块205根据所述第二用户标签矩阵、所述标签课程矩阵及所述惩罚因子计算用户课程矩阵包括:
根据所述第二用户标签矩阵及所述标签课程矩阵计算得到第一用户课程矩阵;
根据所述第一用户课程矩阵及所述惩罚因子计算得到第二用户课程矩阵。
将构造出的用户标签矩阵A和标签课程矩阵B相乘,并添加惩罚因子,得到用户课程矩阵C。
在一个可选的实施例中,可以采用如下计算模型计算用户课程矩阵:
其中,Tu表示用户u的扩展标签和课程标签的总列表,C(u,i,Qu,i)表示用户课程矩阵,Qu,i表示用户u对课程i的课程偏好程度。
该可选的实施例中,在计算用户课程矩阵时,通过在分母部分添加课程标签的惩罚因子和课程的惩罚因子使得热门的课程标签且热门的课程最终计算得到的偏好程度Qu,i降低,非热门的课程标签且非热门的课程最终计算得到的偏好程度Qu,i提高,从而在推荐结果中能够将包含用户喜爱的带有非热门课程标签的课程推荐出来,实现了个性化的推荐效果。
所述课程推荐模块206,用于根据所述用户课程矩阵生成用户课程推荐列表。
所述用户课程矩阵中的每一行代表一个用户对于不同课程的偏好程度,每一列代表不同用户对于同一个课程的偏好程度,因而,计算机设备基于所述用户课程矩阵可以为多个用户批量推荐课程,极大的提高了课程的推荐效率。
在一个可选的实施例中,所述课程推荐模块206根据所述用户课程矩阵生成用户课程推荐列表包括:
根据所述用户课程矩阵获取每个用户对每门课程的偏好程度;
将每个用户对每门课程的偏好程度进行倒序排序;
根据排序在前预设第一数量的课程偏好程度对应的课程生成第一用户课程推荐列表;
计算所述第一用户课程推荐列表中每两个课程之间的相似度;
获取所述相似度中大于预设相似度阈值的目标相似度;
将每个目标相似度对应的两个课程中偏好程度最小的课程从所述第一用户课程推荐列表中删除,得到第二用户课程推荐列表。
所述用户课程矩阵中的每一行代表每个用户对多个课程的偏好程度,计算机设备可以将每一行中的课程偏好程度进行倒序排序,然后根据排序在前预设第一数量的课程偏好程度对应的课程生成第一用户课程推荐列表。
由于有些课程的内容非常接近,为了避免对内容非常接近的课程进行重复学习,浪费学习时间和精力,计算机设备可以采用BERT模型提取每门课程的文本向量,通过计算文本向量之间的相似度来计算两个课程之间的相似度,通过相似度判断两个课程的内容是否相同或者近似。相似度越高,则对应的两个课程的内容越近似,相似度越低,则对应的两个课程的内容越不相干。
当两个课程的相似度大于预设相似度阈值时,表明这两个课程的内容相同或者非常近似,则将这两个课程中用户的偏好程度较大的课程保留,将用户的偏好程度较小的课程删除,实现了对第一用户课程推荐列表的过滤,将过滤得到的第二用户课程推荐列表推荐给用户,能够避免用户对相同或者相近似的内容的课程的重复学习。
所述热词确定模块207,用于提取每个课程中的多个分词,并根据每个分词的词热度确定多个热词。
所述热度计算模块208,用于根据用户观看课程的观看行为计算每个热词的热词分享热度;根据所述热词分享热度计算每门课程的课程分享热度;根据所述课程分享热度计算每个课程标签的标签分享热度;根据所述标签分享热度确定目标课程标签。
计算机设备可以采用结巴分词工具对每个课程进行分词,得到多个分词。根据多个课程的多个分词构建分词语料库,计算每个分词在整个分词语料库中的TF-IDF值得到每个分词的词热度。将所述词热度进行倒序排序,将排序在前预设数量的词热度对应的分词确定为热词。
将用户具有分享观看行为的课程确定为分享课程,对于每个热词,计算包含有所述热词的分享课程的数量,得到该热词的热词分享热度。对于每个课程,计算所述课程中所有热词的热词分享热度,得到该课程的课程分享热度。对于每个课程标签,则计算所述课程标签下所有课程的课程分享热度,得到该课程标签的标签分享热度。标签分享热度越高,表明用户对该课程标签的共享程度越高,标签分享热度越低,表明用户对该课程标签的共享程度越低。对标签分享热度进行倒序排序,将排序在前预设数量的标签分享热度对应的课程标签确定为培训需求度较高的目标课程标签。
本发明实施例提供的课程推荐装置,利用用户观看课程的观看行为构建了用户标签矩阵和课程标签矩阵,将用户观看过的课程的原有标签作为用户为该课程所打标签,构建出四元组(u,i,t,S),表示用户u观看过课程i,该课程标签为t,用户对于该课程的偏好程度为S。利用四元组构造用户标签矩阵A(用户对课程标签的评分矩阵)以及标签课程矩阵B(课程标签下的课程的热度矩阵),得到用户课程矩阵C(用户对课程的评分矩阵),按照用户对课程的评分排序得到最终的推荐结果。为用户标签矩阵添加权重分数,表现出用户对于不同课程标签的倾向程度,大幅度提高了推荐结果的准确率与召回率,达到精准推荐的目标;利用LDA主题模型对课程标签进行了扩展,增加了课程标签的多样性,打破了人工标注课程标签的局限性,同时解决了用户标签矩阵的稀疏性问题;借助于TF-IDF思想,为热门的课程标签和热门的课程加入了惩罚项,提高了课程推荐的多样性,使推荐结果中的课程更能反映不同用户的个性化兴趣,达到个性化推荐的目标。
需要强调的是,为进一步保证上述课程推荐列表的私密性和安全性,上述课程推荐列表可存储于区块链的节点中。
参阅图3所示,为本发明实施例三提供的计算机设备的结构示意图。在本发明较佳实施例中,所述计算机设备3包括存储器31、至少一个处理器32、至少一条通信总线33及收发器34。
本领域技术人员应该了解,图3示出的计算机设备的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述计算机设备3还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述计算机设备3是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述计算机设备3还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
需要说明的是,所述计算机设备3仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器31中存储有计算机程序,所述计算机程序被所述至少一个处理器32执行时实现如所述的课程推荐方法中的全部或者部分步骤。所述存储器31包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-OnlyMemory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(Compact Disc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
进一步地,所述计算机可读存储介质可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据区块链节点的使用所创建的数据等。
本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
在一些实施例中,所述至少一个处理器32是所述计算机设备3的控制核心(Control Unit),利用各种接口和线路连接整个计算机设备3的各个部件,通过运行或执行存储在所述存储器31内的程序或者模块,以及调用存储在所述存储器31内的数据,以执行计算机设备3的各种功能和处理数据。例如,所述至少一个处理器32执行所述存储器中存储的计算机程序时实现本发明实施例中所述的课程推荐方法的全部或者部分步骤;或者实现课程推荐装置的全部或者部分功能。所述至少一个处理器32可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
在一些实施例中,所述至少一条通信总线33被设置为实现所述存储器31以及所述至少一个处理器32等之间的连接通信。
尽管未示出,所述计算机设备3还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器32逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述计算机设备3还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,计算机设备,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,既可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。本发明陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (9)
1.一种课程推荐方法,其特征在于,所述方法包括:
根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵,所述第一用户标签矩阵为稀疏矩阵;
根据所述第一用户标签矩阵计算得到标签课程矩阵;
根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子,所述目标惩罚因子表示每个课程标签下的每门课程的惩罚程度;
使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵,包括:使用潜在狄利克雷分布根据每门课程的课程介绍提取多个课程主题及每个课程主题的后验概率;对每门课程的多个所述后验概率进行倒序排序;获取排序在前预设第二数量的后验概率对应的目标课程主题;确定所述目标课程主题作为对应课程的扩展标签;根据所述扩展标签更新所述第一用户标签矩阵得到第二用户标签矩阵;
根据所述第二用户标签矩阵、所述标签课程矩阵及所述目标惩罚因子计算得到用户课程矩阵;
根据所述用户课程矩阵生成用户课程推荐列表。
2.如权利要求1所述的课程推荐方法,其特征在于,所述根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵包括:
计算每个用户观看每门课程的每种观看行为的行为次数;
根据每种观看行为的行为次数及对应的预设行为权重计算每个用户对于每门课程的课程偏好程度;
根据每个用户对于每门课程的课程偏好程度,计算每个用户对于具有相同课程标签的课程的标签偏好程度;
根据每个用户的标签偏好程度构建第一用户标签矩阵。
3.如权利要求2所述的课程推荐方法,其特征在于,所述根据所述用户课程矩阵生成用户课程推荐列表包括:
根据所述用户课程矩阵获取每个用户对每门课程的偏好程度;
将每个用户对每门课程的偏好程度进行倒序排序;
根据排序在前预设第一数量的课程偏好程度对应的课程生成第一用户课程推荐列表;
计算所述第一用户课程推荐列表中每两个课程之间的相似度;
获取所述相似度中大于预设相似度阈值的目标相似度;
将每个目标相似度对应的两个课程中偏好程度最小的课程从所述第一用户课程推荐列表中删除,得到第二用户课程推荐列表。
4.如权利要求1所述的课程推荐方法,其特征在于,所述根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子包括:
基于每个课程标签的标记次数构造第一惩罚因子;
基于每门课程的观看次数构造第二惩罚因子;
根据所述第一惩罚因子及所述第二惩罚因子计算得到目标惩罚因子。
5.如权利要求1至4中任意一项所述的课程推荐方法,其特征在于,根据所述第二用户标签矩阵、所述标签课程矩阵及所述惩罚因子计算用户课程矩阵包括:
根据所述第二用户标签矩阵及所述标签课程矩阵计算得到第一用户课程矩阵;
根据所述第一用户课程矩阵及所述惩罚因子计算得到第二用户课程矩阵。
6.如权利要求1至4中任意一项所述的课程推荐方法,其特征在于,所述方法还包括:
提取每个课程中的多个分词,并根据每个分词的词热度确定多个热词;
根据用户观看课程的观看行为计算每个热词的热词分享热度;
根据所述热词分享热度计算每门课程的课程分享热度;
根据所述课程分享热度计算每个课程标签的标签分享热度;
根据所述标签分享热度确定目标课程标签。
7.一种课程推荐装置,其特征在于,所述装置包括:
第一计算模块,用于根据每个用户观看每门课程的多种观看行为及每门课程的课程标签计算得到第一用户标签矩阵,所述第一用户标签矩阵为稀疏矩阵;
第二计算模块,用于根据所述第一用户标签矩阵计算得到标签课程矩阵;
第三计算模块,用于根据每个课程标签的标记次数及每门课程的观看次数计算目标惩罚因子,所述目标惩罚因子表示每个课程标签下的每门课程的惩罚程度;
标签扩展模块,用于使用潜在狄利克雷分布扩展所述第一用户标签矩阵为第二用户标签矩阵,包括:使用潜在狄利克雷分布根据每门课程的课程介绍提取多个课程主题及每个课程主题的后验概率;对每门课程的多个所述后验概率进行倒序排序;获取排序在前预设第二数量的后验概率对应的目标课程主题;确定所述目标课程主题作为对应课程的扩展标签;根据所述扩展标签更新所述第一用户标签矩阵得到第二用户标签矩阵;
第四计算模块,用于根据所述第二用户标签矩阵、所述标签课程矩阵及所述目标惩罚因子计算得到用户课程矩阵;
课程推荐模块,用于根据所述用户课程矩阵生成用户课程推荐列表。
8.一种计算机设备,其特征在于,所述计算机设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至6中任意一项所述的课程推荐方法。
9.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6中任意一项所述的课程推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110077869.6A CN112860989B (zh) | 2021-01-20 | 2021-01-20 | 课程推荐方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110077869.6A CN112860989B (zh) | 2021-01-20 | 2021-01-20 | 课程推荐方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112860989A CN112860989A (zh) | 2021-05-28 |
CN112860989B true CN112860989B (zh) | 2022-02-01 |
Family
ID=76008295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110077869.6A Active CN112860989B (zh) | 2021-01-20 | 2021-01-20 | 课程推荐方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112860989B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113378072A (zh) * | 2021-08-16 | 2021-09-10 | 武汉卓尔数字传媒科技有限公司 | 对象推荐方法及装置、电子设备及存储介质 |
CN113641908B (zh) * | 2021-08-17 | 2023-06-20 | 中国联合网络通信集团有限公司 | 课程推送方法、装置、服务器和计算机存储介质 |
CN114547520A (zh) * | 2022-02-23 | 2022-05-27 | 深圳中科闻歌科技有限公司 | 一种基于产业特征的企业分类方法及装置 |
CN114723488B (zh) * | 2022-04-07 | 2023-05-30 | 平安科技(深圳)有限公司 | 课程推荐方法、装置、电子设备及存储介质 |
CN115048504A (zh) * | 2022-05-17 | 2022-09-13 | 咪咕文化科技有限公司 | 信息推送方法、装置、计算机设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133730A (zh) * | 2017-04-24 | 2017-09-05 | 天津大学 | 一种基于潜在狄利克雷分配模型的潜在特征提取方法 |
CN109697629A (zh) * | 2018-11-15 | 2019-04-30 | 平安科技(深圳)有限公司 | 产品数据推送方法及装置、存储介质、计算机设备 |
CN111651670A (zh) * | 2020-05-26 | 2020-09-11 | 中国平安财产保险股份有限公司 | 基于用户行为图谱的内容检索方法、装置终端和存储介质 |
CN112231586A (zh) * | 2020-12-15 | 2021-01-15 | 平安科技(深圳)有限公司 | 基于迁移学习的课程推荐方法、装置、设备及介质 |
-
2021
- 2021-01-20 CN CN202110077869.6A patent/CN112860989B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107133730A (zh) * | 2017-04-24 | 2017-09-05 | 天津大学 | 一种基于潜在狄利克雷分配模型的潜在特征提取方法 |
CN109697629A (zh) * | 2018-11-15 | 2019-04-30 | 平安科技(深圳)有限公司 | 产品数据推送方法及装置、存储介质、计算机设备 |
CN111651670A (zh) * | 2020-05-26 | 2020-09-11 | 中国平安财产保险股份有限公司 | 基于用户行为图谱的内容检索方法、装置终端和存储介质 |
CN112231586A (zh) * | 2020-12-15 | 2021-01-15 | 平安科技(深圳)有限公司 | 基于迁移学习的课程推荐方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112860989A (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112860989B (zh) | 课程推荐方法、装置、计算机设备及存储介质 | |
CN112632385B (zh) | 课程推荐方法、装置、计算机设备及介质 | |
CN115002200B (zh) | 基于用户画像的消息推送方法、装置、设备及存储介质 | |
CN112288337B (zh) | 行为推荐方法、装置、设备及介质 | |
CN112231485B (zh) | 文本推荐方法、装置、计算机设备及存储介质 | |
CN107368521B (zh) | 一种基于大数据和深度学习的知识推介方法及系统 | |
CN112380859A (zh) | 舆情信息的推荐方法、装置、电子设备及计算机存储介质 | |
CN109918574A (zh) | 项目推荐方法、装置、设备及存储介质 | |
CN112948526A (zh) | 用户画像的生成方法及装置、电子设备、存储介质 | |
CN113704623A (zh) | 一种数据推荐方法、装置、设备及存储介质 | |
CN112883154A (zh) | 文本主题挖掘方法、装置、计算机设备及存储介质 | |
CN112328646B (zh) | 多任务课程推荐方法、装置、计算机设备及存储介质 | |
CN113742592A (zh) | 舆情信息推送方法、装置、设备及存储介质 | |
CN114880449A (zh) | 智能问答的答复生成方法、装置、电子设备及存储介质 | |
CN113591881A (zh) | 基于模型融合的意图识别方法、装置、电子设备及介质 | |
CN111651452A (zh) | 数据存储方法、装置、计算机设备及存储介质 | |
CN112395432B (zh) | 课程推送方法、装置、计算机设备及存储介质 | |
CN114862140A (zh) | 基于行为分析的潜力评估方法、装置、设备及存储介质 | |
CN112860851B (zh) | 基于根因分析的课程推荐方法、装置、设备及介质 | |
CN112231196B (zh) | App埋点行为分类方法、装置、计算机设备及存储介质 | |
CN113704608A (zh) | 个性化项目推荐方法、装置、电子设备及存储介质 | |
CN112036641A (zh) | 基于人工智能的留存预测方法、装置、计算机设备及介质 | |
CN112328752B (zh) | 基于搜索内容的课程推荐方法、装置、计算机设备及介质 | |
CN110929526A (zh) | 样本生成方法、装置以及电子设备 | |
CN114723488A (zh) | 课程推荐方法、装置、电子设备及存储介质 |
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 |