type
status
date
slug
summary
tags
category
icon
password
本文整理了近年来推荐系统领域的总体发展趋势
一 前言
互联网和智能设备的发展和普及显著地促进了网络、应用和社交媒体平台的流量增加。这些平台增加了对能够识别用户偏好的各种信息数据的收集,例如社交媒体平台可以获取与用户相关的关注者信息、推文数据以及用户上传的信息等各种数据,而可穿戴传感器的发展促进了各种与用户相关的运动和生物医学数据的收集。
基于用户的历史行为、兴趣标签、社交网络关系等数据,学者们提出了推荐系统(Recommendation System, RecSys)。其是一种信息过滤(Information Filtering)系统,旨在根据用户的偏好、兴趣或对项目的观察行为,从大量动态生成的信息中过滤出关键信息片段,解决信息过载问题,以实现信息的优先级和个性化(即将可用内容映射到用户的兴趣和偏好)。
推荐系统通常应用于电子商务、社交媒体、音乐和视频流媒体等领域,以帮助用户发现新的内容,并提高用户对平台的满意度和粘性。因此,在系统中使用高效和准确的推荐技术以为用户提供相关和可靠的推荐是至关重要的,例如在视频内容流媒体领域,推荐系统通过分析大量的图像内容、信息数据、用户活动数据和类似用户的用户数据,来推荐反映用户口味的视频内容以增加用户满意度。
为了利用用户的显式反馈数据(Explicit Feedback Data, 如点赞和评分等由用户直接提供的明确数据)和隐式反馈数据(Implicit Feedback Data, 如点击和访问等行为模式)进行物品推荐,需要通过各种数据挖掘技术了解用户的口味。因此,研究基于用户选择的物品的过去历史、推荐结果反馈和用户之间的相关性评估等,持续改进推荐系统十分重要。

二 方法

2.1 推荐模型


- 信息过滤主要根据用户的偏好定制或仅建议对用户有用的物品。
- 用户倾向于拥有多种选择。但随着选择的难度增加的同时,造成的满意度会降低。
- 因此为了提高用户对推荐系统服务的满意度,有必要通过推荐模型向用户推荐各种物品,以扩大用户的物品选择范围,并通过分析用户的隐式和显式数据以及一组与该用户相似的用户数据,来推荐与用户习惯和特征相匹配的物品列表,减少选择过载。
2.1.1 基于内容的过滤

如图 4 所示,基于内容的过滤(Content-Based Filtering)是一种推荐具有与用户喜欢的相似属性的物品的方法,并根据物品的信息对它们进行推荐。也就是说,它是一种根据用户过去选择的物品的信息来推荐相似物品的方法。基于内容的过滤模型是整体推荐系统模型中最基本的模型,主要用于早期推荐系统。但因有研究结果[3]表明该类方法仅推荐与用户先前评估过的物品密切相关的数据,而无法推荐新物品,即无法为用户提供访问各种新内容的机会。由于这些限制,该模型主要用于根据物品信息和用户资料信息容易推荐的物品或文本数据项目的服务,如音乐、电影、电子商务和教育材料等推荐。
基于内容的过滤模型利用文本挖掘技术来识别用户偏好,如语义分析、TF-IDF、神经网络、朴素贝叶斯和 SVM。 自 2012 年以来,随着混合推荐模型的研究逐渐增加,仅使用基于内容的过滤的情况逐渐减少,其应用领域也开始收缩。
2.1.2 协同过滤

协同过滤(Collaborative Filtering)是一种信息过滤模型,首次出现在 1990 年代,并成为后续推荐系统研究的基石。如图 5 所示,它能够利用用户的评价数据构建用户的偏好数据库,以预测符合用户口味的物品,然后用于推荐。该种模型可分为基于记忆(Memory-Based)的协同过滤和基于模型(Model-Based)的协同过滤。基于记忆的协同过滤又可分为基于用户(User-Based)的协同过滤和基于物品(Item-Based)的协同过滤:
- 基于用户的协同过滤:通过比较每个用户对相同物品的评价数据来比较用户之间的相似性,然后根据类似用户组的每个物品的评分来创建和推荐符合口味的前 N 个物品列表。
- 基于记忆的协同过滤:使用皮尔逊相关系数(Pearson Correlation)、向量余弦相关系数( Vector Cosine Correlation)和 KNN 等技术来在用户之间创建相似群体(邻域群体),并向同一群体内的用户推荐物品。然而,如果模型没有足够的数据,可能会出现三个问题:稀疏性(Sparsity)、冷启动(Cold-Start)和灰羊(Gray Sheep)问题:
- 稀疏性问题:指在推荐时没有足够的数据可用;
- 冷启动问题:指在服务开始时由于新用户涌入而没有评估数据,即第一个评分者;
- 灰羊问题:指当与个体用户的评估数据相似的用户集太小时,推荐会出现困难。
- 基于模型的协同过滤:针对上述问题而提出,主要通过聚类、SVD 和 PCA 等技术使用用户评估的数据估计或学习预测模型。
协同过滤模型被采用的频率比基于内容的过滤更高。然而,其存在的可扩展性(Scalability)问题和稀疏性问题并未得到解决,因此推荐的准确性存在限制。为了克服这一限制,与协同过滤相关的研究主要旨在改善协同过滤的性能,包括开发相似度计算技术、通过使用客户反馈扩展模型、使用标记(Tagging)获取更多用户偏好数据的研究,以及使用聚类的研究等。
2.1.3 混合系统

上述两种过滤模型都存在局限性,因为基于内容的过滤模型依赖于用户访问过的物品元数据,而协同过滤依赖于用户的物品评分数据。混合系统(Hybrid System)因此被提出来解决这两种推荐过滤模型的局限性,并提高推荐性能。
根据研究[4],混合推荐模型分为七种类型:加权混合(Weighted Hybridization)、切换混合(Switching Hybridization)、级联混合(Cascade Hybridization)、杂交混合(Mixed Hybridization)、特征组合(Feature-Combination)、特征增强(Feature-Augmentation)和元级(Meta-level):
混合方法 | 描述 |
加权混合 | 根据用户对项目的评估与推荐系统预测的评估的一致程度逐渐调整权重的方法。 |
切换混合 | 根据情况改变使用的推荐模型的方法。 |
级联混合 | 在使用其中一个推荐系统模型创建一个与用户口味相似的候选集之后,该方法将之前使用过的推荐系统模型与另一个模型相结合,以使候选集按照最适合用户口味的项目顺序排序。 |
杂交混合 | 当同时进行多项推荐时,基于内容的过滤可以根据项目的描述而不是用户评价推荐项目,但存在无法推荐信息不足的新项目的启动问题。为了解决这个问题,混合混合方法通过整合在推荐系统服务启动时收集的用户过去历史数据来向用户推荐项目。 |
特征组合 | 使用协同过滤模型进行特征数据和项目示例数据,并使用基于内容的过滤模型进行增强数据的混合方法。 |
特征增强 | 一种混合方法,其中一个推荐系统模型用于分类项目的偏好评分或项目,生成的信息被集成到下一个推荐系统模型中。 |
元级别 | 使用一个推荐系统的整个模型作为另一个推荐系统模型的输入数据的方法。由于用户的口味被压缩并使用元级别表示,因此在操作协同机制时比使用原始评级数据作为单一输入数据更容易操作。 |
由于混合推荐模型主要是为了解决稀疏性问题而设计的,大多数混合推荐模型的主要目标是通过整合基于内容过滤和协同过滤模型的信息来弥补评分数据的缺乏。
2.1.4 2010 - 2020 年间推荐模型研究趋势

如图 7 所示:
- 基于内容的过滤是最简单的推荐模型。在 21 世纪初,有许多研究使用它向用户提供推荐,但由于其只推荐偏见项目的缺点,自 2010 年以来仅使用此模型的研究数量逐渐减少。然而,它仍在书籍和新闻等以文本信息为中心的应用领域中持续研究和利用。
- 协同过滤是最常用和研究最多的推荐模型,占所有论文的 41.6%。这是因为亚马逊产品推荐系统中使用的推荐过滤模型非常有效,并被认为具有高工业使用价值。
- 自 2014 年以来,对协同过滤推荐系统模型的研究已经减少,而混合推荐模型的研究数量增加超过了协同过滤,但可以看出研究仍在积极进行。
2.2 推荐技术


数据挖掘(Data Mining)是一种技术,通过在大型数据集上进行数据分析,发现数据之间的相关性和模式,从而提取有用信息。它分析物品的信息,可以向用户推荐与该物品相似的物品,并在用户中创建类似的用户群体,以识别与用户群体匹配的客户点击流数据。它还可以推荐定制的浏览选项,以满足特定用户的需求。
2.2.1 KNN
KNN(K-Nearest Neighbor,K-最近邻居)用于对测试元组和训练元组的 K 个最近邻进行分类以对数据集进行分类。KNN 基于最接近距离对数据集进行分类,通过基于距离的加权比较每个数据项之间的相似性,一般使用欧氏距离、余弦相似度和皮尔逊相关性作为比较相似性的度量。
当 KNN 算法用于推荐系统时,可以对用户的搜索模式进行分类,并预测用户未来的偏好。通过分析用户行为数据的模式,如用户的网络服务器日志和点击流等数据,可以用来对类似于用户口味的项目进行分类,然后利用结果推荐适合的项目。
有研究表明[5]使用 KNN 算法研究的推荐模型性能较差。由于 KNN 必须选择一个控制模型性能的 K 值,存在需要重复实验和受 K 值偏见的效率低下问题。此外,KNN 在分析具有大输入大小的数据时性能下降。因此,当输入数据的大小较大时,应使用将数据转换为有意义表达的降维方法。降维的主要目标是在不丢失信息的情况下减少数据量,主成分分析(Principal Component Analysis, PCA)和线性判别分析(Linear Discriminant Analysis, LDA)主要用于此目的。
2.2.2 聚类
聚类(Clustering)用于识别有限的类别或簇以描述数据,因其具有低冗余和模糊性而在推荐系统中被广泛使用。常见聚类算法有 K 均值聚类(K-means clustering)。
K 均值聚类是一种算法,在设置 K 个簇的数量后,围绕均值进行聚类。在计算推荐系统中所有数据之间的相似性后,将其分配给最近的簇,并按计算簇中心的顺序重复计算。然而,如果簇的数量较少,K 均值聚类容易受到可扩展性问题的影响,即当用户和物品数量增加时,推荐系统在服务时计算速度会降低。
有研究表明[6]使用类似的基于用户对项目评分的用户聚类技术进行了用户聚类和项目聚类,并进行了推荐个性化推荐项目的研究。通过研究在此研究中基于项目之间的相似性找到类似于推荐目标用户的群集组的方法,解决了现有协同过滤方法的缺点,即可扩展性和稀缺性问题。
聚类主要用于协同过滤推荐模型,并且通常在旅游、教育和电子商务领域的推荐系统中进行研究。
2.2.3 矩阵分解
矩阵分解(Matrix Factorization)推荐系统通过 Netflix Prize 广为人知,特别是解决了协同过滤中的稀疏性问题。
矩阵分解通过从用户评价数据中推断出物品的元素并将其存储为向量来表征物品和用户数据。该技术的主要目的是通过将用户的评价数据存储在评分矩阵中找到表达用户信息和用户偏好的潜在因子的维度。特别是,它具有良好的可扩展性和灵活性,可以通过使用鼠标移动和搜索模式等数据来分析用户的口味,以及用户直接为特定物品评价的显式数据。
奇异值分解(Singular Value Decomposition,SVD)作为一类矩阵分解算法,通过分析各种项目数据将用户和选定项目转换为相同潜在因子空间,为客户提供预测数据。该算法通过减少计算负荷来提高推荐系统的效率。在现有的推荐系统中,在 SNS 领域中很难通过标签和喜欢的数据来识别用户偏好,因为可能有多个用户基于共同项目的数值评估进行推荐。然而,矩阵分解被广泛使用,因为它可以利用在 SNS 领域以各种方式收集的信息来提供推荐。
2.2.4 文本挖掘

文本挖掘(Text Mining)是一种通过从数据中提取与文本相关的信息来发现有用信息的技术。随着自然语言处理技术的最新发展,语义重要信息已从相应文本中提取出来。当自然语言处理用于某些文本分析过程时,有一种倾向是基于词频(Frequency of Words)来分析文本,因此对语义(Semantics)理解存在限制。因此,为了准确把握文本的含义,开始使用本体论(Ontology ),它定义了项目的共同词汇,并通过构建文本领域的概念模式来组织含义。这种文本挖掘用于通过在基于内容的过滤推荐模型中对项目信息进行语义分析来推荐相似项目。此外,协同过滤推荐模型评估用户之间信息数据的语义知识,实现具有相似性的项目推荐。
为了让用户在互联网上搜索物品,展示准确的语义分析结果是重要的,但也需要一种识别上下文(Context Awareness)的机制。因此,为了使人与计算机之间的交流更加有效,文本挖掘正在向上下文感知方向发展。作为一种文本挖掘技术,模糊语言建模(Fuzzy Linguistic Modeling, FLM)引入模糊逻辑(Fuzzy Logic)到自然语言处理中,并使用模糊子集分析语言的含义。如果在推荐系统中使用 FLM,就可以识别物品的多语言上下文。特别是当用户偏好不明确或用户偏好数据不足时,通过使用 FLM 分析物品之间的文本数据后,可以通过偏好关系额外获取不足的偏好数据。
内容推荐模型中主要使用的文本挖掘技术是TF-IDF(Term Frequency–Inverse Document Frequency,词频-逆文档频率),根据特定文本的重复次数给予权重。该技术将文档的文本内容表示为向量,然后通过计算权重函数 TF-IDF 来识别术语的重要性。
文本挖掘技术主要应用于医疗保健、教育、旅游和学术服务领域。
2.2.5 神经网络
神经网络(Neural Network)近年来被广泛应用于研究中,以获取额外数据,解决难以通过历史数据理解用户偏好的情况。尤其是深度神经网络(Deep Neural Network,DNN)能够对嘈杂的隐式反馈数据进行建模,以提高推荐系统的性能。
2.2.6 2010 - 2020 年间推荐技术研究趋势


从图 11 可以看出:
- 文本挖掘和神经网络是推荐系统研究中积极使用的技术。
- 文本挖掘在包含大量文本信息的领域(如医疗数据、学术和旅游)中一直受到广泛关注;
- 神经网络可以分析研究人员以前未曾考虑过的各种物品的特征,特别是专门用于图像分析和图像预测的神经网络技术可以更准确、更快速地分析用户上传的图像或用户购买的物品。因此神经网络成为了推荐系统研究中最常用的技术。
- KNN 在 2010 年后收集的推荐系统研究中被最少利用,原因是 K 值的搜索过程低效,K 的偏差问题,以及在数据规模较大时无法使用。
- 使用聚类作为推荐技术的频率目前在各种应用程序和网络服务中正在减少,因为用户使用“喜欢”、“星级评分”或数字数据来评估项目。而聚类在评估数据不是数字时对于分析相似群体或相似项目才是有用的。
- 随着使用大规模服务器的企业数量增加,矩阵分解逐渐也无法适应数据的规模量,因此需要一种新的推荐系统利用技术,以建立一个可以比矩阵分解技术更快、更准确的模型。
2.2.7 大语言模型
近年来,基于深度神经网络的推荐模型在本质上是数据密集型的,需要学习大量参数,当它们的训练数据(即用户-物品交互)不足时,很可能会过拟合并在实践中无法很好地泛化。在实际推荐系统中,当大量新用户加入但交互较少时,这种情况普遍存在。因此,数据稀疏问题成为当前深度推荐模型的主要性能瓶颈。
预训练语言模型(Pre-trained Language Models,PLMs)的出现通过以自监督方式在大型语料库上学习通用表示,在自然语言处理(Natural Language Processing, NLP)领域取得了巨大成功。许多语言模型已在大规模无监督语料库上进行了预训练,然后在各种下游监督任务中进行微调,以实现最先进的结果,如 GPT 和 BERT。这种预训练和微调范式的优势之一是它可以通过自监督任务从丰富的未标记数据中提取信息丰富且可转移的知识,这将在标记数据不足时受益于下游任务,并避免从头开始训练新模型。最近提出的新型学习范式——提示学习(Prompt Learning)进一步以简单而灵活的方式在不同任务上使用PLMs。简单来说,提示学习依赖于一套适当的提示,可以是硬文本(Hard Text)模板,或者软连续嵌入(Soft Continuous Embeddings),以将下游任务重新构建为预训练任务。 这种范式的优势在于两个方面:
- 它弥合了预训练和下游目标之间的差距,允许更好地利用预训练模型中丰富的知识。当下游数据非常少时,这种优势将会倍增。
- 仅需要调整少量参数进行提示工程,更加高效。

针对推荐系统的语言建模范式调整(Language Modeling Paradigm Adaptations for Recommender Systems,LMRS)通过从预训练模型(Pre-trained models,PTMs)进行知识转移提供了征服数据稀疏问题的新途径。
图 12 突出了各种推荐任务的数据输入、预训练、微调/提示和推理阶段。一般来说,输入数据对象的类型可以与训练和推理阶段相关。在将输入预处理为所需形式(如图形、有序序列或对齐的文本-图像对)之后,训练过程接受预处理数据并执行“预训练(pre-train),微调(fine-tune)”或“预训练,提示(prompt)”流程。如果推理仅基于预训练模型,那么可以将其视为利用基于语言模型(Language Model,LM)的学习目标的端到端方法。训练好的模型然后可以用于推断不同的推荐任务。如果推理仅基于预训练模型,那么可以将其视为利用基于 LM 的学习目标的端到端方法。训练好的模型然后可以用于推断不同的推荐任务。

图 13(a)展示了根据不同训练策略分组的 LMRS 最近出版的统计数据,以及每年发表的研究作品总数。图 13(b)展示了分类法和一些对应的代表性 LMRS。
作为近年来最为炙手可热的方向,该方向的论文将会另开一篇博客进行整理。
参考文献
- Isinkaye, Folasade Olubusola, Yetunde O. Folajimi, and Bolande Adefowoke Ojokoh. "Recommendation systems: Principles, methods and evaluation." Egyptian informatics journal 16.3 (2015): 261-273.
- Ko, Hyeyoung, et al. "A survey of recommendation systems: recommendation models, techniques, and application fields." Electronics 11.1 (2022): 141.
- Salter, J.; Antonopoulos, N. CinemaScreen Recommender Agent: Combining Collaborative and Content-Based Filtering. IEEE Intell. Syst. 2006, 21, 35–41.
- Burke, R. Hybrid recommender systems: Survey and experiments. User Model. User-Adapt. Interact. 2002, 12, 331–370.
- Jannach, D.; Lerche, L.; Kamehkhosh, I.; Jugovac, M. What Recommenders Recommend: An Analysis of Recommendation Biases and Possible Countermeasures. User Model User-Adap. Inter. 2015, 25, 427–491.
- Gong, S. A Collaborative Filtering Recommendation Algorithm Based on User Clustering and Item Clustering. J. Softw. 2010, 5, 745–752.
- Liu, Peng, Lemei Zhang, and Jon Atle Gulla. "Pre-train, Prompt, and Recommendation: A Comprehensive Survey of Language Modeling Paradigm Adaptations in Recommender Systems." Transactions of the Association for Computational Linguistics 11 (2023): 1553-1571.