[Paper Reading] Dynamic Item Block and Prediction Enhancing Block for Sequential Recommendation

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

1. 准备知识

  • 序列推荐:传统的协同过滤推荐,是以一种静态的方法构造user-item间的交互,所能捕捉的用户的偏好较为单一。相反,序列推荐是以一种动态即序列的方法构造user-item间的交互,从其所包含的序列依赖关系中可以捕捉到用户的消费习惯、意图和商品的消费趋势等,有利于更精准地、个性化地和动态地推荐。例如,给曾购买过GPU的用户推荐GPU风扇等。

2. 简介

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

  • 第一类旨在基于用户行为模式的启发式假设,通过时间矩阵分解来建模用户偏好漂移的方法;
  • 第二类则侧重于用户偏好于刚刚交互的前几项的短期依赖性,典型的方法是基于马尔可夫链的推荐的方法;
  • 第三类是近几年大火的基于神经网络建模用户偏好的方法。这类方法可以基于RNN、CNN几它们的变体去捕捉用户交互item之间的长期和短期依赖性。本文沿着这一方向,设计了一种端到端的神经序列模型去完成序列推荐的任务,

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

  • 简单地认对于所有用户来说,item的表征静态、固定的,即不会随着时间的变迁、用户的切换而变化。
  • user与item相关性的预测过于单一,例如,通过user与item各自表征的内积来衡量。这主要是因为现有的工作对于一个用户只学习一种向量表示,这就导致了模型最终预测的单一性。本文针对一个用户会生成不同尺度上的向量表示来衡量用户不同角度的偏好。

(2) 本文重点:

  • 设计Dynamic Item Block (DIB) 模块去学习item的动态向量表示。主要是通过聚合在该时间步之前对该item有过交互的用户的向量表示来得到的。这部分称之为类似用户(similar users),并通过注意力机制确定不同相似用户的对于item表征学习的重要程度。
  • 提出Prediction Enhancing Block (PEB)模块,将用户的向量表示投影到多个尺度上,在此基础上,可以相应地进行多个预测,然后集中在一起进行增强学习。

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

3. Dynamic Item Block (DIB)

图1 DIB

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

  • step1: 寻找相似用户(similar users)。本文相似用户指的是与item i有过互动的其他用户,下面以一个例子来具体说明这一过程。
    图2 寻找similar users

    假设现在DIB的输入为user u_3和item i,寻找与item i有过交互的用户,并按交互时间排序。在交互过的用户列表中找到u_3的确切位置,称之为时间步。那么,在这一时间步之前交互的用户即为u_3的相似用户,如u_4,u_5,u_6,u_7,最终保留K个用户。
  • step2: 聚合相似用户的向量表示为c_{ui}作为item i向量表示q_i学习过程中的补充特征。但是,不同用户与item之间的相关性并不完全相同,因此采用attention机制,以区别不同用户向量表示对item i向量表示学习的贡献程度。将用户u的相似用户标记为s_i^u,对应的向量表示为p_{s_i^u}。那么c_{ui}可通过如下两个公式得到:
    z_{s_i^u}=\frac{exp(p_u^Tp_{s_i^u})}{\sum_{k=1}^Kexp(p_u^Tp_{s_k^u})}

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
  • step1 : 通过一个全连接层将用户的向量表示p_u映射成K个向量表示,其中第k个向量表示用符合p_u^k。那么,就可以预测用户在第k个尺度上,选择每个item i的可能性。但是,由于item 数量是庞大的,这篇文章又采用负采样策略降低计算复杂度。具体为
    y_{ui}=\frac{exp({p_u^k}^Tq_i)}{\sum_{j\in\{i\}\cup N_{i_u^p}}exp({p_u^k}^Tq_j)}
    其中,N_{i_u^p}为对应负样本集合。
  • step2 :将K个按照不同的重要程度,整合成一个值。其中,第k个预测值对最终值的贡献程度\beta_k是通过将p_u通过另一个全连接层映射为K个值得到的。

整个网络的损失函数设计为
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则以多尺度的方式增强预测,以获得更高的推荐可靠性。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,569评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,499评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,271评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,087评论 0 209
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,474评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,670评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,911评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,636评论 0 202
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,397评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,607评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,093评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,418评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,074评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,092评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,865评论 0 196
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,726评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,627评论 2 270

推荐阅读更多精彩内容