CTR之Session行为序列建模用户兴趣:DSIN

news/2024/5/20 0:31:32 标签: 推荐系统, 推荐算法

在前面的文章中,DIN模型 在用户行为序列建模中引入注意力机制来强调加权与target item相关的行为,以实现动态的兴趣表征;而DIEN模型 则在DIN的基础上加入时间性信息,使用注意力机制的GRU来挖掘用户兴趣的演变。

而今天的这篇文章也是继续这个主题,再介绍一个引入将行为序列切分session来对用户兴趣建模的模型:DSIN(Deep Session Interest Network)

概要

论文:Deep Session Interest Network for Click-Through Rate Prediction

链接:https://arxiv.org/pdf/1905.06482.pdf

这篇论文认为许多研究都忽视了序列的内在结构:序列是由sessions组成,sessions是按照发生时间切分的用户行为

并且观察到用户的行为在每个session里几乎都是同类(homogeneous)的,而在不同session之间又是混杂(heterogeneous)的,即用户在某一时间内的行为会集中在某一个“类别/主题”上,而在另一个时间段内则集中在另外一个“类别/主题”上

如下图所示,是一个从真实场景下收集到的数据,下面的数字代表了当前点击商品与第一次点击商品的时间gap(单位为秒),session按照是否超过30min进行切分。

基础观察到这种规律,论文提出了DSIN(Deep Session Interest Network)来通过利用多个历史sessions来建模用户的行为序列。DSIN包含三个关键的组件:

  1. 将用户的行为序列切分多个sessions,然后使用带着偏置编码(bias encoding)的自注意力网络来建模多个sessions。自注意力可以捕获session之间的内在交互/相关关系,然后提取每个session的用户兴趣,因为这些不同的sessions可能会彼此相互关联,遵循一种序列化的模式;
  2. 接着,使用双向LSTM(Bi-LSTM) 来捕获这些不同的历史session兴趣的交互和演变;
  3. 最后,考虑不同的session兴趣对target item有着不一样的影响,设计了一个**局部激活单元(local activation uint)**去聚合它们,去建模行为序列的最终表征

这里的自注意力类似于transformer,将每个session类比token,可以前往这篇文章BERT模型系列大全解读回顾下transformer和自注意力。

基础模型

在前面的两篇相关文章 CTR之行为序列建模用户兴趣:DIN和CTR之行为序列建模用户兴趣:DIEN中都详细地介绍了Base Model,其主要包括四部分:特征表征(Feature Representation)、Embedding、Multiple Layer Perceptron (MLP)和损失函数

具体的内容在这里就不再赘述了,但记住几个后面涉及的符号:

  • 用户行为embeddings: S = [ b 1 ; . . . ; b i ; . . . ; b N ] ∈ R N × d m o d e l S=[b_1;...;b_i;...;b_N] \in \mathbb{R}^{N \times d_{model}} S=[b1;...;bi;...;bN]RN×dmodel
  • target item属性(Item Profile)表征embeddings: X I ∈ R N i × d m o d e l X^I \in \mathbb{R}^{N_i \times d_{model}} XIRNi×dmodel

#DSIN结构

如上图所示,DSIN在底层的特征表征和Embedding的后面,MLP的前面,即中间部分加入了四个特殊的网络层:

  1. session划分层,将行为序列分割成不同的sessions;
  2. session兴趣提取层,提取用户的session兴趣;
  3. session兴趣交互层,捕获session兴趣之间的序列关系;
  4. session兴趣激活层,考虑(w.r.t) target item,对用户session兴趣应用局部激活单元。这与DIN中attention和DIEN中的GRU with attention一样的思想,来激活与target item更为相关的行为序列或兴趣序列。

session划分层

为了提取用户更为准确的session兴趣,论文将用户行为序列S划分成sessions集合Q,第k个session表示为:

Q k = [ b 1 ; . . . ; b i ; . . . ; b T ] ∈ R T × d m o d e l Q_k=[b_1;...;b_i;...;b_T] \in \mathbb{R}^{T \times d_{model}} Qk=[b1;...;bi;...;bT]RT×dmodel

  • T是session保留的行为数量, b i b_i bi是session里的第i个行为。
  • 用户sessions的分割是以时间间隔超过30min的相邻行为。即当两个相邻的行为时间超过30min的话,会以它们为界限,前面一个行为保留在当前session,后面一个行为会开启一个新的session。该做法出自《Framewise phoneme classification with bidirectional LSTM networks》的做法。

session兴趣提取层

在同一个session里的行为之间是强相关的。另外,在一个session里,用户那些随意的行为会让session兴趣偏离它原本的表现。

为了捕获同一个session的行为之间的内在关系,降低那些不相关的行为的影响,论文使用了多头自注意力,并且进行了一些优化工作。

偏置编码

为了利用序列的顺序相关信息,自注意力机制给输入embeddings加入了位置编码。

而sessions的顺序相关信息和不同表征子空间的偏置同样需要被捕获,论文在位置编码的bias加入了bias encoding BE ∈ R K × T × d m o d e l \in \mathbb{R}^{K \times T \times d_{model}} RK×T×dmodel,具体如下式:

  • w K ∈ R K w^K \in \mathbb{R}^K wKRKsession的偏置向量,k是session的索引
  • w T ∈ R T w^T \in \mathbb{R}^T wTRT 是session中的位置的偏置向量,t是行为在session里的索引
  • w C ∈ R d m o d e l w^C \in \mathbb{R}^{d_{model}} wCRdmodel行为embedding中的单位(unit)位置的偏置向量,c是unit在embedding中的索引

加入偏置编码之后,用户的行为sessions Q 则更新为:

Q = Q + B E Q=Q+BE Q=Q+BE

多头自注意力

推荐系统中,用户的点击行为是被许多多样的因素影响的,比如颜色、风格和价格等。多头自注意力可以捕获不同表征子空间的相关性。论文中使用的多头自注意力跟标准的Transformer其实是一样的结构。

Q k = [ Q k 1 ; . . . ; Q k h ; . . . ; Q k H ] Q_k=[Q_{k1};...;Q_{kh};...;Q_{kH}] Qk=[Qk1;...;Qkh;...;QkH],其中 Q k h ∈ R T × d h Q_{kh} \in \mathbb{R}^{T \times d_h} QkhRT×dh Q k Q_k Qk的第h个head,H是heads的数量, d h = 1 h d m o d e l d_h=\frac{1}{h}d_{model} dh=h1dmodel

那么,第h个head的计算如下式:

其中, W Q , W K , W V W^Q,W^K,W^V WQ,WK,WV 是线性矩阵。

接着,所有heads的向量进行拼接,喂给前馈网络层(feed-forward network,FFN):

其中, W O W^O WO是线性矩阵,并且同样保留残差连接和layer normalization

那么,用户的第k个session兴趣 I k I_k Ik 如下式:

I k = A v g ( I k Q ) I_k=Avg(I_k^Q) Ik=Avg(IkQ)

需要注意的是,自注意力的参数在不同的sessions中是共享的

session兴趣交互层

用户的session兴趣与上下文的其他sessions是有着顺序相关性的,对动态的变化进行建模可以丰富session兴趣之间的相关性信息

而LSTM则是善于捕获这种顺序相关性,能够建模session兴趣之间的交互。

其中, σ ( ⋅ ) \sigma(\cdot) σ()是sigmoid函数,ifo,和 c 分别是输入门控,遗忘门控,输出门控和cell向量,与 I t I_t It有着相同的size。

双向则意味着存在一个前向的RNN和后向的RNN,那么,其隐状态 H 计算如下式:

H t = h f t → ⊕ h b t ← H_t=\overrightarrow{h_{ft}} \oplus \overleftarrow{h_{bt}} Ht=hft hbt

其中, h f t → \overrightarrow{h_{ft}} hft 是前向LSTM的隐状态, h b t ← \overleftarrow{h_{bt}} hbt 是后向LSTM的隐状态。

session兴趣激活层

与target item更相关的用户的session兴趣会对用户是否点击起着更为重要的影响。那么,用户session兴趣对于target item的权重计算问题便随之而来。

注意力机制 使用source和target的软对齐已经被证明是一种有效的权重分配方法,论文也使用该方法,考虑target item,session兴趣的自适应表征计算如下式:

同理,融合了上下文信息的session兴趣表征计算如下式:

最后,用户属性(User Profile)和item属性(Item profile)的embedding向量,与 U I , U H U^I,U^H UI,UH进行拼接和压平(flatten),输入到最后的MLP层。

实验结果

基线对比

AUC公式

总结

  1. 论文认为在推荐系统中,用户的行为序列是由多个历史sessions构成,在不同的session中展现了不同的兴趣;
  2. 然后,使用多头注意力来捕获session行为的内存相关性,并且提取每一个session兴趣
  3. 另外,用户的session兴趣是序列化的,并且彼此相关联,因此用适合序列结构的双向LSTM来捕获session之间的交互和session兴趣的变化;
  4. 最后再使用注意力机制来激活那些与target item更为相关的session兴趣;
  5. 不过对于某些场景,比如新闻推荐类似的信息流场景,用户大部分并不是主动行为,那么点击的序列可能就不具备很强的连续性了,因此不满足一个session内的点击都是同类(homogeneous)的,这种场景下DSIN就并不一定适用了。

推荐系统CTR建模系列文章:

CTR之行为序列建模用户兴趣:DIEN

CTR之行为序列建模用户兴趣:DIN

CTR特征重要性建模:FiBiNet&FiBiNet++模型

CTR预估之FMs系列模型:FM/FFM/FwFM/FEFM

CTR预估之DNN系列模型:FNN/PNN/DeepCrossing

CTR预估之Wide&Deep系列模型:DeepFM/DCN

CTR预估之Wide&Deep系列(下):NFM/xDeepFM

CTR特征建模:ContextNet & MaskNet(Twitter在用的排序模型)


http://www.niftyadmin.cn/n/5450278.html

相关文章

802.1X网络访问控制协议

802.1X是一种由IEEE(电气和电子工程师协会)制定的网络访问控制协议,主要用于以太网和无线局域网(WLAN)中基于端口的网络接入控制。802.1X协议通过认证和授权机制,确保只有合法的用户和设备才能够接入网络&a…

Java中的DES和3DES加密算法详解

码到三十五 : 个人主页 心中有诗画,指尖舞代码,目光览世界,步履越千山,人间尽值得 ! 在信息安全领域,数据加密是保护敏感信息不被未授权访问的关键技术之一。Java作为一种广泛使用的编程语言,…

基于单片机的家庭烟雾报警系统

摘要:本文主要针对家庭等小型应用场所, 提出基于以单片机CC2530 作为控制器的智能烟雾报警系统,通过MQ-2 气体传感器来检测烟雾浓度,在单片机的A/D模块转化后,并配合蜂鸣元器件实现声音报警功能。 【关键词】烟雾报警 单片机 烟雾传感器 由于科技的发展以及各类家电走入…

MySQL数据库的下载及安装教程

MySQL是一个数据库管理系统,允许您管理关系数据库。它是Oracle支持的开源软件,本文介绍如何下载、安装和启动,便于新手快速启动学习之旅,具体如下: 一、下载MySQL 1.打开MySQL官网(https://www.mysql.com…

基于SpringBoot IP黑白名单的实现2

业务场景 IP黑白名单是网络安全管理中常见的策略工具,用于控制网络访问权限,根据业务场景的不同,其应用范围广泛,以下是一些典型业务场景: 服务器安全防护: 黑名单:可以用来阻止已知的恶意IP地…

Elasticsearch:使用在本地计算机上运行的 LLM 以及 Ollama 和 Langchain 构建 RAG 应用程序

无需 GPU 的隐私保护 LLM。在本博客中,我将演示使用不同的工具 Ollama 构建的 RAG 应用程序。 与本文相关的所有源代码均已发布在 github上。 请克隆存储库以跟随文章操作。我们可以通过如下的方式来克隆: git clone https://github.com/liu-xiao-guo/o…

Java基础知识总结(19)

红黑树 1.节点颜色有红色和黑色 2.根节点必为黑色 【2-3树中如果根节点为2节点,那么它本来就对应红黑树中黑节点;如果根节点为3节点,也可以用黑色节点表示较大的那个元素,然后较小的元素作为左倾红节点存在于红黑树中】 3.所有…

详解华为全流程全要素研发项目管理实践

全流程全要素的项目管理要求涵盖项目管理的各个方面,确保项目从开始到结束的每个阶段都得到有效管理。 1. 项目启动阶段: 确定项目目标和范围。 进行项目可行性研究和商业分析。 确定项目的关键要素,如时间、成本、质量和资源等。 编制项目章程和项目计划。 2. 项目规…