为了下一个poi建议深入了解用户移动性是一项至关重要但具有挑战性的任务。现有的理解用户移动性的方法主要掩盖了签入序列,使得它无法明确捕获整个用户签入历史中细微的POI–POI交互,也无法区分相关签入和不相关的签入。
本文提出了地理时间感知层次注意网络(GT-HAN)来解决现有的问题。
首先建立了一个地理时间注意网络,同时揭示整体序列依赖性和微妙的poi-poi关系。
然后,设计了一个特定于上下文的共同注意网络,通过从签到历史中自适应选择相关的签到活动来学习改变用户偏好,从而使GT-HAN能够区分用户对不同签到的偏好程度。
最后,使用条件概率分布函数提出poi建议。
1.引言
以前关于下一个poi推荐的工作主要使用一阶马尔科夫链技术,其中包括假设用户的下一个动作强烈的由最近的签到决定。这个假设是错误的。最近的文献表明,用户访问的下一个poi受到最近访问的poi(即一组先前访问的poi)的显著影响。尽管可以采用高阶马尔科夫链技术对最近访问的poi进行建模,但它需要更高的计算量。
存在的问题:
首先,仅对整体序列依赖性进行了建模,无法明确捕获签到序列中的细微poi-poi关系。了解各个poi对之间的关系,而不是简单的掩盖他们。因此有必要在签到序列中对poi-poi关系进行建模,并且我们希望在建模统一的整体序列依赖性和poi-poi连接方面付出更多努力。
其次,虽然作为下一个 POI 推荐的独特属性的地理信息(例如 POI 之间的距离)已被使用并合并到诸如 RNN 模型 [10、15] 等循环模型中,但这些模型难以捕捉 POI 的地理影响差异很大。 地理影响不仅仅在于物理距离,因此必须考虑更多特定于 POI 的地理细节
第三,将签到序列中的 POI 对用户下一个选择的贡献视为具有同等影响的方法无法区分用户偏好可能对签到的 POI 产生的不同程度的影响。 一些访问过的 POI 比其他 POI 更能代表用户偏好。 那些与用户偏好不是特别相关的 POI 可能会压倒一些显着相关的 POI 的影响,从而导致对用户偏好的误解 。
因此重要的是区分用户在签到poi中的偏好程度,以准确学习和个性化用户偏好。
我们开发了一个地理-时间感知分层注意网络,通过从大规模签到数据中更好地学习用户和poi之间的关系来提高下一个poi推荐的准确性。
我们使用注意力机制和长短期记忆(LSTM)单元建立了一个地理-时间注意力网络,以学习序列的高级语义表示。使得GT-HAN能够同时捕获签入序列中的整体时间依赖性和微妙的poi-poi关系。
我们认为每个poi具有两种倾向:地理影响,将其访客引导至其他 POI,以及地理敏感性,即接收来自其他 POI 的访客。 我们使用三个因素(POI 的地理影响、POI 的地理敏感性和 POI 之间的距离)来模拟两个 POI 之间的地理共同影响。 因此,GT-HAN 可以捕获跨 POI 的地理影响的巨大变化,而不是简单地局限于它们之间的物理距离。 我们进一步开发了一个特定于上下文的关注网络来学习动态用户偏好,以允许 GTHAN 在他们的 POI 签入历史中区分用户偏好的程度。 最后,我们使用 softmax 函数计算了 POI 的条件概率分布。
2.相关工作
poi推荐:poi推荐的特点是地理信息,没有明确的评级信息。
与将签到数据视为一个整体并忽略他们的时间关系的一般poi推荐任务相比,下一个poi推荐的本质区别在于强序列依赖性很大程度上影响了性能。
自注意力顺序推荐模型(AttREC),上下文自我注意网络(CSAN)来确定个人用户行为实例的重要性。这些方法不能用于下一个poi推荐模型,因为对提高推荐性能至关重要的时空上下文信息是一个独特的属性。基于自动编码器的模型,通过使用自我注意对不断变化的用户偏好进行比那吗,并将邻居感知影响纳入解码器。
3.问题分析
U,V,T:用户,poi和时间状态集 H:所有用户的轨迹序列集
Hi:用户ui的签到集。 P,I,S:poi偏好,poi地理影响和poi地理敏感性矩阵
D:相邻poi签到之间的地理距离矩阵 U:用户
W一般偏好矩阵中的权重矩阵
定义1:签到:可以表示为元组(u,v,t),v用id或者坐标表示,t是一种时间状态
定义2:时间状态:时间状态t 是一个离散时隙,表示用户签到的时间段。我们设置T=24,表示一天的24小时,在0:30签到的t=1,表示签到发生在0到1的小时间隔内。
定义3:轨迹序列:签到顺序是根据时间戳按时间顺序排列的签到集合。用户ui在时间tk之前的轨迹序列记为Hi={(v1,t1)(v2,t2)...(vk,tk,)},k是时间索引。
U={u1,u2...u}表示一组LBSN用户,V={v1,v2...v}表示一组poi,其中每个poi:{lon,lat},T={t1,t2...t}是一组时间状态,H={H1,H2...H}为所有用户的轨迹序列集。Hi={vi1,vi2...}是一组按用户ui的时间戳按时间顺序排列的签到poi
下一个poi建议是:给定用户ui及其最近的L历史记录Hi,下一个poi建议是预测用户将在未来时间tk访问下一个位置。下一个poi建议是通过构建和训练所有poi上的条件概率分布p(v|u,t,H)获得的。
首先将每个上下文信息映射到d维的共享语义空间,然后利用公式(4)计算历史签到序列中每个兴趣点的重要性权重,并得到加权的输出结果H。最后,利用后项融合策略将加权输出结果进行拼接,然后通过一个非线性映射层学习到用户的动态偏好特征向量
4.地理时间意识分层注意模型
Es,Ei,Ep分别是查询,键,值。ui是目标用户,vj是目标poi,tk是当前的时间状态,Ui是ui的一般偏好向量,Pj是vj的目标poi偏好向量;Ck是当前时间状态tk的潜在语义向量,Hi是用户ui的钱L次签到。
GT-HAN由嵌入层,地理时间注意网络层和上下文特定的协同注意网络层组成。地理时间注意网络用于建模poi和签入序列的时间依赖性之间的地理关系。特定于上下文的共同关注网络用于捕获不断变化的用户偏好(动态用户偏好),给定目标用户的一般偏好和当前时间状态的上下文。最后使用负采样和小批量随机梯度下降算法来训练。
嵌入层:对于每个poi v,我们创建一个poi偏好向量P,一个poi地理影响向量I,一个poi地理敏感性向量S。使用地理影响向量来捕捉poi将其访客引导至其他poi的趋势,使用地理敏感性向量来反映poi接受来自其他poi的访客的趋势。将所有的poi转换为矩阵。同样也创建了一个一般偏好矩阵U,代表所有用户;还创建了一个潜在语义矩阵C适用于所有时间状态。
对于给定的用户 u i 的签到序列 H i ,我们首先将 H i 转换为具有最大长度 L 的固定长度序列。 如果序列长度大于 L ,我们只考虑最近的 L 个签到动作; 否则,我们用零填充 H i 到左边。首先创建一个特征向量M,然后将所有的poi转换为矩阵Mi,最后:
地理-时间注意网络:
建模地理关系:注意网络的输入由q,k,v组成。注意网络的输出是值Ep上的加权和,其中权重矩阵由查询及其相应的键确定。首先通过具有共享参数的非线性变换将查询Es和键Ei投影到同一个于一空间,然后计算权重矩阵:
Bq,Bk是模型参数,ψ(·)是激活函数,本文采用relu来提高非线性能力,√d用于缩放点击注意力。公式4是L*L的权重矩阵,代表poi之间的地理影响关系。
通过引入相邻签入poi之间的地理影响,公式4改写为:
地理注意力的输出是一个L*d矩阵,定义为:
为了让模型同时关注来自不同位置的不同表示子空间的信息,地理注意力使用点积注意力,将所有l-scale点积注意力的输出连接,然后使用线性层连接后的特征投影到固定维度的特征上:
我们向F添加一个残差连接以避免传输损失,然后应用归一化层。原始的F映射为:
归一化层用于跨特征归一化输入,这种归一化稳定并加速了神经网络训练。
建模序列依赖性:
使用BLSTM模型来捕获用户轨迹序列的序列依赖性。我们认为地理注意网络F的输出是顺序输入,并使用Bi-LSTM捕获序列中相邻poi之间的时间关系。
连接每个ht(左,右)并使用线性映射来获得隐藏状态ht。
共同注意网络
创建了一个特定于上下文的共同关注网络来捕获动态用户偏好。我们将每个上下文投影到d维语义空间中,并使用公式4-6计算加权注意值H,然后我们使用潜在融合策略将加权注意值和非线性连接层连接起来,以了解动态用户偏好。
给定用户ui的静态偏好特征向量Ui,目标poi vj的偏好特征向量Pj和时间上下文tk的嵌入式语义特征向量,用户ui的动态偏好为:
α是串联后的共同注意得分,W为模型参数,w()为非线性函数,采用一维CNN增强非线性。
学习与模型优化
得到动态用户偏好后,条件概率分布p:
因此,给定训练集X={(Hi,ui,tk,vj)}联合概率分布由公式19可以得到:
在模型训练过程中采用负采样技术提升优化过程的效率,同时使得计算的损失函数近似于原始目标函数L的值。基于负采样技术的损失函数L变为:k表示负采样个数。
使用小批量随机梯度下降(BSGD)算法来训练模型。
数据:
结果:
消融实验
GT-HAN-V1:消除了共同关注层。Bi-LSTM中隐藏状态的平均值用于表示动态用户偏好
GT-HAN-V2:删除了Bi-LSTM,并使用位置嵌入(PE)类似于转换模型,以捕获时间依赖性
GT-HAN-V3:删除了Bi-LSTM,并且不考虑事件依赖性,该模型仅基于过去的用户行为而不考虑顺序来提出建议。
GT-HAN-V4:移除了残差链接。
V1:当使用隐藏状态平均值时,共同关注层通过区分相关签到和不相关签到来学习动态用户偏好的有事就丧失了,共同注意网络考虑了用户的一般偏好,目标poi和时间上下文,
V2:BiLSTM比PE更能捕捉时间依赖性。PE无法在这种场景下工作,因为用户的签到操作具有严格的顺序关系。
V4表现最差,他没有残差连接。这是因为较低层的信息不容易传报道最后一层,而较低层的信息在进行推荐时非常有用。
结论
创建了一个地理-时间感知分层注意网络(GT-HAN),通过更好地从大规模检查中学习用户和poi之间的关系来提高下一个poi推荐的准确性。改进的主要原因是该模型通过使用注意力机制来利用poi-poi关系来概括地理影响,并使用Bi-LSTM网络捕获整体序列依赖性。因此GT-HAN可以从庞大的签到序列数据集中学习高级语义表示。GT-HAN还将用户偏好程度与签到历史与上下文特定的关注网络区分开。