Neural Multi-task Recommendation from Multi-behavior Data (ICDE19)
本文是一篇多任务学习的文章, 里面的设计思路非常值得借鉴,也较为符合我们的直观理解,实践中也确实带来了不错的效果。
背景
大多数现有的推荐系统只会用到用户单一类型的行为数据,例如在电子商务中的我们可能只会使用到用户购买的行为数据。但是我们认为其他类型的用户行为数据也可以提供非常有价值的信号,例如单击,加购等。本文对此提出了一种新的解决方案NMTR(Neural Multi-Task Recommendation)来学习用户的多行为数据。
在现有的诸多模型中, 大家都尝试挖掘用户的其他行为数据,例如ESMM等,用到了用户的点击行为来辅助我们CVR等任务的学习; 本文所述的方法在很多实践中也都有所验证,例如Zohar Komarovsky的博客中也谈到了类似的实践经验。
本文的核心思想就是:
- 采用MTL的方式从用户的多行为数据中进行建模;
- 为了捕捉用户的行为关系,采用级联(Cascaded way)的方式进行构建;
模型
问题定义
1. 符号描述
我们令来表示用户和商品的R种行为交互矩阵,每个矩阵都是的, 其中表示用户的个数, 表示商品的个数, 其中,
- ,如果用户和商品在某个行为下存在交互;
- ,其它情况
现实生活中,很多行为存在顺序关系,例如点击 -> 加购 -> 支付, 我们假设:
- ,
其中是我们最终需要优化的行为目标。例如在电商中的购买行为,而其它的行为则可以是:点击,加购等等。
2. 问题定义
输入:目标行为的用户商品交互数据; 其他行为的交互数据;
输出:预估用户和商品的交互概率;
模型框架
模型的核心框架如下:
1. Embedding共享层
很诸多问题一样,此处我们共享Embedding层, 我们令和分别表示用户和商品的one-hot特征向量,于是我们的embedding层就是:
- ,
其中和表示用户和商品的embedding矩阵。
2. 分开的交互函数
我们用表示第个行为的交互函数, 用户和商品在第个行为上的交互为:
其中表示sigmoid函数,将我们的输出转变为概率.
3. 级联预测
用户的多个行为之间是存在顺序的联系的,并非是独立的, 为了将这种序列关系刻画到目前的模型中,我们将不同的行为的预测级联起来得到:
- ,
- ...
- ,
- ,
其中表示商品在第个行为的bias; 表示第个行为的交互函数。
4. 目标函数
我们最终优化的目标函数如下:
我们使用来控制第类行为的影响。此外,为了方便调参,我们令。TUI
实验
实验部分主要回答下面三个问题:
- NMTR和推荐系统目前最流行的方法比是否可以获得更好的效果?
- 这些辅助行为如何影响NMTR的效果?
- 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模型上也都取得了不错的效果。这种将相关任务的输出作为下一个任务的输入的方式在很多搜索推荐的博客中也有提及,是非常不错的一种建模方式。
参考文献
- Neural Multi-Task Recommendation from Multi-Behavior Data:http://staff.ustc.edu.cn/~hexn/papers/icde19-multi-behavior-rec.pdf
我是二品炼丹师一元,目前跟着大哥们学习CTR炼丹已经快四个月了,有兴趣的欢迎关注我们的公众号