作者:杰少
本文是一篇多任务学习的文章, 里面的设计思路非常值得借鉴,也较为符合我们的直观理解,实践中也确实带来了不错的效果。
背景
大多数现有的推荐系统只会用到用户单一类型的行为数据,例如在电子商务中的我们可能只会使用到用户购买的行为数据。但是我们认为其他类型的用户行为数据也可以提供非常有价值的信号,例如单击,加购等。本文对此提出了一种新的解决方案NMTR(Neural Multi-Task Recommendation)来学习用户的多行为数据。
在现有的诸多模型中, 大家都尝试挖掘用户的其他行为数据,例如ESMM等,用到了用户的点击行为来辅助我们CVR等任务的学习; 本文所述的方法在很多实践中也都有所验证,例如Zohar Komarovsky的博客中也谈到了类似的实践经验。
本文的核心思想就是:
模型
问题定义
输入:目标行为的用户商品交互数据; 其他行为的交互数据;
输出:预估用户和商品的交互概率;
模型框架
模型的核心框架如下:
用户的多个行为之间是存在顺序的联系的,并非是独立的, 为了将这种序列关系刻画到目前的模型中,我们将不同的行为的预测级联起来得到:
其中表示商品在第个行为的bias; 表示第个行为的交互函数。
实验
实验部分主要回答下面三个问题:
NMTR的实验效果
从上面的图上,我们发现NMTR在HR@K和NDCG@K的效果是最好的,NMTR-GMF和NMTR-NeuMF比NMTR-MLP要更好。
和最佳的单行为的baseline NeuMF,NMTR的效果在Beibei数据集上的效果在HR上要好了9.01%,在NDCG的数据集上要好了6.72%。
辅助行为的影响
一种直觉的做法是:一个直观的实验是随机抽样我们使用的数据集中的辅助行为,同时保持目标行为(即购买)的完整性。
从上面的结果来看,我们发现:
数据稀疏性的影响
小结
本文阐述了对多个用户行为建模的一种方法,目前这种级联的方式在很多公司CTR/CVR相关的Cotrain模型上也都取得了不错的效果。这种将相关任务的输出作为下一个任务的输入的方式在很多搜索推荐的博客中也有提及,是非常不错的一种建模方式。
参考文献