APP下载

在线学习资源混合推荐算法研究

2022-11-12张群慧朱爱军

科海故事博览 2022年31期
关键词:权重混合协同

张群慧 朱爱军

(湖南科技职业学院,湖南 长沙 410004)

随着网络科技的日益发达和社会物质生活的日益改善,为了在这个快节奏的社会节省不必要的时间以及提高生活质量,个性化推荐成为互联网的核心功能之一,并被运用于各个行业。在线学习网站使用推荐算法,为用户推荐最有机会学习和购买的课程资料,给用户带来潜在的好友关注;为用户推送其最有机会点击的视频内容[1];为用户提供最有趣的特色信息。个性化推送技巧是解决之道,这也是互联网智能的体现之一。

现阶段的选择方式大致有三类:基于内容的推荐算法、协同过滤算法、混合推荐算法。[2]

基于内容的推荐算法根据具体的文本数据来进行选择。

协同过滤算法一般包含了通过程序的计算和通过模式的计算。[3]在最初的时候一般是通过大数据研究,利用问题的评估矩阵的实验数据,来寻找类似的问题或者数据。然后通过构建一个模式,以通过这个模式的评估矩阵为基础实验数据,来进行智能的推荐预测。

不过,上面的两个推荐算法都有着干扰最终选择结果的显著缺陷,于是科学家们为了避免两个算法的弊端,发挥其长处,给出了第三个算法,混合推荐算法,它是一个把基于内容的推荐算法与协同过滤算法融合到一起的算法。现在大部分市场上的推荐系统都是通过各种推荐算法融合的混合推荐系统。[4]

1 协同过滤算法

1.1 基本原理

协同过滤算法是从海量的数据中挖掘出与用户兴趣相似的用户,使他们成为用户的邻居,然后根据他们喜欢的东西,产生一个推荐列表推送给用户。由此,可以看出协同过滤算法有两个核心问题:(1)确定与当前用户兴趣相似的用户;(2)产生推荐列表推送给当前用户。

要实现协同过滤算法有三大步骤:(1)收集用户的喜欢度;(2)找到相似的用户和学习资源;(3)计算数据并生成推荐列表。

1.2 协同过滤算法的问题

数据稀疏性问题也是协同过滤算法中必然会遇到的最大的问题。[5]在现实的商业推荐系统中,虽然用户以及与其相应的购物项目的信息总量都非常巨大,但用户却通常只能在很少的购物项目上基于客观评价,从而产生评价矩阵数量稀少的问题。在数量如此稀少的情形下,由于没有参考的数据信息,不利于使用所选择的机器学习资源估计两个不同用户间的接近程度,进而造成对邻居集合的资源选取不精确,影响了推荐精度。冷启动也是关于数量稀少性的一种很典型的问题。所谓冷启动,即在没有用户评价的情况下,很难凭空生成符合当前用户需求的推荐列表。

扩展性问题是随着系统的使用所出现的问题。随着用户和对应的购买学习资源的增多,由于计算资源和计算速度的限制,协同过滤算法在用户和对应购买学习资源增长到一定数量后,效率会大大降低,以致于不能满足实际需求。

表1 基于内容的推荐算法和协同过滤算法的比较

2 基于内容的推荐算法

2.1 基本原理

基于内容的推荐算法的核心是学习资源之间两两相似度的精确度。如何实现这个算法,可分三步:(1)获取过去机器学习数据的特征值;(2)通过特征数据来构建用户的喜好模式;(3)通过将候选学习资源与喜好模型进行比较,生成推荐列表。

2.2 基于内容推荐算法的问题

推荐对象的多样性问题是基于内容的推荐算法的首要问题。喜好模型是根据过去用户喜欢的学习资源的学习中得出的,所以在原始数据中就有隐患。即过去喜欢的学习资源不可能包括用户潜在喜欢的学习资源。

同时对用户和学习资源间建立关联模型和提取主要特征是一个会耗费大量的时间和人力的过程。此外,如果用户很少有购买和浏览的行为,那么所得到的数据总量就远远不够,将会大大地影响推荐结果的精准度。

3 混合推荐算法

3.1 基本原理

协同过滤算法与基于内容的推荐方式是能够优势互补的。协同过滤算法并不出现推荐学习中资源多样性的现象,而基于内容的推荐方式并不出现资源冷启动的现象。因此可以将这两种推荐算法融合起来成为一种新的混合推荐算法,以求更好的推荐效果。

3.2 算法种类及优势

该方案将改变传统基于内容的方式获取用户既有兴趣,而采用特征词的协同过滤方式获取用户潜在兴趣,并将用户现有的兴趣和潜在兴趣混合,得出混合的用户兴趣模型,用混合模式与候选学习资料进行相似度统计,给不同用户推送可能感兴趣的学习资料。较之前的方法,本文更充分地考虑了用户喜好以及在多样性与个性化上的要求,更加充分地挖掘了用户的潜在兴趣,提高了用户对推荐学习资源的点击率。

4 在线学习资源混合推荐算法

混合推荐系统模型主要由三个部分组成:用户已有的兴趣模型、潜在的用户兴趣模型、混合推荐算法模型。首先在这里有些定义需要说明一下。

特征词序列:搜索内容有非结构化和结构化之分。结构化是指搜索内容就是一个或多个确定的词汇,例如:牛津字典、书包等。非结构化内容指的是用一个长短语或句子来描述想要检索的学习资源信息。推荐算法是以结构化的搜索内容为基础的,所以要对搜索内容的文本信息进行结构化处理,这一部分的实际操作就是提取搜索内容的特征词。对任意用户的搜索非结构化内容的集合D={d1,d2,d3.....dn},将能够代表搜索内容和搜索内容特征的词汇或者短语通过数学算法提取出来形成一个特征词序列S={s1,s2,s3......sn}。特征词序列包含了用户的非结构化内容集合的特征词,类似于给每个用户搜索内容集贴上标签。

用户已有的兴趣模型(EM):将任意用户的搜索内容的文本信息向量化,然后经过一些数学运算,算出每个特征值的权重,得出特征词序列的一一对应的特征值权重向量,记为W1={w11,w12,w13,...,w1n},称其为用户已有的兴趣模型。这是根据搜索内容来设计兴趣模型,这属于基于内容的推荐算法的一部分。

用户潜在的兴趣模型(PM):通过协同过滤算法找出当前用户的邻居,邻居就是与当前用户兴趣相似的用户群体,将邻居的已有兴趣推荐给当前用户,即将相似的用户的已有兴趣模型作为当前用户的潜在兴趣模型,记为W2={w21,w22,w23,...,w2n},其中W2i是特征词序列中对应的权重。

混合兴趣模型(HM):将用户已有兴趣模型和潜在的兴趣模型按照一定的规则合并得到的权重向量,记为W3={w31,w32,w33,...,w3n},其中W3i是特征词序列中对应的权重,称其为混合兴趣模型。

混合兴趣模型中用户已有兴趣模型根据原理可划分为基于内容的推荐算法的版块[6],用户潜在兴趣模型属于协同过滤算法的内容,所以这就是混合兴趣推荐模型的基本框架。

图1 混合兴趣模型构建流程

4.1 用户已有的兴趣模型设计

建立用户的兴趣模型之前要对搜索的内容进行结构化处理。典型的处理办法就是TF_IDF(term frequency_inverse document frequency)表示法。这个表示法是用权重来衡量词汇的重要程度。TF(term frequency)词频,即某个特定的词汇在文本信息中所有词汇中所占的比例。在所有的文本内容里,“的”“这些”“那些”,类似这种没有实意的常见词的词频通常会很高,因此为了提高提取的特征词的准确度,提出了IDF(inverse document frequency)逆文档频率的概念。假设某个词比较少见,却在某个文档出现次数较多,那么这些词汇很有可能反映文章的特性,极有可能是文章内容的特征词。为这种情况设置了一个新的权重参数便是IDF,这个参数和词汇的常见程度成反比。TF_IDF的权值计算方法为TF*IDF,[freq(i,j)/sum(k,j)]*log[N/n(j)],TF=freq(i,j)/sum(k,j),其中freq(i,j)为在搜索内容集dj中词汇i出现的次数;sum(k,j)为在搜索内容集dj中所有的词汇个数。IDF=log[N/n(j)],其中N为搜索内容集的总数,n(j)为出现过词汇i的搜索内容的条数。

给定搜索内容集D={d1,d2,...,dn},和特征词集合S={s1,s2,...,sn},搜索内容集可表示为与特征词集合S对应的一个向量空间模型,di={wi1,wi2,...,wij,...,wik},其中wij表示特征词sj在搜索内容集di的权值,如果wij为0,表示为在搜索内容集di中没有特征词sj,于是,搜索内容集可以等同于一个权值矩阵:

4.2 用户潜在的兴趣模型设计

用户的潜在兴趣模型与用户的已有兴趣模型的区别在于不能通过以往的搜索内容直接发现用户潜在的兴趣。本文提出用协同过滤算法来解决问题。传统的协同过滤算法是通过评分矩阵来发现相似用户,通常不同的用户会购买或者浏览相同的学习资源,但是购买不同的学习资源,这些浏览了相同的学习资源的用户很难归为相似用户。针对上述问题,我们只要计算不同用户搜索内容的相似度sim(u,v)即可。

4.2.1 相似度的计算

协同过滤算法的核心部分是寻找兴趣相似的用户,其效率和结果很大程度上决定了协同过滤算法的效率和结果。测度用户i和用户j的搜索内容相似性的方法如下:首先得到用户i和j的搜索内容集特征词权重的所有项,然后通过相似度测量方法来计算用户i和j的相似度,记为sim(i,j)。

通常sim(i,j)的计算方法有三种:余弦相似性计算法、皮尔逊相关系数、欧几里得度量,本文采用余弦相似性计算法。

设用户u搜索内容集Du={du1,du2,...,dui,...,dum},EMu=(w1u1,w1u2,…,w1uj,…,w1uk),用户v搜索内容集Dv={dv1,dv2,…,dvj,…,dvs},Du、Dv均为D的子集,EMv=(w1v1,w1v2,…,w1vj,…,w1vk),用户u,v的内容相似度如下:

4.2.2 推荐相似用户群的兴趣词并构建模型

通过上述算法可以计算出当前用户与其他所有用户搜索内容之间的相似度,排列出与当前用户相似度最高的n个用户,作为邻居群。用协同过滤算法将邻居群的用户的已有兴趣模型推荐给当前用户,即为用户的潜在兴趣模型。

4.3 混合推荐算法模型的设计

得到用户已有和潜在兴趣模型后,将两个兴趣模型按照规则合并,再与候选的推荐学习资源集合计算相似度[7],给定相似度阈值a,检查推荐结果。

设用户u的EMu=(w1u1,w1u2,…,w1uj,…,w1uk),PMu=(w2u1,w2u2,…,w2uj,…,w2uk),HMu=(w3u1,w3u2,…,w3uj,…,w3uk),候选推荐内容集d=(wd1,wd2,…,wdj,…,wdk)。w3的计算方法为:

W3=max{w1,w2},其中max{}表示w1,w2中的较大值。最后用余弦法计算d和HM的相似度,检查推荐结果。

算法:HM的构建算法和推荐结果的生成,如下:

5 实验结果及分析

5.1 数据表示

在本文介绍的混合推荐系统中,是根据不同的搜索内容集中的各个特征词的不同权重来产生推荐结果的。权重矩阵可以用一个m×n的矩阵表示。m行代表m个用户的搜索内容集,n列代表n个特征词,第i行第j列元素Wij表示第j个特征词在第i个用户的搜索内容集中的权重。权重矩阵如表2所示。

表2 数据表示形式

5.2 实验的评价指标

将推荐结果推荐给用户后有如表3结果:

表3 推荐结果

根据结果的这几种可能,通常用准确率(或查准率,Precision)和覆盖率(或召回率,Recall)来作为算法评价的指标。准确率的计算公式为:

表示推荐了并被访问了的学习资源数量与推荐学习资源总数之比,而覆盖率计算公式为:

表示推荐命中学习资源数量与测试集中用户所访问学习资源总数之比。

实际上查准率和查全率是相互冲突的。如果增大推荐学习资源的数目,就会使得覆盖率增大,但是同时又使得准确率下降。因此,通常将两者给一个相当的权重合并成一个综合测度F来评价推荐质量。F值越大,推荐质量越高。计算公式如下:

5.3 实验方案

本文的数据取自Datacastle的用户浏览数据集,随机抽取1000名用户,将推荐项目数从10到60进行试验。发现用户潜在兴趣的过程中,要实现确定邻居群的大小即兴趣相似的用户个数。为了便于评估性能,我们把邻居群固定大小35人,相似度算法选用余弦计算法。推荐算法的最终结果是要生成N项用户可能最有兴趣的学习资源,以此供用户进行选择,考察在不同的N值下,不同的算法(基于内容推荐算法、协同过滤算法、本文介绍算法)的准确率、覆盖率以及F值。

由此,在不同推荐项目数(N)的情况下:

各个算法的准确率如图2所示。

图2 准确率

各个算法的覆盖率如图3所示。

图3 覆盖率

各个算法的F值如图4所示。

图4 F值

从上述的实验结果,我们可以得出以下结论:

(1)准确率和覆盖率是两个互逆的参数,随着推荐项目数的增大,准确率下降,覆盖率上升;(2)F作为一个综合的参数权值,随着推荐项目数的增大有一个峰值,然后缓慢减少;(3)本文介绍的算法优于协同过滤算法和基于内容的推荐算法,同时还不存在冷启动的问题。

6 结论

推荐系统经历了较长时间的研究和发展已取得令人瞩目的成果。个性化推荐系统的作用主要表现在三个方面:(1)将在线学习资源的浏览者转变为购买者;(2)提高各种在线学习网站交叉融合的能力;(3)改善用户体验,提高用户忠诚度。

但是还需进一步的努力。不可否认的是,推荐系统还有许多难点没有突破,例如提取精准的用户偏好和对象特征;推荐的多维度研究;推荐系统的安全性研究等问题,但是我们坚信随着社会的发展,科技的不断进步,对于推荐系统的研究也会越来越深入,从而更好地服务于人们的物质文化生活。

猜你喜欢

权重混合协同
创造力的“阴暗面”与“创新—保新”的协同论
混合宅
输入受限下多无人机三维协同路径跟踪控制
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
家校社协同育人 共赢美好未来
权重常思“浮名轻”
混合运算大篷车
为党督政勤履职 代民行权重担当
权重涨个股跌 持有白马蓝筹
京津冀协同发展