爱收集资源网

短视频推荐系统与架构、召回算法与策略、排序算法的演进

网络整理 2024-01-25 20:05

本博文主要对业界短视频推荐领域做一个系统概览,包括推荐系统与构架、召回算法与策略、排序算法的演化、分发策略的控制四大部份。对于其他的推荐场景,工作链路大同小异,不作累述。

一、推荐系统与构架 1.1、短视频推荐流程

信息流推荐系统,其工作流程在各家公司中基本上大同小异,一条短视频从入库到分发,主要经过召回、排序、重排序等几个环节的处理,最终确定合适的展示位,得到最终分发。

下面以今日头条APP视频推荐为例进行一下简单的流程说明:

User的一次刷新行为触发api透传一条request给service;

Service会按照这个request的场景打造context;

根据实验与策略判定user触发的召回序列;

根据召回序列进行内容召回;

打分前过滤;

模型打分:粗排+精排;

打分后过滤;

策略层重排序;

兜底过滤:dislike、版权、历史去重等;

排序结果返回给后端进行腹部展示。

图1 短视频推荐流程

图2短视频推荐流程

1.2、召回构架

召回可以说是推荐系统的第一个排序阶段,召回的内容作为排序的候选集,直接决定着参与排序的实体是否符合用户口味。从技术上看,每路召回可以看成是一个个小的推荐服务,每路召回服务通过一个”key“进行内容召回。对于短视频个性化推荐场景而言,通常我们把这个"key"设置成用户的userid,也就是说,每路召回会为不同的用户召回不同的内容。而对于基于内容的召回场景而言,这个"key"更多的是一些视频的画像类特点,包括:tag、categeory、subcategory、topic、keywords等,同不同的特点映射一些排序规则,实现在该特点下内容的召回。

1.3、 指标与评估

推荐疗效好不好,指标是最基本的评估参考。推荐系统的指标参考可简略分为线上指标和离线指标两部份。

线上指标主要是整个推荐疗效的线上统计指标,就短视频推荐而言,我们主要关注的是:DAU、CTR、人均逗留时长、人均PV、视频VV、留存率、负反馈、单篇逗留时长、视频完成率等。

离线指标更多是对召回算法、排序算法的疗效的一个评估,简单来说,一件事情没有办法进行评估就很难进行进一步的优化。因此,我们须要一些技巧去评价某一路召回的优劣、某一个排序模型的优劣。评价一个排序模型的优劣,则可以通过模型的训练AUC、各种损失函数、分析特点的有效性、分析特点的权重等方式进行量化的评估。

二、召回算法与策略

工业界的短视频内容量一般是百万级的,一些专业的视频推荐应用,其视频内容量甚至是千万级。如果对那些内容全部直接进行排序,显然不太现实。这个时侯,召回的重要性就展现下来。召回主要是考虑了一些机器、成本、效率等问题,通过不同的算法与规则对视频库的内容做一个粗筛,在保证内容“优质”的前提下,减少参与排序的内容数目。召回阶段实际上与排序阶段相辅相成,内容库中的短视频没有得到充分的分发,其缘由无外乎是:召回阶段没召下来、排序阶段没排起来。

目前工业界并没有对召回算法或则召回策略有具体的层次或则界定。这里,我们依照召回的原理与性质简单将召回简略归纳为算法类与策略类。

算法类召回(其实并不完全是算法导向),主要包括了基于内容的召回、基于协同过滤的召回,还有就是现阶段发展强势的embedding技术在召回领域的实现。

策略类召回(更多的是人工规则导向的内容召回)通常在内容召回的同时又实现了个别功能,如新用户、新视频的冷启动召回;还有就是人工营运系列,如热点视频推荐、优质视频的补底池等。

2.1、 基于内容的召回

基于内容的召回主要依赖对视频的内容理解和用户画像的积累。

2.1.1、内容理解

短视频内容理解可以分为文本类特点理解和图像类图像类特点理解。当前阶段的推荐系统更倾向于使用视频的文本类特点,在NLP技术支持下,我们可以抽取视频的语义特点,包括:标题、关键词、标签、视频源等等。图像类特点则依赖于图象处理技术对视频的内容特点进行抽取,包括:视频关键帧向量、封面图向量、图像清晰度、图像标签等。

有了视频的文本类特点和图像类特点,我们可以将两者整合成完整的视频画像快手热门算法,在短视频众多的特点中,有些特点是静态的,有些特点是动态的,不同的特点在整个推荐系统中饰演着不同的角色。

视频静态特点主要包括:一级分类、二级分类、标签、keywords、topic、视频源等,这些特点组成用户画像的兴趣点信息;而视频动态特点则更多的包含线上表现信息:全局点击与分发数据、各个队列的点击与分发数据等。

2.1.2、用户画像

用户画像的生成主要是用户点击的兴趣点信息的累积,除了常规的后验统计信息,我们也可以借助一定的规则去推论出一些潜在的用户兴趣点信息。这样,除了用户本身的用户属性特点外,用户的兴趣点特点也会逐渐积累到用户画像中。通常情况下,用户的潜在兴趣点会随着时间进行改变,为了适应用户的兴趣点的迁移,我们常常将用户画像分拆成长期画像(历史)和短期画像(近期)。用户的一些主动行为,也是其兴趣点的一个强烈反应(至少是短期兴趣点的一个反应),诸如搜索、订阅、关注等主动行为,可以理解为是一种比点击愈发强烈的画像讯号,这部份兴趣点常常是用户主观行为的真是反应。

2.1.3、关联用户跟内容

有了内容理解与画像的积累,我们须要一定的规则去关联用户跟内容。常用的关联方式是基于倒排的方式。倒排的方式,倒排的key是视频的静态特点,按不同规则震仓排进行排序,召回算法从倒排中按照用户兴趣点对内容做截断,进而实现从很大的视频库中筛选比较靠谱的一小部份视频。

此外,通过向量化估算用户与视频之间的相似性也是一种常用的关联方式。

2.1.4、CB召回存在的问题

CB类召回作为推荐系统领域的传统方式,虽然其有着用户独立性强的特性,但是因为算法本身的局限性,也存在着好多缺点:推荐泛化能力差,很难挖掘出用户的潜在兴趣;数据反馈慢,用户行为调整反应慢;热门内容只能通过人工干预分发;内容分发效率低,优质后验内容分发速度慢;头部视频容易集中,导致视频的利用率低。所以,在大多数情况下其精度都不是最好的,在推荐系统中更多的是其他推荐算法的一种辅助手段。

2.2、基于协同过滤的召回

协同过滤(Collaborative Filtering),简单来讲就是找相像。目前业界常用的CF思想主要有UserCF、ItemCF、SourceCF、ModelCF、TagCF等。主流的实现则是考虑用户和用户之间相像的UserCF和考虑物品和物品之间相像的ItemCF。

2.2.1、传统的协同过滤算法

传统的协同过滤算法借助用户行为的相似度估算出兴趣的相似度,我们可以假设用户u和用户v,令N(u)表示用户u感兴趣的物品集合(在短视频推荐场景下则是用户u浏览过的短视频集合),N(v)表示用户v感兴趣的物品集合,那么可以通过Jaccard公式或则通过余弦相似度公式估算出用户u和用户v之间的相似度:

Jaccard公式:

余弦相似度公式:

2.2.2、embedding类协同过滤算法

word2vec算法的出现为embedding方向提供了一个挺好的实现方案。

借助于embedding思想,我们可以借助神经网路对user和item进行embedding表示。

参考word2vec算法的原理,我们可以将用户点击过的视频组成一个又一个的点击序列,这样就可以在序列内进行建模。如果把userid和docid都当作普通的词进行word2vec处理的话,该方案似乎是可行的。因此,我们改进了原始的word2vec算法进行usrecf-embedding和itemcf-embedding。通过usrecf-embedding得到用户向量和词向量,将具有相像偏好的用户向量紧密在一起。通过itemcf-embedding的得到视频的ID向量。拿到了向量以后,就可以使用Dotproduct、Euclidean、Jaccard、Cosine、Pearson等规则去估算向量之间的相似性,达到CF的疗效。

然而,在实际的推荐领域,embedding得到的向量常常是海量高维的,普通的方式估算向量间的相似度如今非常笨拙。Facebook开源的一个高性能的高维向量相似度检索和聚泛型Faiss为CF的相似性估算提供了良好的解决方案。

2.2.3、CF召回存在的问题

CF类召回算法可以说是CB类算法的一个很大的改进,无论是传统的CF召回还是embedding类CF召回,在疗效上显著优于CB类召回。但是CF类算法在面对新用户或则新内容时,现在存在召回能力不足的问题(UserCF:新用户、ItemCF:新内容),相似性的估算一般过度依赖用户历史行为,这样就很难挖掘出用户的潜在兴趣。而且就embedding协同召回而言,它的推荐疗效会随着时间衰减,需要频繁的进行模型更新来实现embedding。

2.3、基于FM模型的召回

FM算法的核心在于特点组合,以此来降低人工参与特点组合工作。FM特点的数据结构一般包括User相关、Item相关、类别相关的特点、历史行为数据特点等等。通过不同特点的组合,生成新的涵义。

基于FM模型的召回,通过对不同特点进行组合,可以实现user侧和doc侧的embedding,在估算出user向量和doc向量的相似性实现,user与doc之间的召回排序。

2.4、新用户冷启动的召回

新用户在步入短视频的信息流以后,在画像中几乎没有积累任何有用的兴趣点信息。那么,如何为这样的一批没有任何参考的用户推荐哪些视频成为了一个及其重要的研究方向,这就涉及了新用户的冷启动问题。

2.4.1、已知召回讯号的借助

如果新用户在其他业务场景或则在图文上有过一定的画像积累,首先可以借助这部份画像进行一些内容召回。除了借助图文或其他业务环境早已存在的兴趣点讯号进行短视频召回,我们也可以挖掘出用户是否有过搜索、关注等讯号,进而借助这种讯号进行短视频召回。

2.4.2、基础讯号的借助

目前各大应用就会恳求手机的一些权限,比如手机app的读取权限等。获得了手机安装的一些应用后快手热门算法,我们可以创建一些映射规则,将这种应用映射到视频的静态特点上,在将这个静态特点转移成用户的兴趣点或则人群属性,实现对新用户冷启阶段的短视频召回。这样的方式,虽然不能说是很强烈的个性化召回,但显著要优于普通的热点和优质内容的补底池。此外,手机设备信息和地理位置相关信息也是挖掘新用户兴趣点的重要参考。

2.4.3、引导用户主动选择

开屏卡片、分发选择卡片的引导是触发用户协助定位新用户兴趣点的重要手段,在新用户打开应用的第一次,可以尝试着将一些优质的类别作为候选集去引导用户主动选择用户所属的人群和兴趣。用户的主动选择常常代表是用户接下来的点击意愿,是挺好的一种积极讯号。

图3小红书开屏卡片示例

2.4.4、试探:兴趣试探+人群试探

新用户冷启动阶段,在未知用户基础兴趣时,用户兴趣试探变得十分重要,因为兴趣试探是一步步挖掘用户兴趣点的主要手段。除了对用户兴趣进行试探,我们也须要进一步挖掘出用户的人群属性,这样就能更好更快地积累出新用户的用户画像。

新用户的试探依赖的是优质内容池的建立,多维度内容池的建设,每个维度都要保证视频内容的专和精。

我门可以搜集一些优质视频,构建不同维度的优质视频内容池,利用bandit算法、强化学习算法等技术,捕捉用户兴趣和人群属性信息。

2.5、新视频冷启动的召回

Item冷启也是推荐系统领域的一个不可忽略的问题,优质视频应当很快的投放出去是短视频冷启的一个基本目标。除了流量上的控制之外,做到新视频的高效分发,需要精准的人群定位。

为了防止新视频对用户体验的伤害和冷启本身对新视频的伤害(由于人群不准造成视频画像积累了一些不好的后验数据),一般视频的中轻度用户会成为内容试探的人群候选,而尽量避开在新用户上进行新视频的试探分发。

分发策略:使用user的embedding向量进行人群降维,把视频分发给最相仿的降维中心下的一群用户;阿里巴巴提出了一种Graph Embedding策略,主要解决的是天猫新item的冷启问题,【推荐系统】Graph Embedding系列之EGES: Billion-scale Commodity Embedding for E-commerce Recommend in Alibaba。

2.6、人群降维召回

人群降维召回的目的在于挖掘出具有某种相同属性的一群人爱看哪些,通过对人群点击历史进行协同召回,可以将人群降维召回理解为具有相像兴趣信息的UserCF推荐。

2.6.1、人群降维

人群降维的方式有很多,比较常用的技巧可以借助用户积累的画像信息,对用户画像进行量化,基于用户画像进行降维;也可以借助用户的embedding(embedding常常是用户兴趣点的积累)

基于用户向量进行降维。用户画像方式的降维,我们关注的可以是人群、性别、地区、年龄、职业等信息。用户向量方式的降维,我们更多关注的是用户的兴趣点信息。

快手上热门的数据是怎么计算_快手热门算法_快手的热门到底根据什么计算

2.6.2、召回策略

有了用户降维后,很容易得到某一降维下这群“具有相同属性或则兴趣的用户”的一些点击行为,很容易想到的一个召回策略就是:聚类内实时CF召回,也就是在降维下把点过的视频相互推。

用户降维也可以应用到新视频冷启过程中,将某个兴趣点下的视频分发给该降维下的一群用户似乎是个不错的选择。如果想要得到良好的冷启疗效,我们可以进一步将人群进行界定,实现新视频与人群的完美匹配。

三、排序算法的演化

排序阶段是召回的下一个环节,也是整个推荐系统中最关键的一环,目前大多数公司都将主要精力聚焦在排序环节的优化。排序模型的发展趋势也是一个由简单到复杂的过程,模型抒发能力代表了模型是否具备充分利用有效特点及特点组合的能力,再结合到具体的业务范畴后,模型优化的目标则直接彰显着“我们希望推荐系统去做好哪些”。

业界排序算法的发展趋势大致经历了LR、GBDT、FM、DNN、Wide&Deep、DeepFM几个阶段,下面简单概括下这种排序算法。

3.1、LR

逻辑回归算法是一种广义的线性模型,其特征是简单,因此成为了第一代推荐系统的常用排序算法,但其缺少特点组合能力,需要人工做特点工程等缺点造成其很难取得满意的排序疗效。

传统的LR只能在线下批量处理大量数据,无法有效处理大规模的在线数据流。模型更新可能要三天甚至更多,不够及时。因此,Google在2013提出了Follow The Regularized Leader(FTRL),一种在线逻辑回归算法。该方式对逻辑回归的目标函数进行了更改,加上各类系统工程上的调优,使得该模型的参数可以在每一个线上数据点进行动态更新。

3.2、GBDT

GBDT算法是一种迭代的决策树算法,由多颗决策树组成,预测复杂度取决于树的数量和深度,特征数不会太多,通常在几十到几千范围,需要较强的特点工程工作,难以捕获特点组合。其疗效常常会优于LR算法,因此在第一代推荐系统中被广泛使用。

2014年Facebook发表了一篇论文,介绍将GBDT+LR模型用于其广告推荐系统领域,并取得了不错的疗效。LR+GBDT相比于单纯的LR或则GBDT带来了较大的性能提高,该算法先使用GBDT手动进行特点筛选和组合,进而生成新的feature vector,再把该feature vector当成logistic regression的模型输入,进行LR训练。在方案可以看成,利用GBDT取代人工实现连续值特点的离散化,而且同时在一定程度组合了特点,可以改善人工离散化中可能出现的边界问题,也降低了人工的工作量。

3.3、FM

向量分解机(Factorization Machines,FM)是一种应用较为广泛的推荐模型,FM模型结合了支持向量机与因子分解模型的优点,并且还能用了回归、二分类以及排序任务,速度快,是推荐算法中召回与排序的神器。

FM算法主要是为了解决数据稀疏的情况下,特征如何组合的问题。FM通过将特点空间压缩到向量空间,解决了传统模型的特点稀疏问题,具有挺好的泛化能力;但其特点组合须要人工处理,高阶特点组合复杂,实际应用受限于估算复杂度,特征组合维度有限等缺点也是FM算法不可回避的优化方向。

FM模型定义如下:

FM算法:

3.4、Wide&Deep

Wide&Deep模型的核心思想是结合线性模型的记忆能力和 DNN 模型的泛化能力,在训练过程中同时优化2个模型的参数,从而达到整体模型的预测能力最优。其中,Wide部份有利于提高模型的“记忆能力”,Deep部份有利于提高模型的“泛化能力”。 Wide部份的实质是一个广义线性模型,而Deep部份则是一个简单的全连接网络。

Wide & Deep模型结构如下图,左边是wide部份,右边是deep部份:

Wide & Deep模型结构就能较好地借助了低阶和高阶组合特点,增加模型抒发能力,但是wide部份仍然须要特点工程,其二阶特点组合须要人工选购。

3.5、DeepFM

DeepFM虽然是Wide&Deep的变体,把wide部份由LR转变为FM,这样就省去部份特点工程。FM和Deep部份共享embedding层,可以提高wide部份处理低阶交叉特点的能力,并提供更好的泛化能力。在Wide&Deep的基础上进行改进,不需要预训练FM得到隐向量,不需要人工特点工程,能同时学习低阶和高阶的组合特点;FM模块和Deep模块共享Feature Embedding部份,可以更快的训练,以及更精确的训练学习。

DeepFM模型框架:

3.6、排序算法小结

从推荐系统排序技术的演变趋势可以看出,排序算法的应用经历着一个由简单到复杂的过程,业界的应用也在逐渐由离线训练转向在线训练。就短视频推荐排序而言,由于业务场景的需求,多目标排序模型也成为各家公司的一个研究方向。

图4排序算法的演化趋势

四、分发策略的控制

召回和排序其实承载了推荐系统的大部分工作,但是算法本身并不是万能的,通常会碰到一些算法未能胜任的工作,比如低质视频的打压,政策性视频、热点类视频、编辑加精类视频的置顶,新用户冷启试探、新视频冷启试探、优质但分发不足的长尾类视频补充分发、合作方内容保量分发的强插,这些需求更多的是通过人工加一些策略来进行控制。因此,在排序以后常常须要添加rerank环节来控制最终的内容分发。

Rerank调整无外乎是一些内容的展示位调整,像优质内容/优质源挂马、劣质内容/劣质源降权打压、特俗功能的召回保护、不置信的噪音点击降权、热点内容的降权、兴趣点权重随时间衰减等规则,都须要进一步在短视频分发前进行干预。

此外,出于社会责任与用户体验的考虑,夹杂着反共、色情、低俗、低质、标题党、“封面图党”、软文、广告等内容的短视频须要进行过滤处理。

五、总结

以上内容是对工业界短视频推荐领域的一点想法与理解,出现错误的陈述,欢迎你们批评强调,谢谢。

请相信我,除了这句话,上述的每一句话都有可能是错的!

快手热门算法
上一篇:抖音与快手有什么区别?看完你就知道了 下一篇:没有了