DAN-SNR: A Deep Attentive Network for Social-Aware Next Point-of-Interest Recommendation

摘要

推荐下一个感兴趣的位置(POI, point-of-interest)近年来吸引了很多研究者的兴趣。先前的研究企图整合一些时空信息和序列信息预测用户下一个访问点。但是,还没有方法考虑到使用目标用户的好友社交信息。本文通过使用一个深度的注意力网络,考虑到了社交影响。本文通过设计两个并行的通道分别扑获用户的短期兴趣和长期兴趣并考虑到社交影响。

动机

LBSN(Location-based network)是一种社交网络,用户的下一步决策在一定程度上会受到LSBN中其朋友的影响。比如对于用户1来说,如果不考虑社交因素的话,系统可能会推荐餐馆或者博物馆。因为餐馆和博物馆都在酒店之后且出现了相同的次数。但是如果考虑社交因素的话,那么博物馆会被推荐给用户(其中用户2和4时用户1的好友,这里假设好友兴趣相投,且用户一般会更喜欢好友推荐的地方)。

注:之前看过一些poi推荐的文章,大家的工作效果基本差不多,差异主要在考虑的信息。谁考虑的信息多且方法合适则效果就比较好。我看过的一些综述中明确提到社交因素对推荐效果的影响比较小。但是这比较不合常理。今天这篇文章给了解释,主要就是因为很难识别相似用户的行为相关性。因为用户的社交信息的动态的且基于上下文的。

本文通过建模捕获用户与其好友之间的行为相关性来建模动态的社交影响。通过使用注意力机制挖掘用户与其好友访问信息的全局依赖,这样可以建模社交影响的上下文依赖性。

贡献

本文通过使用自注意力机制建模用户与其好友之间的访问信息之间的行为相关性;使用自注意力机制代替RNN同时获取社交影响和序列影响,其好处就是可以并行处理加速学习;其三就是构建了基于距离的location-to-location图建模LBSN的二维几何信息。

符号

  • LBSN网络G = <U,E>,U时一组用户,E时用户的好友关系。
  • POI,在LBSN网络中,poi是一个空间位置,比如餐馆或者影院之类的
  • Check-in,一个check-in就是一个行为,记作表示用户u在t时刻访问了在位置l的poi v。
  • Check-in sequence,用户的给定时间范围内的所有check-in信息,记作
  • Trajectory,表示用户在一个会话中的一组连续的check-in信息,这组信息时间上有序的,表示为。Trajectory是check-in sequence的子集,即

本文的目的是在给定LSBN中的所有用户在tN时刻的check-in sequence,预测用户在tN+1时刻最可能访问的位置v。即

结构

本文通过设计了两个并行的通道short-term channel (STC) 和long-term and social channel (LTSC),同时建模个性化的兴趣和社交影响。STC把用户当前的轨迹作为输入来学习短期的偏好。LTSC把每个用户和其好友的的历史访问数据(所有当前时刻之前的数据)作为输入去学习社交影响和长期的偏好。

Feature Embedding Layer

  • User embedding本文中LSBN是一个社交网,通过node2vec方法把用户及其好友信息转化为一个低维的向量
  • POI embedding可以直接通过POI ID在check-in数据中查到embedding v
  • Location embedding以前的工作在位置信息方面主要限制在一维数据上。本文通过构建L2L图获取POI之间的二维的几何距离。L2L是一个带权无向图,每个结点代表一个POI,边代表POI之间的空间关系,边上的权重代表几何距离。Location Embedding通过node2vec来获取。
  • Time embedding本文采用Zhou et al[1]的方法进行编码。因为不同的行为可能会有不同粒度的时间片,本文把时间按照不同的长度进行切片,时间片的长度指数级增长。按照时间片的长度的不同对时间片进行分类。然后按照类型查询时间向量
  • Position embedding借鉴Vaswani et a[2]的方法对位置进行编码

根据通道的不同,输入信息的连接使用一个d维的全连接网络,STC考虑位置信息,W都是d*d维的

Self-Attention Layer

自注意力机制可以自动的分析行为之间的相关性并按照预期的POI调整权重,因此,本方法不需要任何先验假设。注意力层的目的是分析两种行为之间的相关性。比如STC中的self-attention层的输出代表着对用户短期偏好有影响的check-ins序列。本文中的attention层采用多头注意力。介于计算量的考虑,本文只采用了直接好友的行为信息。

STC

给定当前用户的轨迹,表示由第k层非线性层的输出。多头注意力层生成的新表征为其中表示第h个头的隐向量

a代表第k层,第h个头中每对隐层特征向量之间的相关性,表示前者对后者的影响程度。

LTSC

给定用户和其好友,表示所有好友及该用户的所有历史访问信息(给定时间tN之前)。计算过程同STC

Residual connection

参考ResNet,文章对每个attention层加了残差连接,以STC为例,第k层的self-attention输出为

Feed-Forward Layer

为了提升网络的学习能力,本文为每个attention层增加了一个全连接网络,LSTC中类似。

Vanilla Attention Layer

该层是用于分析历史的check-ins与下一个目标位置之间的相关性的。以LTSC为例,给定用户u及其好友的历史数据,最后一层前馈层的输出为。对于每个候选的POI v,通过连接各个embedding计算候选POI的隐向量

然后计算当前隐向量(用户在tN+1时刻访问的POI的隐向量)与最后一层前馈层的输出中的各个隐向量之间的相关性最后vanilla attention层的输出为

STC的计算相同并在输入中考虑了位置信息

Prediction Component

通过STC和LSTC两个通道对用户长短期偏好的建模,用户对tN+1时刻的POI的选择的概率计算如下

Model Training

对于用户u,构建一个在时刻tN的训练实例,包含当前的轨迹,用户及其好友的历史数据,还有tN+1时刻的所有正负POI数据。其中正样本表示观察到的POI,负样本表示没有观察到的。训练集的构造过程如下

然后通过最大后验估计MAP学习参数

最终的目标函数为

训练过程如下

结果

实验采用两种数据集和八种对比方法

评价指标

结果

通过结果显示,考虑的信息越多,效果越好。

下图展示了在Gowalla中随机选择的用户好友对用户决策的影响。X轴表示用户八个连续的访问信息,Y轴表示用户的九个朋友。每个单元格ij表示朋友j对用户当前行为i的影响。结果显示用户的社交影响因人而异,影响是动态的,基于上下文的。

Reference

[1]Chang Zhou, Jinze Bai, Junshuai Song, Xiaofei Liu, Zhengchao Zhao, Xiusi Chen, and Jun Gao. 2018. Atrank: An attention-based user behavior modeling framework for recommendation. In Proceedings of the 32nd AAAI Conference on Artificial Intelligence. AAAI Press, 4564–4571.

[2]Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. 2017. Attention is all you need. In Proceedings of the Advances in Neural Information Processing Systems 30. 5998–6008.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

siyan985

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值