日记大全

日记大全 > 句子大全

「回顾」某视频APP推荐详解(万字长文)

句子大全 2007-02-13 23:42:55
相关推荐

「来源: |智能推荐系统 ID:gh_f8ba0cf49ce0」

猜你喜欢

0、2021年轻人性生活调研报告

1、如何搭建一套个性化推荐系统?

2、从零开始搭建创业公司后台技术栈

3、2021年9月份热门报告免费下载

4、微博推荐算法实践与机器学习平台演进

5、腾讯PCG推荐系统应用实践

6、强化学习算法在京东广告序列推荐场景的应用

7、飞猪信息流内容推荐探索

8、华为项目管理培训教材

9、美团大脑系列之商品知识图谱的构建和应用

推荐的目标

该app推荐的终极目标是提升dau。

留存和dau在绝大部分情况下正相关: 留存上涨一般dau就会上涨,留存下降 一般dau就会下降。作为一个指标,留存相比dau有很多优点,我们目前主要优化留存这个指标。

app使用时长也是个非常重要的指标。一般认为,app使用时长可以反映用户当天对应用的满意度。留存是一个需要一天后或者多天后才能观察的指标,而且噪声往往比较大。使用时长比留存反馈更快,更容易测试出实验收益,而且经验上大部分提升时长的改动都提升了留存,所以时长被认为是留存一个近似指标。

推荐排序模型

内容推荐做的事情是按照一个公式给候选视频打分,把得分最高的视频返回给用户。排序公式的形式是这样的:

那么这个公式具体的含义是什么呢?

用户可以对看到的视频做出各种互动,这些互动体现了用户对这个视频的喜好程度。比如用户点赞比不点赞要好,看完比没看完要好,没有点不喜欢比点不喜欢要好。换句话说,用户对观看的视频的每一次互动都有正面或者负面的价值(反馈)。该app的推荐排序模型假设,用户看一个视频获得的价值等于这个视频上发生的所有互动的价值的总和。推荐系统的目标,就是把价值最高的视频推给用户。

为了计算视频播放的价值,我们引入了价值模型(v),用来衡量发生的互动的价值。

如果一个视频被用户看过之后点赞了,其他互动都没有发生,那么这次视频观看的实际价值就是

在推荐服务选择推给用户的视频的时候,用户还没有看过这个视频,究竟会发生哪些互动是未知的,所以视频播放的精确价值是无法计算的。为了在不知道用户实际的互动的情况下仍然完成打分,我们需要用预测模型(p)来预测每个互动发生的概率,用这次视频播放创造的价值的期望值来代替上面公式里面实际发生的价值。这时候我们得到的公式就是上面最开始展示的形式了:

这就是推荐服务给视频排序的公式(这里play的含义是播放,一个视频只要推出去就会播放,所以p_play总是等于1,这样写是为了和其他的互动形式一致)。推荐服务实际做的事情就是用这个价值公式给所有的视频打分, 把得分最高的(也就是创造价值最高的)几个视频返回给用户。

简洁起见,这里使用的是一个极度简化的公式。线上实际使用的排序公式比上面的要复杂得多,不过背后的逻辑是一致的。

预测模型

预测模型是预测各种互动(或者更广义地,在排序的时候一切未知的事情)发生的概率的模型。预测模型一般是机器学习模型,它们用视频和用户相关的数据做输入,输出一件事情发生的概率。模型的输入叫做特征,输出叫做预估。

常见的预测模型包括:点赞模型,评论模型等预测互动是否发生的模型。播放时长、个人页停留时长等预测某件具体值的模型。骗赞、骗评论等对内容做分类的模型。

预测模型的输入特征可以分成这样几个部分:1、用户相关信息。比如用户id,用户地域,用户历史互动统计,用户最近看过的视频id列表等;

2、视频相关信息。比如视频id,视频时长,视频用了什么贴纸,视频互动统计,视频的内容等等;

3、作者相关信息。比如作者id,作者粉丝数,作者历史统计等等;

4、还有很多其他信息,包括用户在的实验组等;

预测模型是个性化的,一个模型对同一个视频,在不同的观看者上,或者同一个观看者的不同环境下,给出的预估往往是不同的。比如点赞模型预测的是,当前用户在当前场景下,看到当前视频,给这个视频点赞的概率。一个明星的视频,他的粉丝和非粉丝点赞的概率可能会不同,这个明星的一个粉丝,在刚打开该app的时候看到这个视频,或者已经刷腻快要退出的时候看到这个视频,点赞模型给出的点赞的概率可能也会不同。

价值模型

价值模型是给互动赋予价值的模型。

互动的价值主要分为这样几种:1、用户价值。为当前视频被推给的用户创造的价值。主要是当前用户的时长、留存,以及满意度等;

2、作者价值。为视频的作者创造的价值,包括作者获得的流量、互动、收入等;

3、平台价值。为平台创造的价值。包括品牌效应,内容安全,平台收入等;

4、间接价值。本次视频的播放间接(不在本次播放的用户,作者上面的,也不是直接对平台产生的)产生的价值,如评论后其他用户收到通知可能提升其他用户的留存(其他用户的用户价值),对内容生态产生的影响(其他作者的作者价值)等等。

用户的每次互动,都可能带有上面的一种或多种价值,比如点赞的价值公式是:

用户给一个视频点了赞,说明用户喜欢这个视频,所以点赞应该有正面的用户价值(上面公式中的1)。用户对同一类内容今天已经点过的赞越多 (same_tag_today),可能越容易审美疲劳,用户价值也就越低。用户点赞增加了这个视频的点赞数,对作者有激励作用(特别是在低赞(is_vv_lower_than_100)的时候),所以点赞也有作者价值。如果视频是骗赞视频,给它们过多的赞可能会影响整体生态,所以在骗赞视频(is_like_bait)上的点赞可能会有(负向的)平台价值。

价值模型是我们对应该给用户推荐什么视频的理解,需要反复地调整和思辨,才能达到最好的效果。大部分情况下,我们对价值模型做的优化,就是更好地把每个互动的价值分解清楚,并把分解好的价值公式写进融合公式,从而最大化视频推荐获得的收益。下面是对主feed的价值模型的一个的分解:

根据这个分解,我们会去优化用户的点赞、评论、完播,作者的投稿率、留存、收入,直播、社交、poi等功能的渗透率等目标。

上述模型的局限和解决方法

上面介绍的排序模型可以用来解决我们大部分的问题,但是也有不少问题需要用其他的方式来解决,比如:

有些价值是通过多个视频的组合创造的。同一个关注人的连续曝光,可能会改变用户对这个关注人的认知(比如,连续看到一个作者的视频,可能会让用户对这个作者有更深的印象,从而更愿意继续看他的视频,甚至去主动搜索/浏览这个作者有没有发新视频等。再比如,有些作者的视频可能会有一些梗,只有多看这个作者的视频,才能更好地get到这个作者的点)。所以这个用户观看这些视频的总价值,是大于观看每个单个视频的价值之和的。再比如一个用户喜欢某类视频,但是如果一直推给他这类视频,他可能会很快变得厌烦而关闭app。这个用户观看这些同类型视频的总价值,是小于观看每个单个视频的价值之和的,因为这些视频的同质化导致了用户看得越多越容易疲劳。对于这种问题的解决方案有两种:做一些假设, 把价值拆分到价值公式中去,比如对于上面提到的关注人连续曝光问题,可以通过加一个“same_author_seen”的价值来近似,同类视频厌烦问题也可以通过加一个“same_tag_today”的负面价值来解决。这类问题也可以通过价值公式外的方式解决,比如强插、打散、刷内策略等。比如同类视频厌烦问题可以通过打散来解决。

价值模型的前置阶段和价值模型不一致导致的问题。下面会讲到,推荐架构分为多个阶段,价值模型是在最后一个阶段应用的。如果价值模型的目标和前置阶段的目标不一致的话,可能需要去解决前置阶段的问题。举一个例子:在做社交方向尝试的时候,可能需要把更多的好友视频返回给用户,但是如果这些好友的视频在召回阶段就没有被召回的话,调整价值模型也起不到作用。需要先解决召回阶段的问题,才能更好地达成目的。

模型并没有优化终极指标(WIP)

模型优化

愿景

我们希望尽可能地把问题转化为上述框架(价值模型+预测模型)内的问题来解决。

这么做的原因主要是:

1、这个框架是对视频推荐问题的很好抽象,用这个框架能很好地解决绝大部分问题;

2、因为长期的积累,在这个框架内,我们的开发成本最低、测试和分析工具最完善;

3、大部分之前的实验都是基于这个框架的,积累的大量的经验可以帮助我们更好地完成新的尝试。

方法论

做一个策略,需要:

1、明确目标。想清楚这个策略想要达到的最终目标是什么(用户价值, 作者价值,收入,etc)。最终目标一定是用户价值,作者价值,平台价值三者之一,对这三者都没有价值的项目一定没有价值。

2、分解问题。目标可以分为多个维度:最终目标是指要创造的价值,包括作者价值、用户价值、平台价值。间接目标是指策略可能提升的,和最终目标有一定因果性的指标,比如内容多样性,用户点赞率等。直接目标是指策略直接优化的指标,比如优化点赞模型的直接目标是点赞模型的预测效果(logloss)等。分解问题指的是对要做的事情完成这几层目标的分解。我们来看几个目标分解的例子:

骗赞模型的目标分解是:

首先,骗赞视频的打压,最终是为了提升用户留存,和打击投机取巧的作者,给正常作者更好的激励,这个是项目的最终目标。减少骗赞视频的投稿和vv,可能对最终目标会有帮助,因为会提升用户对平台的印象,也减

少了投机取巧的作者在平台上获得的流量。为了减少骗赞视频的分发,我们需要一个骗赞模型来给视频打骗赞标签。所以我们最终要做的事情是做一个足够好的骗赞模型。

差异化保量项目的目标分解是:

目标分解链条里面相邻两层的目标的因果关系,都需要足够可靠,才能保证整个目标分解链条的正确性。“可靠”的标准是要么是逻辑上有足够清晰的因果关系,要么是有充足的数据验证。从整个链路的有效性出发,目标的分解有这样两个原则:每一层因果关系的可靠性越高越好,链条越短越好。目标分解过程中,比较容易犯的一个错误是把这几层目标混为一谈, 或者是忽略了其中某一层的变化。比如优化点赞模型只看点赞有没有涨,忽略了点赞模型效果有没有提升,一般就是忽略了直接目标,或者是把直接目标和间接目标等同了。

1、制定策略。根据目标和我们觉得可能有收益的方向来制定相关策略并测试。在推荐场景下,策略的优化可以分为这样几种:优化链条上某个目标对应的指标,比如提升骗赞模型的auc,直接目标的收益通过问题分解链条传递到最终目标,拿到最终目标的收益。

2、更好地分解目标。更好地分解目标在做的就是用更好的因果关系(上面提到的,每一层因果关系的可靠性越高越好,链条越短越好)链条替换掉当前的因果关系链条。比如在差异化保量的项目中,我们目前是用预测一个视频会不会火来判断这个视频应该保多少量的,越可能火保得越多,这个指标其实存在一些问题,如果能把这个指标替换成更好的指标,后面针对的优化效果就会更好。比如,改成保多少vv, 后续带来的用户侧分发效果(比如额外获得了多少vv)就能排除就算不用做冷启动也可以分发得很好的视频,节省流量给不那么容易分发好的视频来做冷启动。

3、设计实验。设计实验主要是明确这样几个元素:实验的开启方式,实验观测的核心指标和预期收益,目标分解链条中的中间指标和直接指标,以及这些指标预期的变化。核心指标用来判断实验是否达到了目的(步骤1里的收益),比如扶植某类作者,应该看这类作者的投稿留存是否提升。中间指标用来判断实验是否开启正确。一般来说,实验要观测的指标,就是目标分解图里面,每一层要观测的指标的汇总。明确了需要观测的指标之后,根据需要观测的指标,判断实验的开启方式,包括:开消费侧还是作者侧实验,实验的流量,实验的参数,实验需要观察的时间等。这几个元素在开设实验的时候就明确,是非常重要的。这几个元素提前思考清楚,实验才能正确进行,也能避免根据结果主观解释实验,先射箭再画靶子的问题发生。

4、检查实验结果。检查实验结果是否符合预期,如果符合预期,判断是否需要上线。如果不符合预期,需要分析实验,根据分析对方案做出修改或者放弃尝试。实验符合预期是指:核心指标收益符合预期,所有中间指标的变化符合预期,或者能给出足够信服的解释。

5、上线/总结。如果实验符合预期,可以上线。

优化方法

(把价值模型和预测模型混淆,是发生频率很高的一个错误。如果你从直觉得到了一个可能的算法优化方案,请务必想清楚你要优化的是哪种模型)预测模型的优化主要是让预测模型预测得更准,常见的几种优化方法包括:

1、模型结构的改进。用更复杂强大的算法,让模型更好地处理输入,从而预测得更准。

2、增加更多特征。增加特征可以让模型拿到更多的信息,从而预测得更准。比如,最近新增加了小游戏点击模型,如果加上游戏id作为特征输入,可能会让模型更好地学到同一个/同一类游戏的视频的相似性,从而预测得更准。

3、提升输入数据的质量,包括扩大候选集,减少训练数据丢失,让模型更及时地得到数据反馈等等。

优化预测模型,能提升当前价值模型公式下,推荐的视频创造的总价值。

价值模型的优化主要是让价值模型更符合平台各方的利益诉求。主要的优化都是根据产品的目标来针对性地修改价值模型,常见地几种优化方法包括:

1、增加新的互动目标。比如,觉得用户看到视频的模仿性投稿重要,可以把用户看到视频之后点击拍同款的互动加到价值模型里面。

2、更换更本质的互动目标。比如,最开始价值模型里面有个人页点击这个目标,但是后来我们觉得用户点进个人页之后的互动相比点击个人 页这个目标更能反应用户对这个作者的感兴趣程度,所以就把价值公式里面的目标从个人页点击变成了个人页总互动。

3、对每个互动目标的价值的更合理的拆分。这是最常见的优化方式,优化对应的往往是对产品更深刻的理解,比如:

A、长视频直接分发,为什么点击挑战数下降了80%?

B、有的用户点赞率50%+,有的用户从来不点赞,点赞的价值在这两种用户之间有什么区别?

C、点赞率10%的视频的一个点赞,和点赞率1%视频的一个点赞,价值是否一致?

D、有的用户会使用收藏功能,有的用户把点赞功能当作收藏功能来使用,这两种互动的意义怎么考虑?

F、点击头像进入个人主页,和点击名字进入个人主页是否应该认为是一个动作?

推荐架构

这部分对推荐架构做简单的描述,了解推荐架构的常用概念,有助于和推荐同事更好地沟通。

推荐的流程

一个用户在刷该app的时候,该app会请求推荐服务来返回视频给用户观看。推荐服务的流程大概分为这样几步:

1、筛选视频

2、该app的全量视频至少有几十亿,每次都从几十亿条视频里面选视频做推荐是不现实的,所以我们会预先选择一个候选集,用户每次请求推荐feed,会给这个候选集里面的视频做排序,把打分最高的返回给用户。这个候选集对于所有用户都是几乎完全一致的,通常包括比较新的视频和表现比较好的老视频。

3、每次用户请求,推荐服务会从这个候选集里面,通过多个召回源初步选取几千个视频,供后续阶段做进一步筛选。这个过程叫做召回。召回源分为两种,基于模型的召回和基于属性的召回。

4、基于模型的召回会给全部候选集里面的视频按照模型的打分排序,选择得分最高的视频,比如like召回会把用户最可能点赞的视频召回回来。基于模型的召回,使用的架构叫做cypher,cypher使用相对简单的模型,并应用了各种加速手段,保证能够在整个候选集上面完成模型的预估,并把打分最高的返回给推荐服服务。

5、基于属性的召回会根据用户的属性,召回对应的一系列视频。比如,如果用户在北京市,同城召回会召回所有在北京市发布的视频的top视频。好友召回会召回这个用户的好友最近发布的多少条视频,等等。基于属性的召回,通常是通过倒排来完成的。倒排里面存储的是每一个属性值对应的视频列表,比如用户id对应的所有好友,区域名称内的所有的视频,等等。

6、读取数据。

7、价值模型和预测模型需要输入信息,推荐服务需要请求存放着这些信息的服务,把数据取回来,用来计算排序公式。数据有非常多的来源,其中最主要的是正排,正排里面存储的是每一个视频的各种属性信息,例如观看数,是否是电商视频,视频的类型,作者的id等。还有很多存储用户、作者、音乐的信息的服务,这里不一一展开了。

8、计算得分,返回结果。

9、把读取到的所有的数据作为排序公式的输入,算出各个预测模型和价值模型的值,再融合起来得到总分,把得分最高的排在最前面。

10、因为计算性能限制,只有一小部分,大概几百个视频可以做完整的模型计算。但是召回返回的视频要远多于这个数量,所以在最终的排序 (精排)之前,还有额外的一步粗排。在粗排中,我们会用一个简单的排序模型,尽可能地模拟精排模型的打分,在所有召回的视频里面,选出最靠前的几百个视频,送给精排。

11、精排打分之后,还会应用一些规则,比如电商六出一,同音乐六出一,冷启动强插等等。

12、这些规则都应用完之后,会把排在最前面的视频返回给用户。

13、收集反馈。

14、视频推给用户后,用户对视频的反馈(点赞、评论,是否滑走等)会被收集起来,用于训练模型。

Data Walk-through

这部分更具体地把整个推荐流程的相关步骤做的事情,和具体取到的数据样式展示出来,帮助大家有个更直观的理解。为了便于理解,这里对实际推荐的流程做了简化。例如实际过程中,从性能或开发便利的角度,获取数据和计算得分可能是交错进行的,获取数据和筛选视频也可能是交错进行的,但是在这部分的介绍中,我们忽略了这样复杂的交错过程。

筛选视频在这个阶段,系统从各个召回源取回视频:

播放时长召回100个视频:视频A1(预测播放时长15.4),视频A2(预测播 放时长13.2),视频A3(预测播放时长11.1) ...

好友召回召回10个视频:视频B1(来自好友A), 视频B2 (来自好友B)...

附近召回召回20个视频:视频C1 (距离0.5KM),视频C2 (距离0.85KM)...

然后把这些视频合并在一起,形成一个召回视频的序列,这些视频会进入获取数据阶段:

A1 B1 C1 A2 B2 C2 ...

获取数据

在这个阶段,系统会去访问各个提供数据的数据源,把视频/用户/请求对应的所有相关信息取回来。例如会去正排请求所有的视频相关信息;从推荐请求中获取这次请求命中的AB实验,要求返回的条数等;去用户服务请求用户的相关信息;去作者服务请求作者的相关信息等。最终,数据会被大致汇总成两部分:

视频信息:A1:播放量500,处于冷启动阶段,作者是X1,作者的粉丝数是1000,带购 物车,购物车id为XXXX,...

A2:播放量1000000,不处于冷启动阶段,作者是X2,X2有账户认证,音乐id是XXXX,评论数50,...

用户和请求信息:

用户信息:

用户的关注人列表为:A1,A2,A3,A4

用户的粉丝数为:102

用户最近看过的视频为:B1, B2, B3, B4

用户看过的视频统计为:(总共100个,体育类视频24个,政治类视频15个)

用户最近7天看过102个视频,点赞15次,评论7次,...

请求信息:这次请求命中了实验 X1(返回12条视频), X2(不返回冷启动视频), X3(点赞的价值X2,过滤掉差评率高的所有视频),在wifi场景下,手机系统为iOS,APP版本号为7.22.1

计算得分在这个阶段,推荐服务首先会把每个预测模型的输入提供给预测模型,得 到预测模型的输出:

视频1:like 0.15 comment 0.03 share 0.007 ...

视频2:like 0.03 comment 0.10 share 0.062 ...

然后推荐服务会在每个视频上面应用价值模型(价值模型的输入是获取数 据阶段获得的数据,和计算出来的预测模型的分数),得到每个视频的最终得分

假设我们的价值模型是 10 * like + (3 + 2 * is_friend) * comment + 5 * share

那么我们会得到

视频1:10 * 0.15 + 3 * 0.03 + 5 * 0.007 = 1.625

视频2:10 * 0.03 + (3 + 2) * 0.1 + 5 * 0.062 = 1.11

这些视频会被按照分数从高到低的顺序排列好,然后应用各种规则。应用规则的方式是:选择目前满足所有规则的,得分最高的视频,放到返回视频列表的第一位;选择目前满足所有规则的,得分最高的视频,放到返回视频列表的第二位;...;直到返回列表里面的视频数量等于要求返回的视频数量为止。

下面是一个应用规则的例子:如果我们的输入是如下所示的5条视频:

视频1(1.625),视频5(好友视频, 1.35), 视频2(好友视频, 1.11), 视频4(0.75), 视频3(0.11)

要求返回3条视频,且有一个规则是“好友视频每刷最多返回一个”的话,返回的视频是 视频1,视频5,视频4。视频2虽然得分高于视频4,但是因为不满足规则,在视频选择过程中被跳过了。

返回结果

计算结束后,推荐服务会把排好序的要展现给用户的的视频的id和相关的一些数据返回给服务的调用方,最终返回给用户。

收集反馈

WIP

视频生命周期

上面是从用户角度来理解推荐服务的流程的,现在我们再看下一个在平台发布的视频的整个生命周期里都发生了什么:

一个视频被发布之后,经过审核,会被刷入候选集,刷入候选集之后就可以在推荐feed被正常推荐了。视频首先会进入冷启动阶段,这个阶段视频会受到一些额外的照顾(价值 模型上的boost)。做冷启动的原因是因为预测模型还没有充分学习到这个视频的信息,预测可能会不准。给视频一些额外的早期照顾,能帮助它更好地分发,提升作者的体验,也可以提升整体平台的内容分发水平。冷启动结束之后,就进入正常的推荐阶段了。在这个阶段,视频存在于候选集中,每个用户刷该app,app请求推荐服务给用户推荐视频的时候,这个视频都会参与排序,如果打分足够高排序靠前,就会被推荐给用户。正常的推荐阶段会在一段时间之后结束,这个时候视频不再存在于候选集中,不会再继续从推荐feed获得流量了。不过这个视频仍然能从个人页,关注feed等途径获得曝光。

在生命周期中,视频可能会进入多次审核流程,审核中的视频可能会停止分发。

产品&运营相关

怎样更好地提出一个需求

想清楚自己要优化的目标。我们经常遇到这样的情况:和推荐沟通比较多的产品和运营同事,因为比较熟悉推荐的做法,会带着某个具体的做法来提需求。比如“加一路XXX召回”,或者“给XXX类内容boost”等。这个时候比较容易犯的一个错误是,提出了具体的做法,但是没有想好或者没有说明,希望优化的目标是什么。比如,提出boost直播视频的需求,但是讨论之后了解到目标其实是提升推荐feed进入直播的量。这个时候其实更合理的需求是增加一个点击进入直播的预测模型,因为这个是在直接优化目标解决的问题。我们的建议是,需求里面最重要的是目标,一切需求都要带着明确的目标来沟通。这样推荐同事才能比较好的针对目标,给出更合理的方案。

确保提出的需求在优化实际的目标。上面已经提到了,明确目标之后,需要确认提出的需求,确实是和目标一致的。这块可能会涉及比较多的模型方面的技术细节,如果不确定需求是否合理,可以和推荐同事先讨论一 下。下面是一些具体的例子:

想好评估指标。每一个策略上线,都需要实验指标来验证。在提出需求的时候想好实验需要看的核心指标和中间指标。具体方法可以参考上面方法论的设计实验部分。

从全局出发。有同事会希望推荐能够提升某一类内容的分发。提升这类内容的分发,对垂类业务的成长是好的,代价是牺牲了全局的分发效率。推荐对整个app的总体价值负责,提这类流量倾斜的需求的时候,需要想清楚对全局的价值,而不只是对垂类业务的价值,否则需求被拒绝的可能性很大。

考虑ROI。每个需求都有成本和收益。一件事情值得做的最低标准是收益大于成本。因为同时有很多件事情可以做,更合理的标准是这件事情的净收益(收益减去成本),比其他值得做的事情的净收益要高,也就是收益要大于机会成本。ROI最高的事情,优先级应该最高。

Q&A

实验相关

Q:可以不做AB直接上线吗?

A:不行,特别紧急的情况除外,比如安全相关的非常紧急的需求。经验上,预期的效果和实际的效果可能会有非常大的差异。不做ab直接上线,可能会带来严重的影响。

Q:AB没收益的策略,一定不能上线吗?

A:不是的。ab没收益也可以上线的策略一般分为两种情况:只能AA观察的策略和信仰判断需要上的策略。只能AA观察的策略比较少。信仰判断需要上的策略,要求有明确的理由和清晰的长期的review机制。

Q:AB有核心指标收益,就一定可以上线吗?

A:不是的。上线的标准是实验符合预期,实验符合预期是指核心收益和所有的中间指标变化符合预期。这样要求的原因是:如果只是核心指标有收益,中间指标变化不符合预期,也就是说问题分解链条实际上可能不成立,我们实际不清楚这个实验改动的收益的来源。如果在这种情况下允许上线,可能带来一些负面影响:我们对这个问题没有做到清晰的问题分解,这对后续的迭代是不利的;收益的来源可能是和现在的推荐系统里面众多的逻辑发生了不合理的耦合,策略在推荐系统变化之后,很可能收益 就不存在了,甚至产生负向收益。(比如,点赞模型坏掉的时候做了个下掉点赞模型的策略,指标可能会有收益,但是等模型修正之后,这个策略的收益就变成负的了)总之,除了核心指标收益,我们也在意策略的可解释性和长期的知识积累,我们相信在长期这种要求能帮助我们拿到更高的核心指标收益。

Q:为什么不做AB,上线直接看AA指标变化通常是不正确的?

A:因为AA指标在时间维度上本身就有比较大的波动,同一时间也可能存在其他策略上线,噪声比较大。这个时候用AA指标来判断实验的收益,有很大的可能出现误判。

内容扶持相关

Q:为什么给我觉得好/不好的视频做加权/降权/过滤,一般都没有收益?

A:因为经验表明,用户的互动行为能够很好地表征用户对视频的感兴趣程度。用户如果喜欢一个视频,往往会看得更长,更喜欢点赞和评论,这种偏好在价值公式里已经体现出来了,不需要额外的boost。

此外,我们总结出来的用户偏好,更多的是宏观层面上的,但是用户兴趣是高度个性化的,直接基于宏观结论做干涉,很难得到好的结果。以“上升人群更喜欢高质量内容”为例,上升人群可能整体上更喜欢高质量内容,不是每个人都喜欢所有的高质量内容(用户A可能只喜欢高质量的旅游内容而讨厌厨艺内容,用户B可能只喜欢高质量的海外旅游内容),也不是每个上升人群都讨厌所有的低质量内容。这种偏好已经表现在点赞率,完播率里面,如果我们额外再给高质量内容做boost,实际更多地作用在了上升用户不喜欢的高质量内容上(比如给A推了厨艺内容,给B推了非海外的旅游内容),这种扭曲基本上不可能提升用户的体验。反过来,打压/过滤低质量内容也不会提升用户体验。如果用户给我们认为的低质量视频点赞了,用 户很可能是喜欢这个内容的。比如这个视频可能是他的朋友发的,可能是附近的街区的新鲜事,可能他就是很喜欢某些偏low的内容,来释放生活的压力。如果我们把这些内容过滤了,用户体验也会变差。

下面是一些常见的问题,这些问题都可以用上面的分析来解释:

Q:我看到明星视频的互动率比大盘高,能不能给明星视频做下加权?

A:个人的互动率比整体的互动率更能体现用户偏好,个人的互动率已经体现在价值公式里面了,这么做没有什么价值;

Q:过滤掉比较low的视频,用户指标会提升吗?

A:不会,上面已经解释了

Q:Boost表现比较好的视频,用户指标会提升吗?

A:大部分情况下,不会。原因同上。

Q:Boost/打压某一类的视频,用户指标会提升吗?

A:大部分情况下,不会。原因同上。

Q:如果像上面说的,过滤/boost/打压一类视频,用户满意度不会提升,那么是说我们不应该做任何这样的策略吗?

A:不是的。原因有几个。首先,我们上面的结论是用户价值不会因为这些策略而提升,但是作者/平台价值是可能因为这些策略提升的。比如,过滤低俗视频会提升内容安全性,过滤骗赞视频可能会减少劣币驱逐良币的效应,提升作者创作质量,boost冷启动视频能让推荐模型更好地学到这些视频的特征,服务后续的视频分发。因为作者/平台价值比较难直接衡量,我们必须先做好相关的数据建设,才能做这类策略,否则很容易陷入拍脑门做事,先射箭后画靶的问题之中。另外,在一些特殊的场景,这些策略可能是有价值的,比如在关注feed考虑亲密度/新鲜程度,在同城feed考虑距离因素等,这些策略都服务了一个清晰的产品逻辑,所以可能产生收益。在推荐feed,内容是核心,做类似的策略很难有收益。

其他

Q:头条/快手/微博做了类似的事情,我们可以上线同样的策略吗?

A:取决于实验结果。借鉴其他产品的实践是个很好的做法。不过和其他策 略一样,我们必须先想好目标,实验评估方法等,有明确的收益才能上线。

Q:我要做的是一个小功能,对核心指标没有影响, 这个时候应该怎么评估呢?

A:首先,对核心指标没有影响的功能,因为收益不明确,优先级可能会比较低,这个时候需要先思考清楚这个功能的意义。如果意义明确,可以用这个小功能的相关指标来做实验指标,比如功能留存、渗透、时长等。如 果有可能,也可以先激进尝试放大策略,观察指标的变化,先评估持续迭代后的天花板,再用更温和的版本,折算收益后判断是否应该上线。

本次分享就到这里,更多推荐相关干货资料可以到小程序

「 更多干货,更多收获 」

推荐系统工程师技能树

【免费下载】2021年9月份热门报告盘点

美团大脑系列之:商品知识图谱的构建及应用

【干货】2021社群运营策划方案.pptx

大数据驱动的因果建模在滴滴的应用实践

联邦学习在腾讯微视广告投放中的实践

如何搭建一个好的指标体系?

如何打造标准化的数据治理评估体系?

【干货】小米用户画像实践.pdf(附下载链接)

推荐系统解构.pdf(附下载链接)

短视频爆粉表现指南手册.pdf(附下载链接)

推荐系统架构与算法流程详解

如何搭建一套个性化推荐系统?

某视频APP推荐策略详细拆解(万字长文)

2021年轻人性生活报告

关注我们

您的「在看」,我的动力

阅读剩余内容
网友评论
相关内容
拓展阅读
最近更新