推荐系统研究专区

基于图的推荐算法(13): Beyond Clicks: Mod

2020-12-30  本文已影响0人  阿瑟_TJRS

前言

引言

本文针对单会话的行为预测场景(由于userid设置敏感信息,往往只能对单会话进行处理预测),现有的方法中利用GNN增强了预测效果,然而这些方法存在着一些局限:

模型方法

对于目标行为序列S表示为P^s,其辅助行为序列为Q^s

;多关系物品图 其边包含了多种关系的有向信息。例如 问题的形式化定义如下:

1. 构图

用户历史行为中的项目之间存在着丰富的关系。如果用户购买了商品a,然后又在同一会话中购买了商品b,则表明该商品a和商品b可能具有一定的依赖性,但是由于用户不太可能在短时间内购买两个非常相似的商品,因此它并没有过多反映相似性

相比之下,如果用户单击a,然后单击b,则表明项目a和项目b可能具有很大的相似性。这是直观的,因为用户通常浏览许多类似的商品,然后选择最合适的商品进行购买。

我们通过将所有物品作为节点来构造多关系物品图,每种行为类型都对应一个有向边,表示物品之间的不同关系。算法1显示了构建MRIG的过程。

提供来自所有会话Ps和Qs(∀s∈S)的目标和辅助行为序列作为输入。该算法浏览所有行为序列,并将序列中的所有物品收集为图的节点,并以相同的序列将其行为类型作为边类型来构造两个后续物品之间的边。在构建具有目标和辅助行为的图之后,图中有两种类型的有向边。


2. Item Representation Learning

将节点ID构成低维空间的嵌入表征,对于每个节点v,都具有4类近邻:“target-forward”, “target-backward”, “auxiliary-forward”, “auxiliary-backward”.

以target关系为例,近邻节点集合定义为 通过Mean-Pooling对近邻集合进行聚合: 将不同关系的近邻进行组合: 并进行节点更新: 通过K次迭代,将最后一层的节点表征作为最终的物品表征

3. Sequence Representation Learning

我们尝试了各种不同的方法来计算目标和辅助行为序列的虚拟节点表示,包括使用注意力机制为节点分配不同的重要性权重,并多次执行子图传播。 从经验上,我们发现简单的均值池已经可以实现相当的性能,同时保持较低的复杂度。

通过取平均的方式对目标行为序列和辅助行为序列进行聚合得到两个行为表征:

在构建集成表示时,两种不同类型的行为序列表示可能会做出不同的贡献。这是因为辅助行为与要预测的目标行为并不完全相同,并且不同的用户可能对不同的行为有不同的关注

例如,某些用户可能会频繁浏览商品页面并任意单击各种商品,而其他用户可能只会单击他们想要购买的商品。 不言而喻的是,辅助行为序列对预测的贡献差异很大。

通过门控机制来实现两种行为的融合:

4. 模型预测与训练

对物品集中所有物品进行预测概率计算: 使用交叉损失熵进行训练:

实验情况

利用微信看一看和yoochoose两个数据集进行实验:

通过消融实验证明了构建全局物品图的有效性。

小结

本文在构图方面提出了区别于以往的工作中针对单个序列构建的session graph, 直接利用所有记录构建了全局的交互图,模型结构简单,并针对行为数据进行了区别设计,取得了不错的效果。这种构图方式是值得我们学习借鉴的。

END

本人简书所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新信息https://www.jianshu.com/u/40d14973d97c

上一篇下一篇

猜你喜欢

热点阅读