[Paper Reading] Dynamic Item Blo

2019-12-01  本文已影响0人  小豆芽turbo

会议:IJCAI'19
主题:序列推荐
paper:https://www.ijcai.org/proceedings/2019/0190.pdf
code:https://github.com/ouououououou/DIB-PEB-Sequential-RS

1. 准备知识


2. 简介

学习用户多尺度的偏好,例如长期偏好和短期偏好,有利于更加精准的预测用户行为。现有的方法可以大致分为三类:

(1) 现有神经序列模型存在的不足之处:

(2) 本文重点:

下面将逐个突破这两个模块,并介绍完整的序列推荐模型。

3. Dynamic Item Block (DIB)

图1 DIB
DIB可以看作是一个transformer,它以user 的向量表示和item 的向量表示为输入,然后将item的向量表示transformer成一个与用户相关的向量表示。具体步骤为:

c_{ui}=\sum_{k=1}^Kz_{s_i^u}p_{s_i^u}

最终,item i与用户u相关(user related)的一个向量表示d_{ui}就可以表示成:
d_{ui}=merge(q_i,c_{ui})
这篇文章将merge定义为merge(x,y)=x+\alpha y,其中参数\alpha衡量了补充特征的重要性。

4. Prediction Enhancing Block (PEB)

PEB模块主要将用户的表征映射到不同的尺度上,以便同时预测出用户在不同尺度上与item的相关性。


图3 PEB

整个网络的损失函数设计为
L_u = \frac{1}{K}\sum_{k=1}^K-log(\eta\cdot y_{ui_p^u}^k+(1-\eta)\cdot(1-\alpha_{ui_p^u})+\sum_{i_n\in N_{i_p^u}}-\log(\eta\cdot(1-y_{ui_n^u}^k)+(1-\eta)\cdot\alpha_{ui_n^u}^k)
其中,\alpha_{ui}=|y_{ui}-\beta|。损失函数的核心在于最大化正样本的y并最小化y\beta的差距,最小化负样本的y并最大化y\beta之间的差距。参数\eta用以平衡两个优化目标。

每个尺度上的预测值,与终值的相关程度就可以标准化为:
w_k=\frac{exp(\beta_k)}{\sum_j^Kexp(\beta_j)}

最终,用户u与item i互动的概率可以预测为
y_{ui}=\sum_{k=1}^Kw_k\cdot y_{ui}^k

5. Models with Sequential Building Blocks

基于 DIB 和 PEB,这篇文章提出了两个顺序模型,分别为:GRU-DIB-PEB和 MN-DIB-PEB,下面依次介绍之。
(1) GRU-DIB-PEB

图4 GRU-DIB-PEB

该模型,首先通过DIB将用户u历史交互过的item i向量表示转换成与用户相关向量表示d_{ui}。接着,通过GRU将所有的d_{ui}压缩成一个固定向量h_u。最后,将h_u与用户向量表示p_uconcat成为用户最终的向量表示\hat{p}_u。然后通过PEB模块,就能得到用户与item i交互的概率。

(2) MN-DIB-PEB

图 5 MN-DIB-PEB
该模型,主要采用了记忆网络的思想去生成。

6. 总结

DIB有助于构建具有相似用户作为上下文信息的更好的项目表示,而PEB则以多尺度的方式增强预测,以获得更高的推荐可靠性。

上一篇下一篇

猜你喜欢

热点阅读