当前位置: 首页 > news >正文

用户行为序列建模(篇六)-【阿里】DSIN

简介

DSIN(Deep Session Interest Network)是阿里巴巴于2019年提出的点击率预估模型。相比于DIN、DIEN,考虑了用户行为序列的内在结构(序列是由session组成的,在每个session内,用户行为是高度同构的,在session间是异构的),实现了对用户兴趣的更精准地刻画,并取得了更好的离线效果(论文中没有给出在线效果)

已有工作

CTR预估

截止目前,已有的CTR预估工作主要集中在两方面:

(1)特征交叉。从Wide&Deep->DeepFM->DCN->AFM。交叉越充分,可提取的信息越丰富,效果越好;

(2)利用用户行为序列。从YoutubeNet->DIN->DIEN。利用序列信息,提升用户表征能力和目标预测准确性

基于Session的推荐

截止目前,session经常被用在序列化推荐中,但是未被用在CTR预估中

已有工作的不足

未考虑用户行为序列的内在结构:序列是由session组成的,在每个session内,用户行为是高度同构的,在session间是异构的

解决的方案

step1:将用户行为序列划分为不同的session,本文是按照至少每30min划分作为一个session。这点和Airbnb的划分方式是一致的。在每个session内通过带bias的self-attention提取用户兴趣;

step2:将step1再经过Bi-LSTM,建模session间的用户兴趣演变

step3:使用“局部激活单元”自适应学习在目标target上的不同session兴趣

模型结构和Loss设计

Base CTR

  • 模型结构

介绍三部分:feature representation、embedding、MLP

(1)feature representation

涉及三种类型的特征:用户画像(如性别、城市等)、内容画像(如卖家id、品牌id等)、用户行为(如用户点击的item id、item的side information等)

(2)embedding

上述三种类型的特征都会表示成embedding的形式。具体处理如下:

(3)MLP

上述特征经过concat、flattened后喂给MLP,再经过激活函数(如RELU),最终用softmax预测用户点击目标item的概率

  • Loss设计

用交叉熵损失函数表示

DSIN的模型结构

如下所示,包含4部分:Session Division Layer、Session Interest Extractor Layer、Session Interest Interacting Layer、Session Interest Activating Layer

第一部分:Session Division Layer

目标:划分session,保证在每个session内,用户行为是高度同构的,在session间是异构的

方式:按照至少每30min划分作为一个session

第二部分:Session Interest Extractor Layer

目标:提取用户兴趣

方式:需要考虑bias,再按照transformer结构进行multi-head Self-attention学习session内的时序信息。包含Bias Encoding、Multi-head Self-attention两部分

  • Bias Encoding

由如下三部分组成,并和用户原session行为求和:

  • Multi-head Self-attention

和transformer的self-attention结构相同

第三部分:Session Interest Interacting Layer

目标:捕捉用户兴趣演变

第四部分:Session Interest Activating Layer

使用“局部激活单元”自适应学习在目标target上的不同session兴趣

DSIN的Loss设计

loss:交叉熵损失函数

模型效果

Baseline

YoutubeNet(有无用户行为两种)、Wide&Deep、DIN、DIN-RNN、DIEN

评估

离线:AUC

数据集

数据集行为类型行为序列周期行为序列长度
阿里妈妈的广告数据集展现、点击训练集:20170506~20170512测试集:20170513max_length>=200
阿里巴巴的推荐数据集展现、点击训练集:20181213~20181219测试集:20181220max_length>=200

离线效果

结论:

(1)DSIN效果最佳;

(2)由于用户行为序列的不连续,导致DIN-RNN的效果比DIN的差

具体效果如下所示:

效果复盘

(1)按照session进行建模的效果

1)从离线结果可知,DIN-RNN比DIN的效果差,DSIN-BE比DSINBE-NO-SIIL的效果好

2)按照session处理,会导致由于用户行为序列的快速跃变、突然停止,带来用户行为的session变得充满噪声,导致信息在RNN传输时带来信息损失,影响用户行为序列建模的用户表征

3)按照session处理,保证在每个session内,用户行为是高度同构的,在session间是异构的,更适合进行序列建模

(2)用户兴趣交叉层的效果

从离线结果可知,DSIN-BE比DSINBE-NO-SIIL的效果好,从而论证必要性

(3)bias编码的效果

DSIN比DSIN-PE的效果好,论证bias编码可以捕捉session的高阶信息

(4)self-attention、激活单元(activation unit)的可视化

论文中进行了可视化,说明了效果

代码实现

TensorFlow实现DSIN

结尾

亲爱的读者朋友:感谢您在繁忙中驻足阅读本期内容!您的到来是对我们最大的支持❤️

正如古语所言:"当局者迷,旁观者清"。您独到的见解与客观评价,恰似一盏明灯💡,能帮助我们照亮内容盲区,让未来的创作更加贴近您的需求。

若此文给您带来启发或收获,不妨通过以下方式为彼此搭建一座桥梁: ✨ 点击右上角【点赞】图标,让好内容被更多人看见 ✨ 滑动屏幕【收藏】本篇,便于随时查阅回味 ✨ 在评论区留下您的真知灼见,让我们共同碰撞思维的火花

我始终秉持匠心精神,以键盘为犁铧深耕知识沃土💻,用每一次敲击传递专业价值,不断优化内容呈现形式,力求为您打造沉浸式的阅读盛宴📚。

有任何疑问或建议?评论区就是我们的连心桥!您的每一条留言我都将认真研读,并在24小时内回复解答📝。

愿我们携手同行,在知识的雨林中茁壮成长🌳,共享思想绽放的甘甜果实。下期相遇时,期待看到您智慧的评论与闪亮的点赞身影✨!

万分感谢🙏🙏您的点赞👍👍、收藏⭐🌟、评论💬🗯️、关注❤️💚~


自我介绍:一线互联网大厂资深算法研发(工作6年+),4年以上招聘面试官经验(一二面面试官,面试候选人400+),深谙岗位专业知识、技能雷达图,已累计辅导15+求职者顺利入职大中型互联网公司。熟练掌握大模型、NLP、搜索、推荐、数据挖掘算法和优化,提供面试辅导、专业知识入门到进阶辅导等定制化需求等服务,助力您顺利完成学习和求职之旅(有需要者可私信联系)

友友们,自己的知乎账号为“快乐星球”,定期更新技术文章,敬请关注!

http://www.lryc.cn/news/577016.html

相关文章:

  • DeepSeek五子棋游戏与AI对战
  • 【unity游戏开发——网络】网络游戏通信方案——强联网游戏(Socket长连接)、 弱联网游戏(HTTP短连接)
  • WebRTC(十三):信令服务器
  • Qt Windows下编译动态库生成的.a文件是什么?
  • 新生代潜力股刘小北:演艺路上的璀璨新星
  • Function Calling与MCP的区别
  • Ubuntu开放mysql 3306端口
  • X-Search:Spring AI实现的AI智能搜索
  • SpringMVC实战:从配置到JSON处理全解析
  • AlphaFold3安装报错
  • SpringCloud系列(40)--SpringCloud Gateway的Filter的简介及使用
  • cron 表达式 0 10 0/2 * * ? 的含义
  • Linux基本命令篇 —— head命令
  • 5 c++核心——文件操作
  • Origin绘制复合子母饼状图—复合柱饼图、复合环饼图及复合饼图
  • [Linux] PXE
  • es6特性-第一部分
  • Tomcat 安装使用教程
  • mybatis-plus从入门到入土(一):快速开始
  • 云端可视化耦合电磁场:麦克斯韦方程组的应用-AI云计算数值分析和代码验证
  • Spring Cloud:服务监控与追踪的高级实践
  • 为什么要安装create-vue@3.17.0
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 20(题目+回答)
  • 通过交互式可视化探索波动方程-AI云计算数值分析和代码验证
  • redisson看门狗实现原理
  • ai数据分析黄金
  • RuoYi-Vue学习环境搭建
  • Vue 与react 生命周期对比
  • WSL连不上网解决方案(包含WSL虚拟交换机不正常以及WSL网络配置不正常两种解决方案)
  • wpf的Binding之UpdateSourceTrigger