推荐系统论文DSIN:Deep Session Interest Network
一、背景
前几天写了一篇阿里的论文BST,最后应用在我们自己的新闻推荐场景,离线AUC没有什么提升,今天分享一篇有收益的文章,同样出自阿里。
绝密伏击:推荐系统论文:Behavior Sequence Transformer(https://zhuanlan.zhihu.com/p/96338316)
文章DSIN(Deep Session Interest Network for Click-Through Rate Prediction)发表在IJCAI-2019,主要贡献在于对用户的历史点击行为划分为不同session,对每个session使用Transformer学习session embedding,最后使用BiLSTM对session序列建模。这篇文章和阿里的另一篇DIEN( Deep Interest Evolution Network )很像,「主要区别在于用户历史行为序列的刻画,引入了session,并用transformer学习session表征」 。
二、模型结构
图1:DSIN模型结果
模型主要由四个部分组成, 「Session Division Layer」 是对用户的历史行为划分到不同session, 「Session Interest Extractor Layer」 是学习session的表征, 「Session Interest Interacting Layer」 是学习session之间的演变, 「Session Interest Activating Layer」是学习当前item和历史点击session的相关性。后面会讲一下这四个部分的具体实现。
2.1 Session Division Layer
主要是将用户的历史点击行为序列划分为多个sessions。「这里有一个假设是相同session用户的行为是接近的,比如都是在点一些和裤子相关的商品,而不同session间的用户行为是有差异的,比如后面可能是点一些和洗发水相关的商品」。文章将间隔超过30分钟作为session的划分,比如将历史点击序列 转换为session ,第 个session表示为:
其中 是第 个session的长度,
是输入item的embedding大小
2.2 Session Interest Extractor Layer
这部分主要是获取session表征。用户在相同session内的行为是高度相关的,此外用户在session内的一些随意行为会偏离整个session表达。为了刻画相同session内行为间的相关性,同时减小不相关行为的影响,DSIN使用「multi-head self-attention」 对每个session建模。为了刻画不同session间的顺序,DSIN使用了 「Bias Encoding」 。
「2.2.1 Bias Encoding」
为了刻画不同session的顺序关系,使用bias encoding,定义如下:
其中 表示第 个session中,第 个物品的embedding向量的第个位置的偏置项。也就是说,对每个session中的每个物品对应的embedding的每个位置,都加入了偏置项。加入bias encoding后,用户的session表示为:
「2.2.2 Multi-head Self-attention」
在推荐系统中,用户的点击行为会受各种因素影响,比如颜色、款式和价格。「Multi-head self attention」可以在不同的子空间上建模这种关系。这里将第 个session划分为 个 ,使用
表示,其中 。 可以表示为:
其中 是线性矩阵。
然后将 的输出concat到一起,再接入一个FFN网络:
其中 表示前向神经网络, 表示线性矩阵。
经过 「Multi-head self attention」 处理之后,每个session得到的结果仍然是
大小,随后,经过一个 「avg pooling」 操作,将每个session兴趣转换成一个 维向量:
2.3 Session Interest Interacting Layer
使用双向LSTM建模session之间的演变。
上式中的两项分别表示前向的隐藏层状态和反向的隐藏层状态。
2.4 Session Interest Activating Layer
这部分主要是通过Attention机制刻画Item和session之间的相关性。用户的session与目标物品越相近,越应该赋予更大的权重。使用注意力机制来刻画这种相关性:
其中 是目标item的embedding
三、实验结果
使用了两个数据集进行了实验,分别是阿里妈妈的广告数据集(Advertising)和阿里巴巴的电商推荐数据集(Recommender)。对比结果如下:
图2:DSIN模型结果对比
从实验结果来看,AUC相比DIEN都有 「0.5%」 以上的提升。
四、写在最后
这篇文章在我们自己的业务场景(新闻推荐场景)上也实验了,选取了用户最近的10次点击session,session长度最大取20,使用7天训练,1天测试,最后离线AUC相比DIEN大概有「0.46%」的提升,和文章的结果基本吻合。个人感觉这篇文章的设计还是比较巧妙,充分利用了用户行为的内在结构,使用session划分用户的点击序列,使得在使用LSTM等序列模型对历史点击建模的时候,长度大大缩小,而且效果还有所提升。
五、 「Reference」
Alex-zhai:阿里Deep Session Interest Network解读
2. Deep Session Interest Network for Click-Through Rate Prediction
3. Ethan Wong:DSIN(Deep Session Interest Network )分享
推荐系统论文DSIN:Deep Session Interest Network相关推荐
- CTR深度学习模型之 DSIN(Deep Session Interest Network) 论文解读
之前的文章讲解了DIEN模型:CTR深度学习模型之 DIEN(Deep Interest Evolution Network) 的理解与示例,而这篇文章要讲的是DSIN模型,它与DIEN一样都从用户历 ...
- 【推荐系统】DUPN:Deep User Perception Network
论文地址: https://arxiv.org/pdf/1805.10727.pdf Perceive Your Users in Depth: Learning Universal User Rep ...
- Youtube推荐系统论文-《Deep Neural Networks for YouTube Recommendations》-简单总结
文章目录 前言 一.背景介绍 二.整体架构 三.召回层 四.排序层 前言 今天要学习的是一篇关于推荐系统的经典的论文,它是由google在2016年发表的,应用场景是youtube上的视频推荐,然后这 ...
- DSIN 深度 Session 兴趣网络介绍及源码剖析
DSIN 深度 Session 兴趣网络介绍及源码剖析 前言(可以忽略~) 本文介绍 DSIN 网络的基本原理,并对源码进行详细分析,从数据预处理,训练数据生成,模型构建等方面对 DSIN 的完整实现 ...
- 【学术相关】RSPapers | 工业界推荐系统论文合集
嘿,记得给"机器学习与推荐算法"添加星标 随着大数据时代的飞速发展,信息逐渐呈现出过载状态.推荐系统,作为近年来实现信息生产者与消费者之间利益均衡化的有效手段之一,越来越发挥着举足 ...
- RSPapers | 工业界推荐系统论文合集
随着大数据时代的飞速发展,信息逐渐呈现出过载状态.推荐系统,作为近年来实现信息生产者与消费者之间利益均衡化的有效手段之一,越来越发挥着举足轻重的作用.像今日头条.抖音这样的APP之所以如此之火,让人们 ...
- 重读Youtube深度学习推荐系统论文,字字珠玑,惊为神文
作者简介,王喆,硅谷高级机器学习工程师. 本文转载自知乎专栏 https://zhuanlan.zhihu.com/p/52169807 这里是王喆的机器学习笔记,每隔一到两周我会站在算法工程师的角度 ...
- 带你重读Youtube深度学习推荐系统论文,惊为神文
来源:知乎专栏 作者:王喆 本文约5400字,建议阅读10+分钟. 本以为毫不起眼的地方,也藏着Youtube工程师宝贵的工程经验. 这里是王喆的机器学习笔记,每隔一到两周我会站在算法工程师的角度讲解 ...
- 重读 Youtube 深度学习推荐系统论文,字字珠玑,惊为神文
雷锋网 AI 科技评论按,本文作者王喆,本文首发于知乎专栏王喆的机器学习笔记,雷锋网 AI 科技评论获得作者授权转载. 这里是王喆的机器学习笔记,每隔一到两周我会站在算法工程师的角度讲解一些计算广告. ...
最新文章
- 面试官三连问:你这个数据量多大?分库分表怎么做?用的哪个组件?
- 数组-丢失的数字(哈希表法)
- C#在WinForm中实现清空指定类型控件的内容
- Feature Selection Based on Mutual Information:Criteria of Max-Dependency, Max-Relevance,and Min-Redu
- OSSIM中分布式消息队列应用
- codevs1316 文化之旅
- 一次php curl卡住的bug分析
- 更新日志_Roam 更新日志:0.7.3 啦
- QQ聊天文字背影图片拉伸方法
- 关于字符串排序的别的规则
- nginx服务器的文件大小的限制解决方法
- mariadb与mysql的兼容_「MySQL架构」MariaDB versus MySQL: Compatibility
- Visual Studio Code for DBA的介绍
- 内存笔记之DIMM与DDR
- php与drupal,什么是Drupal
- 复杂网络研究机构与大牛(不断更新)
- [转]PHP FFI详解 - 一种全新的PHP扩展方式
- No suitable context info for active keying set问题(已解决)
- 一首有趣的回环诗~秦观
- 第四章分支结构程序设计
热门文章
- oracle主从表分离怎么实时更新数据_高可用数据库主从复制延时的解决方案
- 54款开源服务器软件(内容管理、数据库、电子商务、邮件服务器、文件传输、操作系统、安全、小公司服务 .
- js根据应纳税所得额计算税金
- java jpa性能_[Java Performance] 数据库性能最佳实践 - JPA和读写优化
- 笔记本电脑有蓝牙连接功能吗_百元蓝牙无线键盘推荐——罗技K380
- 交换机登入linux ftp,巧用FTP 实现交换机间配置文件复制
- js 单页面ajax缓存策略,浅谈ajax的缓存机制---IE浏览器方面
- 成人高考大学计算机基础答案,江苏省2019年成人高考大学计算机基础统考样卷...
- 微型计算机的三级存储体系是,简述存储系统的三级存储体系及分级的目的。
- matlab函数参数命令,matlab函数文件中的输出参数如何不在命令窗口显示