一种基于用户序列性行为的在线课程平台内容推荐方法、装置、系统及存储介质与流程

文档序号:18869864发布日期:2019-10-14 19:16阅读:169来源:国知局
一种基于用户序列性行为的在线课程平台内容推荐方法、装置、系统及存储介质与流程

本发明涉及互联网技术领域,尤其涉及一种基于用户序列性行为的在线课程平台内容推荐方法、装置、系统及存储介质。



背景技术:

随着互联网与移动互联网的兴起与普及,教育逐渐从线下走到线上,一批在线教育平台迅速发展壮大,满足了大量用户的实时学习、碎片化学习、自主学习等需求,从而更好更快的提升自身能力与素质。

与电商平台相比,在线教育平台的实质与其类似,将课程资源(商品)销售给用户。因此,为了实现销售的最大化,提升用户的满意度,在线教育平台也需要和各类电商平台类似的推荐算法与系统,实现(1)将用户可能感兴趣的课程资源推荐给用户;(2)尽可能地挖掘用户及用户群体的兴趣点,实现个性化推荐,提升潜在的消费能力。

目前主流的推荐系统主要分为两类:基于用户和基于物品的推荐系统。两者最主要的区别在于以哪类数据为中心进行相似度计算和推荐:

1.基于用户的推荐系统:这是最先出现的一类的推荐系统,适应于以用户作为主要对象的系统,例如微博、社交网站、新闻网站等平台。对于这些平台系统,用户是其主要的资源,并且依据相互之间的关注、专业兴趣点、社交等活动,用户之间会自觉或者不自觉地形成小群体。这种自然形成的小群体其关注点、兴趣点等会有较大的重合度和影响度,因此适应基于用户的推荐系统,体现和用户相似的小群体的兴趣点。

2.基于物品的推荐系统:这类推荐系统主要适用于京东、亚马逊、netflix这类以销售商品为主要业务的平台系统。在这些网站中,用户的兴趣是比较固定和持久的。因此,这些平台系统的推荐系统的任务是帮助用户发现和他兴趣点相关的物品,并将其推荐给用户。相对于基于用户的推荐系统看重是挖掘小群体的共同兴趣点,基于物品的推荐系统的重点在于挖掘和维系用户独有的个性化兴趣点。

与其他在线平台相比,在线教育平台具有自身独特的特质,使得直接应用目前已有的推荐算法及系统存在以下问题:

1.缺乏对课程资源的专业属性的考虑。经过前期的扩展,一个在线教育平台的课程资源数量会处于一个长期的稳定,其资源数量及资源内容会在一个较长时期内保持稳定。从这个方面来看,基于物品的推荐系统似乎适合在线教育平台。但是,与适用基于物品的推荐系统的电商平台相比,在线教育平台的课程资源具有更为强烈的专业属性,其内容有着特定的专业性,比如同样是开发类的课程,《动态网页设计》与《游戏开发》可能就具有较大的差别,更不用说跨专业的课程。传统的基于物品的推荐系统较少考虑到专业方面的属性。

2.缺乏对用户群体的强烈内聚性的考虑。依据互联网及移动互联技术的高速发展,在线教育平台将分散在全国甚至全世界各地的用户集中在一起,实现了用户资源的快速集中。与社交网络等平台相比较,在线教育平台的用户体现出更为集中的兴趣点,如选读《园林美化》的用户群体更多的体现其在园林艺术、美术、植物栽培方面的兴趣,而选读《财务管理》的用户则对金融、财务、经济具有更强的兴趣。并且,用户群体的这种内聚性会对其潜在消费行为产生强烈的影响,例如,一个选修《c语言编程基础》的用户购买了一本参考书,并大力推荐的话,会对整个选修这门课的其他用户更倾向于购买相同的参考书。从这点来看,单纯的基于物品的推荐系统不能满足体现用户群体的相似兴趣点的要求,因此还需要一个基于用户的推荐系统,并且这个系统还必须对用户群体这种强烈的内聚性和影响扩展给予充分的考虑,而这时目前已有的算法欠缺的地方。

3.缺乏对学习内容的内在序列性的考虑。在线教育平台的大部分资源都是基于课程的,包括课程课件、项目、练习、实训等。依据课程的属性,这些资源之间存在强烈的相关性。以程序设计基础课程为例,用户首先会学习变量、数据类型,然后接着学习语法结构,并且在语法结构中,会先学习顺序结构,接着判断结构,最后循环结构;当这几部分知识点都学完了,再接着学习函数、输入输出等高级内容,这即是课程资源的序列性。课程资源的序列性特点要求一个适用的推荐系统必须能够根据用户的目前进度,再结合用户群体的兴趣点,推荐合适的某一个阶段的合适内容,这是目前绝大部分推荐系统没有考虑到的地方。



技术实现要素:

本发明提供了一种基于用户序列性行为的在线课程平台内容推荐方法,

数据获取步骤:通过用户特征数据获取模块获取用户特征数据,通过课程资源特征获取模块获取课程资源特征数据,将用户特征数据和课程资源特征数据作为推荐系统的输入;

定义序列性行为步骤:用yui表示用户u和课程资源i之间的互动,yui=[yui,1,yui,2,...,yui,l]t,其中l表示用户与资源互动的阶段数量,定义用户的单调性序列性行为如下:如果存在yui,1≥yui,2≥…≥yui,l,则yui是单调性上升;

降维步骤:对yui进行降维,并同时保留课程资源之间的关联;

推荐评分步骤:分别用yu、yi、yl表示用户、课程资源、序列特征的embeddingvector(嵌入向量),给定一组yu、yi、yl的输入,则推荐系统的任务变成对一个用户没有进行互动过的课程资源的可能评分,从而为用户是否对这个课程资源感兴趣提供指引和解释。

作为本发明的进一步改进,在降维步骤中,采用doc2vec对序列化特征进行降维。

作为本发明的进一步改进,在推荐评分步骤中,不同阶段相互之间的条件概率的条件优化表达式:

其中:pui,l|l-1表示p(yui,l=1|yui,l-1=1,cui,l为一个参数用来平衡正例和负例,分别表示用户u在第l个阶段进行过或没有进行过互动的课程资源i的集合,yui,l=1表示用户u在第l个阶段与课程资源i进行了互动,yui,l-1=1表示用户u在第l-1个阶段与课程资源i进行了互动,

假设pui,l|l-1=σ(δui,l),则有以下的联合概率表示在阶段l对课程资源i的评分:

sui,l继承了单调上升特征,即sui,1≥…≥sui,l,sui,l表示用户u和课程资源i的评分,σ表示sigmoid函数。

作为本发明的进一步改进,在推荐评分步骤中,获取到如下的简化目标函数:

指用户u和资源i进行互动的最新阶段;将这两个阶段蕴含的信息从联合概率中分离出来,并在正例和负例中进行平衡操作。

本发明还提供了一种基于用户序列性行为的在线课程平台内容推荐装置,包括:

数据获取模块:用于通过用户特征数据获取模块获取用户特征数据,通过课程资源特征获取模块获取课程资源特征数据,将用户特征数据和课程资源特征数据作为推荐系统的输入;

定义序列性行为模块:用yui表示用户u和课程资源i之间的互动,yui=[yui,1,yui,2,...,yui,l]t,其中l表示用户与资源互动的阶段数量,定义用户的单调性序列性行为如下:如果存在yui,1≥yui,2≥…≥yui,l,则yui是单调性上升;

降维模块:用于对yui进行降维,并同时保留课程资源之间的关联;

推荐评分模块:分别用yu、yi、yl表示用户、课程资源、序列特征的embeddingvector,给定一组yu、yi、yl的输入,则推荐系统的任务变成对一个用户没有进行互动过的课程资源的可能评分,从而为用户是否对这个课程资源感兴趣提供指引和解释。

作为本发明的进一步改进,在降维模块中,采用doc2vec对序列化特征进行降维。

作为本发明的进一步改进,在推荐评分模块中,不同阶段相互之间的条件概率的条件优化表达式:

其中:pui,l|l-1表示p(yui,l=1|yui,l-1=1,cui,l为一个参数用来平衡正例和负例,分别表示用户u在第l个阶段进行过或没有进行过互动的课程资源i的集合,yui,l=1表示用户u在第l个阶段与课程资源i进行了互动,yui,l-1=1表示用户u在第l-1个阶段与课程资源i进行了互动,

假设pui,l|l-1=σ(δui,l),则有以下的联合概率表示在阶段l对课程资源i的评分:

sui,l继承了单调上升特征,即sui,1≥…≥sui,l,sui,l表示用户u和课程资源i的评分,σ表示sigmoid函数。

作为本发明的进一步改进,在推荐评分模块中,获取到如下的简化目标函数:

指用户u和资源i进行互动的最新阶段;将这两个阶段蕴含的信息从联合概率中分离出来,并在正例和负例中进行平衡操作。

本发明还提供了一种基于用户序列性行为的在线课程平台内容推荐系统,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现本发明所述的方法的步骤。

本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现本发明所述的方法的步骤。

本发明的有益效果是:本发明是一种混合制的推荐系统,根据在线教育平台的特点,融合两种已有的推荐系统的优势,精准的描述课程本身内在的特征及课程相互之间的联系,并创造性的利用课程资源的序列性特征,实现更精确的基于序列化的资源推荐,满足用户的需求。

附图说明

图1是本发明的系统总体框架图;

图2是本发明的doc2vec处理示意图。

具体实施方式

依据现有在线教育平台的特点,使得单独应用基于用户的或基于物品的推荐系统效果不佳,因此,本发明提出一种混合制的推荐系统,即,本发明公开了一种基于用户序列性行为的在线课程平台内容推荐方法,综合利用现有的两种主流推荐算法,并根据在线教育平台的特点的提出以下优化方案:

1.融合两种已有的推荐系统的优势,即基于用户的协同过滤算法(usercf)和基于物品的协同过滤算法(itemcf),为在线课程资源平台用户提供更准确的推荐,提高用户满意度。

2.充分考虑课程资源的专业属性,更全的提取课程的特征,包括知识点、技能点、上下文关系等,能更精准的描述课程本身内在的特征及课程相互之间的联系。

3.创造性的利用课程资源的序列性特征,并在推荐模型中重点加以考虑,从而能够根据用户的所处阶段,实现更精确的资源推荐,满足用户的需求,提高用户的满意度。

图1是系统总体框架图,因为融合了usercf和itemcf,因此本系统在数据获取部分会有两个模块,一个是用户特征数据获取模块,一个是课程资源特征获取模块。这两个模块的特征数据作为推荐系统的输入,从而获得推荐输出,并将其反馈给用户。

下面对本发明进行具体说明:

本发明首先定义用户的序列性行为。假设对于一个用户u和一个课程资源i,针对u和一系列的课程资源之间的互动,我们用yui=[yui,1,yui,2,...,yui,l]t表示,其中l表示用户与资源互动的阶段数量,并且我们规定,对于

用户在某个阶段l使用了(包括点击、观看)某个课程资源,即用户在阶段l与资源进行了互动。

我们观察到一个在线教育平台的用户行为呈现典型的连续上升性,即如果两个课程资源i1和i2之间存在序列行,即用户i2之前必须先学习i1,则用户会先使用和i1相关的资源,然后再使用i2资源。因此,我们定义用户的单调性序列性行为如下:

如果存在yui,1≥yui,2≥…≥yui,l,则yui是单调性上升。

考虑到一门课程内相互之间有关联的知识点数量较多,再加上在线教育平台上课程数量众多,因此yui的维度可能会达到103-104,再考虑到用户的数量也会达到104级别,对于存储、算法效率有着较为严重的影响。因此,在进行后续的推荐计算之前,我们先对yui进行降维,并同时保留资源item之间的关联。

doc2vec,或者叫做paragraph2vec,sentenceembeddings,是一种非监督式算法,可以获得sentences/paragraphs/documents的向量表达,是word2vec的拓展。学出来的向量可以通过计算距离来找sentences、paragraphs、documents之间的相似性,可以用于文本聚类,对于有标签的数据,还可以用监督学习的方法进行文本分类。doc2vec的标准处理流程如图2所示。

为了能够用doc2vec对序列化特征进行降维,我们将一个单调上升的yui分解成为以下的一系列行为特征:

给定yui=[yui,1,yui,2,...,yui,l]t,如果存在j得yui,j=1并且yui,j+1=0,则将yui分解成为如下的系列hot-one编码特征向量(l×1维):

表示第j位为1,其他位均为0。

当针对每个用户u和每个课程资源i,获得表示其行为特征的一系列hot-one编码向量之后,我们将及课程资源i作为doc2vec的输入,即可以得到的embeddingvector并且最大程度的保留了用户u和课程资源i之间的使用历史。

接下来,为了方便后续的讨论,在不引起混淆的前提下,我们分别用yu,yi,yl表示用户、课程资源、序列特征的embeddingvector。给定一组这样的包含序列化特征的输入,则推荐系统的任务变成对一个用户没有进行互动过的资源的可能评分,从而为用户是否对这个资源感兴趣提供指引和解释。

一种简单直接的方法是忽略序列化特征,然后为每个阶段进行单独的评分,从而判断用户对于资源的可能接受度。一个典型的目标函数为pointwise二叉交叉熵函数:

-∑u,i(yui,llogσ(sui,l)+cui,l(1-yui,l)log(1-σ(sui,l)))(1)

其中:sui,l表示用户u和课程资源i的评分,σ表示sigmoid函数,cui,l为一个参数用来平衡正例和负例。

如果考虑序列化特征,则目标函数变成:

其中,分别表示用户u在第l个阶段进行过(没有)互动的课程资源i的集合。

既然输入数据里面包含有序列化特征,因此我们接下来对序列化特征进行进一步的考察。如前所述,一个单调的序列化特征必定有:如果用户在阶段l与某个资源进行了互动,则必定表示用户在阶段l-1也进行了互动。因此,我们考虑与其直接对每个阶段的边际概率进行估计,不如考虑不同阶段相互之间的条件概率,即下面的条件优化表达式:

其中:pui,l|l-1表示p(yui,l=1|yui,l-1=1。

假设pui,l|l-1=σ(δui,l),则我们有以下的联合概率表示在阶段l对资源i的评分:

显而易见,sui,l继承了单调上升特征,即sui,1≥…≥sui,l。

为了对目标函数进行优化,基于序列化特征,我们提出两种优化算法,克服已有算法未考虑序列化特征的缺陷,提高推荐的准确度。

首先,我们利用一个单调评分函数,用另一种方式来建模边际概率p(yui,l):

我们不直接拆分yui,l,而是引入一个附加层,用来表示用户的序列化特征。

将每个阶段l的预测评分进行因式分解:

δui,l=<yl,yioyu>(6)

接下来,我们将这个预测评分输入到参数激活方法中,当只有当这个预测评分大于0的情况下才会激活用户的序列化特征:

此激活函数在β=1的情况下变成softplus激活函数,并且当β→∞时近似于一个relu函数。

在给定评分函数的基础上,通过附加以下限制条件,我们将yui,l的单调性用以下概率模板来表示:

这些限制条件用在在计算联合概率的时候剪除冗余信息,从而获取到如下的简化目标函数:

指用户u和资源i进行互动的最新阶段。

对于上述模型,我们仍然需要处理一个问题:我们已知正例,即但是我们仍然没有办法确信未观察到的负例,即因此,我们利用已有的技术,将这两个阶段中蕴含的信息从联合概率中分离出来,并在正例和负例中进行平衡操作,即:

和前述等式结合,我们可以计算以下信息:

综合上面等式,我们得到下述目标函数:

最后,我们提出一个优化算法,用来预测用户对于课程资源的评分:

本发明还公开了一种基于用户序列性行为的在线课程平台内容推荐系统,包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述计算机程序配置为由所述处理器调用时实现本发明所述的方法的步骤。

本发明还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序配置为由处理器调用时实现本发明所述的方法的步骤。

本发明是一种混合制的推荐系统,根据在线教育平台的特点,融合两种已有的推荐系统的优势,精准的描述课程本身内在的特征及课程相互之间的联系,并创造性的利用课程资源的序列性特征,实现更精确的基于序列化的资源推荐,满足用户的需求。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1