2019-TKDE-Learning to Recommend With Multiple Cascading Behaviors | 精读

本文是一篇多任务学习的文章, 里面的设计思路非常值得借鉴,也较为符合我们的直观理解,实践中也确实带来了不错的效果。

大多数现有的推荐系统仅利用一种类型的用户行为数据,例如电子商务中与转化率的业务关键绩效指标(KPI)直接相关的购买行为。除了关键的行为数据外,作者认为其他形式的用户行为也提供了有价值的信号,如浏览、点击、向购物车添加产品等。为了向用户提供质量建议,应适当考虑它们。

为了充分利用多种行为数据中的信号,作者在多任务学习框架的基础上进行了联合优化,将对一种行为的优化视为一项任务。

在两个真实数据集上进行的大量实验表明,NMTR显著超出了根据单行为数据和多行为数据设计的艺术推荐系统的状态。进一步的分析表明,对多个行为进行建模对于为很少交互的稀疏用户提供推荐特别有用。

背景

大多数现有的推荐系统只会用到用户单一类型的行为数据,例如在电子商务中的我们可能只会使用到用户购买的行为数据。但是我们认为其他类型的用户行为数据也可以提供非常有价值的信号,例如单击,加购等。本文对此提出了一种新的解决方案NMTR(Neural Multi-Task Recommendation)来学习用户的多行为数据。

在现有的诸多模型中, 大家都尝试挖掘用户的其他行为数据,例如ESMM等,用到了用户的点击行为来辅助我们CVR等任务的学习; 本文所述的方法在很多实践中也都有所验证,例如Zohar Komarovsky的博客中也谈到了类似的实践经验。

本文的核心思想就是:

  • 采用MTL的方式从用户的多行为数据中进行建模;

  • 为了捕捉用户的行为关系,采用级联(Cascaded way)的方式进行构建;

问题定义

 

输入:目标行为的用户商品交互数据; 其他行为的交互数据;

输出:预估用户和商品的交互概率;

 模型框架

模型的核心框架如下:

1. Embedding共享层

很诸多问题一样,此处我们共享Embedding层, 我们令和分别表示用户和商品的one-hot特征向量,于是我们的embedding层就是:

2. 分开的交互函数

我们用表示第个行为的交互函数, 用户和商品在第个行为上的交互为:

3. 级联预测

用户的多个行为之间是存在顺序的联系的,并非是独立的, 为了将这种序列关系刻画到目前的模型中,我们将不同的行为的预测级联起来得到:

 

其中表示商品在第个行为的bias; 表示第个行为的交互函数。

4. 目标函数

我们最终优化的目标函数如下:

实验

实验部分主要回答下面三个问题:

  1. NMTR和推荐系统目前最流行的方法比是否可以获得更好的效果?

  2. 这些辅助行为如何影响NMTR的效果?

  3. NMTR是否可以帮助我们解决数据稀疏的问题(即:提升对于交互信息较少的用户的推荐效果)?

NMTR的实验效

从上面的图上,我们发现NMTR在HR@K和NDCG@K的效果是最好的,NMTR-GMF和NMTR-NeuMF比NMTR-MLP要更好。

和最佳的单行为的baseline NeuMF,NMTR的效果在Beibei数据集上的效果在HR上要好了9.01%,在NDCG的数据集上要好了6.72%。

辅助行为的影响

一种直觉的做法是:一个直观的实验是随机抽样我们使用的数据集中的辅助行为,同时保持目标行为(即购买)的完整性。

从上面的结果来看,我们发现:

  • 增加view的数据可以获得比carts更好的结果; (carts中带有非常多和购买相似的信息)

  • 只使用50%的cart和view的交互,我们发现性能比前两个实验差。具体地,(购买,50%购物)的性能比只使用购买要差,而(购买,50%观看)比只使用购买要好。主要有两个原因。一方面,视图是反映用户偏好的最弱信号,视图的总数非常大,使得部分视图数据的缺失是可以接受的。因此,一些视图记录的缺失不会对结果造成太大的影响。另一方面,车辆记录的随机缺失会带来一些噪音。

数据稀疏性的影响

  • 当用户购买的数据变得越加稀疏,NMTR-NeuMF推荐的效果相较于其他的模型下降更慢;

  • NMTR可以缓解数据稀疏的问题

小结

本文阐述了对多个用户行为建模的一种方法,目前这种级联的方式在很多公司CTR/CVR相关的Cotrain模型上也都取得了不错的效果。这种将相关任务的输出作为下一个任务的输入的方式在很多搜索推荐的博客中也有提及,是非常不错的一种建模方式。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值