作者:十方
公众号:炼丹笔记  

Controllable Multi-Interest Framework for Recommendation

1.ComiRec与众不同之处

该论文是阿里在2020年发表在KDD的论文,解决的是序列化推荐的问题,用user以往的行为序列去推荐user接下来最感兴趣的item。这篇论文,认为之前很多序列化推荐方法都最终产生一个user emb去item emb空间中检索出最相关的item,而user在一段时间内,是有多种兴趣的,应该要映射到多个emb去检索。

如上图所示,Emma点击了3大类的item,分别是首饰,包包,化妆品,推荐的时候也应该推荐这3大类的商品。

2.问题定义

3.多兴趣序列推荐框架

当有了用户行为序列后,获得多兴趣向量的方法有很多,论文主要介绍了两种,一个是动态路由方法(ComiRec-DR),另一个是self-attention(ComiRec-SA)方法。

如上图所示,模型的输入就是用户行为序列(和用户有交互的itemID seq)。ItemID seq输入到Embedding Layer里,然后再输入到Multi-Interest Extraction模块中,获得多个兴趣向量,最后取离样本label(single Item ID)最近的兴趣向量计算softmax损失。Serving阶段,每个兴趣向量召回Top-N Items,然后输入到Agrregation Module,最终平衡准确性和多样性召回Top-N的items。

4.动态路由方法

提到动态路由算法,不得不提到胶囊网络。我们知道,每个神经元的输出多半是个概率,或者是激活的程度,是一个标量,那么有没有可能一个神经元包含其他属性呢,从而达到提升网络表达能力的效果。胶囊网络就是如此,可以用向量来代替单个神经元的标量。一个胶囊就是一个向量,表示特定类型实体的各个参数。输入为较为低层次的胶囊:

其中,n表示胶囊的个数,k表示每个胶囊内向量的维数,对应到ComiRec-DR中,n表示序列的长度,k表示每个item emb的维数。

这一步大家可以理解为,item空间和兴趣空间建立联系。然后做预测向量的加权求和:

由算法进行学习的。最终胶囊网路的输出,也不是用传统的Relu这样的激活函数,而是用的非线性函数squashing,为了确保短向量可以被压缩至接近0的长度,长向量压缩至接近1的长度,并且保证方向不变,看下squashing长啥样:

各位聪明的读者已经发现,我们指定最终层j的数量(最终胶囊的数量),即为最终兴趣的个数。这样论文就完美的把Comi和胶囊网络完美结合了,最后通过动态路由算法学习参数即可。下图是动态路由算法的伪代码:

5.Self-Attentive方法

这个方法相对于动态路由方法,就特别容易理解了。用了self-attention的机制,给定一个矩阵H(d * n),n表示用户序列的长度,d表示每个item的纬度,我们用下式计算attention值:

W1是da* d的矩阵,W2是da * k的矩阵,我们知道最终A是n * k的矩阵,最后通过attention矩阵聚合用户序列,计算出Vu:

Vu是d * k的矩阵,表示k个兴趣,每个兴趣是d维向量。

6.模型训练

模型训练通过找到和目标item (ei)最接近的兴趣向量(vu),然后用softmax计算出目标item的概率,最后累加logloss。因为负例数量庞大,论文提到进行采样处理。

7.Aggregation Module

在获得多个兴趣向量后,每个向量都能ANN检索出top-N个item,怎么聚合这些item呢?一个思路就是按点积排序后取top,这是提升推荐系统准确率很有效的方法,但是考虑到多样性,就出现了下式:

公式比较简单,同时考虑了user和item的关系,还有item和item直接的关系。user和item关系越强,f越大,item直接关系越少,g函数越大,所以我们要最大化Q,就可以平衡准确率和多样性。

8.结论

看实验结果,我们看到在亚马逊和淘宝数据集上,ComiRec都效果优于很多算法,同时我们还看到在淘宝数据上,多样性确实提高了,十方目前也在探索该算法在广告推荐领域的应用,欢迎大家加入炼丹笔记一起交流学习。


weixin.qq.com/r/XSjP1zr (二维码自动识别)

推荐算法炼丹笔记:阿里序列化推荐算法ComiRec相关推荐

  1. 推荐算法炼丹笔记:序列化推荐算法Bert4Rec

    作者:一元 公众号:炼丹笔记 之前和海归博士朋友聊天,他说,这篇文章是他所有的复现算法中,处理序列最好的算法之一.原本以为Bert只常见于NLP中,本文我们一起详细地阅读学习一下如何使用Bert来做推 ...

  2. 推荐算法炼丹笔记:序列化推荐算法SASRec

    作者:一元 ,公众号:炼丹笔记 背景 本文介绍一篇较早使用Self-Attention进行序列化推荐的文章,也是目前大多数序列化推荐算法非常重要的Baseline,最典型的场景可以参见标题,该篇文章的 ...

  3. 推荐算法炼丹笔记:序列化推荐系统

    作者:一元 公众号:炼丹笔记 特约审稿:杰少 背景 序列推荐系统(SRS)不同于传统推荐系统(RSs)包括协同过滤和基于内容的过滤,SRSs试图理解和建模用户的连续行为.用户与物品之间的交互作用以及用 ...

  4. 推荐算法炼丹笔记:推荐系统采样评估指标及线上线下一致性问题

    本文对于推荐系统中的采样评估指标进行了讨论,内容略多, 还有一些数学推导, 有兴趣的可以去阅读文末给出的原始论文链接, 此处直接列出核心观点: 在评估推荐算法的效果时,能不采样就不采样! 除了AUC, ...

  5. 推荐算法炼丹笔记:如何让你的推荐系统具有可解释性?

    作者:一元, 公众号:炼丹笔记 可解释性和有效性是构建推荐系统的两大关键成份,之前的工作主要关注通过引入辅助信息来获得更好的推荐效果.但这些方法会存在下面的两个问题: 基于神经网络的embedding ...

  6. 推荐算法炼丹笔记:科学调参在模型优化中的意义

    作者:九羽 ,公众号:炼丹笔记 基于Embedding的推荐算法模型一直是近几年研究的热门,在各大国际会议期刊都能看到来自工业界研究与实践的成果.MF(Matrix Factorization)作为传 ...

  7. 推荐算法炼丹笔记:排序模型CTR点击率预估系列

    微信公众号:炼丹笔记 ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在 ...

  8. 推荐算法炼丹笔记:CTR点击率预估系列入门手册

    ​CTR点击率预估系列家谱 炼丹之前,先放一张CTR预估系列的家谱,让脉络更加清晰. (一)FiBiNET:结合特征重要性和双线性特征交互进行CTR预估 1.1 背景 本文发表在RecSys 2019 ...

  9. 推荐算法炼丹笔记:阿里序列化推荐算法MRIF

    MRIF: Multi-resolution Interest Fusion for Recommendation(SIGIR2020) 作者:一元,公众号:炼丹笔记 背景 本文分享阿里的最新的工作, ...

最新文章

  1. arm linux嵌入式网络控制系统,基于ARMLinux的嵌入式网络控制系统的研究与设计
  2. python 整数输出 d f_pythn print格式化输出---------%s 和 % d 都是什么意思?
  3. axure插件怎么用_CAD插件不会用怎么行?CAD插件大全合集,超实用绘图软件,高效...
  4. Java数组与容器类分析资料--数组、List和Set、Map-asp.net关注
  5. 什么时候不需要回表?
  6. Android加载自定义字体出错,盘点Android使用自定义字体遇到的坑
  7. 用python计算ph_用于水和水蒸汽物性计算的Python模块——iapws
  8. android horizontalscrollview属性,Android中HorizontalScrollView使用方法详解
  9. Dart语言详解(一)——详细介绍
  10. 网络期刊(个人使用)
  11. 【C++】endl的作用
  12. matlab 图片合成视频
  13. 房间类游戏后台框架(三)—大厅服务器
  14. 条码公司的互联网业务调查分析及展望
  15. ColorMatrix 5*5颜色矩阵
  16. DELL 1520 笔记本拆机
  17. Spring Cloud Alibaba 整合Nacos实战
  18. 键入网址再按下回车,后面究竟发生了什么?
  19. python下载电影天堂视频教程_python爬虫实现下载电影天堂电影
  20. Nessus快速上手-扫描任务

热门文章

  1. 实现Runnable接口的好处
  2. search Paths $(SRCROOT)和$(PROJECT_DIR)区别
  3. iOS编程——经过UUID和KeyChain来代替Mac地址实现iOS设备的唯一标示(OC版)
  4. 微信公众开发api接口
  5. 苹果 App Store 申请和管理相关知识
  6. php抓取页面400错误
  7. java 爬虫 百度新闻_基于HttpClient实现网络爬虫~以百度新闻为例
  8. MYSQL数据库VALUES_MySQL数据库“十宗罪”(十大经典错误案例)
  9. 考研本校与外校如何选择?
  10. 2021-08-30 centos连接WiFi方法