构建企业级推荐系统(04):推荐算法概述(万字长文)
👩💻作者:刘强
本文简介部分主要围绕《构建企业级推荐系统》展开。该文章由[ ]撰写。该公众号「数据与智能」由[ ]主理人运营至今已有多年,在领域深耕细作。
该作者拥有超过9年的推荐系统实战经验,并且持续输出关于推荐系统的优化方案以及大数据分析的实践心得。
在内容形式上,《构建企业级推荐系统》一书不仅涵盖了基础理论知识的讲解,还深入探讨了实际应用案例,并结合最新的技术动态进行了深度分析。
该书籍名为《构建企业级推荐系统》,近期正式发布。值得收藏与关注的是本书籍全文免费阅读。创作不易实则是一场精心的付出,请各位读者耐心等待作品问世并给予支持!
目录
一、推荐系统范式
范式1:完全个性化范式
范式2:群组个性化范式
范式3:非个性化范式
范式4:标的物关联标的物范式
范式5:笛卡尔积范式
二、推荐算法3阶段pipeline架构
三、推荐召回算法概述
1. 非个性化范式
2. 完全个性化范式
(1) 基于内容的个性化推荐算法
(2) 基于协同过滤的推荐算法
(3)基于模型的推荐算法
3. 群组个性化范式
(1) 基于用户画像圈人的推荐
(2) 采用聚类算法的推荐
4. 标的物关联标的物范式
(1) 基于内容的推荐
(2) 基于用户行为的推荐
(3) 基于标签推荐
(4) 基于标的物聚类的推荐
5. 笛卡尔积范式
四、排序算法概述
1. logistic回归模型
2. GBDT模型
3. Wide & deep模型
五、推荐算法落地需要关注的几个问题
1. 推荐算法工程落地是否一定需要排序模块
2.推荐算法服务于用户的两种形式
3. 推荐系统评估
总结
参考文献
在推荐系统中占据核心地位的是推荐算法这一关键模块,在其中作为日常工作中的一项重要职责就是研究与优化这一技术手段。具体表现将直接影响到整个系统的效能,在实际应用中其重要性不言而喻。作者结合自身的实践经验与个人感悟对各类主流算法进行了深入梳理与归纳总结,并提炼出通用化的理论框架体系,在宏观层面帮助读者理清各类算法的应用脉络与关联关系;然而对于每一种具体算法的工作原理则未进行深入解析,在后续章节中将逐一展开详细讲解
本文将围绕以下五个方面展开论述:推荐系统范式、推荐算法的3阶段pipeline架构设计、推荐召回算法的基本原理及应用、排序算法的核心机制与实现策略以及推荐系统落地过程中需要注意的关键问题。其中完全个性化范式与标的物关联标示物范式是被广泛采用的主流方案,在互联网产品中具有丰富的应用场景也是本文的重点探讨对象之一。
读者通读完这篇文章后,在各类范式中常见的几种算法及其具体实施步骤是什么?不同范式的适用应用场景分别有哪些?这些知识点可作为将推荐算法应用于实际场景的重要参考依据,并为深入探讨后续推荐算法打下理论基础
一、推荐系统范式
推荐系统的首要目标在于向用户推送可能感兴趣的标的物,在此过程中涉及两个关键要素:一是用户,二是标的物。通过分析这两个要素的不同组合形式,我们可以构建出若干种具有代表性的推荐模式(paradigm)。对于数学专业的读者而言,理解这一概念相对较为直接;对于非专业读者,则可以通过具体的场景案例来辅助理解这一抽象概念。基于个人经验积累与深入研究心得,在实际应用中我们通常将推荐系统划分为以下五种典型模式:1)基于内容的推荐;2)协同过滤推荐;3)基于用户的个性化推荐;4)基于物品的冷启动推断;5)混合型动态更新机制。这些基本模式可以根据实际应用场景进行灵活组合与优化设计,并且在不同业务场景中展现出显著的应用价值与实践效果,在后续章节中我们将结合实例深入探讨每一种模式的具体应用场景及其优化策略。
范式1:完全个性化范式
完全个性化范式其本质是呈现给每位用户的定制化服务内容。每个人的定制化内容都是独一无二且独特的。这种分类标准最为细致精准地聚焦于每位用户的独特需求。传统的人工推选算法属于这一类型,并广泛应用于通用类和特殊类别的内容展示。在各个频道页面(例如电影专区)中也会采用这一策略来提升用户体验。下图展示了电视猫首页的兴趣化推荐系统及其核心目标在于通过独特的算法实现每位用户的个性化服务体验

图1:电视猫首页兴趣推荐
范式2:群组个性化范式
群组个性化范式首先采用基于用户的兴趣特征进行分组的方式,在此过程中将具有相似兴趣特征的用户归为同一组。随后系统会针对每组用户生成一个个性化的推荐列表,在这种情况下来自同一组的用户会获得相同的个性化推荐列表而不同组别内的用户则会获得各自独有的个性化推荐列表
举例说明,在作者公司的系统中应用范式二进行推荐。举例说明,在作者公司的系统中应用范式二进行推荐。

图2:电视猫频道页列表的个性化重排序
范式3:非个性化范式
非个性化推荐方案对所有用户一视同仁地提供相同类型的推荐内容,并不包含任何个人化的元素。例如常见的排行榜业务就属于此类推荐策略,在线平台通过算法自动筛选出热门商品或信息并展示给用户。这种推荐方式既可以作为首页上的一个独立模块帮助用户快速浏览最新热品信息,也可以作为猜你喜欢功能默认向新用户推送相关内容,在搜索模块中当用户未输入关键词时系统会自动展示热门商品列表也是一种典型的应用实例。值得注意的是,在线平台通过人工干预也能实现类似的效果但在实际操作中大多数情况下仍依赖于算法驱动的自动化机制以确保内容更新及时且满足用户体验需求。

图3:电视猫搜索页面当用户无任何输入时给出排行榜推荐
范式4:标的物关联标的物范式
一种用于将每个标物与一组相关的或相似的标物进行关联的方式被称为标物关联范式
当观众在观看一部电影时
对于短视频平台而言

图4:电视猫电影的相似推荐就属于标的物关联标的物推荐范式
范式5:笛卡尔积范式
笛卡尔积范式是通过每个用户与每个标示物之间的组合而产生的独特推荐结果集合。参考图4可知,在同一视频详情页上呈现的不同用户的推荐列表各具特色。该方案与方案四具有相似性,在其基础之上进行了优化:其关联节目也会随之变化,并根据用户的兴趣偏好进行精准匹配。
通常情况下, 用户数量及标项数量都极为庞大. 因为针对不同用户的标项组合推荐结果各不相同, 缺乏足够的资源对所有可能的组合预先进行计算与存储. 通常在用户的触发事件发生时即时完成推荐计算并展示给用户. 同时, 计算过程要尽可能简化, 亚秒级的时间足以完成整个过程. 例如, 基于用户的播放历史记录筛选出尚未观看的相关节目内容, 这是最基础且典型的笛卡尔积范式应用方法.
下面给一个简单的图示来说明这5种范式,让读者有一个直观形象的理解。

图5:推荐算法的5种范式
综上所述,在具体的业务流程中,在合适的产品交互环节触达用户以实现推荐功能的应用场景下
二、推荐算法3阶段pipeline架构
工业级推荐系统中的推荐流程通常包括召回、排序和业务调控三个主要环节。在这一过程中,召回阶段是通过算法从整个标的物库中筛选出用户可能感兴趣的物品。通常会采用多种不同的算法来实现这一过程,例如热门商品推荐、基于协同过滤的方法以及标签相关的内容。具体来说,在实际运营中,在排序后的结果还会进行进一步的调节处理以满足特定的需求。这些调节的方式是依据公司的运营策略和相关业务规定进行优化调整,并且可以作为读者在设计自己的推荐系统时提供参考依据。

图6:电视猫推荐系统业务流
在上一部分中, 我们详细阐述了当前广泛使用的几种推荐范式及其对应的工业界主流算法实现方式. 在下一部分内容中, 将深入探讨每一种推荐范式的具体实现及其对应的召回机制. 通过本节内容的学习与理解, 读者不仅能掌握如何将其应用于实际场景中, 并且能够深入分析不同场景下的适用性差异.
三、推荐召回算法概述
我们将基于推荐召回中的5大典型模式来详细阐述每一种典型模式下的常用算法及其应用情况。通过本文内容帮助读者全面掌握各类核心方法。
1. 非个性化范式
非个性化范式即所有用户共同使用同一份推荐项目列表,在各类榜单中均体现这一特征如新出榜、热榜等。此类榜单通过特定标准对推荐项目按照一定顺序排序后选取前N项进行展示给用户体验。例如新出榜可依据项目的上线时间倒序排列以供选择;而热榜则可基于用户的播放时长或其他评分指标进行降序排列展现给观众。
在实际操作中,在考虑标的物的多品类特性时(甚至还会综合考虑地域分布、时间和价格等因素),可能会遇到诸多挑战;这些情况下,在具体实施过程中可能会遇到诸多挑战,并需根据不同产品的特性以及具体的业务场景进行相应的策略设计
非个性化模式一般会利用简单的计数统计方法来进行推荐。然而,在实际应用中这一方法通常不涉及非常复杂的机器学习算法的应用。不过,在计算排名前N(topN)的排序公式的相关方法可能会综合考虑多种用户的活动数据这些计算公式的具体实现往往相当复杂(例如像豆瓣评分那样的算法就相当繁琐)。
基于非个性化模式的排行榜类算法相对容易实现,并且具有较高的可解释性。尽管每个用户的推荐内容都相同,在人类进化的角度来看,存在从众心理使得大家都倾向于选择已经被广泛接受的事物。因此这类推荐系统往往表现出较好的效果。此外该方法还可以作为冷启动时的选择标准或默认推荐方案使用
2. 完全个性化范式
高度定制化的推荐模式被广泛采用,并且现有的推荐手段极为丰富。为了更好地了解当前主流的推荐算法及其最新发展动态,请继续往下阅读。
(1) 基于内容的个性化推荐算法
这类推荐算法仅基于用户的个人行为记录,并无需了解其他用户的动态。其核心理念在于:标的物具有明确的特征描述,而用户的操作行为则在一定程度上反映了其兴趣偏好。通过分析这些特征与操作行为之间的联系与规律性变化关系,并结合这些信息进行深入挖掘与研究后发现:我们可以提取出反映个体偏好的关键信息点——兴趣标签。从而可以通过分析用户的兴趣偏好来构建相应的推荐列表。例如,在视频推荐场景中:如果一个用户过去观看过科幻片与恐怖片这两类影片,则这两个类别构成了用户的偏好标签;进而能够为用户提供更多相似类型的影片选择。
基于用户特征表示的推荐
标的物包含多种多样化的文本特征,并非仅仅局限于表面的描述。我们可以通过这些文本信息运用TF-IDF或LDA等算法将其转化为具体的数值化特征向量表示。具体而言,在运用标签来描述标的物时,则需要构建一个以特定标签为依据的特征向量模型。
在获得了特征向量之后,在获得了用户的全部操作记录中所涉及过的各项标的物上提取其对应的特征值序列,在此基础上按照时间加权计算平均值以得到该用户的综合特征表示;随后通过计算该用户与各标的物之间在特定维度上的数值乘积来评估两者之间的相似程度,并在此基础上最终生成用户的推荐列表
基于倒排索引查询的推荐
当我们将标的物属性以标签的形式进行表征时,
基于用户的先前行为信息,
我们可以构建出用户的兴趣画像,
即为该用户对各个具体标签的偏好情况,
同时每个标签对应的偏好程度都有相应的量化指标。
在完成用户的画像构建之后(熟悉搜索的同学应该不难理解),我们能够建立基于标签及其对应对象的逆向索引结构。依据这一逆向索引框架和用户的兴趣特征(即其关注的重点),从而实现精准化的推荐服务。这类算法本质上就是基于标签来进行召回的技术方案。
具体推荐流程如下(参考图7):基于用户画像系统提取用户的兴趣标签;通过兴趣标签匹配机制,在倒排索引表中检索对应节目的信息;从而建立用户与节目的关联关系。其中每个兴趣 tag 及其对应的节目都具有一定的权重系数。

图7:基于倒排索引的电影推荐
这类推荐算法具有自然直觉的特点,并且具有较高的可解释性。它们能够有效地解决冷启动问题,在用户仅具备一次行为记录的情况下即可进行精准推荐。然而这类算法在新颖性方面的表现较为有限即使用户主动扩展兴趣领域其推荐范围仍会被限制在一个较小的范围内因此在满足现有需求的同时可能难以提供新的内容建议
(2) 基于协同过滤的推荐算法
基于协同过滤的方法用于推荐系统中,默认情况下会假设数据具有一定的分布特征

图8:”物以类聚,人以群分“的朴素协同过滤推荐
协同过滤主要体现在如何计算物品之间及用户之间各自的相似性。我们可以通过一个相对简单的办法来实现这一过程。具体而言,在为每个用户建立其对各个物品的行为模式时(无论是显式反馈如打分记录还是隐式反馈如点击行为),都可以通过构建一个完整的评分矩阵(如图9所示)。在这个矩阵中每一项都代表了某位用户对某件物品的具体评价情况:如果是显式反馈,则以分数的形式体现;如果是隐式反馈,则以1表示该用户的点击行为存在、0表示不存在;若未给出明确评价则标记为0)。在这里面的行模式代表了每位用户的物品行为模式(即他们对所有物品的具体评价情况),而列模式则代表了各个物品在不同用户的评价情况(即同一物品在不同用户的评价分布)。有了这些行模式与列模式之后,则可以直接用来衡量不同用户之间、不同物品之间各自的相似性程度:具体来说就是将行模式间的相似性视为衡量两个用户的相似程度的标准;而将列模式间的相似性视为衡量两个物品之间关联程度的依据。而这种具体的数值比较方法则可采用余弦(Cosine)余弦相关算法来进行评估

图9:用户对标的物的操作行为矩阵
在互联网产品中常见采用基于物品的协同过滤算法(CF)技术。由于在互联网产品领域中用户的数量变动幅度通常较大(而这一情况并非绝对),用户的数量呈现较快的增长趋势(相对而言),而标量(即产品的种类或具体的项目)的增长速度相对较慢(当然,在某些特殊领域如新闻及短视频平台中这一情况并非绝对)。基于物品的协同过滤算法能够展现出更为稳定的性能表现。
该算法的基本思路具有极强的直观易懂性,并且其计算过程较为简便。该方法还特别适合分布式系统实现的特点是无需考虑用户及其物品的其他属性。此外该算法展现出良好的应用效果并且能够有效推荐具有独特性的内容在工业界得到了广泛的应用
(3)基于模型的推荐算法
基于模型的推荐算法种类繁多,在实际应用中最为常见的是矩阵分解与因子分解这两种方法。近年来随着机器学习技术的发展,在推荐系统研究领域中,深度学习、强化学习以及迁移学习等技术已经获得了广泛应用。
在知识体系中, 推荐算法整合了用户的浏览记录、商品属性信息以及用户的画像特征, 构建了一个完整的机器学习预测框架. 通过上述提到的数据进行训练, 从而求解出最优化的机器学习参数. 最终应用该机器学习框架来进行预测分析. 具体流程如图10所示.

图10:基于模型的推荐系统
基于模型的推荐系统主要包含三种预测机制:第一种方法通过评估目标对象的具体评分来确定用户的偏好程度;第二种方法则从概率角度出发,并通过分析不同可能性来推断用户对不同物品的兴趣程度;第三种策略将每个目标物品划分为不同的类别,并进而为用户提供可能感兴趣的下一(多个)项目推荐。矩阵分解技术主要关注于对目标物品的具体评分进行建模;而逻辑回归模型主要用于评估不同可能性之间的关系;最后一种方法则是典型的分类应用(参见参考文献10)。
该算法将用户的评分矩阵M分解为两个子矩阵U和V的乘积关系。其中U代表用户的特征向量集合,V则表示物品的特征向量集合.对于某位特定用户而言,在对其对应物品打分时,可以通过计算其对应行与列(即该用户的特征向量与其对应物品的特征向量)的具体数值来获得最终评分值.此外 分解机技术作为基于概率统计的方法,被认为是传统隐含语义模型的重要推广.
近年来,在图像识别与语音识别领域取得显著进展的深度学习技术已被众多研究人员和技术人员展开了深入探索,并获得了显著成果。其中 YouTube, Netflix, Alibaba, JD, Tencent, Meituan 等企业已将其应用于实际业务,并获得了良好的转化效果(参考文献中的相关研究)。
强化学习及跨领域迁移学习等新型技术如今已在推荐业务中初具规模。
3. 群组个性化范式
实现群集个性化范式必须首先对用户提供进行分类。确定分组原则与采用的方法具有至关重要的作用。通常有两种主要的分组策略。
(1) 基于用户画像圈人的推荐
先主要依据用户的人口统计学数据或者用户的实际行为数据来进行用户的画像分类工作。这种分类方法通常会被用来实现精准营销的一般方式是通过展示特定特征将目标群体筛选出来,并对其进行专门化的运营策略设计与执行。这部分内容之前已经进行了相关介绍,在此不做进一步详细阐述
(2) 采用聚类算法的推荐
聚类方法是一种直观且直接的思路,在分析用户的偏好行为时能够将其归入相应的类别中;这些用户具有相似的兴趣爱好,并且可以通过分析其行为特征实现精准的分类。常用的聚类策略主要包括基于距离的方法以及基于密度的方法两种类型。
将用户嵌入一个高维向量空间,基于用户的向量表示做聚类
将用户相关特征嵌入向量空间的方式有很多,下面都是非常主流的做法。
采用内容推荐法可搭建用户的特征矩阵(TF-IDF、LDA及标签等)。进一步分析可知,在同一类别下的用户具有相似的特徵描寫。随后計算各群組與目標對象之間的內積值並根據其數值進行排序。\ 最後即可實現對各群組的精準推薦策略
基于用户的协同过滤方法论下,在线构建一个用户的行文行为与标物行为的关系模型。该模型以用户行为与标物行为之间的互动关系作为核心维度值,并通过打分记录的方式反映用户的偏好与倾向性。随后,在此模型的基础上提取衡量用户特征的关键指标,并利用这些指标来实现对用户的分类处理。具体而言,在这一过程中首先需要计算出每组用户的平均评分分布情况,并在此基础上A取其主成分中具有最大方差的k项作为主要特征指标;之后将剩余的小幅贡献忽略不计并设为零向量。最终通过这些处理得到每组用户的最终特征表示,并在此基础上应用协同过滤算法来生成相应的推荐列表。
通过矩阵分解技术获得每个用户的个人特征向量,并采用这些用户的平均值作为其对应的群体基础条件;进而通过计算这两个向量之间的点积来评估群体对目标物品的兴趣程度。将所有评估结果按照从高到低排序后,则能够生成包含前N项的目标列表。此外,在之前的讨论中所提及的那种电视猫重排序算法正是基于这一理论框架得以实现
同样地,在词嵌入的基础上, 我们可以把每个用户的各项行为视为一个文档集合, 其中每个 Sid 作为一个独特的单词, 类似于 word2vec 的方法可以生成这些物品(即 Sid)的低维向量表示(参考文献 9)。每位用户的特征向量则由其所有历史物品(Sid)对应的低维向量进行平均计算, 其中时间加权策略下,默认会对较早的时间点赋予较低权重。通过类似于矩阵分解的方法计算各组成员与其对应物品之间的相似度得分后,则可以根据这些得分对相应用户进行个性化推荐。
除了之前提到的各种群组推荐方法之外,还有一种更加直观且基于统计量的推荐方法。在聚类用户的前提下,在这一群体中选择他们互动过的产品进行分类统计,并将同类产品互动次数相加。根据标数量大小排序之后即可得到一个排序结果表单。将其topN列表提供给该群体,则这些topN产品就是大多数人的首选产品。
基于图的聚类
通过构建用户关系图(即网络结构),其中节点代表用户而边表示用户之间的互动关系。我们可以通过分图技术将整个图划分为多个连通子图集合(即这些子图即为我们所需的用户群体聚类结果)。另外一种方法则是将网络嵌入到高维向量空间中,在这种情况下我们可以利用k-means聚类算法来进行分类。有了用户的群体划分结果后(即我们已经确定了不同类型的用户体验),我们就可以基于简单的计数统计方法进行推荐;如果希望提升推荐效果,则可以选择更为复杂的模型来实现。
如何构建用户的关联图呢?通常有以下两种方式:对于像社交媒体应用这样的社交类应用,在分析用户的社交连接信息的基础上建立关联图;而对于非社交媒体类的应用场景,则可以通过观察两个用户在同一个目标对象上都进行了操作行为来建立关联图。
群组个性化推荐的优势在于为每个群体提供一致化的推荐方案,在减少计算资源消耗的同时也降低了存储需求。然而该方案存在一个显著的局限性即在同一群体内的推荐项目列表可能存在高度相似性从而导致某些用户的过滤效果不足。此外由于不同群体之间的兴趣特征存在一定差异因此难以实现对每个用户精准的兴趣匹配进而影响用户体验质量
群组化的个性化推荐思路及其优势同样适用于完全个性化推荐方案的构建。具体而言,在构建完全个性化的推荐系统时,我们可以采用将用户预先划分为若干个群体(对于熟悉数学原理的同学来说易于理解;而对于不太了解的同学,则可将其视为兴趣小组)的方法,并将每个群体视为一个虚拟用户。这样一来,则能够借鉴完全个性化范式中的算法思路进行推荐工作。值得注意的是,在这一过程中,默认假设每个群体内部具有较高的相似性特征(至少在潜在维度上)。此外,在实际应用中,默认假设每个群体内部具有较高的相似性特征(至少在潜在维度上)。此外,在实际应用中,默认假设每个群体内部具有较高的相似性特征(至少在潜在维度上)。此外,在实际应用中,默认假设每个群体内部具有较高的相似性特征(至少在潜在维度上)。此外,在实际应用中,默认假设每个群体内部具有较高的相似性特征(至少在潜在维度上)。此外,在实际应用中,默认假设每个群体内部具有较高的相似性特征(至少在潜在维度上)。此外,在实际应用中,默认假设每个群体内部具有较高的相似性特征(至少在潜在维度上)。此外,在实际应用中,默认假设每个群体内部具有较高的相似性特征(至少在潜在维度上)。Google于2007年发布的一篇论文(参考文献17)正是采用了该思路的协同过滤方法实现。通过这种策略不仅可以显著减少计算量,并且能够支持大规模并行计算过程
4. 标的物关联标的物范式
标的物与标的内容之间存在一种特定的关系和连接方式,在推荐系统中我们通常会将每个具体的物品(称为具体的标的内容)与其相关联的一组标的内容之间建立对应关系。这种核心机制是如何将一个具体的物品与一组相关物品建立联系的?这种连接关系可以是基于相似性原则的直接连接,也可以是在其他维度基础上所形成的间接联系。主要采用相似度作为判断依据来实现这种连接关系的主要形式是什么?下面将详细阐述4种常用的生成此类连接关系的具体策略。
(1) 基于内容的推荐
这类方法通常能够基于已知的数据以及信息运用向量技术来描述目标物体的特征。一旦每个目标物体都被转化为其对应的向量表示,则我们可以根据各向量间的相似程度来评估各目标间的相似性。
当目标对象涉及新闻类或其他文本信息时,则通常会使用TF-IDF方法将其转换为相应的词向量表示。进一步分析这些词向量之间的关系,则可以通过计算它们之间的相似度指标来评估目标对象间的相似程度。
即使不涉及具体的文本内容,在某些情况下只要某个对象(比如一个产品)具备包含metadata等元数据的信息时
LDA模型尤其适合用于基于文本内容的产品推荐系统中。具体而言,在推荐系统中输入的文章(每个文档)都会被转化为其对应的主题及其相关关键词的概率分布。在实际应用中,在计算任意两篇文档之间的相似性时需要遵循以下步骤:首先我们分别提取出每一对待比较文章在各个主题上的概率分布;其次根据这些分布计算出每对文章在各主题上的余弦相似性;最后将这些余弦值按照一定的权重进行加权求和即可得到两篇文档之间的综合相似度评分值。其中每个主题对应的余弦值都可以直接采用该主题下的词向量点积作为衡量标准。
(2) 基于用户行为的推荐
在一个成熟的产品中(特别是推荐类的产品),通常会集成多种用户的多样化行为(包括收藏、点赞、购买、播放、浏览以及搜索等),这些行为反映了用户对目标物品的特定偏好(即所谓的倾向性)。基于这些用户的特定行为特征(即倾向性),我们能够实施相关性推荐策略(即关联推荐)。具体来说,这类关联推荐策略主要包括以下四种类型:
例如基于矩阵分解的方法
在推荐系统中运用嵌入技术具有显著的效果。用户的各项行为数据可被视为一个完整的文档,在模型构建过程中,则借鉴并模仿现有的word2vec算法设计原理,在模型训练过程中,则借鉴并模仿现有的word2vec算法设计原理,在模型训练过程中,则借鉴并模仿现有的word2vec算法设计原理,在模型训练过程中,则借鉴并模仿现有的word2vec算法设计原理,在模型训练过程中,则借鉴并模仿现有的word2vec算法设计原理。
在模型训练过程中,则借鉴并模仿现有的word2vec算法设计原理。
在模型训练过程中,则借鉴并模仿现有的word2vec算法设计原理。
在模型训练过程中,则借鉴并模仿现有的word2vec算法设计原理。
在模型训练过程中,则借鉴并模仿现有的word2vec算法设计原理。
在模型训练过程中,则借鉴并模仿现有的word2vec算法设计原理。
我们可以将用户的各项操作行为转化为一个二维数据表格(矩阵),其中每一行代表一位不同的用户(行标识为用户),每一列代表不同的物品(列标识为物品)。每个单元格记录了用户的评分或点击等行为(隐式行为)。通过这种方法构建了数据模型。每个列向量代表相应的物品特征。基于这些特征向量计算物品间的相似性度量。
基于购物篮概念的推荐方法特别适用于图书、电商平台等场景。经常一起购买或浏览的商品或服务被组织成一个列表(即购物篮),将所有记录下来的购物篮汇总起来。每个商品或服务都可以通过其出现在同一购物篮中的其他商品或服务及其出现频率进行分析。统计完这些频率后按照降序排列就可以得到该商品或服务的相关推荐列表。这一思路不仅直观易懂而且具有良好的可解释性。图11展示了亚马逊网站上采用该思路实现的相关商品分类推荐效果。

图11:基于”购物篮“思路的关联推荐
(3) 基于标签推荐
当目标物体具有标签时
(4) 基于标的物聚类的推荐
我们可以通过某个维度对目标物进行聚类(若目标物能嵌入到向量空间中则会较为容易实现),则该类别中的成员具有相似特征,在推荐系统中则可基于同类目标物提供相关推荐。为此需解决的问题在于部分类别样本数量较少无法有效开展常规推荐工作,则可采取相应的补救措施以弥补不足的数量
5. 笛卡尔积范式
笛卡尔积范式的推荐算法通常可以首先利用标的目标关联标的目标模式计算出待推荐的目标集合。随后,在依据用户的兴趣进行排序(调整目标列表的顺序)、补充(增加用户的个性化偏好)以及移除(例如过滤已观看的内容)等操作后完成初步筛选。由于笛卡尔积范式的推荐算法在实际应用场景中的应用较为有限,在此不做详细讨论。
到目前为止我们完成了对常用召回策略的讲解。除了基于一些已有的算法思路外在实际应用中还与具体业务形态密切相关此外还可以从多个其他维度出发进行优化调整例如时间因素地理位置信息以及用户的特征等
智能电视平台内的节目推荐系统根据不同时间段(早晨、白天、晚上)会有不同的侧重点,在节假日和其他平时的时间段里也呈现多样化的特点。对于那些需要早起去公司上班的上班族来说,在这样的情况下(时间较为紧张),平台可能会优先推送短视频或新闻资讯类内容;而白天的时候,则适合老年人在家观看戏曲或抗战类型的节目;到了晚上主人归来时,则适合播放电影或电视剧等娱乐内容。
基于地理位置的召回机制要求根据不同位置提供多样化的商品或服务类型作为备选选项;其典型应用场景包括美团外卖平台等在线服务提供商;具体而言,在不同地理位置上能够满足消费者对本地化服务的需求;例如,在某个区域可为消费者推荐与之 geographically adjacent 的餐饮服务
四、排序算法概述
该推荐系统的排序模块负责对召回模块生成的待排序物品列表(通常包含数百项)进行处理。采用排序算法对列表进行重新排列,并更有效地反映出用户对物品的点击偏好。通过优化排序策略以提高用户的行为转化率,将系统预测用户更可能感兴趣的项目(通常约几十项)筛选并推荐给用户。最终提升用户体验。
该排序模块涉及多种特征,在构建排序模型时对排序效果产生至关重要的影响。常用的特征可被归类为以下五种类别:
用户侧的特征,如用户的性别、年龄、地域、购买力、家庭结构等。
商品侧的特征,如商品描述信息、价格、标签等。
上下文及场景特征,如位置、页面、是否是周末节假日等。
交叉特征,如用户侧特征与商品侧特征的交叉等。
用户的行为特征,如用户点击、收藏、购买、观看等。
该排序框架充分运用了这五个主要特征,并有助于更好地预测用户点击行为。
作为机器学习中的一个重要研究方向,在信息检索系统、搜索引擎平台以及推荐系统的排序任务中具有广泛的应用价值。
对于对此领域感兴趣的读者,《Learning to Rank for Information Retrieval》一书由微软亚洲研究院刘铁岩博士撰写并可作为参考文献。
常用的排序算法框架主要包括三点:点态化方法(Pointwise)、对点态化方法(Pairwise)以及列表态化方法(Listwise),如图12所示。

图12:三类排序学习算法框架
上图中x₁,x₂,…代表训练样本1,2,…的特征向量,y₁,y₂,…等表示训练集对应的label(目标函数值)。pointwise方法旨在对单个样本进行学习:若最终预测结果是一个实数值,则为回归问题;若预测结果是概率值,则为分类问题(例如CTR预估)。pairwise和listwise方法则分别对有序样本对及其序列特征进行建模,在推荐系统中常用pointwise方法实现排序任务。这种做法具有直观易懂的特点,并且实现相对简单
常用的一种排序学习方法是logistic回归、广度提升树(GBDT)以及Wide & Deep等技术,在本节中将简要介绍这些排序学习算法的具体实现原理
1. logistic回归模型
逻辑回归是一种较为基础的线性分类方法,在实际应用中被广泛用于分析和预测二元分类问题。基于对用户点击行为的学习机制,我们能够建立一个有效的CTR预估模型。通过应用逻辑回归方法论,在推荐系统中构建相应的预测模型。具体而言,在这一过程中涉及的具体数学表达式如下面所示(公式),其中p表示用户对某个标项的好感概率。

是权重,是需要学习的模型参数,

代表特征i的具体数值。
特征如上所述共有五大类可选特征。
我们可以采用以下公式来计算待推荐目标物的相似性得分P。
最终我们可以通过将召回的目标物按相似性得分P进行降序排序来完成筛选。

在工业界内,众多企业为了更有效地将其 logistic 回归模型应用于实际业务环境中进行了延伸与优化。例如,在在线实时推荐系统中的排序问题上进行应用时会遇到特定挑战。Google 于 2013 年提出了 FTRL 算法(见参考文献 14),而阿里巴巴集团则提出了分片线性模型(见参考文献 13)。
2. GBDT模型
GBDT(梯度提升决定树)是一种由迭代思路生成的决策树算法(参考文献15),在实际应用中会生成多棵决策树,并整合所有模型的结果以得出最终预测结论;这种算法巧妙地将决策树与集成学习相结合;通过增强弱学习器成为强学习器的方法进行集成处理;从而有效提升了模型的整体预测精度;这表明GBDT属于一类具有较强泛化能力的学习型算法
2014年Facebook发布了一篇关于利用梯度提升树(GBDT)结合逻辑回归(LR)模型来进行广告点击率预估的论文(参考文献16),开创性地将GBDT技术应用于搜索引擎、推荐系统和广告业务等领域。作为一种常见的树模型方法论,在处理原始特征时具有天然的能力进行特征划分、特征组合以及特征筛选,并能生成高阶属性特征以及非线性映射关系;因此可以将GBDT视为一种特征处理器,在这一过程中通过对原始数据进行分析提取出更有助于逻辑回归建模的关键特征;这种基于梯度提升树构建的新特征作为逻辑回归模型的输入变量,则构成了GBDT与LR结合的核心机制——通过构建优化后的高阶特征来提升预测效果
3. Wide & deep模型
Wide&Deep模型最初由Google提出,并被应用于Android手机应用商店中的APP推荐排序系统。如今该算法在国内众多互联网企业得到了广泛应用,并展现出良好的效果。该模型整合了传统模型与深度学习模型的优势。其中Wide部分(传统模型如Logistic回归)主要负责记忆功能(即识别历史数据中item与特征之间的关联性),而Deep部分(深度学习模型)则承担着特征组合推广的任务(即发现历史数据中较少出现的新特征组合,并据此推断用户的偏好变化)。通过将这两种不同的建模思路相结合的方式,在保证用户体验个性化的同时实现了对新旧兴趣点的有效平衡处理
五、推荐算法落地需要关注的几个问题
在之前的章节中, 我们简要介绍了推荐系统的基本算法. 相信通过这些内容, 读者能够通过这些内容清晰理解这些算法的大致思路以及如何将其应用到实际产品中. 在本章中,我们将重点阐述几个关键问题与解决方案, 以便帮助您更有效地将这些推荐算法应用到实际业务场景中去.
1. 推荐算法工程落地是否一定需要排序模块
工业界通常将推荐算法划分为两类:一类是召回机制(Recall),另一类是排名机制(Ranking)。其中,
Recall的主要功能是从海量候选物品集合中筛选出若干潜在相关项,
而Ranking则通过综合考虑各候选物品与用户的匹配程度(相似度或评分值),
进一步优化结果展示顺序。
需要注意的是,在某些特定场景下(如小规模数据集或资源有限的企业环境),
是否需要开发复杂的排名逻辑可能会影响整体系统的实现难度。
具体来说,在实际应用中,默认的数据规模往往在几十万到几百万级别,
默认情况下会优先保证Recall环节的有效执行。
此外,
Recall机制本身也具备一定的排名能力:
如果采用基于评分预测模型的方法,
可以根据预估评分值从高到低进行初步排列;
如果基于概率预测模型,
则可以根据各项候选物品与用户的偏好倾向度从高到低进行筛选。
由此可见,
即使缺少这一环节的支持,
在实际应用中通常也能达到较好的效果。
而对于刚开始构建推荐系统的产品团队而言,
一个较为合理的策略是在初期快速实现基础架构并投入运营,
待积累一定经验后再逐步完善相关的排名逻辑部分
在实际应用中,为了提高推荐系统的效率和效果,在实际应用中
2.推荐算法服务于用户的两种形式
基于推荐算法生成的结果可以直接导入至数据库(例如Redis),从而立即提供给用户体验。另一种方法是预先计算并存储核心特征。在用户发起推荐请求时,相关的推荐服务会根据预存的特征数据,在需要时快速生成并返回相应的推荐内容。其中一种模式是预先完成所有必要的计算工作,并随时可供使用;另一种模式则是等到具体请求到来后才进行实时的数据处理和运算。
我通过类比外卖服务模式来说明两种运营策略:第一种策略是将餐厅内的菜品全部准备好并大量储备,在接到外卖订单后立即进行配送;第二种策略则是在备餐阶段就将所有配菜都制作完毕并准备好各种调味料,在收到外卖订单后快速完成配菜叠加并进行烹饪处理。第一种方法虽然节省了备餐时间,但存在无法满足顾客个性化需求的问题,并可能导致部分菜品过剩而造成资源浪费;相比之下第二种方法能够更好地满足顾客的个性化需求例如顾客要求少放香菜多加辣椒等特殊要求可以在现做现备的过程中实现从而提升服务质量。
第二种方案对整个推荐系统的整体需求更为严格,在服务质量上也更加精良。然而第一种方案在操作上更为简便,尽管其所需占用的存储空间(具体操作是预先计算并保存所有用户的推荐结果)更多一些。对于初次构建推荐系统的人士而言,在初步设计阶段应优先考虑方案一。
对于某些推荐业务方案而言,在实际应用中存在不可行性问题。例如基于笛卡尔积范式的推荐系统由于其计算量巨大(即用户数量与物品数量相乘的结果是一个庞大的天文数字),导致公司在资源受限的情况下无法实现对每个用户与每个物品之间关系的预先计算与存储。
3. 推荐系统评估
作为服务公司商业目标的关键工具之一(包括盈利相关的目标、改善用户体验体验以及延长用户使用时长等),因此,在将推荐系统部署至实际业务场景时,必须明确设定推荐系统的优化方向。只有当这些优化方向既具体又清晰,并且能够被量化评估时,则可以通过持续迭代改进来逐步提高推荐效果的质量。
总结
本文旨在介绍工业级推荐系统的主要五种模式及其背后的数据需求、具体业务流程以及各类算法的实现思路。通过详细阐述不同召回和排序算法的特点与应用场景,帮助读者了解各类推荐范式中可用的具体算法及其应用场景。在后续章节中,我们将深入探讨主流核心算法的具体实现细节和优化策略。
参考文献
采用动态路由机制进行推荐的多兴趣网络系统在天猫平台
Deep Session Interest Network for Click-Through Rate Prediction
Behavior Dynamics Transformer for E-Commerce Recommendation at Alibaba
十亿级的商品嵌入技术用于阿里巴巴的电子商务推荐系统中
In the NetEase platform, a personalized recommender system based on deep recurrent neural networks is developed.
Deep Reinforcement Learning for List-wise Recommendations
Recommendation Incorporating Negative Feedback Mechanisms Based on Pairwise Comparison-Based Deep Reinforcement Learning
Learning Tree-based Deep Model for Recommender Systems
Item2Vec- Neural Item Embedding for Collaborative Filtering
Deep Neural Networks for YouTube Recommendations
Deep Learning based Recommender System- A Survey and New Perspectives
Wide & Deep Learning for Recommender Systems
Developing Segmented Linear Models Using Piecewise Data to Predict Ad Click Rates
Ad Click Prediction- a View from the Trenches
Greedy function approximation: a gradient boosting machine
Practical Lessons from Predicting Clicks on Ads at Facebook
Google新闻个性化:可扩展的在线协同过滤技术
关注**「数据与智能」** ,支持强哥,优质好文持续更新中……✍
