可调控的多兴趣推荐框架 | 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论文精华解读》

相关文章
|
存储 缓存 UED
缓存策略与Apollo:优化网络请求性能
缓存策略与Apollo:优化网络请求性能
|
5月前
|
缓存 供应链 监控
VVIC seller_search 排行榜搜索接口深度分析及 Python 实现
VVIC搜款网seller_search接口提供服装批发市场的商品及商家排行榜数据,涵盖热销榜、销量排名、类目趋势等,支持多维度筛选与数据分析,助力选品决策、竞品分析与市场预测,为服装供应链提供有力数据支撑。
|
人工智能 自然语言处理 PyTorch
Prompt-“设计提示模板:用更少数据实现预训练模型的卓越表现,助力Few-Shot和Zero-Shot任务”
Prompt-“设计提示模板:用更少数据实现预训练模型的卓越表现,助力Few-Shot和Zero-Shot任务”
Prompt-“设计提示模板:用更少数据实现预训练模型的卓越表现,助力Few-Shot和Zero-Shot任务”
|
PyTorch 测试技术 算法框架/工具
【YOLOv8改进 - 卷积Conv】SPConv:去除特征图中的冗余,大幅减少参数数量 | 小目标
YOLO目标检测专栏探讨了模型优化,提出SPConv,一种新卷积操作,减少特征冗余,提升效率。SPConv将特征分为代表性和不确定部分,分别处理,再融合。实验显示,SPConv在速度和准确性上超越现有基准,减少FLOPs和参数。论文和PyTorch代码已公开。更多详情及实战案例见CSDN博客链接。
|
数据采集 搜索推荐 数据安全/隐私保护
使用httpx异步获取高校招生信息:一步到位的代理配置教程
2024年中国高考临近,考生需及时获取高校招生信息。使用Python httpx库的异步功能可提高爬虫效率,尤其在处理大量请求时。结合爬虫代理IP,能避免IP封禁,确保数据抓取的连续性。文章介绍了招生趋势、特点,如多样化政策、多平台信息发布、个性化招生等,并提供了使用httpx异步请求和代理的代码示例,帮助开发者高效抓取高校专业与课程设置。
560 0
使用httpx异步获取高校招生信息:一步到位的代理配置教程
|
机器学习/深度学习 人工智能 分布式计算
因果推断:效应估计的常用方法及工具变量讨论
日常工作中很多的策略/产品的效果是无法设计完美的随机实验的,要求我们从观察性数据中去(拟合随机试验)发现因果关系、测算因果效应。
2873 0
因果推断:效应估计的常用方法及工具变量讨论
|
弹性计算 物联网 网络性能优化
MQTT常见问题之connection reset by peer 异常如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
机器学习/深度学习 存储 人工智能
大语言模型的预训练[3]之Prompt Learning:Prompt Engineering、Answer engineering、Multi-prompt learning、Training strategy详解
大语言模型的预训练[3]之Prompt Learning:Prompt Engineering、Answer engineering、Multi-prompt learning、Training strategy详解
大语言模型的预训练[3]之Prompt Learning:Prompt Engineering、Answer engineering、Multi-prompt learning、Training strategy详解
|
存储 XML 弹性计算
基于ADFS实现阿里云与企业身份系统集成
很多企业都会使用AD来做企业内部身份管理。客户上云之后,希望能够打通其企业内部的AD数据跟云上RAM用户做到联合登录。本文会围绕ADFS跟阿里云SSO展开介绍一下基于AD/ADFS及相关自动化功能实现。
1036 2
基于ADFS实现阿里云与企业身份系统集成
|
SQL Oracle 关系型数据库
MySQL数据库,从入门到精通:第八篇——MySQL聚合函数实战探究:优化SELECT过程助力高效查询
MySQL数据库,从入门到精通:第八篇——MySQL聚合函数实战探究:优化SELECT过程助力高效查询
1059 0

热门文章

最新文章