这篇谈谈我眼中推荐系统和计算广告之间的差别。
当然,限于角色和身份,我只能站在算法工程师的角度,去谈一谈两种系统的优化目标之间的差异,以及这种差异引起的一系列不同。
目标
从产品的角度来说,推荐系统一般被理解为是一种用户产品,而计算广告被理解为是一种商业产品。也就是说,推荐系统的终极目标是为了提高、维持、促进用户体验的,而计算广告的终极目标是为了赚钱、赚更多的钱、持续地赚更多的钱。
这样一来,推荐系统本质上是要处理用户体验的问题,而计算广告则复杂一些,需要平衡和协调好广告主、用户和广告平台(媒体)之间的利益。
优化
因为目标的不同,推荐系统和计算广告的优化方式就必然会有不同。以 CTR 预估模型为例:
- 因为推荐系统的终极目标是提高、维持和促进用户体验,因此全部根据用户历史行为进行推荐,无异于是竭泽而渔——这会使用户很快对推荐系统推荐的内容产生倦怠感,从而离开推荐系统,造成用户流失。因此,推荐系统在使用 CTR 预估模型时,不宜全部按照 CTR 预估的结果从高到低排序,而是要兼顾诸如内容多样性、新颖性、时效性、流行度等因素。
- 对于计算广告来说,则简单一些。因为计算广告的目标是产生更多收益,因此在使用 CTR 预估的结果时,倾向于从高到低排序,将预估 CTR 较高的结果排在前面。
其他技术
因为目标的不同,推荐系统和计算广告各自又会演化出不同的技术。这里仅举几例。
对于推荐系统来说,为了维持和促进用户体验,就必须要去挖掘用户的长期兴趣,这就引出了探索与利用(exploitation & exploration)这一技术方向。此外,为了顾全多样性、时效性,推荐系统需要对新物料进行尽可能多且恰当的推荐。这就引出了新物料冷启动的问题。再者,考虑到长尾效应,有用户反馈的物料始终是少数,这必然会导致训练集数据倾斜较重。这就引出了有偏数据的处理相关的技术。
对于计算广告来说,由于要协调广告主、用户和广告平台(媒体)之间的利益,就会产生很多博弈。对于广告价格来说,广告主之间为了竞争广告位会有博弈,广告主和广告平台因为利益冲突也会有博弈。由此引出了出价策略(bidding strategy)的技术。另外,广告平台在同一时间能够提供的广告位是有限的,为了在获得一段时间内整体收入最高,就有必要对广告主投放的广告进行排期。由此引出了排期优化(yielding optimization)的技术。