基于协同过滤算法的个性化推荐系统研究

2022-06-15 11:43覃琼花
科技资讯 2022年10期
关键词:协同过滤系统设计算法

摘要:个性化推荐系统分为离线系统和在线系统,二者相互联系,相互配合,且它在发展过程中也存在一些问题。针对以上问题,可以通过用户主导推荐和项目指导推荐分别进行改进。另外,一个好的个性化推荐系统离不开优秀的设计,主要分为4个管理系统:源数据管理、ETL管理、数据策略管理和集群管理,重点是数据策略管理。该文通过对协同过滤算法的个性化推荐系统进行分析,希望能够通过该文简单地分析探讨为后研究者提供借鉴意义。

关键词:协同过滤  算法  个性化推荐系统  系统设计

中图分类号:G71  文献标识码:A   文章编号:1672-3791(2022)05(b)-0000-00

基金项目:2020年广西高校中青年教师科研基础能力提升项目(项目编号:2020KY48012); 2020年百色市现代教育技术科研课题(项目编号:SZ202008)。

作者简介:覃琼花(1981—),女,本科,讲师,研究方向为计算机技术应用、教育信息化。

DOI:10.16661/j.cnki.1672-3791.2112-5042-2431

Research on Personalized Recommendation System Based on Collaborative Filtering Algorithm

QIN Qionghua

(Baise Vocational College,Baise,Guangxi Zhuang Autonomous Region,533000 China)

Abstract: Personalized recommendation system is divided into offline system and online system, which are interrelated and cooperate with each other. It also has some problems in the process of development. To solve the above problems, user-led recommendation and project guidance recommendation can be respectively improved. In addition, a good personalized recommendation system cannot be separated from excellent design, which is mainly divided into four management systems: source data management, ETL management, data policy management and cluster management, with the emphasis on data policy management. This paper analyzes the personalized recommendation system of collaborative filtering algorithm, hoping to provide reference for future researchers through simple analysis and discussion in this paper.

Key Words: Collaborative filtering; The algorithm; Personalized recommendation system; The system design

個性化推荐系统早在1997年,被Resnick和Varian提出,在电子商务平台上,它根据用户的实际喜好,推荐相应的产品信息,给用户提供建议与指导,类似于承担着“虚拟销售”的作用,极大方便用户的购买需求[1]。完整的个性化推荐系统包括多个模块,即用户行为记录、用户数据分析和推荐算法,不同的模块承担不同的处理功能[2]。用户行为记录就是根据用户在互联网上进行的操作行为,例如:点评、浏览、信息停留阅读时间以及点赞等,判断用户对该同类信息的喜好,确定用户信息推荐范围。用户数据分析是根据用户的行为直接进行分析,确定用户的真实喜好,有针对性地提出类似的相关推荐信息。推荐算法则是这一整套流程的运行依据,确保流程的准确运行,是系统中最重要的关键技术。

1 协同过滤算法的类型

总体来说,协同过滤算法可以分为,基于模型的协同过滤算法和基于内存的协同过滤算法两个大类。

1.1基于模型的协同过滤算法

基于内存的协同过滤算法是以项目为依托,以用户的想法为根据的过滤算法,它先根据用户的实际需求筛选与其想法类似的协同邻居用户,再根据协同邻居用户的关联项目为推荐对象和评分对象,对用户进行推荐,并预测用户对这些项目可能的评分值,并能根据分值进行优劣筛选[3]。值得一提的是,项目的评分会作为本算法的判断依据,类比思想也会在此体现,如果协同邻居用户绝大多数均趋向于以上项目,那么判断该用户也会喜欢以上项目,相应的评分制度会推给该用户,默认喜欢相似的项目。

1.2基于内存的协同过滤算法

基于模型的协同过滤算法与基于内存的协同过滤算法有本质区别,前者趋向于在寻找关联协同邻居用户之前,进行模型构建(将用户的浏览、点击、购买与资讯阅读信息建立用户喜好综合模型),将模型与协同邻居用户的进行比对,预测用户的喜好,通过将项目集合分成多个模块,根据用户的模型将协同邻居用户的模块单元进行分类,筛选与用户模型最匹配的模块集合,将内容推荐给用户。这种技术有较多的分支,均体现关联性和对比分析的思想。E342F02E-7A77-4FB2-92FE-371A5EE03885

2 个性化推荐系统分析(协同过滤)

2.1 个性化推荐系统(协同过滤)的分类

协同过滤算法可以说是个性化推荐系统的最主要的算法,在系统的发展过程中起到举足轻重的地位。1992年,Tapesry系统处理技术是以个性化推荐系统为依托的技术[4]。1994年,GroupLens系统划时代地出现了,将个性化推荐系统引入了新航道。目前为止,协同过滤算法仍然是个性化推荐系统的主流算法,负责将协同邻居用户的推荐信息及时传递给系统,接受下一步指令。

协同过滤算法的核心思想是在短时间内有效搜寻用户喜好相关的邻居用户,根据邻居用户对项目的喜好进行筛选与排序,将结果推荐给初始用户。在算法进行过程中,需要按照项目相似度寻找相关联的协同邻居用户,采用数学方法按相似度的高低进行排序。

个性化推荐系统可以分为离线系统和在线系统,二者相互联系,相互配合。在线系统中,老用户和新用户也有不同的分析路径,老用户会受到系统的重点分析,先通过用户行为数据库进行搜寻比对,再对其行为特征进行提取,找到相似的行为特征的用户,根据协同过滤算法,将邻居用户的有效信息进行筛选,类比、过滤和排名,最终呈现排名后的结果[5]。新用户由于无法摸清初始喜好,只能通过协同过滤算法进行粗略筛选,提取出精度较低的类似对比结果,和老用户一样进行过滤和排名后,确定最终的筛选结果。离线系统是帮助在线系统运行的重要手段,通过实施用户行为模型分析、用户和项目聚类分析、相似度表和用户反馈模型,以使在线系统及时选择分析结果。

2.2 个性化推荐系统的问题

个性化推荐系统虽然经过20余年的发展,取得一定的成果,但仍然存在一些问题。首先,存在数据缺乏的问题[6]。虽然在互联网上用户面临海量的关联数据,但是当个性化推荐系统辅之以协同过滤算法,会对协同邻居用户数量进行精挑细选,必然会导致最终选择的用户数相对执行算法前较少,忽略了低分的有效数据的收集整理,所以在创建样本矩阵时,出现样本不足的情况,影响矩阵的建立。其次,样本丰富度问题。用户的喜好虽然可以用协同过滤算法下的个性化推荐系统进行提炼推荐,但是在事物的喜好上,仍然存在用户之间的微小差距,当用户因为个人原因或其他原因对某种喜好产生厌倦,必然会影响最终的推荐结果。因此,广泛地推荐喜好能避免因个人原因导致单一推荐失效的问题,在推荐系统中可以考虑将推荐范围和类别延伸,多角度、多方位考虑推荐对象。再次,系统的运算能力要满足数据库内的数据迭代更新的需要,当系统经过多次筛选、排名后,必然会使系统的数据增加,甚至影响系统的稳定运行速度,所以系统自身运算能力要足够强大,满足有限时间内产生指定数量的推荐结果,如果在系统长期运行中无法保证高效运算,用户会丧失对系统的使用耐心,放弃使用系统。最后,新用戶问题是系统自始至终一直存在的问题,主要原因是新用户相关信息缺乏,系统无法预见新用户的真实喜好,初次采用协同过滤算法分析会导致推荐准确度大大降低。

2.3 个性化推荐系统(协同过滤)的改进

2.3.1 用户主导推荐

以用户为识别依据,是个性化推荐系统的创新,它直接将初始用户与对比用户相匹配,可以根据对比用户对项目的喜爱程度预测初始用户对同样项目的喜爱程度。例如:在网购时,甲较乙之前看中了一件商品,系统通过分析,发现甲和乙对该商品具有类似的喜好,所以默认为乙也喜欢该商品,故将甲喜欢的该商品推荐给乙。用户主导推荐的评价机制是评分,通过对某一项目进行评分后再比对,把评分较高的相关用户喜欢的商品推荐给初始用户,实际上也体现了加权逼近的思想。

2.3.2 项目主导推荐

项目主导的核心思想是以项目之间的评分为依据,将大量用户喜欢的项目与初始用户喜欢的项目进行对比后筛选,再通过排序确定最优的项目,那么这个最优质的项目也是初始用户喜欢的项目[7]。这种推荐方法与上述用户主导的推荐方法相比有不同之处,如果我们计划确定初始用户对某一项目的评分,需要确定这一项目和其他类似项目之间的相似度,按评分的高低将相似度进行排序,得到排序中较高的项目排序集合,将此集合的加权平均值作为初始项目的最终评分,以次评分为初始项目的评分,从而确定初始用户的评分。

3 个性化推荐系统设计(协同过滤)

3.1 系统结构模块设计

个性化推荐系统模块可以分为4个管理系统:源数据管理、ETL管理、数据策略管理和集群管理,以上顺序也是管理流程的顺序。源数据可以分为结构化模块数据和非结构化模块数据,结构化数据包括日志、项目和用户,非结构化数据包括文本、网页和图表等,分类进行数据采集是数据处理的第一步。ETL管理是数据存储的管理模式,它是将非结构化的数据进行整理,通过分布、数据储存,然后在元数据库中整理分析。个性化推荐系统设计的关键模块是数据策略管理,它能实现基于协同过滤算法的数据推荐策略分析,通过用户、项目、评价、偏好等因素,选择相关的算法,通过分析后,采用过滤、排序和推荐确定最终推荐结果。集群管理采用分发的模式,将集群分发给相关门户,通过门户提供相应的服务。

3.2 系统重点模块举例介绍

3.2.1 数据策略模块

这个模块也是上述系统设计的核心,如上所述,通过用户、项目、评价、偏好等因素,选择相关的算法,通过分析后,采用过滤、排序和推荐确定最终推荐结果。例如,为用户推荐某地图上某区域排名前10的小吃店,每行首列表示用相关用户的名字,后面的10列表示筛选出的小吃店的编号,选择27号用户,发现该用户为男性,年龄为26岁,平均每日点外卖2.3次,为其筛选出的小吃店编号分别是1280、1602、904、1017、824、1282、1071、1681、358、968,体现了筛选的无序性和排序的精确性。E342F02E-7A77-4FB2-92FE-371A5EE03885

3.2.2 源数据管理模块

源数据管理可以分为非结构化数据管理和结构化数据管理,在个性化推荐系统中,结构化数据包括用户初始数据、文本数据、记录数据等,非结构化数据包括图片、音频文件等,不同类型的数据采用不同的管理方法。数据管理可以采用下面的伪代码进行分析。

输入端口:数据标记。输出端口:标记。

(1)添加结构化数据;(2)判别数据首列,添加用户数据,添加文本数据;(3)添加非结构化数据;(4)判别非结构化数据首列;(5)插入;(6)循环操作。

4结语

该文分开论述协同过滤算法和个性化推荐系统,并阐述二者之间的关联性,重点介绍了基于协同推荐算法的个性化推荐系统的结构、分类和优缺点,并拓展介绍了系统的改进方法。从上可知,协同过滤算法分为基于模型的协同过滤算法和基于内存的协同过滤算法,基于内存的过滤算法是以项目为依据,基于模型的过滤算法以用户为依据,与个性化推荐系统的分类有相似之处。

个性化推荐系统是以协同过滤算法为核心的系统,其核心思想是在短时间内有效搜寻用户喜好相关的邻居用户,根据邻居用户对项目的喜好进行筛选与排序,将结果推荐给初始用户。它分为离线系统和在线系统,二者相互联系,相互配合。它在发展过程中也存在一些问题,例如数据缺乏、样本丰富度不足、系统运算能力低和新用户、新产品干扰等。针对以上问题,可以通过用户主导推荐和项目指导推荐分别进行改进。一个好的个性化推荐系统离不开优秀的设计,主要分为4个管理系统:源数据管理、ETL管理、数据策略管理和集群管理,重点是数据策略管理。

参考文献[1] 陈耶拉,耿秀丽.基于改进协同过滤的个性化产品服务系统方案推荐[J].计算机集成制造系统,2021,27(1):240-248.

[2] 杨雪.基于协同过滤的图书馆书目个性化推荐系统[J].微型电脑应用,2021,37(9):169-171+175.

[3] 陈炼.基于快速矩阵分解的分布式协同过滤推荐算法研究[D].长沙:湖南大学,2020.

[4] 王保.基于协同过滤算法的农业信息推荐系统研究[J].电脑编程技巧与维护,2021(9):124-125,128.

猜你喜欢
协同过滤系统设计算法
Travellng thg World Full—time for Rree
学习算法的“三种境界”
算法框图的补全
算法初步知识盘点
基于链式存储结构的协同过滤推荐算法设计与实现
基于相似传播和情景聚类的网络协同过滤推荐算法研究
基于协同过滤算法的个性化图书推荐系统研究
混合推荐算法在电影推荐中的研究与评述
一种基于SATA硬盘阵列的数据存储与控制系统设计研究
目标特性测量雷达平台建设构想