个性化学习资源推荐系统的制作方法

文档序号:18620019发布日期:2019-09-06 22:23阅读:259来源:国知局
个性化学习资源推荐系统的制作方法

本发明涉及教育云平台领域,特别涉及一种个性化学习资源推荐系统。



背景技术:

原平台学习服务列表的排序,基本使用默认或按照发布时间先后进行排序,没有考虑用户在平台的各种行为习惯及学习偏好等因素,导致在向用户推荐课程或活动时,展现给用户的课程或活动的列表基本相同,机械而无个性化差异。原平台对多个模块的个性化推荐也基本采用相同的默认列表的形式提供选择,无法根据每个模块的功能和内容为用户选择最优列表进行展示。



技术实现要素:

有鉴于此,本发明旨在提供一种个性化学习资源推荐系统,以在教育云平台实现个性化学习功能。

具体而言,本发明提供一种个性化学习资源推荐系统,包括:日志数据库,用于存储用户课程选择信息、用户研修日志访问信息、用户信息技术技巧浏览信息、用户研修活动参与信息以及用户资源访问信息;

课程推荐模块,用于从所述日志数据库读取用户课程选择信息,并将所述用户课程选择信息进行处理得到用户课程推荐训练数据,将所述用户课程推荐训练数据输入到预设的课程推荐模型进行训练,得到训练好的课程推荐模型,利用所述训练好的课程推荐模型预测用户对各课程的偏好程度,将偏好程度高的课程作为推荐课程;

研修日志推荐模块,用于从所述日志数据库读取用户研修日志访问信息,并将所述用户研修日志访问信息进行处理得到用户研修日志推荐训练数据,将所述用户研修日志推荐训练数据输入到预设的研修日志推荐模型进行训练,得到训练好的研修日志推荐模型,利用所述训练好的研修日志推荐模型预测用户对各研修日志的偏好程度,将偏好程度高的研修日志作为推荐研修日志;

信息技术技巧推荐模块,用于从所述日志数据库读取用户信息技术技巧浏览信息,并将所述用户信息技术技巧浏览信息进行处理得到用户信息技术技巧推荐训练数据,将所述用户信息技术技巧推荐训练数据输入到预设的信息技术技巧推荐模型进行训练,得到训练好的信息技术技巧推荐模型,利用所述训练好的信息技术技巧推荐模型预测用户对各信息技术技巧的偏好程度,将偏好程度高的信息技术技巧作为推荐信息技术技巧;

研修活动推荐模块,用于从所述日志数据库读取用户研修活动参与信息,并将所述用户研修活动参与信息进行处理得到用户研修活动推荐训练数据,将所述用户研修活动推荐训练数据输入到预设的研修活动推荐模型进行训练,得到训练好的研修活动推荐模型,利用所述训练好的研修活动推荐模型预测用户对各研修活动的偏好程度,将偏好程度高的研修活动作为推荐研修活动;

资源推荐模块,用于从所述日志数据库读取用户资源访问信息,并将所用户资源访问信息进行处理得到用户资源访问推荐训练数据,将所述用户资源访问推荐训练数据输入到预设的资源推荐模型进行训练,得到训练好的资源推荐模型,利用所述训练好的资源推荐模型预测用户对各资源的偏好程度,将偏好程度高的资源作为推荐资源;

推荐结果数据库,用于存储所述推荐课程、推荐研修日志、推荐信息技术技巧、推荐信息技术技巧以及推荐资源。

进一步地,所述课程推荐模块包括:

第一数据中心,用于从所述日志数据库读取第一用户对应的第一用户课程选择信息以及第二用户对应的第二用户课程选择信息,并将所述第一用户课程选择信息进行处理得到第一用户课程推荐训练数据,将所述第二用户课程选择信息进行处理得到第二用户课程推荐训练数据;

课程推荐单元,用于将所述第一用户课程推荐训练数据输入到预设的课程推荐模型进行训练,得到训练好的第一课程推荐模型,利用所述训练好的第一课程推荐模型预测第一用户对各课程的偏好程度,将偏好程度最高的前n门课程作为第一推荐课程;还用于将所述第二用户课程推荐训练数据输入到预设的课程推荐模型进行训练,得到训练好的第二课程推荐模型,利用所述训练好的第二课程推荐模型预测第二用户对各课程的偏好程度,将偏好程度最高的前n门课程作为第二推荐课程;还用于计算第一用户对于第一推荐课程的推荐度,以及计算第二用户对于第二推荐课程的推荐度;还用于将所述第一推荐课程的推荐度以及第二推荐课程的推荐度通过所述第一数据中心传送至所述推荐结果数据库进行存储;

第一流程控制单元,用于根据所述第一数据中心传输的数据,控制所述课程推荐单元进行动作。

进一步地,所述第一用户课程推荐训练数据包括第一用户的id信息,第一用户选择课程的id信息,以及第一用户对第一用户选择课程的偏好程度信息;以及第二用户课程推荐训练数据包括第二用户的id信息,第二用户选择课程的id信息,以及第二用户对第二用户选择课程的偏好程度信息;

所述偏好程度信息p通过如下第一公式计算得到:

p=1+4×(min(α,d/c))/α

其中d表示第一用户选择课程或第二用户选择课程的平均浏总时长,c表示第一用户选择课程或第二用户选择课程的浏览次数,α表示预设的转换系数;

所述推荐度r通过如下第二公式计算得到:

r=80+20×(p_cur-p_min)/(p_max-p_min)

其中,p_cur表示预测的第一用户对第一用户选择课程的偏好程度,p_max为第一用户推荐的所有课程中偏好程度的最大值,p_min为第一用户推荐的所有课程中偏好程度的最小值;或者,p_cur表示预测的第二用户对第二用户选择课程的偏好程度,p_max为第二用户推荐的所有课程中偏好程度的最大值,p_min为第二用户推荐的所有课程中偏好程度的最小值。

进一步地,所述研修日志推荐模型包括:

第二数据中心,用于从所述日志数据库读取第一用户对应的第一用户研修日志访问信息以及第二用户对应的第二用户研修日志访问信息,并将所述第一用户研修日志访问信息进行处理得到第一用户研修日志推荐训练数据,将所述第二用户研修日志访问信息进行处理得到第二用户研修日志推荐训练数据;第一用户研修日志访问信息包括第一用户访问过的m个研修日志;第二用户研修日志访问信息包括第二用户访问过的m个研修日志;

内容相似度单元,用于分别对第一用户或第二用户访问过的m个研修日志,获得与各日志最相似的n1/m个日志,将n1/m个日志组合得到n1个研修日志推荐结果;

协同过滤单元,用于预测第一用户或第二用户对m个研修日志中每个日志的热门度,取热门度最高的前n2个研修日志作为研修日志推荐结果;n1为大于m的整数,n2为小于m的整数;热门度h通过如下第三公式计算得到:

h=w1×mt/(max(mt,now-t))+w2×(min(ml,nl))/ml+w3×ns/5+w4×(min(mr,nr))/mr+w5×(min(mc,nc))/mc

其中,w1-w5为权重系数,t为日志发布时间,now为当前时间,mt为发布时间系数,nl为点赞次数,ml为点赞次数系数,ns为平均评星等级,nr为阅读数,mr为阅读数系数,nc为评论数,mc为评论数系数;

研修日志推荐结果获取单元,用于对内容相似度模型以及协同过滤模型得到的n=n1+n2个推荐结果进行排序,得到排好序的n个推荐结果;还用于计算第一用户对于研修日志推荐结果的推荐度,以及计算第二用户对于研修日志推荐结果的推荐度;还用于将所述第一用户以及第二用户对于研修日志推荐结果的推荐度通过所述第一数据中心传送至所述推荐结果数据库进行存储;

所述第一用户或第二用户对于研修日志推荐结果的推荐度r通过如下第四公式计算得到:

r=80+20×(n-pi)/(n-1)

其中,n为第一用户或者第二用户推荐的研修日志数,pi为第一用户或者第二用户推荐的研修日志在推荐列表中的按热门度从高到低的排名位置;

第二流程控制单元,用于根据所述第二数据中心传输的数据,控制所述内容相似度单元、协同过滤单元以及研修日志推荐结果获取单元进行动作。

进一步地,所述信息技术技巧推荐模块包括:

第三数据中心,用于从所述日志数据库读取第一用户对应的第一用户信息技术技巧浏览信息以及第二用户对应的第二用户信息技术技巧浏览信息,并将所述第一用户信息技术技巧浏览信息进行处理得到第一用户信息技术技巧推荐训练数据,将所述第二用户信息技术技巧浏览信息进行处理得到第二用户信息技术技巧推荐训练数据;

信息技术技巧推荐单元,用于将所述第一用户信息技术技巧推荐训练数据输入到预设的第一信息技术技巧推荐模型进行训练,得到训练好的第一信息技术技巧推荐模型,利用所述训练好的第一信息技术技巧推荐模型预测第一用户对各信息技术技巧的偏好程度,将偏好程度最高的前n个信息技术技巧作为第一推荐信息技术技巧;还用于将所述第二用户信息技术技巧推荐训练数据输入到预设的第二信息技术技巧推荐模型进行训练,得到训练好的第二信息技术技巧推荐模型,利用所述训练好的第二信息技术技巧推荐模型预测第二用户对各信息技术技巧的偏好程度,将偏好程度最高的前n个信息技术技巧作为第二推荐信息技术技巧;还用于计算第一用户对于第一推荐信息技术技巧的推荐度,以及计算第二用户对于第二推荐信息技术技巧的推荐度;还用于将所述第一推荐信息技术技巧的推荐度以及第二推荐信息技术技巧的推荐度通过所述第一数据中心传送至所述推荐结果数据库进行存储;其中,第一信息技术技巧推荐模型为基于混合相似度的协同过滤模型;第二信息技术技巧推荐模型为基于用户特征的热门度模型;

第三流程控制单元,用于根据所述第三数据中心传输的数据,控制所述信息技术技巧推荐单元进行操作。

进一步地,所述研修活动推荐模块包括:

第四数据中心,用于从所述日志数据库读取用户研修活动参与信息,并将所述用户研修活动参与信息进行处理得到用户研修活动推荐训练数据;

研修活动推荐单元,用于将所述用户研修活动推荐训练数据输入到预设的研修活动推荐模型进行训练,得到训练好的研修活动推荐模型,利用所述训练好的研修活动推荐模型预测用户对各研修活动的偏好程度,将偏好程度高的研修活动作为推荐结果,所述研修活动推荐单元为基于特征的热门度模型;

第四流程控制单元,用于根据所述第四数据中心传输的数据,控制所述研修活动推荐单元进行操作。

进一步地,所述资源推荐模块包括:

第五数据中心,用于从所述日志数据库读取第一用户对应的第一用户资源访问信息以及第二用户对应的第二用户资源访问信息,并将所述第一用户资源访问信息进行处理得到第一用户资源推荐训练数据,将所述第二用户资源访问信息进行处理得到第二用户资源推荐训练数据;

资源推荐单元,用于将所述第一用户资源推荐训练数据输入到预设的资源推荐模型进行训练,得到训练好的第一资源推荐模型,利用所述训练好的第一资源推荐模型预测第一用户对各资源的偏好程度,将偏好程度最高的前n个资源作为第一推荐资源;还用于将所述第二用户资源推荐训练数据输入到预设的资源推荐模型进行训练,得到训练好的第二资源推荐模型,利用所述训练好的第二资源推荐模型预测第二用户对各资源的偏好程度,将偏好程度最高的前n个资源作为第二推荐资源;还用于计算第一用户对于第一推荐资源的推荐度,以及计算第二用户对于第二推荐资源的推荐度;还用于将所述第一推荐资源的推荐度以及第二推荐资源的推荐度通过所述第一数据中心传送至所述推荐结果数据库进行存储;

第五流程控制单元,用于根据所述第五数据中心传输的数据,控制所述资源推荐单元进行动作。

本发明的个性化学习资源推荐系统,通过结合平台内部对用户的课程、研修日志、信息技术技巧、研修活动、研修资源五大系统模块的个性化服务需求,参考应用机器学习中的协同过滤,基于内容推荐等机器学习的算法,实现了个性化学习课程推荐系统。

附图说明

并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种个性化学习资源推荐系统的结构框图。

具体实施方式

现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。

除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。

本发明实施例提供的一种个性化学习资源推荐系统,包括:日志数据库,用于存储用户课程选择信息、用户研修日志访问信息、用户信息技术技巧浏览信息、用户研修活动参与信息以及用户资源访问信息;其中,用户课程选择信息、用户研修日志访问信息、用户信息技术技巧浏览信息、用户研修活动参与信息以及用户资源访问信息可以存储在不同的表格中。

课程推荐模块,用于从所述日志数据库读取用户课程选择信息,并将所述用户课程选择信息进行处理得到用户课程推荐训练数据,将所述用户课程推荐训练数据输入到预设的课程推荐模型进行训练,得到训练好的课程推荐模型,利用所述训练好的课程推荐模型预测用户对各课程的偏好程度,将偏好程度高的课程作为推荐课程;

研修日志推荐模块,用于从所述日志数据库读取用户研修日志访问信息,并将所述用户研修日志访问信息进行处理得到用户研修日志推荐训练数据,将所述用户研修日志推荐训练数据输入到预设的研修日志推荐模型进行训练,得到训练好的研修日志推荐模型,利用所述训练好的研修日志推荐模型预测用户对各研修日志的偏好程度,将偏好程度高的研修日志作为推荐研修日志;

信息技术技巧推荐模块,用于从所述日志数据库读取用户信息技术技巧浏览信息,并将所述用户信息技术技巧浏览信息进行处理得到用户信息技术技巧推荐训练数据,将所述用户信息技术技巧推荐训练数据输入到预设的信息技术技巧推荐模型进行训练,得到训练好的信息技术技巧推荐模型,利用所述训练好的信息技术技巧推荐模型预测用户对各信息技术技巧的偏好程度,将偏好程度高的信息技术技巧作为推荐信息技术技巧;

研修活动推荐模块,用于从所述日志数据库读取用户研修活动参与信息,并将所述用户研修活动参与信息进行处理得到用户研修活动推荐训练数据,将所述用户研修活动推荐训练数据输入到预设的研修活动推荐模型进行训练,得到训练好的研修活动推荐模型,利用所述训练好的研修活动推荐模型预测用户对各研修活动的偏好程度,将偏好程度高的研修活动作为推荐研修活动;

资源推荐模块,用于从所述日志数据库读取用户资源访问信息,并将所用户资源访问信息进行处理得到用户资源访问推荐训练数据,将所述用户资源访问推荐训练数据输入到预设的资源推荐模型进行训练,得到训练好的资源推荐模型,利用所述训练好的资源推荐模型预测用户对各资源的偏好程度,将偏好程度高的资源作为推荐资源;

推荐结果数据库,用于存储所述推荐课程、推荐研修日志、推荐信息技术技巧、推荐信息技术技巧以及推荐资源。

本发明实施例提供的一种个性化学习资源推荐系统的详细结构可以参见图1所示的结构框图。具体地,上述五个模块可以各自独立运行,各模块的运行逻辑相似。

每个模块又包括三个子模块,分别是数据中心(为区别各个模块,各模块对应的数据中心分别以第一数据中心、第二数据中心(图中未示出)、第三数据中心(图中未示出)、第四数据中心(图中未示出)以及第五数据中心命名(图中未示出)),流程控制(为区别各个模块,各模块对应的流程控制分别以第一流程控制单元、第二流程控制单元(图中未示出)、第三流程控制单元(图中未示出)、第四流程控制单元(图中未示出)以及第五流程控制单元命名(图中未示出))以及相应的推荐模型(单元)。模块运行时,各数据中心从日志数据库中读取并构造当前模块的推荐模型输入数据以及待预测数据,推荐模型经过训练后,会对待遇测数据进行预测并返回预测结果,最后由各数据中心将预测结果存入推荐结果数据库。总体流程由各流程控制模块来控制。各模块具体解释如下:

(1)课程推荐模块

由于模型及训练数据相同,所以选修课和开放课都由课程推荐模块推荐。总体流程的运行逻辑由第一流程控制单元来控制,下面将详细描述运行的流程。

(1.1)构造课程推荐模型训练数据:第一数据中心读取数据(即用户课程选择信息),并将数据处理成(用户id,课程id,偏好程度)格式的数据集,作为推荐模型(即课程推荐单元)的输入数据。用户对课程的偏好程度p可通过公式1计算。

公式1:p=1+4×(min(α,d/c))/α

其中d表示平均浏总时长,c表示浏览次数α表示转换系数。在此数据集上,可以将平均浏览时长的四分位数600作为转换系数α。

(1.2)训练课程推荐模型:课程推荐单元可以选择svd模型,svd模型把用户和物品两方面的信息映射到一个新的联合隐语义空间,同时用户-物品间的交互信息被建模为该空间中的内积。svd模型的主要参数为向量长度,这里可以设置为32。

(1.3)预测普通用户选修课评分:这里定义普通用户为第一用户,其为有历史行为数据的用户,可以预测其兴趣;比如在日志数据库的不同表中同时出现过的用户。预测普通用户选修课评分时,首先获取用户的课程id列表(课程id列表中包含了用户可选择的一系列课程id),然后分别为每一个用户,使用svd模型预测用户对选修课列表里的每一门选修课的偏好程度,最后选择偏好程度最高的前n门课程作为推荐课程。

(1.4)训练选修课推荐冷启动模型:选修课冷启动模型选择的是热门度模型。模型的输入数据为(用户id,课程id,偏好程度)格式的数据集,即在步骤(1.1)中构造好的训练数据。模型会计算所有课程id的平均偏好程度(总偏好程度处以参与评分的用户数),将课程id的平均偏好程度作为对当前课程偏好程度的预测结果。

(1.5)预测冷启动用户选修课评分:这里定义冷启动用户为第二用户,指没有历史行为数据的用户,无法预测其兴趣。预测冷启动用户选修课评分时,首先获取用户的课程id列表,然后分别为每一个用户,使用选修课推荐冷启动模型预测用户对选修课列表里的每一门选修课的偏好程度,最后选择偏好程度最高的前n门课程作为推荐课程。

(1.6)保存选修课推荐结果:将步骤(1.3)和步骤(1.5)的推荐结果结合,形成的选修课推荐结果数据,对于每一个用户,需要将推荐结果进行归一化,将分数转化成80~100的区间,生成形如(用户id,物品id,推荐度)的数据。用户偏好度转换成推荐度r的公式如公式2所示:

公式2:r=80+20×(p_cur-p_min)/(p_max-p_min)

其中,p_cur预测的用户对物品的偏好程度,p_max为用户推荐的物品中偏好程度的最大值,p_min为用户推荐的物品中偏好程度的最小值,并存入推荐结果数据库。

(1.7)预测普通用户(第一用户)开放课评分:在预测普通用户开放课评分之前,首先会为每一个用户构造候选推荐列表。定义用户的候选推荐列表为与该用户拥有相同学科学段的所有用户访问过的所有课程。然后分别为每一个用户,使用svd模型预测用户对候选推荐列表里的每一门课程的偏好程度,最后选择偏好程度最高的前n门课程作为推荐课程。

(1.8)训练开放课推荐冷启动模型:开放课冷启动模型选择的是基于用户特征的热门度模型。模型的输入数据为(用户id,课程id,偏好程度)格式的数据集以及(用户id,学科,学段,年龄段,性别)格式的数据集。首先定义用户特征为(学科-学段-年龄段-性别)。若总学科数量为n1,总学段数量为n2,总年龄段数量为n3,总性别数为n4,则特征的总数量为n1×n2×n3×n4。这里我们将年龄划分为5个年龄段(0~26,26~31,31~41,41~51,51~),性别数取2,学科和学段的数量会根据数据集自动调整。每个用户只拥有一个用户特征。模型会统计每一门课程在每个用户特征下的平均偏好程度。在对(用户id,课程id)进行预测时,首先会获取该用户id对应的用户特征,再将该用户特征下的该课程id平均偏好程度作为用户对课程偏好程度的预测结果。

(1.9)预测冷启动用户(第二用户)开放课评分:预测冷启动用户开放课评分时,会使用步骤(1.7)的候选推荐列表,然后分别为每一个用户,使用开放课推荐冷启动模型预测用户对候选推荐列表里的每一门开放课的偏好程度,最后选择偏好程度最高的前n门课程作为推荐课程。

(1.10)保存开放课推荐结果:将步骤(1.7)和步骤(1.9)的推荐结果结合,并使用步骤(1.6)中的转化公式将推荐结果进行归一化,转化为推荐度,形成最终的开放课推荐结果数据,存入推荐结果数据库。

(2).研修日志推荐模块

(2.1).构造内容相似度模型训练数据:读取数据(即用户研修日志访问信息),并将数据处理成形如(研修日志id,项目id,内容)的训练数据集。

(2.2).训练内容相似度模型:模型训练时,会为每一个项目id去训练一个小的内容相似度模型。内容相似度模型可计算出给定两个同项目id下的研修日志id的内容相似度。内容相似度模型的训练过程为:步骤1:将每一篇日志进行分词,去停用词后,生成词频向量;步骤2:将词频向量转化为tf-idf向量,并将每篇日志转化成tf-idf向量;步骤3:通过计算两两日志tf-idf向量的cosine相似度,可获得日志的内容相似度矩阵。

(2.3).构造协同过滤模型训练数据:读取数据(即用户研修日志访问信息),并将数据处理成形如(用户id,研修日志id,项目id)的训练数据集。

(2.4).训练协同过滤模型:这里使用的协同过滤模型是item-base的协同过滤模型。相似度的计算使用jaccard相似度。相同的,会为每一个项目id去训练一个小的协同过滤模型。当项目id确定,模型会预估在当前项目id下用户对研修日志的偏好。

(2.5).生成普通用户推荐结果:这里定义普通用户为两个表中同时出现过的用户。第一用户有历史行为数据,第二用户没有历史行为数据;第一用户可以预测其喜好,第二用户无法预测其兴趣。通过如下步骤,会产生对每个用户的推荐结果:

步骤1,使用内容相似度模型获取n1个推荐结果:首先获得用户最近访问过的m个研修日志,然后分别对m个研修日志,使用内容相似度模型获得与当前日志最相似的n1/m个日志,将这些日志组合可得到n1个推荐结果

步骤2,使用协同过滤模型获取n2个推荐结果:首先获得同项目id内被访问过的所有研修日志作为候选推荐集合,然后使用协同过滤模型去预测用户对这个候选集合内每一个物品的偏好,最后取偏好最高的前n2个研修日志作为推荐结果

步骤3,结合内容相似度模型和协同过滤模型的推荐结果:这一步将会对两个模型给出的n=n1+n2个推荐结果进行排序,最后得到排好序的n个推荐结果。排序的依据是物品热门度,物品热门度h的公式如公式3所示

公式3:h=w1×mt/(max(mt,now-t))+w2×(min(ml,nl))/ml+w3×ns/5+w4×(min(mr,nr))/mr+w5×(min(mc,nc))/mc

其中,w1~w5为权重系数,t为日志发布时间,now为当前时间,mt为发布时间系数,nl为点赞次数,ml为点赞次数系数,ns为平均评星等级,nr为阅读数,mr为阅读数系数,nc为评论数,mc为评论数系数。可构造造形如(日志id,项目id,热门度)的物品热门度。w1~w5、mt、ml、mr、mc可在配置文件中配置。

(2.6).训练冷启动推荐模型:冷启动推荐模型使用的是基于物品热门度的模型。训练数据为步骤(2.5)中的物品热门度。模型的原理是分别为每个项目id,计算在项目id内热门度最高的前n篇日志。

(2.7).生成冷启动用户推荐结果:这里定义冷启动用户为仅在一个表出现的用户。冷启动推荐模型会根据用户的项目id,返回该项目id内热门度最高的前n篇日志作为推荐结果。

(2.8).保存推荐结果:将步骤(2.5)和步骤(2.7)的推荐结果结合,推荐结果中仅包含了根据物品热门度排好序的日志,因此使用步公式4中的转化公式将推荐结果进行归一化,转化为推荐度r。

公式4:r=80+20×(n-p_i)/(n-1)

其中,n为为用户推荐的物品数,pi为物品在推荐列表中的排名位置(按物品热门度从高到低),存入推荐结果数据库。

(3).信息技术技巧推荐模块

(3.1).构造模型训练数据:模型训练数据包括两个部分,一是读入数据构造形如(信息技术技巧id,关键字)的训练集数据,二是读入数据构造形如(用户id,信息技术技巧id)的训练集数据,表示用户浏览该信息技术技巧。

(3.2).训练信息技术技巧推荐模型:这里使用了基于混合相似度的item-base协同过滤模型。相似度使用jaccard相似度与关键字相似度的混合相似度。混合相似度计算公式如公式5所示:

公式5:sim=1/(1+e^(-(l-5)))×jaccard_sim+(1-1/(1+e^(-(l-5))))×content_sim

其中l表示用户历史浏览过的物品数,jaccard_sim表示jaccard相似度,content_sim表示关键字相似度。模型会为(用户id,信息技术技巧id),去预测用户对该信息技术技巧的偏好。

(3.3).生成普通用户推荐结果:对于每一个用户,使用信息技术技巧推荐模型预测该用户对系统内所有信息技术技巧的偏好,并取偏好最大的前n1个信息技术技巧作为推荐结果。此外,获取发布日期距今d天内的信息技术技巧作为新物品,随机抽取n2个新物品,插入到推荐结果中1/3到2/3的位置。最终生成包含n=n1+n2个物品的推荐结果。

(3.4).训练冷启动推荐模型:信息技术技巧冷启动模型选择的是基于用户特征的热门度模型。模型的输入数据为(用户id,信息技术技巧id)格式的数据集以及(用户id,学科,学段,年龄段,性别)格式的数据集。模型会统计每一个信息技术技巧在每个用户特征下的被访问次数。在对(用户id,信息技术技巧id)进行预测时,首先会获取该用户id对应的用户特征,再将该用户特征下的该信息技术技巧id的被访问次数作为用户对信息技术技巧偏好程度的预测结果。

(3.5).生成冷启动用户推荐结果:生成冷启动用户推荐结果时,对于每一个用户,使用冷启动推荐模型获取该用户特征下被访问次数前n的信息技术技巧作为推荐结果。

(3.6).保存预测结果:将步骤(3.3)和步骤(3.5)的推荐结果结合,推荐结果中仅包含了排好序的信息技术技巧,将推荐结果进行归一化,转化为推荐度r,存入推荐结果数据库。

(4).研修活动推荐模块

(4.1).构造模型训练数据:训练数据主要分为两部分,一是读取数据并构造的形如(活动id,学科,学段)的训练集,二是读取数据并构造的形如(用户id,活动id)的训练集。在构造训练集时会排除已经结束的研修活动。

(4.2).训练研修活动推荐模型:研修活动推荐模型选择的是基于特征的热门度模型。首先定义用户特征为(项目id-学科-学段)。若总学科数量为n1,总学段数量为n2,总项目id数量为n3,则特征的总数量为n1×n2×n3。每个用户只拥有一个用户特征。模型会统计每一个研修活动在每个用户特征下的被参与次数。最终模型会计算出每个特征内总被参与次数最高的前n个研修活动。

(4.3).生成研修活动推荐结果:对于每一个用户,首先会获取用户对应的用户特征,然后通过研修活动推荐模型返回在该用户特征内被参与次数最高的前n1个研修活动作为推荐结果。此外,获取活动开始日期日期距今d天内的研修活动作为新物品,随机抽取n2个新物品,插入到推荐结果中1/3到2/3的位置。最终生成包含n=n1+n2个研修活动的推荐结果。

(4.4).保存推荐结果:推荐结果中仅包含了排好序的研修活动,将推荐结果进行归一化,转化为推荐度r,存入推荐结果数据库。

(5)资源推荐模块

(5.1).构造类别推荐模型训练集:读取数据,构造形如(资源id,资源分类,资源热门度)的训练集数据。其中,资源热门度h可通过公式6计算得到

公式6:h=w1×(min(mx,nx))/mx+w2×(min(ml,nl))/ml+w3×ns/5+w4×(min(md,nd))/md

其中,w1~w4为权重系数,nl为点赞次数,mx为下载次数系数,nx为下载次数,nl为浏览数,ml为浏览数系数,nd为点赞数,md为点赞数系数。ns为评星等级。w1~w4、mx、ml、md可在配置文件中配置。

(5.2).训练类别推荐模型:类别推荐模型的基本原理是,为每一个资源类别,构造一个按资源热门度从高到低排序的资源id列表。列表会保存资源id以及对应的资源热门度。根据给定的资源类型以及资源id,模型会返相应的资源热门度。

(5.3).构造协同过滤模型训练集:读取数据,并将数据处理成形如(用户id,资源id,项目id)的训练数据集。

(5.4).训练协同过滤模型:这里使用的协同过滤模型是item-base的协同过滤模型。相似度的计算使用jaccard相似度。相同的,会为每一个项目id去训练一个小的协同过滤模型。当项目id确定,模型会预估在当前项目id下用户对资源的偏好。

(5.5).生成普通用户推荐结果:通过如下步骤,会产生对每个用户的推荐结果:

步骤1,使用类别推荐模型获取n1个推荐结果:首先获得用户最近访问过的m个资源,并根据m个资源统计各资源类别的占比p1,p2…pi(i表示第i个类别),并计算每个类别需要为用户推荐的资源数n1_i=n1×pi;定义用户候选推荐列表为与该用户同项目id的资源,可构造用户候选推荐列表;根据每个类别需要为用户推荐的资源数以及候选推荐列表,使用类别推荐模型,为用户推荐当前类别资源热门度最高的前n1_i个资源,最终组合成n1个推荐结果,并按照资源热门度排序。

步骤2,使用协同过滤模型获取n2个推荐结果:定义用户候选推荐列表为与该用户同项目id的资源,可构造用户候选推荐列表,然后使用协同过滤模型去预测用户对这个候选推荐列表内每一个资源的偏好,最后取偏好最高的前n2个资源作为推荐结果。

步骤3,结合类别推荐模型和协同过滤模型的推荐结果:这一步将会对两个模型给出的n=n1+n2个推荐结果进行组合。最终会根据资源热门度对所有推荐的资源进行排序,生成一个排好序的资源推荐结果。

(5.6).训练冷启动推荐模型:资源推荐冷启动模型选择的是基于用户特征的热门度模型。模型的输入数据为(用户id,资源id)格式的数据集以及(用户id,学科,学段,年龄段,性别)格式的数据集。模型会统计每一个资源在每个用户特征下的被访问次数。最终模型会计算出每个特征内总被访问次数最高的前n个资源。

(5.7).生成冷启动用户推荐结果:生成冷启动用户推荐结果时,对于每一个用户,使用冷启动推荐模型获取该用户特征下的资源被访问次数前n的资源作为推荐结果。

(5.8).保存推荐结果:将步骤(5.5)和步骤(5.8)的推荐结果结合,推荐结果中仅包含了排好序的资源,将推荐结果进行归一化,转化为推荐度r,存入推荐结果数据库。

本实施例通过用户在平台的行为习惯,学习偏好计算用户之间的相似度,计算方法涵盖了协同过滤、类别推荐、基于文本向量的内容相似度等。使用历史数据训练好的模型根据用户及所属模块或课程活动信息进行预测,推荐出资源热度从高到低排序的n个资源;五个大的应用模块下,每个模块又由三个子模块构成,分别是数据中心,流程控制以及推荐模型。模块运行时,数据中心从日志数据库中读取并构造当前模块的推荐模型输入数据以及待预测数据,推荐模型经过训练后,会对待遇测数据进行预测并返回预测结果,最后由数据中心将预测结果存入推荐结果数据库。总体流程由推荐系统流程控制模块来控制。采用上述个性化学习和推荐技术,能够根据用户在平台学习的行为偏好进行个性化的服务,每位用户在平台中看到的列表将不再是千篇一律二是千人千面的个性化定制。使用本系统后将平台数据进行分流计算,离线模型训练,减小原有平台数据调用的压力,平稳快速的提供用户个性化推荐的列表数据,方便研发人员使用。

已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。

通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

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