协同过滤算法在专业推荐中的应用
2019-06-18宋明惠陈俊华朱晨笛仝铠溦
宋明惠 陈俊华 朱晨笛 仝铠溦
摘 要:大类分流时专业的选择决定了学生的就业方向,然而大多数学生并不能独立地选择合适的专业,所以“智能专业推荐”是十分必要的。该文通过阐述和分析协同过滤算法的特点和不足,提出了一种改进的协同过滤算法用于专业推荐中,解决了冷启动的问题,,提高了系统的可靠性。
关键词:专业推荐 大类分流 协同过滤算法
中图分类号:TP301.6 文献标识码:A 文章编号:1672-3791(2019)03(b)-0216-02
近年来,“大类招生、分流培养”模式被越来越多的高校所采用,在这种新的培养模式下,专业分流是其中一个重要的环节,选择一个适合自己的专业对高校学生来说是一件十分重要的事情,用户在进行专业选择前会收集各方面资料,其中已经经历过分流的用户的建议和体会是未分流的用户最想了解的,并且会将与自己的成绩兴趣等相近的用户的专业作为重要的参考。该文使用协同过滤算法将与当前用户相似度最高的用户选择的专业作为推荐专业。
1 推荐算法
目前推荐算法广泛应用于电子商务、社会网络、数字化图书馆、视频/音乐点播等领域,比较成熟的推荐算法主要有关联规则、基于内容的推荐、协同过滤和混合推荐[1]。这4种算法各有优缺点,其主要优缺点如表1所示。
根据表1所示的各类推荐算法的优缺点,该文选择协同过滤算法作为专业推荐的推荐算法。
2 用户相似度
用户相似度即描述用户之间是相似程度的度量,传统的相似度有皮尔逊相关系数法、向量余弦法、调整的向量余弦法、约束的皮尔逊相关系数法、斯皮尔曼相关系数法等,在不同的应用领域中,选取不同的相似度计算方法。在电子商务中,用户的相似度可以通过几个用户对同一件商品的打分情况(这里的分值可能表示真实的购买,也可以是用户对商品不同行为的量化指标。例如,浏览商品的次数,向朋友推荐商品、收藏、分享、或评论等。这些行为都可以表示用户对商品的态度和偏好程度)来计算用户之间的相似度。
3 协同过滤算法
协同过滤的基本思想是:找到与当前用户Ccur相似(比如兴趣相似)的其他用户Cjs,计算对象s对于用户的效益值u(Cjs,s),利用效益值对所有s进行排序或者加权等操作,找到最适合Ccur的对象s*[2]。其基本思想非常易于理解,在日常生活中,我们往往会利用好朋友的推荐来进行一些选择,在普遍的推荐系统中是基于其相似用户对某一内容的评价向目标用户进行推荐,而在该系统中,只需找到最相似的用户即可(见表2)。
根据上述内容可知,协同过滤算法需要基础用户作为参考才能进行协同推荐,基础用户对该算法而言不可或缺。获得基础数据,解决冷启动问题是进行推荐的基础。
4 智能专业推荐的实现
根据霍兰德人职匹配理论,人格一共被分为6种不同的类型,每一种类型的人格都有着不一样的特点[3]。基于职业兴趣测试的理论,查阅相关资料提取出15个区分度明显的关键词,依据15个关键词设计了40道具有专业区分度的题目,形成调查问卷。向大类分流后的学生进行问卷调查,收集得到203份问卷结果。
将问卷结果的关键词进行分值的统计,把计算机创新实验班、计算机科学与技术、物联网、网络工程、数字媒体技术5个专业作为5个基础用户C,计算每个关键词分值所占百分比,做为用户C的属性对象Si,形成向量集合S。当前用户Ccur答题结束后,系统统计每个关键词分值所占百分比,作为当前用户Ccur的属性对象S`i,形成向量集合S`。
通过公式(1)计算当前用户Ccur和5个基础用户C的余弦相似度similarity,将similarity最小的用户C作为推荐专业,经过测试得推荐结果精确度为67.3%。
通过公式(2)计算当前用户Ccur和5个基础用户C的皮尔森相关系数r,将r最小的用户C作为推荐专业,经过测试得推荐结果精确度为70.2%。
因此将公式(2)作为该系统的推荐计算方法。
5 结语
该文通过对协同过滤算法的研究,将协同过滤算法应用到笔者学校的大类分流系统的智能专业推荐功能中,在大类分流阶段为用户提供了专业借鉴,得到了用户的一致好评。并且随着基础用户数据的增加,推荐的精确度不断提高。
参考文献
[1] 冷亚军,陆青,梁昌勇.协同过滤推荐技术综述[J].模式识别与人工智能,2014,27(8):720-734.
[2] 许海玲,吴潇,李晓东,等.互联网推荐系统比较研究[J].软件学报,2009,20(2):350-362.
[3] 雷长青.浅谈大学生职业规划设计中霍兰德人职匹配测试法的运用[J].现代经济信息,2018(14):445.
①基金项目:北京林业大学大学生创新创业项目—— 基于协同过滤的大類专业分流实时动态系统研建(项目编号:S201810022089)。