在推荐系统中,用户的长短期兴趣:长期兴趣是多“长”;短期兴趣是多“短”,如何衡量其长短?

[复制链接]
查看9976 | 回复0 | 2022-11-16 03:27:06 | 显示全部楼层 |阅读模式
在推荐系统中,用户的长短期兴趣:长期兴趣是多“长”;短期兴趣是多“短”,如何衡量其长短?
复调的狂欢媒 | 2022-11-16 15:07:14 | 显示全部楼层
长序列建模方法SDM采用分长短期序的方法,业界也基本采用了该方法的划分方式。+ I; d4 P% {+ }4 O: _" |% x/ t
用户在推荐场景的历史行为丰富多样,可以给模型提供大量的信息,用于捕捉用户的兴趣。虽然增加序列长度可以带来模型效果的提升,但线上推理耗时也随之急剧增加,需要可落地的工程实现。如何基于工程实现方案,最大程度地利用用户行为,是用户行为长序列建模的关键。! {! X# O8 Z. z& P9 e
SDM[1]提出一种思路:将用户行为分为短期行为和长期行为,用不同的方式分别建模,再将两部分兴趣融合,得到用户综合的兴趣表征。该方法由阿里团队提出,应用于阿里的召回业务,论文发表于2019年的CIKM。+ b0 `/ |$ {& }$ z6 c# O; H; g6 E
1 SDM原理
# l: K( x0 ~! j) d* C) \0 C: {4 W
" Q3 P$ ]3 x/ y0 |推荐场景中,用户行为虽然多样多变,但也存在一些比较稳定的模式和特点。从某个时间段的视角观察用户兴趣,兴趣呈现出相对集中的特点,而在不同的时间段,用户的兴趣容易转移到另一个相对集中的点。当把用户兴趣放在更长的连续时间轴上观察,用户兴趣呈现出相对稳定的状态,即用户对某些维度的偏好基本不变。
7 |* p: p2 |: U4 `以电商场景为例,用户想购买衣物,可能先表现出对上衣的兴趣,当浏览或购买后,兴趣点可能转移到裤子或帽子上。而用户对颜色、风格的偏好往往会长期保持稳定,比如用户喜欢浅色系和休闲简约风,那么该用户所偏好的衣物,在很长一段时间会保持这些特点。2 B4 M" p8 n1 t7 X" N" w+ ~
基于用户短期兴趣容易变化而长期兴趣基本稳定的特点,SDM提出将用户行为划分为短期行为和长期行为,采用不同的方式分别对两种行为建模,再通过门控的方式将两种建模结果进行融合,得到用户的综合兴趣。# m- }- f: ]9 F$ Z! K7 K
1.1 行为划分
5 n; f9 i+ U; j3 g" t
! T4 \( O' M& O5 Z9 Q: TSDM的核心思路是对用户行为分短期和长期分别处理,因此在建模前需首先进行长短期行为划分。通常用户在一个session内的行为相对集中(如有不清楚session概念的可以戳《用户行为序列建模dsin方法》),因此SDM以最后一个session为基础,结合推荐场景的实际特点,按照以下规则进行行为划分:7 g6 F9 P( d8 b* A
    ( Q3 n7 P, A" _7 W- r3 F
  • (1) 用户历史行为中最后一个session的行为为短期行为;
    3 v5 ?! u- g7 J) R- C/ }
  • (2) 和最后一个session内行为的时间间隔在一定范围内(论文中采用的是10min)的行为,划分为短期行为;" m& F! ]: @: W
  • (3) 短期行为长度不超过50;
    - |% u. h% i" z( j9 J; n
  • (4) 用户在最近7天内的短期行为之外的,划分为长期行为。! T! O8 v3 G) Y( c
短期行为表示为 ,其中m为长度,长期行为表示为
3 e$ |& o, h# w4 ~1.2 SDM模型
1 }, w/ s( n% L# l/ M1 `  k
# K. F) Y/ H' w" i' n4 y1.2.1 网络结构
1 z# |( w( y6 x# L  DSDM的模型结构如图1所示,以短期行为序列 和长期行为序列 作为模型的输入,分别用两种方式对长短期序列建模,得到长期兴趣 和某个时刻的短期兴趣 ,通过gate融合的方式,得到某个时刻的综合兴趣 ,再基于内积相似度从物品库的表征 (其中d为embedding维度, 为物品的数量)中得到最相近的N个物品。/ V* w, k& K( t+ F9 Q& {! [

8 ?& K4 A' }4 _, a  W4 X; _: ~! q5 h2 v

+ K. `! I8 V( f" y图1 SDM网络结构
% ?# Q  k, {) m$ `# z
+ i( Y1 J+ |$ H1.2.1.1 短期序列建模/ w( |+ K0 }! d- l5 X
SDM采用multi-head self-attention的方式对短期序列进行建模,其出发点包括两方面:具体可戳《用户行为长序列建模SDM》,或在公众号【播播笔记】回复“SDM”。  @% o/ ~) G$ z3 B1 A/ O7 U. H% A# }) l
在短期序列中,物品的表征除了id对应的embedding,可以通过增加side信息得到更完善的物品信息,side信息可以包括物品所属的品类、品牌、店铺等,将各种物品信息concat后得到物品的表征 0 M! y9 k. ?- F" b% ^

4 a* g( a7 N* ?: B4 d" E$ l' {8 I  o9 N" R' z

6 C# C$ Y6 Q5 D图2 SDM短期和长期行为序列建模
7 `  U: e3 F$ Y* |1 t. c0 A7 F6 ~- G- Z  g. p: A
短期兴趣提取如图2左下部分所示,包括三个步骤:8 R& Q& b# c2 q8 C3 n& j

    4 Y' x5 [% _; u7 U: K
  • (1) 首先采用LSTM得到各个时刻的隐层兴趣表征 (LSTM在此不再赘述,具体公式可参考《用户行为序列建模dsin方法》2.4节);
    . y8 Y, ?' \2 ?% L7 p* M& a
  • (2) 然后利用multi-head self-attention,对各个隐状态计算每个head的权重后,对每个隐状态在head维度加权求和,得到隐兴趣表征 (multi-head可以理解为多个单head,具体细节可戳《用户行为序列建模self attention和具体实现》中3.2节);3 D; n3 v3 p" n1 k) C6 @
  • (3) 最后利用target attention机制,计算如式子(1)所示,各个时刻的隐兴趣表征和用户表征 的相似度经过softmax得到权重,再加权求和得到用户在时刻t的短期兴趣表征 # s- X8 R& b9 D& U& c: d
1.2.1.2 长期序列建模
, q. v2 w# p8 \6 @& F用户在长期行为中表现出的偏好处于相对稳定的状态,比如经常去同一家店或者同一个品牌购买物品,因此在长期序列建模时,输入的序列是用户在不同维度的行为,如物品id序列 ,物品类别序列 ,物品所属品牌序列 等。
9 a$ Z! I" b3 V. R0 a建模过程如图2中左上部分所示,对各个维度的序列进行target attention建模,得到每个维度的用户兴趣表征 ,如式子(2.1)-(2.2)所示,将各个维度的兴趣表征concat后经过一层全连接层,计算如式子(2.3)-(2.4)所示,得到用户的长期兴趣表征
( X  w" h  k/ a# s4 }
6 ]5 e+ N" q9 n4 [# @% z1.2.1.3 长短期融合( m; F$ u0 n2 P) q2 J+ G  {
经过短期和长期序列建模后,得到了用户短期和长期兴趣表征,这两部分兴趣通过门控网络的方式进行融合。如式子(3.1)所示,将用户表征 ,短期兴趣表征 和长期兴趣表征 作为输入,经过sigmoid激活得到门控网络输出 ;再通过式子(3.2)加权求和的方式(其中 表示按位乘),得到用户兴趣表征
( k9 k" d% W; ^( C5 E) S4 |7 A! B2 q* o得到用户兴趣表征后,则可根据该兴趣从物品库中召回最相近的item,实现召回中的用户长序列建模。
/ [' ?8 X- l4 f( g; H/ R1.2.2 离线训练( L- E) S" U) e+ E+ |
模型在训练过程中,短期序列中每个时刻对应产生一个样本,即在时刻t,正样本为短期行为中下一个时刻t+1所对应的item ,负样本采用全局负采样的方式生成,在物品库 中选取除正样本 之外的item作为负样本,考虑到物品库 数量庞大,采样按照log-uniform的方式。% c# u+ x5 d, ]4 y
损失采用交叉熵的形式,如式子(4)所示,其中 为正负样本构成的集合, 表示集合 中第i个item表征 和该时刻兴趣表征 内积后的softmax值, 为第i个item的真实概率。
# T" F- o/ }3 U' b " E% Y  e( [$ o7 A
1.2.3 线上推理
* p; W4 N: T( t% Q& G9 M3 j模型的输入仅使用了用户特征,因此模型在线上部署时,采用双塔的部署形式,可提高模型的线上推理的效率。item部分的embedding离线实时更新后存储到线上,当用户发出请求时,模型计算当前时刻用户兴趣表征 ,再利用KNN紧邻搜索得到最相似的N个item,完成线上推理。( T; X; j9 Z7 J! ^- G3 I& c: n* T& \
2 SDM分析# w/ V/ ?6 m! d/ M
! ^0 H# V5 I6 m7 l; w4 U
SDM方法的核心在于根据用户行为特点,提出将用户行为分为长短期分别进行建模后再进行融合。; C+ J( M+ L' j
该方法在召回的应用值得尝试,提出的思路在精排应用的局限性较大,并未从根本解决长序列问题,具体分析可戳《用户行为长序列建模SDM》,或在公众号【播播笔记】回复“SDM”。
, j' U8 i4 h( A; B/ S6 H
8 i3 O( n! E4 u9 I( ^9 x! q<hr/>
  j! o6 y, Y2 B+ f2 ~2 n! W工作相关的内容会更新在【播播笔记】公众号,欢迎关注  
/ x, }4 P$ a8 r- ?  Q& e! l3 u, e% A生活的思考和记录会更新在【吾之】公众号,欢迎关注  5 ~3 s) B4 u( Z7 j
推荐系列文章: 用户行为序列建模
3 v+ G. P7 r! D; g
    ; i+ t0 D7 z4 o; ?6 H% `
  • 用户行为序列建模概览. J. s# J' n2 j% `4 V
  • 用户行为序列建模self attention和具体实现; y0 ]$ @" V: O% {' l8 U! O: }: q
  • 用户行为序列建模din方法和实际应用
    8 ?* A2 I) I; E4 u: o
  • 用户行为序列建模dien方法: ~/ |* |3 q" z; l+ |+ w5 S
  • 用户行为序列建模dsin方法
    ; I) I8 N/ @4 g# V0 Y2 g! M$ I) r
  • 用户行为序列建模din系列方法总结& F& o. p' T* _
  • 用户行为长序列建模概览+ Y5 r" m/ z) ]% g  f( ~3 W
多目标  % F. x! \: [9 @. {+ d

    & Q+ J$ F3 ^- v: b8 w7 {
  • 推荐中多目标的必要性和实现思路. X. Y  J/ ]( a+ G1 f2 u: q4 p
  • 多目标模型结构-ESMM和ESM2
    - D+ A7 R) N9 U8 b6 |* O* r
  • 多目标模型结构-MMoE和实际应用思考
    8 P( J7 R/ A8 y9 K. _, v
  • 多目标模型结构PLE详解和效果分析1 `. c2 x/ U" B# m4 I8 m2 _
  • 多目标样本权重-GradNorm和DWA原理详解和代码实现
    : b1 C+ E% N! W! x, j" w
  • 多目标样本权重-DTP和不确定性加权
    : y+ i4 n/ T& c9 S
冷启  
9 ~9 t, ^- a) n5 n# _& _. [

    + Q5 U4 i. I0 R/ d& r) J7 E2 \
  • 用户冷启POSO论文详读
    ' u, T+ F3 q" F$ ]" e
  • POSO方法的实际应用和分析思考0 O6 L/ y7 _  {0 L
模型结构-特征交叉    _# T' Y# x; k! w0 R0 A5 U

    6 w5 x: F- e- R7 d( c+ m
  • ctr模型特征交叉结构总结与业务应用和思考5 ~8 n  [" P% G9 j6 |" |* j7 f
  • xDeepFM如何实现field-wise显式高阶特征交叉-模型结构之特征交叉(3)-DCN系列之xDeepFM(3.3)附代码
    % D8 {& e3 T5 T; o4 I
  • DCN-V2对特征交叉做了什么改进--模型结构之特征交叉(3)-DCN系列之DCN-V2(3.2)附代码
    6 R, a# k# p( T# {, z0 S5 ]/ w, Q
  • 为什么DCN可以实现显式高阶特征交叉-模型结构之特征交叉(3)-DCN系列(3.1)附代码
      S' U6 v1 O; p" s  a# B
  • 模型结构之特征交叉(2)-FM系列(2.2)-AFM,DeepFM等(附代码)
    4 J- u( A7 R* D0 }+ q& x
  • 模型结构之特征交叉(2)-FM系列(2.1)-FM,FFM* c: i; ]3 Y: e
  • 模型结构之特征交叉(1)-从LR到wide&deep
    + E- L! y) v1 G" {: G$ e2 J. O
推荐基础知识点  
' f+ n( L( |1 B- v9 x2 E3 ]
    3 C- s; o, `% w+ {( I
  • 激活函数选择和具体应用以及相关面试题7 X7 H6 y! ?. h
  • 深入理解深度学习中常见激活函数
    + u3 R1 T; t$ P) p3 M- n
  • 如何防止过拟合(1)-正则化
    8 h1 W! K# X! L! g
  • 从偏差方差角度理解过拟合
    + p, O; d& u8 [0 I0 q
  • AUC离线和在线表现不一致问题:两个维度
    2 b8 n0 p6 e. ]# b3 h- L
  • 如何计算AUC( Z3 ]/ ?* K. I! q" c3 D& ~% ~
  • 什么是好的推荐,重新理解AUC
    ! @- x) B" _& D3 @# }* J
  • 为什么需要推荐2 l/ T7 Q) A- N. Q( {
工具  
4 B2 D( E+ z2 e4 u

    2 Z" O: J  y3 n
  • 一句话理解tensorflow中的乘法7 }) J7 W" g; b1 r" E( u
! u4 P. b8 ?4 t8 u4 W8 c
reference
3 o( ^; {/ J3 n: i- B[1] Sequential Deep Matching Model for Online Large-scale Recommender System. SDM | Proceedings of the 28th ACM International Conference on Information and Knowledge Management.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

217

金钱

0

收听

0

听众
性别

新手上路

金钱
217 元