当前位置: 首页 > 专利查询>东北大学专利>正文

基于时空嵌入Self-Attention的用户轨迹位置预测方法技术

技术编号:24853877 阅读:39 留言:0更新日期:2020-07-10 19:07
本发明专利技术提供一种基于时空嵌入Self‑Attention的用户轨迹位置预测方法,涉及用户位置预测和时空数据挖掘技术领域。该方法首先从原始签到记录的用户历史轨迹中读取所有用户标识、POI标识、访问时间、POI的地理位置信息;计算所有POI之间的空间距离成本及每一用户的所有轨迹点之间时间间隔以及时间戳信息;然后基于用户历史轨迹建立时空嵌入Self‑Attention模型,得到用户下一个访问点概率分布;建立的时空嵌入Self‑Attention模型同时考虑到POI的地理位置信息和用户历史访问POI的时间信息对于用户下一次访问行为的影响。本发明专利技术方法显著提高了轨迹预测模型的训练速度,大大缩短轨迹模型训练时间,同时也提升了模型的预测精度。

【技术实现步骤摘要】
基于时空嵌入Self-Attention的用户轨迹位置预测方法
本专利技术涉及用户位置预测和时空数据挖掘
,尤其涉及一种基于时空嵌入Self-Attention的用户轨迹位置预测方法。
技术介绍
近年来,随着无线通信技术、全球定位系统(GPS)和智能移动设备的快速发展,定位技术的广泛使用积累了大量的用户轨迹信息,为挖掘用户的行为轨迹提供便利。地点预测任务是众多基于位置服务的基础,如何有效地利用这些轨迹数据进行用户轨迹位置预测,对于城市规划及智慧交通、资源规划、基于位置的推荐和广告推送等有重大意义。其逐渐成为学者们研究热点。迄今为止,在位置预测领域已经进行了大量的研究且取得了相当丰硕的成果。根据目标的不同,用户位置预测算法可以分为两大类:基于实时轨迹预测算法和基于长期模式的轨迹预测算法。基于实时轨迹预测。通常使用机动车辆在导航时产生的轨迹数据研究车辆的实时动向,为交通规划建设等任务提供帮助。基于长期模式的轨迹预测。通常着重于长期、非实时的地点预测,如兴趣地点(POI)推荐。目的是挖掘用户个性化偏好并预测用户未来可能要访问的地点,为用户服务和广告推荐服务带来便捷。随之近几年深度学习技术不断的研究和发展,并且在计算机视觉、图像识别、自然语言处理等领域展现出其强大的潜力。在最近,一些深度学习技术也被引入到位置预测领域,逐渐代替马尔科夫链、矩阵分解等传统算法,也取得显著效果。如,循环神经网络(RNN)和卷积神经网络(CNN)等深度学习技术用于对轨迹数据进行序列建模,进而进行下一位置的预测。基于RNN的方法,即使是更擅长长期建模的RNN变体结构长短期记忆网络(LSTM)和门控循环单元(GRU),对于大量轨迹数据仍然很难学习到轨迹间长期依赖关系,而且由于复杂的网络结构以及不能并行使得模型训练更加费时。最近,基于CNN的建模方法在序列处理任务上也取得了RNN相当的性能,并且是可以高度并行化,但却限制了序列中元素之间的交互路径。另外一个问题是,用户行为具有高度复杂性,对于每个用户轨迹具有稀疏性,难以进行充分训练。用户轨迹数据除访问地点(PointofInterest,简称POI)外,还有其他重要信息与用户行为有着紧密的联系,如何充分利用这些信息就显得格外重要。Attention机制(即注意力机制)最早是在视觉图像领域提出来的,但是被广泛关注是从2014年googlemind团队的论文《RecurrentModelsofVisualAttention》开始,他们在RNN模型上使用了attention机制来进行图像分类。随后,Bahdanau等人在论文《NeuralMachineTranslationbyJointlyLearningtoAlignandTranslate》中,使用类似attention的机制在机器翻译任务上将翻译和对齐同时进行,他们的工作算是第一个将attention机制应用到NLP领域中。接着attention机制被广泛应用在基于RNN/CNN等神经网络模型的各种NLP任务中。2017年,google机器翻译团队发表的《Attentionisallyouneed》中大量使用了自注意力(self-attention)机制来学习文本表示。自注意力机制也成为了大家近期的研究热点,并在各种NLP任务上进行探索。
技术实现思路
本专利技术要解决的技术问题是针对上述现有技术的不足,提供一种基于时空嵌入Self-Attention的用户轨迹位置预测方法,同时考虑POI的地理位置信息和用户历史访问POI的时间信息对于用户下一次访问行为的影响,通过用户历史轨迹信息预测出用户下一次要访问地点。为解决上述技术问题,本专利技术所采取的技术方案是:基于时空嵌入Self-Attention的用户轨迹位置预测方法,包括以下步骤:步骤1、从原始签到记录的用户历史轨迹中读取所有用户标识、POI标识、访问时间、POI的地理位置信息;所述用户轨迹是由多个轨迹点按照用户访问时间组成的一个序列,每个用户轨迹点包含POI地理位置信息和访问时间信息;步骤2、对用户轨迹信息进行筛选并对每个用户历史轨迹信息划分成多条子轨迹,对于每个轨迹点记录POI地理位置和用户访问时间信息;移除签到记录少于10条记录的用户,并对连续签到记录时间大于72小时的记录划分成多条子轨迹,移除少于5条记录的子轨迹,并移除子轨迹数量小于2的用户;步骤3、利用POI地理位置信息,计算所有POI之间的空间距离成本;利用每一用户轨迹点的访问时间信息,计算每一用户的所有轨迹点之间时间间隔以及时间戳信息;步骤4、基于用户历史轨迹建立时空嵌入Self-Attention模型,得到用户下一个访问点概率分布,具体方法为:步骤4.1、对用户的每个POI进行嵌入,进而对用户轨迹点进行编码表示;对于一条长度为L的用户轨迹,使用编码后的POI向量对用户的轨迹数据进行表示,表示为Xu=x1,x2,...,xL,其中xi={pi,(latitude,longitude)i,ti},xi包括三个部分:pi=piWp表示用户轨迹中第i个POI的嵌入向量,pi是第i个POI的one-hot编码,是POI编码矩阵,每一列表示一个POI的编码向量,dp是POI的嵌入维度,V={v1,v2,...,v|V|}表示POI集合,|V|是POI集合大小,表示POI个数;(latitude,longitude)i是第i个POI的经纬度坐标,即POI的地理位置信息,ti表示用户访问第i个POI的时间戳;步骤4.2、使用距离代价函数计算POI间空间距离代价;同时计算用户轨迹点时间间隔代价;计算所有POI之间的空间距离并保存在矩阵D中,然后通过索引的方式查询;给定两POI点vi和vj,两POI点的空间距离d(vi,vj)通过以下公式计算:其中,R为地球半径,可取平均值6371km,表示vi和vj两POI点的纬度,Δλ表示vi和vj两POI点经度的差值。设操作D[·]为从矩阵D中索引的操作,给定输入Xu的索引结果为Du,如下公式所示:Du=D[Xu]用户轨迹点时间间隔如下公式所示:其中,为用户u访问第i个POI和第j个POI的时间间隔,ti、tj分别用户u访问第i个POI和第j个POI的时间戳;步骤4.3、使用嵌入表示计算用户轨迹的地点注意力值;通过一个非线性变换将自注意力函数的查询query,键key和值value投射到同一空间上,进而计算query、key和value的值Query、Key和Value,如下公式所示:Query=ReLU(PuWQ)Key=ReLU(PuWK)Value=ReLU(PuWV)其中,Pu=[p1,p2,...,pL]T表示用户u的轨迹序列的轨迹编码矩阵,和分别是query,key和value的权重矩阵,RELU是非线性激活函数;dQ=dK=dV分别表示query,key和value的维度,d=dp;计算用户轨迹的地本文档来自技高网
...

【技术保护点】
1.一种基于时空嵌入Self-Attention的用户轨迹位置预测方法,其特征在于:包括以下步骤:/n步骤1、从原始签到记录的用户历史轨迹中读取所有用户标识、POI标识、访问时间、POI的地理位置信息;所述用户轨迹是由多个轨迹点按照用户访问时间组成的一个序列,每个用户轨迹点包含POI地理位置信息和访问时间信息;/n步骤2、对用户轨迹信息进行筛选并对每个用户历史轨迹信息划分成多条子轨迹,对于每个轨迹点记录POI地理位置和用户访问时间信息;/n步骤3、利用POI地理位置信息,计算所有POI之间的空间距离成本;利用每一用户轨迹点的访问时间信息,计算每一用户的所有轨迹点之间时间间隔以及时间戳信息;/n步骤4、基于用户历史轨迹建立时空嵌入Self-Attention模型,得到用户下一个访问点概率分布,具体方法为:/n步骤4.1、对用户的每个POI进行嵌入,进而对用户轨迹点进行编码表示;/n步骤4.2、使用距离代价函数计算POI间空间距离代价;同时计算用户轨迹点时间间隔代价;/n步骤4.3、使用嵌入表示计算用户轨迹的地点注意力值;/n步骤4.4、使用POI间空间距离代价和用户轨迹点时间间隔代价分别计算用户轨迹的空间注意力值和时间注意力值;/n步骤4.5、将用户轨迹的地点注意力值和空间注意力值以及时间注意力值使用线性函数连接,计算出用户轨迹的总注意力值,进而得到用户前L个轨迹点编码的特征矩阵;/n步骤4.6、重复步骤4.3-步骤4.5h次,得到h个空间上的轨迹点编码的特征矩阵,进而得到时空嵌入Self-Attention的用户轨迹表示;/n步骤4.7、将时空嵌入Self-Attention的用户轨迹表示输入到前馈神经网络,得到用户下一个访问点概率分布;/n步骤5、使用步骤3处理后的每一用户轨迹序列的80%当作训练数据,20%当作测试数据;使用训练数据对时空嵌入Self-Attention模型进行训练;使用测试数据对时空嵌入Self-Attention模型进行测试;/n步骤6、将某用户历史轨迹信息数据进行编码处理后,输入时空嵌入Self-Attention模型中,模型给出用户下一次访问地点的概率分布,即下一次访问地点Top-k的概率值,实现对用户轨迹位置的预测。/n...

【技术特征摘要】
1.一种基于时空嵌入Self-Attention的用户轨迹位置预测方法,其特征在于:包括以下步骤:
步骤1、从原始签到记录的用户历史轨迹中读取所有用户标识、POI标识、访问时间、POI的地理位置信息;所述用户轨迹是由多个轨迹点按照用户访问时间组成的一个序列,每个用户轨迹点包含POI地理位置信息和访问时间信息;
步骤2、对用户轨迹信息进行筛选并对每个用户历史轨迹信息划分成多条子轨迹,对于每个轨迹点记录POI地理位置和用户访问时间信息;
步骤3、利用POI地理位置信息,计算所有POI之间的空间距离成本;利用每一用户轨迹点的访问时间信息,计算每一用户的所有轨迹点之间时间间隔以及时间戳信息;
步骤4、基于用户历史轨迹建立时空嵌入Self-Attention模型,得到用户下一个访问点概率分布,具体方法为:
步骤4.1、对用户的每个POI进行嵌入,进而对用户轨迹点进行编码表示;
步骤4.2、使用距离代价函数计算POI间空间距离代价;同时计算用户轨迹点时间间隔代价;
步骤4.3、使用嵌入表示计算用户轨迹的地点注意力值;
步骤4.4、使用POI间空间距离代价和用户轨迹点时间间隔代价分别计算用户轨迹的空间注意力值和时间注意力值;
步骤4.5、将用户轨迹的地点注意力值和空间注意力值以及时间注意力值使用线性函数连接,计算出用户轨迹的总注意力值,进而得到用户前L个轨迹点编码的特征矩阵;
步骤4.6、重复步骤4.3-步骤4.5h次,得到h个空间上的轨迹点编码的特征矩阵,进而得到时空嵌入Self-Attention的用户轨迹表示;
步骤4.7、将时空嵌入Self-Attention的用户轨迹表示输入到前馈神经网络,得到用户下一个访问点概率分布;
步骤5、使用步骤3处理后的每一用户轨迹序列的80%当作训练数据,20%当作测试数据;使用训练数据对时空嵌入Self-Attention模型进行训练;使用测试数据对时空嵌入Self-Attention模型进行测试;
步骤6、将某用户历史轨迹信息数据进行编码处理后,输入时空嵌入Self-Attention模型中,模型给出用户下一次访问地点的概率分布,即下一次访问地点Top-k的概率值,实现对用户轨迹位置的预测。


2.根据权利要求1所述的基于时空嵌入Self-Attention的用户轨迹位置预测方法,其特征在于:所述对用户轨迹信息进行筛选并对每个用户历史轨迹信息划分成多条子轨迹的具体方法为:
移除签到记录少于10条记录的用户,并对连续签到记录时间大于72小时的记录划分成多条子轨迹,移除少于5条记录的子轨迹,并移除子轨迹数量小于2的用户。


3.根据权利要求1所述的基于时空嵌入Self-Attention的用户轨迹位置预测方法,其特征在于:所述步骤4.1的具体方法为:
对于一条长度为L的用户轨迹,使用编码后的POI向量对用户的轨迹数据进行表示,表示为Xu=x1,x2,...,xL,其中xi={pi,(latitude,longitude)i,ti},xi包括三个部分:pi=piWp表示用户轨迹中第i个POI的嵌入向量,pi是第i个POI的one-hot编码,是POI编码矩阵,每一列表示一个POI的编码向量,dp是POI的嵌入维度,V={v1,v2,...,v|V|}表示POI集合,|V|是POI集合大小,表示POI个数;(latitude,longitude)i是第i个POI的经纬度坐标,即POI的地理位置信息,ti表示用户访问第i个POI的时间戳。


4.根据权利要求3所述的基于时空嵌入Self-Attention的用户轨迹位置预测方法,其特征在于:所述步骤4.2的具体方法为:
计算所有POI之间的空间距离并保存在矩阵D中,然后通过索引的方式查询;
给定两POI点vi和vj,两POI点的空间距离d(vi,vj)...

【专利技术属性】
技术研发人员:王爽李安良刘胜楠张思远
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1