Bundle Recommendation
Matching User with Item Set: Collaborative Bundle Recommendation with Deep Attention Network
Liang Chen, Yang Liu, Xiangnan He, Lianli Gao and Zibin Zheng
IJCAI 19
挑战:
- bundle是item集合,不能按照普通item来处理
- User-Bundle的交互会更加稀疏
解决办法:
- 聚合item的embedding 来得到bundle的embedding
- 多任务的方式共享底层网络,集成User-item交互中的协同信号用于User-Bundle推荐。
模型设计:
Bundle embedding生成:
中间这个部分是对注意力做一个归一化,用来抵消不同Bundle可能有不同数量的item造成的影响,保证不管bundle含有多少item,最后的embedding数值不会有过大差异。
整体思路为Bundle的embedding等于各个item的embedding*注意力权重的和。
a(i,j):User对item的注意力
是类似矩阵分解的方法计算得到的
aj为item的注意力嵌入
Bundle Recommendation with Graph Convolutional Networks
Jianxin Chang, Chen Gao, Xiangnan He, Yong Li, Depeng Jin
切入点:
- User和Bundle的层级关系没有显示建模
- Bundle和Bundle的关系没有考虑
- User会因为一个不喜欢的Item而拒绝Bundle,所以两个Bundle直接的差异是交互的关键
解决办法:
- 显示建模User item Bundle的关系
- 利用图上bundle-item-bundle的源路径,表示bundle和bundle之间的关系
- training with hard-negative samples 探索bundle之间的差异
模型设计:
-
异构图构造
三种节点两种边
User item bundle 节点
User-item交互边, item-bundle交互边
-
两个level的embedding传播
item level
类似传统User-item模型,用邻居信息和自身旧信息 更新自身
最后聚合item来表示bundle
Bundle level
User 是通过自身和邻居信息更新
Bundle还利用Mb 加入了 bundle-item-bundle路径中其他bundle的item重叠性信息,便于学到更精细的嵌入,解决切入点3
-
预测打分
类似NGCF把多次传播后得到的embeddings拼接在一起
用两个level内积之和来生成最后的预测打分。
优化方法:
hard-negative samples
模型大致收敛后,专门学习用户跟大多数item有交互,但是没有跟bundle交互的样本以及和正样本重叠度高的负样本。
Bundle Recommendation认识
-
数据稀疏:User-Bundle交互数据很少
解决办法:和交互多的User-item共享权重 / 合理选择采样手法来深入学习稀疏的交互
-
User-Item-Bundle三者关系表示
DAM 分开考虑 User-item User-bundle Bundle-item
BGCN 用异构图整合三种节点
-
Bundle嵌入的学习策略
DAM设计注意力机制,把item整合成bundle嵌入
BGCN 有两套学习路线:整合item 和 从Bundle的邻居中学习