Intention-Aware Sequential Recommendation With Structured Intent Transition


前言

推荐算法
Intention-Aware Sequential Recommendation With Structured Intent Transition
会议论文:IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING


一、文献模型创新点

  1. 利用用户历史消费行为背后的用户意图来提高序列推荐的有效性和可解释性
  2. 提出意图感知序列推荐模型(ISRec),)能够识别用户意图,并识别结构化的用户意图转换过程,为顺序推荐提供更透明和可解释的中间结果
  3. 在目前主流的推荐算法公开数据集Beauty,Steam,Epinions,ML-1m,ML-20m进行模型实验,对比目前最先进的模型GRU4Rec,Caser, SASRec ,BERT4Rec 等,利用评估指标HR,NDCG,MMR进行对比,模型性能都得到了显著提高

二、解决现有推荐模型的问题

现有序列推荐工作很难发现激发消费行为的用户意图,缺乏向用户解释特定商品被推荐给用户的原因的能力。发现和建模用户意图对序列推荐提出了巨大的挑战,因为用户意图很少被完全观察到,也不总是在一段时间内保持静态和固定。此外,用户可能有多个相互关联的意图,一个用户意图的改变可能导致其他意图的改变,使得动态捕获用户意图变得更加困难。


三 模型介绍

  • Notations Used in This Paper
    Intention-Aware Sequential Recommendation With Structured Intent Transition_第1张图片
    set of users: U = { u 1 , u 2 , … , u ∣ U ∣ } \mathcal{U}=\{u_1,u_2,\ldots,u_{|\mathcal{U}|}\} U={u1,u2,,uU}
    set of items: V = { v 1 , v 2 , … , v ∣ V ∣ } \mathcal{V}=\{v_1,v_2,\ldots,v_{|\mathcal{V}|}\} V={v1,v2,,vV}
    the interaction sequence sorted in the chronological order: S u = [ v 1 ( u ) , v 2 ( u ) , … , v ∣ S u ∣ ( u ) ] \mathcal{S}_{u}=\left[v_{1}^{(u)},v_{2}^{(u)},\ldots,v_{|\mathcal{S}_{u}|}^{(u)}\right] Su=[v1(u),v2(u),,vSu(u)]
    relations between items and concepts: E = [ e i , k , 1 ≤ i ≤ ∣ V ∣ , 1 ≤ k ≤ K ] E=[e_{i,k},1\leq i\leq|\mathcal{V}|,1\leq k\leq K] E=[ei,k,1iV,1kK]
    if concept  k  appears in the description information of item  i , e i k = 0  otherwise. and  K  is the number of concepts.  \begin{array}{l}\text{if concept }k\text{ appears in the description information of item }i,\\e_{ik}=0\text{ otherwise. and }K\text{ is the number of concepts. }\end{array} if concept k appears in the description information of item i,eik=0 otherwise. and K is the number of concepts. 
    the user intention:a subset of all possible K concepts m t = [ m t , 1 , m t , 2 , … , m t , K ] ∈ { 0 , 1 } K m_t=[m_{t,1},m_{t,2},\ldots,m_{t,K}]\in\{0,1\}^K mt=[mt,1,mt,2,,mt,K]{0,1}K
    Given all this information, the sequential recommendation problem can be formalized as to predict the probability over all items for every user u ∈ U u\in\mathcal{U} uU at time index t = ∣ S u ∣ + 1 : t=|S_u|+1: t=Su+1:
    p ( v ∣ S u ∣ + 1 ( u ) ∣ S u ) . p\Big(v_{|\mathcal{S}_u|+1}^{(u)}|\mathcal{S}_u\Big). p(vSu+1(u)Su).
    对于每一个时刻 t 此用户意图使用K个概念的子集来描述,即 t 时刻此用户交互的item包含K个概念的哪些概念,并且使用概念图来表示概念之间的关系,Intention transition则基于t时刻的概念图将用户此时的意图转移到下一个t+1时刻
  • Model Framework
    Intention-Aware Sequential Recommendation With Structured Intent Transition_第2张图片
    1 Transformer-based Encoder
    Item sequence embedding R ∣ V ∣ × d \mathbb{R}^{|\mathcal{V}|\times d} RV×d
    Position embedding P = [ p 1 , … , p T ] ∈ R T × d P=[\boldsymbol{p}_{1},\ldots,\boldsymbol{p}_{T}]\in\mathbb{R}^{T\times d} P=[p1,,pT]RT×d
    Conception embedding C = [ c 1 , … , c K ] ∈ R K × d C=[c_1,\ldots,c_K]\in\mathbb{R}^{K\times d} C=[c1,,cK]RK×d
    The representation of an element in the behavior sequence
    h i = v i + p i + ∑ e i , j = 1 c j , h_i=v_i+p_i+\sum_{e_{i,j}=1}c_j, hi=vi+pi+ei,j=1cj, user behavior sequence  S u \text{user behavior sequence } \mathcal{S}_u user behavior sequence Su H 0 = [ h 1 0 , h 2 0 , … , h T 0 ] . H^0=[h_1^0,h_2^0,\ldots,h_T^0]. H0=[h10,h20,,hT0]. S l = S A ( H l ) = Attention ( H l W Q l , H l W K l , H l W V l ) , H l + 1 = FFN ( S l ) = ReLU ( S l W 1 l + b 1 l ) W 2 l + b 2 l , \begin{aligned}S^l&=\text{S}A(H^l)=\text{Attention}(H^lW_Q^l,H^lW_K^l,H^lW_V^l),\\\\H^{l+1}&=\text{FFN}(S^l)=\text{ReLU}(S^lW_1^l+b_1^l)W_2^l+b_2^l,\end{aligned} SlHl+1=SA(Hl)=Attention(HlWQl,HlWKl,HlWVl),=FFN(Sl)=ReLU(SlW1l+b1l)W2l+b2l, 经过自注意力机制模块得到 X = [ x 1 , … , x T ] = H L X=[x_1,\ldots,x_T]=H^L X=[x1,,xT]=HL x t x_{t} xt已经融合了所有在时间 t 时刻之前的序列信息
    2 Intent Extraction
    利用每一个概念嵌入向量 c i c_{i} ci计算与序列表达式 x t x_{t} xt之间的相似度并作为激活此概念的概率,具体 s t , k s_{t,k} st,k计算公式如下,即利用cosine similarity : s t , k = x t ⋅ c k ∥ x t ∥ 2 ∥ c k ∥ 2 , s_{t,k}=\frac{\boldsymbol{x}_t\cdot\boldsymbol{c}_k}{\|\boldsymbol{x}_t\|_2\|\boldsymbol{c}_k\|_2}, st,k=xt2ck2xtck,最终得到意图向量 m t ∼ Categorical ( Softmax ( s t , 1 , s t , 2 , … , s t , K ) ) m_{t}\sim\text{Categorical}(\text{Softmax}(s_{t,1},s_{t,2},\ldots,s_{t,K})) mtCategorical(Softmax(st,1,st,2,,st,K))
    3 Structured Intent Transition
    为了解决由于 m t m_{t} mt是通过同样的概念嵌入学习得来的,假设两个不同的用户拥有相同的意图,但是下一个时刻并不一定具有相同的转换模式,并且 m t m_{t} mt是对于每一个意图是单个数字并且是离散的,为解决用户个性化推荐问题和优化问题,首先为一个用户学一个意图特征矩阵 Z t = [ z t , 1 , … , z t , K ] ∈ R K × d ′ Z_t=[z_{t,1},\ldots,z_{t,K}]\in\mathbb{R}^{K\times d^{\prime}} Zt=[zt,1,,zt,K]RK×d,其中 z t , k z_{t,k} zt,k通过单独的MLP来获得 z t , k = m t , k MLP k ( x t ) z_{t,k}=m_{t,k}\text{MLP}_k(x_t) zt,k=mt,kMLPk(xt)具体的转移过程是将得到的 Z t Z_t Zt转换成一个概念图,通过GCN消息传递机制得到下一个时刻t+1的概念图 Z t + 1 Z_{t+1} Zt+1,即 Z t + 1 = F ( Z t , A ) , Z_{t+1}=\mathcal{F}(Z_t,\mathbf{A}), Zt+1=F(Zt,A), H G l + 1 = σ ( D ^ − 1 2 A ^ D ^ − 1 2 H G l W l ) , H_{\mathcal G}^{l+1}=\sigma(\hat{D}^{-\frac{1}{2}}\hat{A}\hat{D}^{-\frac{1}{2}}H_{\mathcal G}^{l}W^{l}), HGl+1=σ(D^21A^D^21HGlWl), m t + 1 m_{t+1} mt+1则通过 Z t + 1 Z_{t+1} Zt+1的范数得到,即计算哪些概念被激活了 ∥ z t + 1 , k ∥ 2 ≥ g ( { ∥ z t + 1 , k ∥ 2 , 1 ≤ k ≤ K } ) , \left\|z_{t+1,k}\right\|_{2}\geq g(\{\left\|z_{t+1,k}\right\|_{2},1\leq k\leq K\}), zt+1,k2g({zt+1,k2,1kK}),并确保与上一个时刻激活的概念数目相同 ∑ k m t , k = ∑ k m t + 1 , k . \sum_km_{t,k}=\sum_km_{t+1,k}. kmt,k=kmt+1,k.
    4 Intent Decoder
    获得了未来意图特征 Z t + 1 Z_{t+1} Zt+1和未来意图向量 m t + 1 m_{t+1} mt+1,对其进行解码操作: x t + 1 = ∑ k = 1 K m t + 1 , k M L P k ′ ( z t + 1 , k ) . x_{t+1}=\sum_{k=1}^Km_{t+1,k}\text{M}LP_k^{\prime}(z_{t+1,k}). xt+1=k=1Kmt+1,kMLPk(zt+1,k).最终计算 x t + 1 x_{t+1} xt+1与item embedding的相似度来计算推荐概率 p ( v t + 1 ∣ [ v 1 , v 2 , … , v t ] ) = Softmax ( x t + 1 V T ) . p(v_{t+1}|[v_1,v_2,\ldots,v_t])=\text{Softmax}(x_{t+1}V^T). p(vt+1[v1,v2,,vt])=Softmax(xt+1VT).

四 实验

  • 数据集:Amazon Steam Epinions MovieLens
  • 实验设计
    1 Evaluation Settings
    2 Metrics
    Hit Rate H R @ k = 1 ∣ U ∣ ∑ u ∈ U δ ( ∣ T u ∩ R u , k ∣ > 0 ) , \mathrm{HR@}k=\frac{1}{|\mathcal{U}|}\sum_{u\in\mathcal{U}}\delta(|\mathcal{T}_u\cap\mathcal{R}_{u,k}|>0), HR@k=U1uUδ(TuRu,k>0),
    Normalized Discounted Cumulative Gain N D C G @ k = 1 Z D C G @ k = 1 Z 1 ∣ U ∣ ∑ u ∈ U ∑ i = 1 k δ ( r u , i ∈ T u ) l o g 2 ( i + 1 ) , \begin{aligned} \mathrm{NDCG@}k& =\frac{1}{Z}\mathrm{DCG@}k \\ &=\frac1Z\frac1{|\mathcal{U}|}\sum_{u\in\mathcal{U}}\sum_{i=1}^k\frac{\delta(r_{u,i}\in\mathcal{T}_u)}{log_2(i+1)}, \end{aligned} NDCG@k=Z1DCG@k=Z1U1uUi=1klog2(i+1)δ(ru,iTu),
    Mean Reciprocal Rank M R R = 1 ∣ U ∣ ∑ u ∈ U 1 r a n k u , \mathrm{MRR}=\frac{1}{|\mathcal{U}|}\underset{u\in\mathcal{U}}{\sum}\frac{1}{rank_u}, MRR=U1uUranku1,
    3 Baselines
    PopRec,BPR-MF,NCF,FPMC,GRU4Rec,GRU4Rec+,DGCF,Caser,SASRec,BERT4Rec
  • Recommendation AccuracyIntention-Aware Sequential Recommendation With Structured Intent Transition_第3张图片
  • Showcases of Intent Extraction and Structured Intent Transition
    Intention-Aware Sequential Recommendation With Structured Intent Transition_第4张图片
  • Effectiveness of Intent Extraction and Structured Intent Transition
    Intention-Aware Sequential Recommendation With Structured Intent Transition_第5张图片
  • Sensitivities of Hyperparameters
    Intention-Aware Sequential Recommendation With Structured Intent Transition_第6张图片
    Intention-Aware Sequential Recommendation With Structured Intent Transition_第7张图片

总结

本文研究了具有结构化意图转换的意图感知序列推荐问题。我们提出了一种意图感知的序列推荐(ISRec)方法,该方法能够发现用户行为历史背后的用户意图,并对结构化的用户意图转换模式进行建模。本文提出的ISRec模型可以做出准确的序列推荐,每个推荐的中间结果更加透明和可解释性。在各种数据集上进行的大量实验表明,与其他最先进的基线模型进行对比,ISRec的有效性和案例研究表明,可以准确地识别动态用户意图。

你可能感兴趣的:(推荐算法,python,推荐算法,transformer,pytorch)