文章目录

  • 简介
  • Sharing Recommendation
  • Problems
  • MTL传统框架
  • Model
    • Tree-guided Expert Networks
    • Multi-view Heterogeneous Graph Augmentation
  • Optimization
  • Dataset
  • Performance

简介

Heterogeneous Graph Augmented Multi-Scenario Sharing Recommendation with Tree-Guided Expert Networks
是发表在2021WSDM上的一篇多任务学习模型。

我认为本文可以说一篇工业界的创新文章,论文依托于阿里巴巴的多个推荐scenario,基于MTL模型使用Tree-Guided Expert Network和Multi-view Heterogeneous Graph做到了离线线上A/B test比较明显的提升。

Sharing Recommendation

什么是sharing recommendation?
这个场景其实出现的频率并不高,可能读者比较陌生,这里我们借用论文中的图来进行简介:


分享给好友是现在的APP或者电商场景经常能够见到的功能。
sharing recommendation就是来解决如何给一个用户推荐他分享的可选的用户list

Problems

目前sharing recommendation面对几个困难:

  1. 如何建立一个联合推荐模型适用于拥有大量用户的多个分享场景
  2. 如何处理long-tail或者训练数据有限的冷启动场景
  3. 如何结合这叫影响来更准确的进行推荐

MTL传统框架

首先介绍mixture of expert networks


图中灰色的部分是共享权重的bottom layer

假设x表示输入到expert network中的向量,如上图所示有两个expert,每个expert的输出向量用fk(x)f^k(x)fk(x)表示。

每个scenario(task) 有选择的结合expert networks的输出,然后在分别通过一个全连接的prediction layer(用ps()p^s()ps()表示)


y^s\hat{y}^sy^s表示第s个scenario的预测结果。

gks(x)g_k^s(x)gks(x)表示第k个expert对第s个scenario的scalar value,通过如下式子得到:

Model

作者认为在真实的推荐系统中需要处理超过数以百计的推荐scenarios,并且其中大部分是long-tail或者是冷启动的场景。
在原论文中是这样说的:

我们必须明确地允许更多的参数共享,并充分利用上下文信息来解决严重的长尾问题。

我的理解是这样的,对于MMoE或者是MoE模型来说,子任务之间的相似度其实仍然是影响模型效果的重要影响因素。但是对于子任务数量众多并且存在大量long-tail问题和冷启动问题的scenarios的情况,传统MTL模型可能表现就会收到影响。

为了解决上述问题,作者提出Tree-guided Expert Networks

Tree-guided Expert Networks

这里借用论文中的例子:

当我们考虑“Makeups”场景,相关的Tree path是
C2C -> Sharing -> Entity -> Product -> Makeups(根节点开始)
C2C是比较宽泛的概念,对于Markups是一个具体的场景。
场景树中包含的丰富信息提供了有价值的知识,特别是在长尾场景中sharing推荐。此外,作者还利用这种层次结构选择性地结合专家网络的输出。

这里x表示expert networks的输入,由四个部分组成:

u,v分别表示用户和目标用户的表示。
t表示用户u和用户v的交互历史。
c表示当前scenario的上下文信息。


上图左边可以看出,模型保留了expert network每一层的输出,这是和传统expert network的区别之处。

fik(x)f_i^k(x)fik(x)表示k-th expert 的第i层的输出,同时论文中还强调了Tree的深度需要和expert layer层数相同。

在上图右边的Tree中,每一个完整的path都是从根节点开始,到叶子节点结束。对于每个node,用oiso_i^sois表示scenario s 的第i层的表示。
然后将这一条路径的表示输入到一个LSTM中,主要是为了保留这个路径的顺序性。


hish_i^shis表示的是lstm输出的hidden state.

然后使用上式中输出的h来有选择的integrate i-th layer的输出:


整体的结构和MMoE还是大致相同的,但是输出换成了h。

最后我们结合整个模型的结构图,得到最后的预测y^uvs\hat{y}_{uv}^sy^uvs:

Multi-view Heterogeneous Graph Augmentation

论文中以获取user u的表示为例:

如上图所示,对于每个u,包含多个view(friend,share,pay),对于每个view分别处理。

对于uiu_iuilll层的embedding 在关系r(friend/share/pay)中表示为:ui,rlu_{i,r}^lui,rl
是通过聚合邻居的embedding获得的:

上图中的第二个式子的updateupdateupdate函数实现如下:

但是由于不同的scenario不同的邻居对于u的贡献是不同的,所以使用attention机制:
其中c表示的是context information


通过上述步骤我们可以获得friend,share,pay三个view的三个user u的embedding表示,但是还需要进行combinecombinecombine,通过如下公式:

combine 表示 concatenation操作。

Optimization


但是文中作者提到不希望某一个单一的expert占据主导,所以还设计了一个auxiliary loss来进行平衡。

最终的LOSS,有上面两个部分组成:

Dataset

Performance

大家共勉~~

推荐系统论文 HeterogeneousGraph Augmented Multi-Scenario Sharing Recommendation with Tree-Guided相关推荐

  1. 资源分享 | WSDM2020推荐系统论文打包下载

    前言 在今年2月份召开的WSDM是检索和推荐领域的重要会议,虽然只是CCF定义的B类会议,但是却也是推荐方向研究者需要重点关注的.之前分享的一篇关于利用对抗技术来权衡推荐精度与用户隐私的文章就出自于W ...

  2. 推荐系统论文:DKN Deep Knowledge-Aware Network for News Recommendation

    推荐系统论文:DKN Deep Knowledge-Aware Network for News Recommendation 概述 模型实现 概述 这是一篇结合了知识的推荐系统. 本质上是对新闻标题 ...

  3. 对话推荐系统_RSPapers | 对话推荐系统论文合集

    随着大数据时代的飞速发展,信息逐渐呈现出过载状态.推荐系统,作为近年来实现信息生产者与消费者之间利益均衡化的有效手段之一,越来越发挥着举足轻重的作用.像今日头条.抖音这样的APP之所以如此之火,让人们 ...

  4. 16篇最新推荐系统论文送你(文末附打包下载链接)

    A Survey on Knowledge Graph-Based Recommender  Systems 链接:https://arxiv.org/pdf/2003.00911 简介:该文是一篇利 ...

  5. 推荐算法最前沿|CIKM2020推荐系统论文一览

    作者:学派 链接:https://zhuanlan.zhihu.com/p/261077109 CIKM2020(http://www.cikm2020.org/)是数据挖掘相关领域一大盛会,将于10 ...

  6. CIKM2022推荐系统论文集锦

    第31届信息和知识管理国际会议CIKM2022将于2022年10月17日-21日以混合会议的方式在美国亚特兰大举行.CIKM会议是数据库/数据挖掘/内容检索领域顶级国际会议,也是中国计算机学会规定的C ...

  7. 在家无聊?16篇最新推荐系统论文送你

    最新收录16篇推荐系统论文,场景涉及社会化推荐.序列化推荐.POI推荐.流推荐等,技术涵盖GCN.MF.KG.Multitask Learning等,敬请享用. [1] A Survey on Kno ...

  8. RSPapers | 对话推荐系统论文合集

    随着大数据时代的飞速发展,信息逐渐呈现出过载状态.推荐系统,作为近年来实现信息生产者与消费者之间利益均衡化的有效手段之一,越来越发挥着举足轻重的作用.像今日头条.抖音这样的APP之所以如此之火,让人们 ...

  9. 2023 推荐系统论文整理

    2023 推荐系统论文整理 对2023年的 推荐系统论文进行一波收集,给各位初学者和算法大佬作为灵感来源,后续专栏会继续更新论文解读,根据评论不断补充,欢迎大家三连~ ICLR 2023 推荐系统相关 ...

最新文章

  1. 定制开发软件所有权_职业所有权软件开发人员指南
  2. 拼多多程序员:因为看到同事被抬上救护车,我被开除了!
  3. Angular实现虚拟滚动多选下拉框笔记
  4. 【机器视觉】 measure_thresh算子
  5. 对通用输入输出GPIO的深入理解
  6. java序列化深克隆_如何在内存序列化中使用Java深克隆对象
  7. Http Invoker的Spring Remoting支持
  8. python输入float_python – 在tensorflow中创建一个float64变量
  9. css动态阴影,css实现动态阴影、蚀刻文本、渐变文本效果
  10. 如何修改DynEd的学生记录服务器,DynEd教师管理端操作文档..docx
  11. c语言红警源代码,真香!红警游戏源代码开源了,70,80,90最好的游戏
  12. Qt编写自定义控件15-百分比仪表盘
  13. 博弈论算法常见模型整理
  14. android导出微信朋友圈怎么发文字,微信朋友圈气泡字怎么弄 微信朋友圈气泡文字生成教程...
  15. 《C++primer》第10章:泛型算法
  16. php之连接mssql(sql server)新手教程
  17. python实现从文件查找关键字
  18. 【自用】Vue项目中使用自定义字体样式
  19. 程序设计 | python | Hello World的条件输出
  20. 三星3405fW黑白激光无线打印机-WiFi打印

热门文章

  1. java常用英语单词
  2. 传奇服务器npc位置文件,传奇GEE引擎服务端自定义NPC示列工具
  3. AWT,SWT缩小图片消除锯齿的平滑处理
  4. 车联网解决方案一DSRC与C-V2X对比
  5. 计算机应用有作业吗,计算机应用基础_作业1
  6. 《学习geometric deep learning笔记系列》第一篇,Non-Euclidean Structure Data之我见
  7. 尚硅谷python部分学习笔记
  8. unity抠人像原理_PS 抠人像如何抠得干净?
  9. 什么是敏捷开发?敏捷开发流程的8个步骤
  10. Java 7~14各个版本新特性详解