从案例角度看,推荐系统与变现系统的同途殊归
人工智能已进入元年,随着人工智能产品的不断增多,越来越多的互联网公司在人工智能领域聚焦和布局,在上个月EGO特别举办的深圳/广州分会“人工智能专题月”活动中,大家十分深入的探讨了该领域的发展趋势、难题痛点和解决思路。其中Mobvista首席算法架构师&总监李海波,也针对推荐系统与变现系统的异同进行了干货的分享,下面来看看他讲述的精彩内容吧!
Mobvista首席算法架构师&总监李海波
本文建议阅读时间:9分钟
随着互联网时代的发展和碎片化时代的到来,现在我们每天所接收和阅读大量的信息,面对那么多的信息量,我们肯定处理不过来或者说很难高效的处理。这个时候我们就需要运用一些技术手段来帮助我们更高效的处理这些信息,这也是我们需要推荐系统的一个原因。
推荐系统的价值
相对于搜索来说,推荐其实是一个被动的过程,即一个平台会主动的把一些信息推到我们这边来,它其实也是一个发现的过程。
在这里,我列举了几个业界比较有名的推荐系统,当中有一部分是我自己参与过的。第一个是Netflix,它是国外的一个视频网站。在这个网站上有三分之二的电影观看时长是通过推荐系统所带来的。对于推荐系统技术的发展来说,Netflix其实是一个非常重要的公司。因为Netflix之前针对推荐系统设立了一个百万美元大奖,从而推动推荐系统更快的发展。另外一个系统是Google News,它里面基本上有38%的新闻点击量都是来源于它的推荐系统。然后,还有一个比较重要的公司就是Amazon,它35%的销售量都是来源于他们的推荐系统,也是在它公布了这个数据之后,很多公司才重视到推荐系统这个技术。除此之外,百度、今日头条、高德LBS推荐等也通过推荐系统带来了很多的收益。
推荐系统问题所定义的数学含义是这样:
——定义User集合为U,待推荐Item为I
——定义f为效用函数,使用f(u, i)表示Item i对Useru的效用, f:U X I -> R,其中R为推荐有序list
——优化目标:∀u∈U i_u^'=argMax((f(u,i))) ,i∈I
——基本方法:非参数方法和参数方法
——考虑场景:f:U X I X C -> R
推荐系统、变现系统与数据挖掘
推荐系统、变现系统跟数据挖掘都有着非常紧密的联系,比如像底层会有相应的一些数据的预处理或者数据挖掘,之后根据相应的一些技术对其效用进行预估。变现系统和推荐系统的衡量指标是不太一样的,变现系统的衡量指标主要就是收益,兼顾用户体验;而对于推荐系统来说,它衡量的指标是多目标的,在不同的场景下需要考虑的指标也不同,比如用户的喜好程度、惊喜程度、多样性等,这些都是需要综合考虑的。
对于做推荐系统的人来说,这也是比较郁闷的一点。因为他们很多时候需要衡量的指标并不清晰,或者说要衡量最终目标的话需要权衡很多的因素,并且最后衡量出来的这个指标也不一定会有一个最终的统一定义。所以我觉得一定程度上做推荐系统的人很多时候并不像做变现系统的人一样有很明确的目标或较强的成就感。
上面是推荐系统的一个策略架构图,我所做过的所有的推荐系统基本上都可以用这个图来涵盖。这个策略架构图不会涉及到一些具体的工程问题,更多的是从策略的角度对系统进行模块的划分。其划分主要包含以下几个部分:
第一部分是基础推荐算法,这些基础的策划是大家经常遇到的。第二部分其实是推荐系统里非常重要的一个核心模块,即User Profile,或者叫用户画像。它更多的是说我们怎样收集用户的信息,并且根据这些信息来刻画这个用户。第三部分Ranking也是推荐系统里面非常重要的一个模块,虽然大家看到的基本上所有的资料,或者说市面上的那些评估其实都不太会强调Ranking这个逻辑,但真正的在各个大的公司里面Ranking其实反倒是最核心的一个逻辑。这个模块很大程度上决定了推荐系统的成败,很多时候,我们需要根据推荐的场景,以及转化路径去做相应的建模。
从大家的角度来看,推荐系统里有一类算法可能相对来说涉及的会少一点。但其实各大公司都会投入很多的精力来做这块的技术,此项技术就是根据图论来进行推荐。图论的含义是具有流动性的市场对商品价值的一个客观判定。它虽然相对来说并不是很难,但在工程实践上会有比较大的难点。因为它的涉及到的节点比较多,这时图论的运算量其实是一个乘积的关系。所以各大公司在应用图论算法的时候最大的难点就是计算量,解决这个问题需要应用很多并行处理的手段,例如hadoop,spark,或者MPI。
对于推荐系统来说,还有非常重要的一点是我们怎样去收集用户数据和用户反馈。在设计一个好的推荐系统时,用户反馈是非常重要的。而对于变现系统来说,用户有比较少的显性反馈,这点看起来就不是那么重要。变现系统更多的是去挖掘用户隐性的反馈,例如用户看了哪些东西,点击了什么页面,购买的东西是什么等。对于这些,用户并不会像推荐系统那样去做一个明显的打分,更多的是需要我们离线的挖掘他们的这些行为。
如何用机器学习的方式进行推荐
从技术的角度来说,我们经常会提到LTR即learning to rank这个概念,即我们用相应的一些模型来对候选进行排序。我们在ranking的时候需要做很多的工作,甚至需要用一些比较复杂的模型来解决问题。在用模型解决问题时,我们需要对我们的目标进行拆分。比如在排序时,如果转换路径比较长,我们可能需要对这种转换路径的连接进行相应的一个拆分。不管是推荐系统还是变现系统都是需要这样做的。
从价格的角度来说,大家可以想象一下,变现系统跟推荐系统到底有怎样的差别。
这是我做过的变现系统的一个策略架构图,这跟之前大家看到的图1是比较类似的。从变现系统来看,有一点不同是用户画像只是当中的一个环节,甚至说很多时候,如果我们变现系统没有做到个性化,或者没有做到精准投放的话,用户画像所占的空间相对来说都是比较小的。
而且对于变现系统来说,很多时候我们需要精确的预估一个流量过来的价值,所以我们的精力主要投入在两个部分:一是模型的训练,模型训练之后会及时应用到线上去预估CTR,还有与CVR相应的工作。二是对于变现来说,我们的候选也是比较多的,而且这些候选是没有被之前的那些用户看过的。这时,我们就需要有一种探索的机制去发现这些新东西的效果。
变现系统的实际应用案例
简单介绍一下Mobvista的变现系统,从广告样式上来说,现在的广告样式其实是比较多的。我这里只是列了几种,大家可以看一下。
其实它跟很多的变现产品或者推荐产品是比较类似的,就是精装一个页面,然后推荐很多不同的东西并对它们进行排序。如果有点击或者有安装的话,其实就相当于有转化。
这里有一个对于推荐系统或者变现系统来说都会涉及到的问题,即交互的重要性。我们会通过很多实验去调各种算法、模型,提升CTR或者CVR的效果。同时我们也需要配合产品的样式。有时候算法没有变,只是样式变一下,它的CTR都会有很多的提升。所以,样式非常重要。对于变现或者推荐来说,它不仅仅涉及到技术问题,也会涉及到一些审美问题。
例如最近发生的魏泽西事件,这个事件发生之后相关政府部门入驻百度,去监管它的广告投放。而百度则需要明确的把它的广告打上商业推广的字号,并且底色需要高亮显示。百度的这个样式调整对它的CTR影响是非常大的,它的CTR会降很多,百度的财报也会受到比较大的影响,这就是样式对广告或者推荐所产生的一个影响。
这是Mobvista的一个变现架构图。跟推荐系统相比,它里边多了两个部分。一部分叫SDK,对于移动广告来说,它需要有很多的展现、控制的逻辑。这个逻辑比推荐系统要复杂很多。
另外一个部分是Portal,可以在Portal里去管理广告物料以及广告的投放。这些都是推荐系统里绝对没有的,因为推荐系统所推荐的单品很多时候对于平台来说是一视同仁的。但是这对于广告主就不一样了,这些单品广告属于不同的广告主,广告主会有自己的预算或者在投放时会选择不同的机制。所以,变现系统就需要有一些竞争的设置或者广告主觉得有利于自己的设置。
对于排序、预估、模型处理、架构或者说框架、数据收集的流程来说,推荐系统和变现系统其实是比较类似的,基本上没有什么本质差别。
单从模型预估来看,推荐系统和变现系统会存在差别。变现系统更关注的是模型预估的准确性,推荐系统更关注的是它排序的稳定性。这就是说在推荐系统里预估的东西,我们只要保证好的东西排在前边,不好的东西排在后边就可以了,即使它中间的那个数值预估的不准,但只要保证排序是稳定的,那这个模型就是OK的。
但对于变现系统来说就不一样了,它绝对要保证模型预估出来的值是准确的。比如它预估一个CTR,预估出来CTR之后还要乘以它的Price才能最终得到排序,这时候如果预估出来的CTR它的相对顺序是固定的,但是它的值不准确,然后再乘以像Price这种因子的话,那它很有可能整个排序都是乱的。这是变现系统的模型跟推荐系统非常不一样的地方。
除此之外,在模型数据量比较少的时候,我们预估出来的CTR是不能直接用的,这时候不管是推荐系统还是变现系统都需要做一个平滑,这个方法是推荐系统和变现系统通用的。
推荐系统和变现系统的异同
从目标角度来说,我觉得这是推荐系统和变现系统非常不一样的点,推荐系统非常重视用户体验,很多时候会把用户体验作为最终的一个衡量尺度。但是对于变现系统来说,用户体验更多的只是作为一个门槛,只要不严重损伤用户体验,很多公司都会将收益作为第一指标。
在候选方面,推荐系统和变现系统也是不一样的。变现系统的候选库就是广告,这些广告都是广告主提过来的,对于推荐系统来说,它的候选库是单品,比如说当当、京东、天猫等,这些单品的广告主可能随时在变而且广告主可能随时调整单品。
排序跟目标比较类似,即公司到底更看重用户体验还是更看重收益。排序其实有很多竞价策略和竞价机制,这也是变现系统非常重要的一点。为了让广告主参与到竞争的机制中,我们会在变现系统里设定一些机制来促使广告主参与到竞争机制中来,换句话说其实就是为了哄抬价格。这个价格的设定可以让你感觉到你能用更少的钱去获取流量,但其实从整个市场来看,它会把竞价水平提升上来。这种机制在推荐系统里是绝对不会有的,但是在变现系统特别是具有一定垄断地位的平台里,基本上都会加入这种机制。
推荐系统和变现系统的相同点就比较多了。比如像底下技术,包括数据挖掘、机器学习和LTR,这些技术在两个系统里面都是通用的。个性化技术虽然在推荐系统里叫个性化,在变现系统里叫精准投放,其实本质上并没有区别。
从价格来看基本上都是三部分。第一个部分是触发,即我们去找候选、找到候选之后会进行相应预估的过程。比如像广告我们经常叫的是质量度。其实很多时候都是CTR、 CVR这些东西,然后去做一个预估,之后再进行相应的Ranking。Ranking在两个系统里面都是非常的重要。只是在变现系统里,它更多考虑的是竞价的机制,在推荐系统里相对会单纯一点,它考虑的就是用户体验。
以上就是推荐系统和变现系统的异同。
以上就是EGO广州/深圳分会活动
嘉宾李海波的精彩分享