阿里飞猪推荐算法探索实践( 二 )


另外,ESMM模型在底层把CTR和CVR的两个task所需要的embedding做了共享,这样我们可以用包括曝光样本在内的所有的训练数据共同去做embedding的更新,缓解了CVR预估面临的data Sparsity问题 。
通过优化CTR和CTCVR两个辅任务达到预估CVR的目的
我们引入的两个辅任务CTR和CTCVR都是从曝光开始的 。这样预估得到的CVR其实也受益于CTR和CTCVR的两个基于全空间的任务,相当于CVR也是基于全空间去估出来的 。这样就消除了Sample Selection Bias问题 。
3. 基于全空间的CVR预估—ESM^2模型

阿里飞猪推荐算法探索实践

文章插图
 
① ESMM模型的不足:
建模路径上,只考虑了从曝光到点击再到购买
事实上,用户的购买决策路径非常复杂 。比如用户在点击之后,有可能会先加入购物车再通过购物车去产生购买行为 。所以需要考虑更复杂的用户购买决策路径 。
没有考虑到购买正样本的缺乏对建模的影响
购买正样本的缺乏也会影响预估的精准性 。我们提出了可以引入点击之后的post-click行为,去缓解购买正样本缺乏对最终建模的影响 。
② ESM^2模型解决的问题
基于这样的考虑,我们提出了ESM^2模型,该工作发表在SIGIR 2020上,它主要解决三个问题:首先解决了SSB问题,其次解决了DS问题,最后缓解了正样本的缺乏 。这篇paper最主要的贡献就是引入了合适的post-click行为 。当然该模型在建模时,也会面临一些挑战 。
③ ESM^2建模面临的四大挑战:
  • 如何定义合适的post-click行为
  • 如何抽象用户复杂的购买决策过程
  • 如何有效地同时组织多种post-click行为
  • 如何建模post-click行为与购买之间的依赖关系
④ ESM^2建模思路:
阿里飞猪推荐算法探索实践

文章插图
 
用户对商品的决策过程非常复杂
用户购买决策过程非常复杂,比如点击之后,可能先加购,加购之后可能再点击,再次点击之后可能再购买 。
点击到购买之间引入合适的post-click行为
解决正样本缺乏问题,我们的做法是在点击到购买之间引入合适的post-click行为 。比如以前的建模方式是直接从点击到购买,现在把过去的建模方式拆分,我们观察到发生点击行为之后,可能会发生相应的一些类似加购、收藏的post-click行为 。
通过定义完备划分事件组织多种post-click行为
事实上,post-click行为是非常丰富的,我们该怎样组织它们呢?我们的做法是把post-click行为做一个完备的划分 。具体来说,我们把所有的post-click行为分成两个集合,并保证这两个集合互不相交 。比如,我们定义加购/收藏行为作为DAction,那么我们对它取反,就代表了其他剩余的post-click行为,叫OAction 。这样,DAction和OAction两个节点就可以认为囊括了所有的post-click行为 。
全概率公式建模用户行为之间依赖关系
我们就可以基于全概率公式对用户行为之间的依赖关系做建模 。
阿里飞猪推荐算法探索实践

文章插图
 
具体而言,我们以前是直接从点击到购买估出CVR的预估值 。现在我们把过去的单一路径拆成两条路径,并且这两条路径是互不相交的 。比如说用户可以通过点击到DAction,再从DAction到购买;或者用户也可以从点击到OAction,然后再从OAction到购买 。这样我们可以基于全概率公式去做相应的建模 。
⑤ ESM^2模型
阿里飞猪推荐算法探索实践

文章插图
 
我们具体怎么建模呢?以前的ESMM模型,它直接从点击到购买会有一个CVR预估值,我们把这样一个值进行拆解 。首先我们引入一个任务叫从点击到DAction,DAction可以简单理解为加购或者收藏这样的行为是否发生;如果发生了,DAction的label就是1 。OAction对应为DAction的取反 。所以如果从点击到DAction的概率是y2,则从点击到OAction的概率就是1-y2 。同时再引入两个辅任务,比如一个概率叫y3,一个叫y4,它们分别代表DAction到Buy、OAction到Buy这两条路径的概率 。我们怎么解决Sample Selection Bias问题?一条样本曝光之后,我们知道它是否有点击,是否有购买的label,同时也知道,是否有DAction的label 。这样其实就引入了三个基于全空间的辅任务 。第一个任务是从曝光到点击,其实就是CTR(对应y1);第二个任务是从曝光到DAction,DAction其实就可以理解成刚才我们讲到的加购/收藏这样一个行为,它是否发生的概率其实就等于y1乘上y2;第三个任务是从曝光到购买的概率,就等于曝光到点击的概率乘以从点击到购买的概率,即y1×[y2×y3+(1-y2)×y4] 。这就是一个全概率的分解;其中,中括号里面的就代表了CVR的预估值 。


推荐阅读