可调控的多兴趣推荐框架 | KDD论文解读

简介: 本文“Controllable Multi-Interest Framework for Recommendation”已被KDD 2020录用。

新零售智能引擎事业群出品

神经网络模型目前已经被广泛地应用于各种推荐系统中。这些基于神经网络的推荐算法通常只会从用户的行为序列中学习到一个用户表征向量,但是这个统一的表征向量往往无法反映用户在一段时期内的多种不同的兴趣。以下图为例,用户Emma的商品点击序列反映了她近期三种不同的兴趣,包括珠宝、手提包和化妆品。我们提出了一种可调控的多兴趣推荐框架来解决这种情形。多兴趣抽取模块会从用户的点击序列中捕获到用户多种不同的兴趣,然后可以用来召回一些相似的商品。聚合模块会将这些不同兴趣召回的商品整合起来作为推荐的候选商品,供下游的任务来使用。
image.png

对于多兴趣抽取模块,我们参考了已有的工作MIND[1]。MIND首先将胶囊网络[2]中的动态路由算法用于抽取用户的多兴趣。在我们的工作中,我们不仅尝试了动态路由算法,还探索了基于自注意力的方法来作为我们的多兴趣抽取模块。事实上,使用何种方法来作为多兴趣抽取模块仍然值得进一步的探索。这一模块的训练是通过基于用户历史的点击序列来预测下一个点击行为来进行的。具体来说,对于训练集中的一个样本对(u,i),通过用户u在点击商品i之前的行为序列得到用户的多个表征v_1,v_2,…,v_K,并从中选取一个与商品i的表征e_i最为接近的用户表征v_t,优化如下的负对数似然函数
image.png

其中I表示整个商品的集合。由于分母的求和式计算开销过大,所以我们使用一种基于采样的softmax技巧来近似计算。经过训练之后,这一模块就可以用于从用户历史的点击序列中学习到用户的多个表征。这一模块的训练过程如下图所示。
image.png

对于多兴趣抽取模块,我们在2个公开数据集Amazon和Taobao数据集上进行了实验,验证了我们所提出的模型的有效性。如下表所示,在2个数据集上,我们提出的ComiRec-SA/DR取得了最好的效果(SA表示基于自注意力的方法,DR表示基于动态路由的方法)。
image.png

我们基于一个实际用户进行了案例分析。我们的多兴趣抽取模块从用户的历史点击序列中学习到了用户近期的四种不同的兴趣,包括甜品、礼物盒、手机壳以及小配件。左侧是用户点击过的商品,右侧是对应的兴趣表征从大规模商品池中召回回来的一些商品。
image.png

通过多兴趣抽取模块得到用户的表征之后,如何更好地利用用户的多兴趣表征来帮助下游的任务是一个非常值得研究的问题。在这一点上,我们提出了一种可调控的聚合模块。给定用户的多兴趣表征v_1,v_2,…,v_K,一种最直接的方式是把商品和用户的相似度定义为商品与该用户最相关的兴趣表征之间的得分,即f(u,i)=max┬(1≤t≤K)⁡(v_t^T e_i )。这种方式能够最大化推荐的精度,但是没有充分利用用户的多兴趣表征。我们提出的可调控的聚合模块可以根据用户的多兴趣表征来调控推荐的精度和多样性。具体来说,我们定义了如下的关于用户u和商品集合S的价值函数
image.png

其中g(i,j)表示商品i和商品j之间的差异性,例如g(i,j)=δ(CATE(i)≠CATE(j)),CATE(i)表示商品i的类别,δ(⋅)是一个指示函数。通过从各个兴趣表征分别召回的商品中选择一个商品集合S来最大化这一价值函数Q(u,S)来得到推荐的商品集合。对于这一函数,我们可以采用一种贪心的策略来求得一个比较好的解。近似求解算法的过程如下:
image.png

在超参设置上,如果希望最大化推荐的精度,则可以设置λ=0,与上述最直接的方式相同;如果取λ=+∞,聚合模块会找到最多样化的商品集合。我们在Amazon数据集上进行了调控实验。当我们增大因子λ时,推荐的recall指标会有些许下降,但是推荐的多样性会显著地提升。提升推荐的多样性能够在一定程度上改善用户的体感。
image.png

参考文献:

[1] Li, Chao, et al. "Multi-interest network with dynamic routing for recommendation at Tmall." Proceedings of the 28th ACM International Conference on Information and Knowledge Management. 2019.
[2] Sabour, Sara, Nicholas Frosst, and Geoffrey E. Hinton. "Dynamic routing between capsules." Advances in neural information processing systems. 2017.

更多数据挖掘内容查看:《KDD论文精华解读》

相关文章
|
机器学习/深度学习 自然语言处理 分布式计算
知识图谱(Knowledge Graph)之综述理解
知识图谱(Knowledge Graph)之综述理解
2032 0
知识图谱(Knowledge Graph)之综述理解
|
算法 计算机视觉
【MATLAB 】 EEMD 信号分解+希尔伯特黄变换+边际谱算法
【MATLAB 】 EEMD 信号分解+希尔伯特黄变换+边际谱算法
1617 0
|
9月前
|
缓存 供应链 监控
VVIC seller_search 排行榜搜索接口深度分析及 Python 实现
VVIC搜款网seller_search接口提供服装批发市场的商品及商家排行榜数据,涵盖热销榜、销量排名、类目趋势等,支持多维度筛选与数据分析,助力选品决策、竞品分析与市场预测,为服装供应链提供有力数据支撑。
|
6月前
|
JSON 监控 API
京东商品列表 API使用指南
京东商品列表API是京东开放平台提供的核心接口,支持按关键词、分类、价格、销量等条件筛选商品,返回标题、价格、库存、销量等结构化信息,适用于店铺管理、价格监控、竞品分析等场景。需认证开发者身份并获取appkey、access_token及相应权限后调用,接口以JSON格式传输,部分按量计费。
|
7月前
|
人工智能 供应链 物联网
行业最新发布:2025保理公司排名揭晓,海尔金融保理如何成为市场焦点
《2025年保理公司综合实力排名》发布,海尔金融保理凭借强大股东背景、科技驱动的“海创云链”平台及“SaaS+IoT+AI”生态模式,位居榜首。其以数字化手段赋能产业链,实现融资高效化、风控智能化,服务超万亿资产生态,成为产融结合标杆。该排名综合资本实力、科技能力、产业布局等多维度评估,展现行业向科技化、生态化发展的趋势,为市场主体提供权威参考。
938 0
|
存储 Java Maven
服务端apk打包教程
本文我将给大家介绍一个 apk 打包工具 VasDolly 的使用介绍、原理以及如何在服务端接入 VasDolly 进行服务端打渠道包操作。
430 0
|
PyTorch 测试技术 算法框架/工具
【YOLOv8改进 - 卷积Conv】SPConv:去除特征图中的冗余,大幅减少参数数量 | 小目标
YOLO目标检测专栏探讨了模型优化,提出SPConv,一种新卷积操作,减少特征冗余,提升效率。SPConv将特征分为代表性和不确定部分,分别处理,再融合。实验显示,SPConv在速度和准确性上超越现有基准,减少FLOPs和参数。论文和PyTorch代码已公开。更多详情及实战案例见CSDN博客链接。
|
传感器 Linux API
远程处理器消息框架(RPMSG) 【ChatGPT】
远程处理器消息框架(RPMSG) 【ChatGPT】
|
存储 XML 弹性计算
基于ADFS实现阿里云与企业身份系统集成
很多企业都会使用AD来做企业内部身份管理。客户上云之后,希望能够打通其企业内部的AD数据跟云上RAM用户做到联合登录。本文会围绕ADFS跟阿里云SSO展开介绍一下基于AD/ADFS及相关自动化功能实现。
1241 2
基于ADFS实现阿里云与企业身份系统集成
|
前端开发 小程序 API
钉钉小程序的后端想要直接获取用户token,只能是前端通过dd.getAuthCode这种方式拿authCode吗?
钉钉小程序的后端想要直接获取用户token,只能是前端通过dd.getAuthCode这种方式拿authCode吗?
725 0