推荐系统
一种将用户和物品联系起来的工具
推荐系统(推荐信 System或Recommender System,简称RS)是一种信息过滤系统,用于预测用户对物品的评分或偏好,被广泛应用于电子商务、社交网络、数字化图书馆、教育、在线媒体等领域。推荐系统的主要作用就是帮助用户从海量信息中快速找到自己喜欢和感兴趣的内容,提高用户的满意度和忠诚度,同时也可以帮助企业提高销售额和用户留存率。
推荐系统始于20世纪90年代初,1992年,Belkin(贝尔金)和Croft(克劳福特)对信息过滤和信息检索的研究奠定了推荐系统的理论基础。随着1996年Net Perceptions公司的成立,推荐技术逐步商业化。2007年,在明尼苏达大学举办了首届ACM推荐系统会议(ACM RecSys),标志着学术研究和实际应用在推荐系统领域的融合。自2016年起,深度学习技术在推荐系统中的应用引起了广泛关注,推动了该领域的快速发展。同时,对用户隐私和数据安全的重视日益增强,促进了隐私保护技术的应用。
从结构上看,推荐系统一般由用户建模模块、推荐对象建模模块和推荐算法模块组成。主流的推荐算法有协同过滤推荐、基于内容的推荐、基于知识的推荐、基于社交网络的推荐和混合推荐等。尽管推荐系统在解决信息过滤问题方面取得了较大成就,但其仍面临数据稀疏性、冷启动、可扩展性和用户兴趣漂移等问题。未来推荐系统的发展趋势可能集中于个性化与精准化增强、多维度与上下文信息的整合、多领域应用拓展、技术融合与创新和数据隐私与安全保护等方面。
定义
截至2024年,推荐系统已经历了20多年的发展,但是仍没有一个精确的定义。被广泛接受的推荐系统定义是Resnick(雷斯尼克)和Varian(瓦里安医疗系统)在1997年给出的:“推荐系统是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。”推荐系统的形式化定义如下:
设是所有用户的集合,是所有可以推荐给用户的项目的集合。实际上,和集合的规模通常很大,如上百万的顾客以及上亿种歌曲等。设效用函数可以计算项目对用户的推荐度(如提供商的可靠性(vendor reliability)和产品的可得性(product availability)等),即 ,是一定范围内的全序的非负实数,推荐要研究的问题就是找到推荐度最大的那些项目如下式:
其是一种自动联系用户和物品的工具,它能够在信息过载的环境中帮助用户发现令他们感兴趣的信息,也能够将信息推送给感兴趣的用户。
发展历程
起源阶段
推荐系统的根源最早可追溯到认知科学、近似理论、信息检索管理科学等领域的研究,自20世纪90年代初期第一个推荐系统Tapestry提出以来,推荐系统开始成为一个独立的研究领域,并一直保持着较高的研究热度。
1992年,Belkin(贝尔金)和Croft(克劳福特)对信息过滤和信息检索进行了深入的分析与比较,奠定了推荐系统的理论基础。信息检索作为搜索引擎的核心技术,而推荐系统则主要基于信息过滤技术。同年,Goldberg(戈尔德堡)等人提出了Tapestry系统,这是第一个通过人工评估进行的协同过滤的信息过滤系统,为后来推荐系统的发展奠定了基础。
在Tapestry系统的启发下,来自麻省理工学院(MIT)和明尼苏达大学(UMN)的研究人员开发了名为GroupLens的新闻推荐服务,这一服务的核心组件是用户-用户协同过滤模型。同时,明尼苏达大学的John Riedl(约翰·里德)教授成立了同名的GroupLens研究实验室,成为推荐系统研究的先驱。
在音乐和视频领域,类似的推荐技术也得到了广泛应用。例如,Ringo系统应用于音乐推荐,而Video Recommender则专注于视频推荐。这些实践不仅证明了推荐技术在不同领域的应用价值,也为推荐系统的发展提供了丰富的实践经验。
商业化阶段
随着电子商务的兴起,业界开始意识到推荐技术的商业价值。1996年,专注于提供营销推荐引擎的Net Perceptions公司成立,其客户包括亚马逊亚马逊网站)、百思买(Best Buy)和杰西潘尼(J.C. Penney)等知名电商企业。同年,Schafer(谢弗)等人解释了推荐系统如何通过分析界面、推荐模型和用户输入等三个方面来帮助电商网站增加销售额。这标志着学术研究和实际应用在该领域的融合,共同推动了推荐系统的进一步发展。
1997年秋季,GroupLens研究实验室启动了MovieLens项目,并利用EachMovie数据集训练了首个版本的推荐模型。自那以来,MovieLens数据集在1998年至2019年期间不断更新发布,成为推荐系统研究中最受欢迎的数据集之一。
蓬勃发展阶段
2005年之前,协同过滤技术主导了推荐系统应用和研究的领域。这包括用户-用户协同过滤、物品-物品协同过滤以及基于奇异值分解(SVD)的协同过滤。2006年至2009年的Netflix Prize竞赛激发了矩阵分解模型的广泛研究。在同一时期,一些研究者开始提出一些非正式的观点,他们认为推荐系统的评估应从传统的准确性指标转向以用户为中心的评估。
由于推荐系统基础研究和商业应用的快速发展,学术界决定于2007年在明尼苏达大学(UMN)举办首届ACM推荐系统会议(ACM RecSys),该会议已成为专注于推荐系统研究的最重要的年度学术会议之一。同年,Richardson(理查德森)及其同事提出了一种逻辑回归(LR)模型,该模型降低了30%的点击率估计误差。随后,LR模型在优化方法、自动特征工程等方面得到了持续改进
2010年,Rendle(兰德尔)引入了因子分解机(FMs)的概念,FMs将支持向量机(SVM)和分解模型相结合,取得了重要的进展。基于FMs,研究人员提出了领域感知因子分解机(FFMs),这一模型在考虑特征权重时充分考虑了特征所属的领域。与此同时,越来越多的研究开始关注推荐系统中的用户体验感。Pearl(珀尔)等研究人员提出了一个以用户为中心的推荐系统评估框架;Konstan(康斯坦)和Riedl(里德尔)呼吁推荐系统研究从纯粹集中在算法上的研究转向集中在用户体验上的研究。
成熟应用阶段
自2016年以来,基于深度神经网络的推荐模型在学术界和工业界都受到了广泛关注。在工业界,诸如Wide\u0026Deep和DeepFM等模型已被应用于改善应用程序推荐。而YouTubeDNN和correct-sfx等模型则用于提高视频推荐的准确性。为了更好地建模用户兴趣等序列信息,研究者们提出了DIN和DIEN等模型,利用注意力机制来处理这些信息。同时,Ruoxi Wang(王若溪)等人提出的DCN和DCN V2模型能够自动高效地学习有界度的预测特征交互。在学术界,研究者们也提出了一系列重要的深度推荐模型,如FNN、PNN、NeuralCF、NFM和CVAE等。为了解决推荐模型研究中的可复现性问题,一些学者开发了名为FuxiCTR的CTR预测开放基准。另外,Zhu Sun等人则创建了基于隐式反馈的Top-N推荐算法的基准,其中包括可复现和公平的评估指标。此外,Wayne Xin Zhao(赵鑫)等人提出了一个统一的框架,用于开发和复现用于研究目的的推荐算法。
自2017年以来,研究者们开始关注推荐系统的可解释性,提出了一系列可解释深度推荐模型。这些模型不仅能够提供准确的推荐结果,还能够解释推荐背后的原因,增强了用户对推荐系统的信任度。此外,随着图神经网络(GNN)的兴起,越来越多的研究开始探索如何利用图结构数据来改进推荐算法,特别是在社交网络推荐和内容推荐等领域。
同时,还有一些其他开源的推荐模型如LensKit和LibRec等,它们极大地推动了推荐系统研究的发展。近年来,随着隐私保护和数据安全问题的日益突出,差分隐私、联邦学习等技术也开始被引入到推荐系统中,以保护用户隐私和数据安全。
随着技术的不断进步和数据的不断增长,推荐系统正面临着越来越多的挑战和机遇。未来的研究将更加注重模型的效率和可解释性,以及如何更好地利用用户的行为和上下文信息来提高推荐的准确性和个性化程度。
应用领域
电子商务领域
推荐系统在电子商务领域的应用日益广泛,其核心在于通过深度解析用户的个人喜好和购物习惯,精准推送符合其需求的商品或信息。
对于用户而言,推荐系统不仅能在其购物目标不明确时提供个性化推荐,助力其发现潜在感兴趣的商品,进而将浏览行为转化为实际购买,提升购物体验;更能在结账时,根据已选商品智能推荐相关或更优质的选项,实现交叉销售和向上销售,促进销售额的提升。同时,这种个性化的服务也增强了商家与顾客之间的互动与联系,随着用户使用的频率增加,推荐系统的精准度也得以提升,从而进一步巩固了用户的忠诚度,为电子商务平台的持续发展奠定了坚实基础。
在线媒体领域
推荐系统在在线媒体领域的应用已经变得日益重要,它为用户提供个性化的内容推荐,以增强用户体验和满意度。在新闻推荐领域,推荐系统根据用户的偏好档案、历史行为数据等进行个性化新闻推荐,从而提升新闻覆盖量。在音乐推荐领域,推荐系统通过分析用户的听歌历史、收藏列表以及当前的环境信息来做出更准确的音乐推荐。在视频推荐领域,推荐系统通过考虑用户的观看历史、喜好、点赞和分享行为等因素帮助用户在海量短视频资源中快速找到用户感兴趣的内容。
社交网络领域
在社交网络领域,推荐系统能够帮助用户发掘新的社交关系、探索感兴趣的场所和活动,以及推荐相关商品。具体而言,推荐系统通过深度挖掘用户的社交行为,精准推荐可能产生交集的新好友,丰富了用户的社交网络;同时,借助智能手机的定位和大数据分析能力,推荐系统能够为用户推荐他们可能感兴趣的地点,无论是美食、景点还是娱乐场所,都能为用户带来全新的发现体验;此外,在基于活动的社交网络中,推荐系统能够智能地推荐用户可能感兴趣的活动,无论是线上还是线下的聚会、讲座或展览,都能帮助用户拓展社交圈子,丰富生活体验。
工作原理
推荐系统的工作原理可以分为数据收集、数据分析和候选生成三个主要部分。首先,在数据收集阶段,推荐系统会从多个数据源中获取信息,包括推荐物品或内容的元数据,用户的基本信息,以及用户偏好数据。接着,在数据分析环节,推荐系统运用信息过滤技术,如协同过滤、内容过滤或混合过滤等方法,对收集到的数据进行分析,挖掘出用户的潜在兴趣。最后,候选生成阶段基于前期的数据分析和用户偏好预测生成一个用户可能感兴趣的物品列表,并通过排序算法确保最符合用户喜好的内容优先展示。
数据收集
数据收集包括收集用户属性、推荐对象属性和用户对推荐对象的行为信息等。这一步骤主要依赖于用户的交互行为,包括不同用户的点击、浏览和购买历史等。同时,也会收集用户的反馈,如用户的评分和评论,以及用户的个人信息,如人口统计数据和浏览模式。此外,物品的属性,如产品描述和标签,也会被纳入考虑范围。
数据分析
通过使用信息过滤技术分析收集到的数据,推荐系统能够有效地预测并满足用户的偏好。在这一过程中,先进的算法和机器学习技术起了关键的作用,它们通过处理庞大的数据集,快速识别出对用户最为重要的因素,并通过分析用户的行为模式、喜好倾向以及反馈意见,准确预测用户的兴趣所在,同时还能不断学习并优化自身的推荐策略。
候选生成
候选生成(candidate generation)是将数据过滤阶段得到的目标用户最近邻集合进行最近邻评价,并将评价过的对象推荐给目标用户;同时利用模型对未知对象进行预测,将预测评分最高的对象推送给目标用户。
组成模块
推荐系统有3个重要的组成模块:用户建模模块、推荐对象建模模块、推荐算法模块。
推荐系统把用户模型中兴趣需求信息和推荐对象模型中的特征信息匹配,同时使用相应的推荐算法进行计算筛选,找到用户可能感兴趣的推荐对象,接着推荐给用户。
用户建模模块
为了提供个性化、高效且准确的推荐服务,推荐系统需要构建精细化的用户模型。这一模型不仅能够全面捕获并反映用户多方面的、动态变化的兴趣偏好,还能进行推理,进而对用户进行分类和识别,帮助系统更好地理解用户特征和类别,理解用户的需求和任务,从而更好地实现用户所需要的功能。推荐系统根据该模型进行推荐,所以用户描述文件的准确性和完整性对推荐系统的质量至关重要。
获取用户信息是建立模型的基础,其主要来源有:
(1)用户属性:用户最基本的信息,包括社会属性和自然属性。如用户的姓名、年龄、职业、收入、学历等。
(2)用户输入与反馈信息:用户主动提供给系统的信息,包括用户在搜索引擎中输入的关键词和用户反馈的信息,如用户输入的感兴趣的主题、频道;用户对推荐对象的喜好程度;用户对浏览页面的感兴趣、不感兴趣或感兴趣的程度的标注等。
(3)用户的浏览行为和浏览内容:体现了用户的兴趣和需求,包括浏览次数、频率、停留时间等,以及浏览页面时的操作(收藏、保存、复制等)浏览时用户表情的变化等。
(4)推荐对象的属性特征:不同的推荐对象,用户建模的输入数据也不同。网页等推荐对象通常考虑对象的内容和用户之间的相似性,而产品等推荐对象通常考虑用户对产品的评价。为提高推荐质量,将推荐对象的相关的属性也同时考虑,如除网页内容以外,还要考虑网页的发布人、时间等,产品类的对象还要考虑产品的品牌、价格、出售时间等。
推荐对象建模模块
对于应用于不同领域的推荐系统,它推荐的对象各不相同。为提高推荐系统的推荐精度,需对推荐对象进行建模。
推荐对象的推荐度是推荐系统基于对象描述和用户描述进行计算而生成的。推荐对象可能涉及多个领域,如文档、音乐、电影等。和用户描述文件一样,对推荐对象进行描述需考虑以下几个问题:
(1)提取推荐对象的什么特征,如何提取,提取的特征用于什么目的。
(2)对象的特征描述和用户文件描述之间有关联。
(3)提取到的每个对象特征对推荐结果会有什么影响。
(4)对象的特征描述文件能否自动更新。
推荐算法模块
推荐算法模块是整个推荐系统的核心之一,该模块的核心是根据具体业务及可利用的所有数据设计一套精准的、易于工程实现的、可以处理大规模数据的(分布式)机器学习算法,分析用户的历史行为、偏好、社交网络以及其他相关信息,进而可以预测用户的兴趣偏好,为用户提供个性化的推荐,一般涉及模型训练和预测这两个核心操作和模块。目前,推荐算法多种多样,对其分类的标准也没有一个统一的标准。
主流的推荐算法
协同过滤推荐
协同过滤(Collaborative Filtering, CF)推荐是第一代被提出并在推荐系统中广泛应用的推荐策略,其核心思想是通过分析评分矩阵(通常是用户对项目的评分)来得到用户、项目之间的依赖关系,并进一步预测新用户与项目之间的关联关系以生成推荐。其被广泛应用于电影、书籍、音乐、电商等多个领域,如MovieLens、Netflix亚马逊网站等平台均运用该技术为用户提供个性化推荐。
协同过滤推荐一般可以分为三类,分别是基于用户的协同推荐(User-Based Collaborative Filtering)(或基于内存的协同推荐(Memory-Based Collaborative Filtering))、基于项目的协同推荐(Item-Based Collaborative Filtering)和基于模型的协同推荐(Model-Based Collaborative Filtering)。
基于用户的协同过滤推荐(UB-CF)
基于用户的协同推荐又称为基于内存的推荐,它的基本思想主要是通过寻找与目标用户兴趣相似的其他用户,接着根据这些相似用户的行为来为目标用户推荐物品。这种方法假设用户A和用户B有相似的兴趣,那么用户A喜欢的物品也很可能被用户B喜欢,常用于新闻、博客、电影和音乐等领域。
基于项目的协同过滤推荐(IB-CF)
基于项目的协同推荐的基本思想是通过分析项目之间的相似度来为用户推荐与他们过去喜欢的物品相似的物品。这种方法假设用户喜欢物品A,那么他们也很可能喜欢与物品A相似的物品B。
基于模型的协同过滤推荐(MB-CF)
基于模型的协同过滤推荐是通过训练数学模型来预测用户对未交互项目的评分情况,通常包括随机矩阵分解(Probabilistic Matrix 因式分解, PMF)和奇异值分解(Singular Value 矩阵分解, SVD)。PMF和SVD狙击步枪的主要思路是先对用户与项目的历史交互数据记录建立合适的模型,接着产生符合用户需求的推荐列表,其中应用较为广泛的是基于矩阵分解的推荐。
基于内容的推荐
最初的基于内容的推荐(content-based recommendation)是协同过滤技术的延续与发展,它通过分析用户的历史行为和偏好,来推荐与其相似属性的其他对象。随着机器学习等技术的发展,基于内容过滤的推荐技术(CB)通过分析用户的显式与隐式反馈,学习并标记用户的偏好特征。它计算用户偏好与待推荐对象的内容相似度并排序以精准推荐最符合用户兴趣的产品。
基于内容的推荐系统框架包括数据挖掘和自适应推荐两部分,对用户来说这两部分都是隐藏的。数据挖掘通过向量空间模型分析用户偏好;自适应推荐则根据相似度排序生成推荐列表,并通过Web服务器推送给用户。
基于知识的推荐
基于知识的推荐(Knowledge-based Recommendation)在某种程度上可以看作是一种推理(Inference)技术,它不依赖于用户的直接需求和偏好,而是利用特定领域的规则进行基于规则和实例的推理,可用于汽车、房地产等需要专业知识的领域。
效用知识(泛函 Knowledge)描述了对象如何满足特定用户的需求,它能够解释需求和推荐之间的关系。在推荐系统中,效用知识通常以机器可读的形式存在,如quickstep and foxtrot system利用关于学术论文主题的本体论本体知识库向读者用户进行推荐。
基于社交网络的推荐
基于社交网络(Social Network)的推荐是协同过滤推荐的延伸,它利用社会网络分析理论,将用户与产品之间的交互视为社会网络关系,通过考察网络中的节点(用户或产品)之间的相关性进行推荐,典型的应用如新浪微博、微信、大众点评等。
具体而言,它可以通过分析节点之间的关系来计算节点间的信任度,进而利用这些信任度进行推荐。基于社交网络的推荐能有效缓解推荐系统中的冷启动和数据稀疏问题。但当训练数据规模较大时,其训练的复杂度也会相应提高。
混合推荐
混合推荐(hybrid recommendation),也称为组合推荐,旨在通过整合多种推荐算法来提高推荐的准确性和多样性,从而更好地满足用户需求。混合推荐技术的核心思想是利用不同推荐算法的优势,同时弥补它们各自的缺陷,以产生更优质的推荐结果。
根据推荐算法的整合方式,混合推荐可以分为三类:
(1)前融合(Pre-Fusion):在这种方法中,多种推荐算法被融合到一个模型中。例如,在商品推荐中,可以根据用户的历史购买记录提取感兴趣的商品特征,并将其作为推荐模型的输入,由混合模型中的推荐算法通过自适应学习产生推荐结果。前融合技术实质上是融合了数据库中所有不同用户特征。这种方法的优点在于能够充分利用多个算法的信息,提高了推荐的准确性和多样性。
(2)中融合(Mid-Fusion):中融合方法首先选择一种推荐算法作为主框架,接着在该框架中混合其他推荐算法以提高推荐效果。例如,能够以基于内容的推荐为主框架,再在其中混合协同过滤推荐来解决冷启动问题。这种方法的本质是对不同模型的融合,通过相互补充的方式提高推荐的效果。
(3)后融合(Post-Fusion):后融合方法重视推荐结果,通过比较不同推荐算法的推荐效果来得到可靠性较高的推荐对象序列,最后将这个序列推荐给用户。这种方法的优势在于能够根据不同算法的表现情况选择最优的推荐结果,提高了推荐的可靠性和用户满意度。
混合推荐技术的应用范围广泛,特别适用于处理推荐系统中的冷启动问题、提高推荐的准确性和多样性。通过混合不同的推荐算法,可以充分利用它们的优势,提高推荐系统的整体性能,从而更好地满足用户的需求。
体系结构
推荐系统的体系结构即用户信息收集和用户描述文件放在什么地方,是在服务器还是客户机上,或者是处于二者之间的代理服务器上。
基于服务器端的推荐系统结构
最初的推荐系统都是基于服务器端的推荐系统,在这类推荐系统中,推荐系统与Web服务器一般共享一台硬件设备。在逻辑上,推荐系统所收集的用户信息收集和建模都依赖于Web服务器。
基于服务器端的推荐系统存在的问题主要包括:
(1)个性化信息的收集完全由Web服务器来完成,受到了Web服务器功能的限制。
(2)增加了Web服务器的系统开销。
(3)对用户的隐私有极大威胁。
基于客户端的推荐系统结构
基于客户端的推荐系统中,用户信息的收集和建模都在客户端完成。典型的基于客户端的推荐系统有斯坦福大学的LIRA、麻省理工学院的Letizia、加州大学的Syskill\u0026Webert和卡内基·梅隆大学的Personal Web-Watcher等。
相较于基于服务器端的推荐系统,基于客户端的推荐系统的优点如下:
(1)由于用户信息在本地收集处理,能够根据丰富准确的用户数据,构建高质量模型。
(2)少量甚至没有用户数据存放在服务器上,Web服务器无法访问或控制用户数据,能够有效保护用户隐私。
(3)用户更愿意向推荐系统提供个人信息,从而提高推荐系统的推荐性能。
但基于客户端的推荐系统也存在如下的缺点:
(1)用户描述文件的形成和推荐策略的应用都依赖于所有用户数据分析。而基于客户端的推荐系统较难获取其他用户的数据,用户描述文件较难得到,协同推荐策略实施也较难。若推荐系统要重新设计,推荐策略也必须进行修改。
(2)个性化推荐过程中需向服务器传输部分用户数据,存在隐私泄露风险,需开发安全传输平台进行数据传输。
基于代理的推荐系统结构
基于代理的推荐系统中,用户信息的收集、用户建模和推荐服务都在代理端实现。典型的基于代理的推荐系统有明尼苏达大学的GroupLens、斯坦福大学的Fabss等。
在基于代理的推荐系统中,所有用户的信息都会传输给代理,代理据此能形成全面的用户描述文件。但此过程中用户信息存在泄露等隐私风险。
除了基于服务器端的推荐系统、基于客户端的推荐系统和基于代理的推荐系统,分布式推荐系统中,用户描述文件被存放在不同的地方,可以大大提高用户数据的安全性。
评价指标
网站在提供推荐服务时,一般是给用户一个个性化的推荐列表,这种推荐叫做TopN推荐。TopN推荐的预测准确率一般通过准确率(precision)和召回率(recall)度量。
准确度指标
推荐准确度是评价推荐算法最基本的指标,用于衡量算法预测用户对推荐对象喜好程度的准确度。准确度指标可以分为四类,分别是预测评分准确度、预测评分关联性、分类准确度和排序准确度。这些指标涵盖了用户对商品的预测评分与真实评分的接近度、相关性以及推荐的排名。
预测评分的准确度
预测评分准确度用于衡量算法预测的评分与用户实际评分之间的接近程度。这一指标在需要向用户展示预测评分的系统中尤为关键,例如MovieLens的电影推荐系统,该系统预测用户对电影的评分,通常以星级来表示,用户评分越高表示对电影的喜欢程度越高。
预测评分关联
预测评分关联用于衡量预测评分和用户真实评分之间的相关性。最常见的三种相关性指标分别是Pearson积距相关、Spearman相关和Kendall's Tau。
分类准确度
分类准确度指标用于衡量推荐系统正确预测用户是否喜好某个对象的能力。在二分喜好系统中,它直接反映了推荐系统对用户喜好的判断能力。而对于非二分系统,往往需要设定评分阈值来区分用户的喜好。
分类准确度常用的评价指标包括准确率(precision)、召回率(recall)、F1指标和AUC。
排序准确度
排序准确度是用来评价推荐系统中有序推荐列表和用户对商品排序的一致性程度的指标。对于推荐排序要求严格的推荐系统而言,用评分准确度、评分相关性或分类准确度等指标来评价此类系统的好坏显然是不合适的。比如,如果两个推荐算法在推荐的商品中都有用户感兴趣的商品,但一个算法将用户喜欢的商品排在第一位,另一个算法将其排在末位,那么显然排在第一位的算法更优秀。
为了解决这个问题,可以使用平均排序分(平均数 rank score)来度量推荐系统的排序准确度。
由于平均排序分不需要额外的参数,也不需要事先知道用户对对象的具体评分值,因此可以很好的比较不同算法在同一数据集上的表现。在系统尺度足够大的情况下,平均排序分与AUC之和大致为1,这意味着它可以与其他评估指标相结合来全面评估推荐系统的性能。
基于排序加权的指标
用户体验的满意度往往会受到用户喜欢的商品在推荐列表中位置的影响,其中具有代表性的评价指标有半衰期效用指标、折扣累计利润和排序偏差准确率。
覆盖率
覆盖率指标用于衡量系统推荐的项目能够覆盖到全部项目的比例,适用于需要为用户找出所有感兴趣项目的系统。如果一个推荐系统的覆盖率比较低,那么这个系统很可能会由于其推荐范围的局限性而降低用户的满意度,这是由于低的覆盖率意味着用户可选择的项目很少。覆盖率可以分为预测覆盖率、推荐覆盖率和种类覆盖3种。
仅用覆盖率来衡量推荐系统的表现是没有意义的,它需要和预测准确度一同考虑。
多样性和新颖性
多样性
在推荐系统中,多样性体现在用户间的多样性和用户内的多样性。
新颖性
新颖性指的是向用户推荐非热门非流行项目的能力。
风险与挑战
虽然目前的一些推荐技术已经取得了令人满意的推荐效果,但仍面临诸多挑战,如数据稀疏性、冷启动可扩展性和用户兴趣漂移等。
数据稀疏性
推荐系统的数据稀疏性问题源于用户和项目的潜在因子矩阵的高维稀疏性。在实际应用中,大多数用户不会对所有项目进行评分,导致用户-项目评分矩阵中未评分数据量远大于已评分数据量。这种稀疏性使得传统基于相似度计算的推荐模型难以得到理想结果,因为任意两个向量之间近似正交,计算得到的相似度往往为零。
因此,评价数据集的稀疏度对于推荐系统的性能至关重要。稀疏度越大,传统算法的精度越低,处理难度也越大。在大型推荐系统中,这种情况尤为明显,这是由于用户之间的选择差异很大,导致评分数据更加稀疏。
冷启动
推荐系统的冷启动问题是指在新用户或新物品加入系统时,由于缺乏足够的用户行为数据,系统无法进行有效的个性化推荐。这会导致新用户无法获得符合其兴趣的推荐内容,新物品也无法被推荐给用户,从而影响用户的参与度和推荐系统的有效性。
冷启动问题在推荐系统的初期阶段尤为突出,因为此时系统尚未积累足够的用户行为数据。为了解决这一问题,推荐系统需要采用一些策略,如引入外部数据源、利用用户注册信息或社交网络信息等,以提供初始的推荐内容,并逐步改善推荐质量。
可扩展性
大数据环境下,用户量和数据量巨大,传统的矩阵分解算法可能会遇到响应缓慢和存储成本高的挑战。为了提高算法的处理能力,可以采用并行化操作,利用分布式文件系统(如Hadoop Distributed File System, hdfs)来存储数据,从而减少算法的复杂度和提高计算效率。
推荐系统的可扩展性问题又称为模型过拟合问题,这一问题的根源在于推荐算法无法完全理解用户的兴趣和需求,特别是当用户之前没有对足够多类别的对象进行评价时,其具体表现为推荐给用户的对象与用户之前看过的对象不够相似或者与用户需求不相关。这主要是因为数据的不完备性导致的,而在实际应用中,数据的不完备性是无法完全避免的。为了解决这一问题,可以引入随机性,使算法能够更好地收敛到全局最优解或者逼近全局最优解。此外,推荐系统还需要考虑推荐结果的多样性,以确保推荐的对象不会与用户已经看过的对象重复,同时具有一定的相关性,从而提高用户的满意度和体验。
用户兴趣漂移
由于用户的兴趣爱好瞬息万变,这导致推荐系统的实时性受到影响。用户兴趣漂移的主要原因包括用户自身的成长和生活状态变化、新闻事件和项目流行度的影响,以及季节和节日等外部因素。例如,用户在观看电影时,其兴趣可能会因新电影的上映、节日氛围或与他人共同观影等因素而发生变化。这种变化使得基于静态信息的推荐技术难以准确捕捉用户的当前兴趣,从而影响推荐的准确性。因此,推荐系统需要能够动态地适应用户兴趣的变化,以提供更符合用户实际需求的推荐内容。
与搜索引擎的比较
发展趋势
增强用户体验
未来,推荐系统将整合多种数据类型,包括文本、图像、音频和视频等,以更全面地理解用户的需求和兴趣。这将使得推荐系统能够提供更准确、多样化的推荐,增强用户体验。同时,基于更深入的用户建模和复杂的推荐算法,推荐系统将更好地理解用户的情感和情感背后的需求。这将使得推荐系统能够提供更加个性化的推荐,进一步提高推荐的准确性和效果。
另外,推荐系统将结合云计算大数据人工智能区块链等先进技术,通过深度学习机器学习算法,提升推荐效果和增强用户体验。
也不再局限于传统的电子商务或媒体等常见领域,而是逐渐拓展到司法、教育、医疗等多个领域,助力各行各业的智能化发展。
数据隐私与安全保护
随着对数据隐私的关注增加,数据隐私保护将成为推荐技术的重要方向。同时,脱敏技术将不断发展,以确保用户数据在存储和处理过程中不会被泄露。用户将拥有更多的隐私控制权,且推荐系统将更尊重用户的隐私偏好。法规和合规要求也将不断发展,对推荐系统的隐私实践提出更高的要求。
可解释性
模型的可解释性将成为未来推荐技术的焦点。解释性AI技术将不断发展,以帮助用户理解模型的决策过程,包括可解释的深度学习模型和决策可视化工具。未来,模型可能会自动提供解释,帮助用户更好地理解和接受推荐。
自动化内容生成
推荐系统将成为写作助手的关键组成部分,帮助作者根据用户喜好生成高质量的个性化作品。媒体制作和广告领域也将使用推荐技术来自动生成文本、图像和视频内容,提高生产效率并降低制作成本。新闻机构将使用大语言模型推荐技术来自动生成新闻报道,提高新闻速度和覆盖范围,并增加新闻的多样性和个性化。
参考资料
..2024-03-09
..2024-03-03
..2024-03-03
..2024-03-11
Fine Tuning the Social Web: John Riedl.University of Minnesota.2024-03-11
..2024-03-11
..2024-03-21
..2024-03-05
..2024-03-09
..2024-03-03
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-11
..2024-03-21
..2024-03-21
..2024-03-21
..2024-03-11
..2024-03-11
..2024-03-04
..2024-03-04
Funk-SVD.sifter.org.2024-03-04
..2024-03-05
..2024-03-05
..2024-03-03
..2024-03-21
..2024-03-21
..2024-03-21
..2024-03-21
..2024-03-03
..2024-03-05
..2024-03-05
..2024-03-06
..2024-03-06
..2024-03-06
..2024-03-06
..2024-03-06
..2024-03-07
..2024-03-07
..2024-03-07
..2024-03-07
..2024-03-07
..2024-03-07
..2024-03-07
..2024-03-07
..2024-03-21
目录
概述
定义
发展历程
起源阶段
商业化阶段
蓬勃发展阶段
成熟应用阶段
应用领域
电子商务领域
在线媒体领域
社交网络领域
工作原理
数据收集
数据分析
候选生成
组成模块
用户建模模块
推荐对象建模模块
推荐算法模块
主流的推荐算法
协同过滤推荐
基于用户的协同过滤推荐(UB-CF)
基于项目的协同过滤推荐(IB-CF)
基于模型的协同过滤推荐(MB-CF)
基于内容的推荐
基于知识的推荐
基于社交网络的推荐
混合推荐
体系结构
基于服务器端的推荐系统结构
基于客户端的推荐系统结构
基于代理的推荐系统结构
评价指标
准确度指标
预测评分的准确度
预测评分关联
分类准确度
排序准确度
基于排序加权的指标
覆盖率
多样性和新颖性
多样性
新颖性
风险与挑战
数据稀疏性
冷启动
可扩展性
用户兴趣漂移
与搜索引擎的比较
发展趋势
增强用户体验
数据隐私与安全保护
可解释性
自动化内容生成
参考资料