APP下载

基于SVD的校友活动推荐系统研究

2023-10-16高俨张立敏陆自强袁绍杰常琳

中国新通信 2023年15期
关键词:推荐系统

高俨?张立敏?陆自强?袁绍杰?常琳

摘要:校友活动是指利用校友资源参与学校的育人过程,以此让学生了解和掌握行业最新发展动态,为其提供有价值的职业规划,同时帮助学生拓宽视野,提高学习能力,增强创新能力。本文基于校友活动,将收集到的校友简历数据进行分类处理,对于结构化数据进行直接存储,对于非结构化数据,利用LDA模型从校友简历数据中发现主题,从而实现对校友导师数据进行分类和结构化存储的目的;同时,利用校友导师活动过程中学生对导师的评价,构建出“导师-评分-标签”三元数据集;最后,在构建的数据集基础上,基于Model Based协同过滤算法,以SVD模型为核心,实现基于在校生评价的校友导师推荐。实验结果表明,该推荐算法可以基于某个场景的校友导师活动进行推荐,并提高活动中校友导师与学生之间的匹配度与匹配效率,为有序引导校友资源参与学校人才培养提供了一种创新型思路。

关键词:推荐系统;SVD;校友导师;LDA模型

基金项目:云南省教育厅科学研究基金项目《基于校友活动场景中的在校生数字画像研究——以云南农业大学为例》(编号:2022J0360)。

高俨(1979.04-),男,汉族,云南石屏,硕士,讲师,研究方向:教育信息化。

校友是高校育人过程中的重要社会资源,通过校友活动能够为在校生提供学习和充实自我的环境。校友活动中,不同类型的校友具有不同的优势,妥善运用校友资源,分类管理校友简历,构建校友导师推荐系统,可以基于不同的校友活动场景,为学生适时推荐有针对性的校友活动,以满足在校生的培训活动需求,这是校友会的主要工作职能,也是支持校友资源有效进入学校人才培养通道的重要技术和支撑手段。

一、推荐系统的相关研究

推荐系统是当人们面临决策问题时,通过回溯历史数据,寻找已知与未知之间最适合的匹配关系,从而提供支持决策的依据[1]。这些经验既可以来源于自身对于已知模式的掌握,也可以来源于别人的经验传授。一般来说,一个推荐系统大致包括五个步骤,分别是数据的收集、数据的存储、算法召回、结果排序和结果应用。

数据收集是将有用的信息进行汇总、清洗以及预处理,以便后续进行分析和推荐。数据收集之后要持久化地存储数据,方便后续在不同的阶段或者不同的模块可以灵活地使用,通常会按照数据的结构化或者非结构化分别存储。算法召回是将海量的数据集根据特定的算法进行初步地筛选,尤其是面对动辄成数百万甚至数千万的数量级,通过算法召回的多种测量,尽量将用户关注的信息筛选出来,同时过滤掉多余的信息。结果排序是对召回的结果进一步筛选,并且精准排序,这时的数据规模从几百降低至几十甚至几个,以便最终呈现给用户。排序过程中一般会针对多个目标进行优化,这些目标可能是针对用户需求而具体确定的,例如在商业運用中,要想提高用户的留存或增加用户的新颖性,都会被作为排序的目标,纳入排序算法当中。结果应用是指根据具体的场景给用户展示最终推荐结果,不同的场景会影响推荐的策略和算法,而策略和算法选择的结果又会由最终的场景呈现出来。例如,在商业中常见的“猜你喜欢”和“相似推荐”,就是两个不同的场景,而不同的场景会影响后续算法和策略的选择,所以它们是相辅相成的关系。

二、校友导师数据分析

本研究基于校友导师简历数据和学生历史行为进行数据挖掘,分析校友导师的结构化特征,同时从学生对导师的多样化需要出发计算相似度,并以此为基础,在校友活动组织的场景中实现校友导师的个性化推荐,从而为有序引导校友资源参与学校人才培养提供了一种创新型思路。

校友导师简历数据由多类属性组合而成,能从多个维度反映出校友导师的概貌,是一种典型的半结构化的数据结构。属性类型是简历中各字段的归并分类集合,共分为人口属性、学籍属性、导师类型和人物自传四种类型,前三类包括属性较易进行结构化处理,人物自传是纯文本类型,需通过文本挖掘等方法对其进行清洗转化来体现目标的结构化特征,进而转化为结构化数据。本文通过运用LDA模型对人物自传类型属性进行主题发现,以此获得校友导师人物自传的标签刻画。

LDA是一个关于词、主题、文档三层贝叶斯概率模型[2]。首先居于人物自传构建词袋模型;其次每个人物自传居于词袋形成其词语分布,其参数满足Dirichlet分布;最后把每个人物自传看做由词组组成的向量,计算其基于主题的概率分布,完成校友导师的人物自传分类。本文共收集本校110名校友人物自传类型数据,通过分词、构建词库、计算TF-IDF值,最终获得个人自传主题分类结果如表1所示。

三、基于协同过滤算法的校友导师推荐

(一)协同过滤推荐

协同过滤算法是在算法召回过程中举足轻重的一个算法[3]。协分过滤的算法可以分为两类,分别是memory based和Model based。其中memory based又分为User Based和Item Based。User Based是计算两个用户的相似性,根据相似用户进行推荐,Item Based是寻找用户在消费历史上所有喜欢过的物品,通过计算物品的相似性进行推荐。

Memory based有两个优点,第一是可解释性强,无论是User Based还是Item Based,都是利用相似性,或者说利用过往的经验记忆进行推断。第二是算法简单,适合新项目或者小型团队,但同时也存在泛化能力较弱、计算开销较大的问题,为了避免这两个缺点,就引入了Model Based的协同过滤。Model Based的协同过滤,是用一个预先训练好的模型来进行拆解,常见模型包括矩阵分解和神经网络,好处是线上推断速度较快且泛化率比较强。

(二)基于SVD的协同模型的推荐

本文中使用SVD矩阵分解作为Model Based的核心模型来对实现协同过滤算法。奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,不仅可以用于降维算法中的特征分解,还可以用于推荐系统以及自然语言处理等领域[4]。

SVD(Singular Value Decomposition)称为奇异值分解 ,主要用于对高维矩阵进行分解降维。对于任意一个矩阵的矩阵A,可以将其分解为三个矩阵,即:

其中,U是 m×m 的正交阵,V是 n×n 的正交阵,Σ是 m×n 的对角阵,其主对角线上的元素用σi表示,并按照从大到小排列,称为奇异值,其减少特别的快。在很多情况下,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上的比例,因此假设σk+1=0,则利用矩阵分块乘法可得

假设令

则A=PQ即A的满秩分解。

利用该模型,在本文中学生对老师的评分可以看成一个矩阵A,则其存在一个满秩分解即

其中U表示参与评分的学生,I表示校友导数的数量。利用A中的已知评分训练就可以训练P和Q,使得P和Q相乘的结果最好地拟合已知的评分,那么A中未知的评分也就可以下式进行表示。

假设已知的评分为rui,真实值与预测值之间的误差为eui=rui- ,其误差平方和SSE= ∑ u,i e2ui =∑ u,i (rui-∑ kk=1 puk qki )2 ,同时为防止过拟合加入正则化因子,误差平方和变为SSE=1/2∑ u,i  e2ui  +1/2 λ ∑ u | pu |2 +1/2 λ ∑ i |qi |2,

则其更新式为:

其中η 为puf和qij的学习率,即迭代学习的步长。

同时由于学生对校友导师的打分不仅取决于二者的选择关系,还有一部分取决于学生与校友导师的独有属性,这些属性之间是无关的,因此根据Koren做法[5-6],可以进一步将SVD的预测公式修改为:

其中,μ为总的平均分,该平均值会对预测值产生作用;bu为学生u的属性值,表示学生在打分过程中的偏好,它与选择的校友导师属性是无关的;bi为第i个校友导师的属性值,反映导师的固有的特性,同样与学生无关。在相应的SSE在加入惩罚因子后就变为:

相应的更新公式,并在原来的基础上增加两个关于bu和bi的更新式,变为:

其中eui = rui- 。

(三)推荐结果

本文一共收集1343名同学对110名校友导师的评价,在参与活动或观看相关资料后,每名同学根据自己的实际情况对感兴趣的校友导师进行打分,分值为1-5分,实验数据集的稀疏度为20.102%,即20.102%的导数有评分。实验过程中采用网格搜索和交叉验证,在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器。其中相关参数设置如下为:

①迭代次数 n_epochs=5,步长lr_all=0.002,正则化项reg_all=0.4时,RMSE=0.9762。

②迭代次数 n_epochs=5,步长lr_all=0.002,正则化项reg_all=0.6时,RMSE=0.9463。

③迭代次数 n_epochs=5,步长lr_all=0.005,正则化项reg_all=0.4时,RMSE=0.9292。

④迭代次数 n_epochs=5,步长lr_all=0.005,正则化项reg_all=0.6时,RMSE= 0.8908。

⑤迭代次数n_epochs=10,步长lr_all=0.002,正则化项reg_all=0.4时,RMSE=0.9079。

⑥迭代次数 n_epochs=10,步长lr_all=0.002,正则化项reg_all=0.6时,RMSE= 0.9116。

⑦迭代次数 n_epochs=10,步长lr_all=0.005,正则化项reg_all=0.4时,RMSE= 0.9514。

⑧迭代次数 n_epochs=10,步长lr_all=0.005,正则化项reg_all=0.6时,RMSE=0.9463。

对应实验结果,输出对应最好RMSE结果的参数为迭代次数 n_epochs=5,步长lr_all=0.005,正则化项reg_all=0.4。对于没有被打分的校友,按照该模型预测分值,任选20名学生与20名校友,其对应的推荐矩阵如图1,只有预测分值大于4的校友才会被推荐给某位同学。

四、结束语

本文基于校友参与学校人才培养过程中收集到的信息,以及在开展校友导师活动中学生对导师的评价,对校友导师的数据和学生与导师之间的关系进行了分析。首先对校友半结构化的数据以LDA模型为基础进行主题发现,实现对校友数据的结构化处理。同时,结合校友导师与学生之间在活动中形成的关注和评价关系,运用基于协同过滤算法的推荐系统,实现对校友导师的推荐。推荐系统的实践过程中需要考虑多种综合因素,不同的运用场景起到不同的作用,校友导师推荐过程中,每一个学期的时间节点不同,学生群体对于校友活动的需求类型也是不同的。例如,进入新学年,新生群体对于如何规划学习和时间有更多需求;进入毕业季,毕业生群体更加关注如何就业和规划职业发展;在各类创业活动竞赛中,有创业经验的导师组织的活动往往更受有创业情结的学生群体欢迎。本次研究只探讨了其中一种实现算法的模型,在下一步研究工作中将进一步综合考虑并改进算法,以期获得更好的推荐结果。

作者单位:高俨 张立敏 陆自强 袁绍杰 常琳

云南农业大学校友会办公室

参  考  文  献

[1]RESNICK P,VARIAN H R. Recommender systems [J].Communications of the ACM,1997,40(3):56-58.

[2]阮光冊.基于LDA的网络评论主题发现研究[J].情报杂志,2014,33(03):161-164.

[3]于蒙,何文涛,周绪川,等.推荐系统综述[J].计算机应用,2022,42(06):1898-1913.

[4]赵营.结合SVD的协同过滤算法研究[J].通讯世界,2016(10):255.

[5]Koren Y,Bell R,Volinsky C.Matrix Factorization Techniques for Recommender Systems[J].Computer,2009,42(8):30-37.

[6]Koren Y.Factorization meets the neighborhood: a multifaceted collaborative filtering model[C]ACM SIGKDD International Conference on Knowledge Discovery and DataMining.ACM,2008:426-434.

猜你喜欢

推荐系统
数据挖掘在选课推荐中的研究
基于用户偏好的信任网络随机游走推荐模型
基于个性化的协同过滤图书推荐算法研究
个性化推荐系统关键算法探讨
浅谈Mahout在个性化推荐系统中的应用
关于协同过滤推荐算法的研究文献综述
一种基于自适应近邻选择的协同过滤推荐算法
UGC标签推荐系统的一种新的标签清理方法
网上商品推荐系统设计研究
基于消费者视角的在线推荐系统研究综述