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

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

Info

Publication number
CN111400620B
CN111400620B CN202010228011.0A CN202010228011A CN111400620B CN 111400620 B CN111400620 B CN 111400620B CN 202010228011 A CN202010228011 A CN 202010228011A CN 111400620 B CN111400620 B CN 111400620B
Authority
CN
China
Prior art keywords
user
track
poi
time
attention
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010228011.0A
Other languages
English (en)
Other versions
CN111400620A (zh
Inventor
王爽
李安良
刘胜楠
张思远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northeastern University China
Original Assignee
Northeastern University China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northeastern University China filed Critical Northeastern University China
Priority to CN202010228011.0A priority Critical patent/CN111400620B/zh
Publication of CN111400620A publication Critical patent/CN111400620A/zh
Application granted granted Critical
Publication of CN111400620B publication Critical patent/CN111400620B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/26Government or public services

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Strategic Management (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • Databases & Information Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Probability & Statistics with Applications (AREA)
  • Primary Health Care (AREA)
  • Educational Administration (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Navigation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

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

Description

基于时空嵌入Self-Attention的用户轨迹位置预测方法
技术领域
本发明涉及用户位置预测和时空数据挖掘技术领域,尤其涉及一种基于时空嵌入Self-Attention的用户轨迹位置预测方法。
背景技术
近年来,随着无线通信技术、全球定位系统(GPS)和智能移动设备的快速发展,定位技术的广泛使用积累了大量的用户轨迹信息,为挖掘用户的行为轨迹提供便利。地点预测任务是众多基于位置服务的基础,如何有效地利用这些轨迹数据进行用户轨迹位置预测,对于城市规划及智慧交通、资源规划、基于位置的推荐和广告推送等有重大意义。其逐渐成为学者们研究热点。迄今为止,在位置预测领域已经进行了大量的研究且取得了相当丰硕的成果。根据目标的不同,用户位置预测算法可以分为两大类:基于实时轨迹预测算法和基于长期模式的轨迹预测算法。
基于实时轨迹预测。通常使用机动车辆在导航时产生的轨迹数据研究车辆的实时动向,为交通规划建设等任务提供帮助。
基于长期模式的轨迹预测。通常着重于长期、非实时的地点预测,如兴趣地点(POI)推荐。目的是挖掘用户个性化偏好并预测用户未来可能要访问的地点,为用户服务和广告推荐服务带来便捷。
随之近几年深度学习技术不断的研究和发展,并且在计算机视觉、图像识别、自然语言处理等领域展现出其强大的潜力。在最近,一些深度学习技术也被引入到位置预测领域,逐渐代替马尔科夫链、矩阵分解等传统算法,也取得显著效果。如,循环神经网络(RNN)和卷积神经网络(CNN)等深度学习技术用于对轨迹数据进行序列建模,进而进行下一位置的预测。基于RNN的方法,即使是更擅长长期建模的RNN变体结构长短期记忆网络(LSTM)和门控循环单元(GRU),对于大量轨迹数据仍然很难学习到轨迹间长期依赖关系,而且由于复杂的网络结构以及不能并行使得模型训练更加费时。最近,基于CNN的建模方法在序列处理任务上也取得了RNN相当的性能,并且是可以高度并行化,但却限制了序列中元素之间的交互路径。另外一个问题是,用户行为具有高度复杂性,对于每个用户轨迹具有稀疏性,难以进行充分训练。用户轨迹数据除访问地点(Point of Interest,简称POI)外,还有其他重要信息与用户行为有着紧密的联系,如何充分利用这些信息就显得格外重要。
Attention机制(即注意力机制)最早是在视觉图像领域提出来的,但是被广泛关注是从2014年google mind团队的论文《Recurrent Models of Visual Attention》开始,他们在RNN模型上使用了attention机制来进行图像分类。随后,Bahdanau等人在论文《Neural Machine Translation by Jointly Learning to Align and Translate》中,使用类似attention的机制在机器翻译任务上将翻译和对齐同时进行,他们的工作算是第一个将attention机制应用到NLP领域中。接着attention机制被广泛应用在基于RNN/CNN等神经网络模型的各种NLP任务中。2017年,google机器翻译团队发表的《Attention is allyou need》中大量使用了自注意力(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的嵌入向量,
Figure BDA0002428350960000021
pi是第i个POI的one-hot编码,
Figure BDA0002428350960000022
是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)通过以下公式计算:
Figure BDA0002428350960000031
其中,
Figure BDA0002428350960000032
R为地球半径,可取平均值6371km,
Figure BDA0002428350960000033
表示vi和vj两POI点的纬度,Δλ表示vi和vj两POI点经度的差值。
设操作D[·]为从矩阵D中索引的操作,给定输入Xu的索引结果为Du,如下公式所示:
Du=D[Xu]用户轨迹点时间间隔如下公式所示:
Figure BDA0002428350960000034
其中,
Figure BDA0002428350960000035
为用户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的轨迹序列的轨迹编码矩阵,
Figure BDA0002428350960000036
Figure BDA0002428350960000037
Figure BDA0002428350960000038
分别是query,key和value的权重矩阵,RELU是非线性激活函数;dQ=dK=dV分别表示query,key和value的维度,d=dp
计算用户轨迹的地点注意力值,如下公式所示:
Figure BDA0002428350960000039
其中,
Figure BDA00024283509600000310
为用户轨迹的地点注意力值,Query和KeyT通过点积操作“·”计算相似度;
步骤4.4、使用POI间空间距离代价和用户轨迹点时间间隔代价分别计算用户轨迹的空间注意力值和时间注意力值;
计算的用户轨迹的空间注意力值如公式所示:
Figure BDA0002428350960000041
其中,
Figure BDA0002428350960000042
为空间注意力值矩阵,ε为距离阈值,如果地点序列中第i个POI所在地理位置和序列中第j个POI所在地理位置之间距离
Figure BDA0002428350960000043
小于距离阈值ε,则
Figure BDA0002428350960000044
为1;除此之外,
Figure BDA0002428350960000045
对角线上的元素全部设为0;
计算的用户轨迹的时间注意力值如下公式所示:
Figure BDA0002428350960000046
Figure BDA0002428350960000047
Tu=[t1,t2,...,tL]T
其中,
Figure BDA0002428350960000048
为用户轨迹的时间注意力值矩阵,MinMaxNorm(·)函数将时间特征进行离差标准化,取值映射到[0,1],
Figure BDA0002428350960000049
定义的是将Tu映射到
Figure BDA00024283509600000410
的一个操作,Tu表示用户u访问POI的时间戳;
步骤4.5、将用户轨迹的地点注意力值和空间注意力值以及时间注意力值使用线性函数连接,计算出用户轨迹的总注意力值,进而得到用户前L个轨迹点编码的特征矩阵;
使用参数β,γ连接用户轨迹的空间注意力矩阵和时间注意力矩阵,并与地点注意力值连接,得到用户轨迹的总注意力值矩阵,如下公式所示:
Figure BDA00024283509600000411
其中,Su为用户轨迹的总注意力值矩阵,表示和每个轨迹点的状态相关程度;
再使用softmax函数将用户轨迹的总注意力值映射到[0,1],然后和value值做点积,得到用户前L个轨迹点编码的特征矩阵,如下公式所示:
Au=softmax(Su)·Value
其中,Au是用户u前L个轨迹点编码的特征矩阵,表示当前时刻轨迹点状态跟前L个时刻的轨迹点状态相关;
步骤4.6、重复步骤4.3-步骤4.5h次,得到h个空间上的轨迹点编码的特征矩阵,进而得到时空嵌入Self-Attention的用户轨迹表示;
在不同的h个空间上设计h次attention,得到多个轨迹点编码的特征矩阵,如下公式所示:
Figure BDA0002428350960000051
最后,将h次attention结果拼接然后线性转换得到多次attention后的时空嵌入Self-Attention的用户轨迹Traju,如下公式所示:
Figure BDA0002428350960000052
其中,
Figure BDA0002428350960000053
是投射参数矩阵,concat(·)是连接函数,Traju是L×d的特征矩阵,表示用户的轨迹编码,h=d/dV是平行attention的层数;
步骤4.7、将时空嵌入Self-Attention的用户轨迹表示输入到前馈神经网络,得到用户下一个访问点概率分布;
步骤5、使用步骤3处理后的每一用户轨迹序列的80%当作训练数据,20%当作测试数据;使用训练数据对时空嵌入Self-Attention模型进行训练;使用测试数据对时空嵌入Self-Attention模型进行测试;
步骤6、将某用户历史轨迹信息数据进行编码处理后,输入时空嵌入Self-Attention模型中,模型给出用户下一次访问地点的概率分布,即下一次访问地点Top-k的概率值,实现对用户轨迹位置的预测。
采用上述技术方案所产生的有益效果在于:本发明提供的基于时空嵌入Self-Attention的用户轨迹位置预测方法,通过时空嵌入Self-Attention模型对用户轨迹进行深入挖掘,提取用户轨迹特征向量再通过前馈神经网络去预测用户下一次要访问的POI。一方面,使用时空嵌入Self-Attention模型取代了传统的循环神经网络和卷积神经网络,在计算方式上可以并行,显著提高了轨迹预测模型的训练速度,大大缩短轨迹模型训练时间,为将其实际应用提供了可能。另一方面,时空嵌入Self-Attention模型创新式的融合了POI的地理坐标和签到时间戳这些重要轨迹信息,弥补了传统模型很难考虑到多方面轨迹信息对于预测模型的影响,一定程度上缓解了用户轨迹数据稀疏性。最后,在预测精度方面相比之前模型获得了重大的性能提升,对城市规划及智慧交通、资源规划、基于位置的推荐和广告推送等服务提供更高的精度。
附图说明
图1为本发明实施例提供的基于时空嵌入Self-Attention的用户轨迹位置预测方法的流程图;
图2为本发明实施例提供的基于时空嵌入Self-Attention的用户轨迹位置预测方法的框架图;
图3为本发明实施例提供的轨迹嵌入空间图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例以Foursquare签到数据为例,采用本发明的基于时空嵌入Self-Attention的用户轨迹位置预测方法对用户轨迹位置进行预测。
基于时空嵌入Self-Attention的用户轨迹位置预测方法,如图1和2所示,包括以下步骤:
步骤1、从原始签到记录的用户历史轨迹中读取所有用户标识、POI标识、访问时间、POI的地理位置信息;所述用户轨迹是由多个轨迹点按照用户访问时间组成的一个序列,每个用户轨迹点包含POI地理位置信息和访问时间信息;
本实施例中,Foursquare签到数据集收集纽约市Foursquare用户日常签到行为,每一条记录包括用户名,签到时间,签到地点、地点名称及所在经纬度坐标等地理位置信息。
本实施例中,将签到用户集合表示成U={u1,u2,...,u|U|},|U|是用户集合大小,表示签到用户个数,POI集合表示成V={v1,v2,...,v|V|},|V|是POI集合大小,表示POI个数;
本实施例中,POI是坐标系统中的一个地点,包括地点标识ν和地理位置信息(纬度和经度坐标)。
一个签到记录包括用户标识u,POI标识ν和签到时间戳t。在t时刻,用户u访问POIν定义为一个轨迹点元组ptu=<v,t>。
用户轨迹是由多个轨迹点按照用户访问时间组成的一个序列,
Figure BDA0002428350960000061
其中Lu是用户轨迹序列的长度,pti是用户u轨迹中的第i个轨迹点。
本实施例中,轨迹位置预测问题为:对于给定用户集U,POI集V和任意一个用户u和其轨迹
Figure BDA0002428350960000062
该问题是预测用户在时间步Lu+1要访问的
Figure BDA0002428350960000063
步骤2、对用户轨迹信息进行筛选并对每个用户历史轨迹信息划分成多条子轨迹,对于每个轨迹点记录POI地理位置和用户访问时间信息;
移除签到记录少于10条记录的用户,并对连续签到记录时间大于72小时的记录划分成多条子轨迹,移除少于5条记录的子轨迹,并移除子轨迹数量小于2的用户,每个用户轨迹点包含POI地理位置信息和访问时间信息;
本实施例对数据集中数据进行筛选,过滤掉少于10条记录的用户,并根据时间间隔将轨迹划分成子轨迹。对该数据集进行处理后,共有1082个用户,34440个POI,以及184509条记录。
步骤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的用户轨迹表示输入到前馈神经网络,得到用户下一个访问点概率分布;
本实施例中,根据步骤4.1-步骤4.7的模型建立方法,可以将建立的时空嵌入Self-Attention模型的框架分为三个部分,分别为(1)特征处理模块(2)轨迹注意力模块(3)预测模块;
(1)特征处理模块
与其他序列模型类似,本实施例利用Word2Vec技术对用户轨迹数据进行编码。具体讲,就是使用词嵌入技术将POI与向量关联,输入轨迹点的POI,输出对应的编码向量。One-hot编码得到的向量是二进制、稀疏的。词嵌入技术通过学习将POI表示成低维的浮点数向量。采用embedding编码POI,得到用户轨迹中第i个POI的嵌入向量pi=piWp
Figure BDA0002428350960000071
pi是第i个POI的one-hot编码,
Figure BDA0002428350960000072
是POI编码矩阵,每一列表示一个POI的编码向量,其中,dp是POI的嵌入维度。
对于一条长度为L的用户轨迹,使用编码后的POI向量对用户的轨迹数据进行表示,表示为Xu=x1,x2,...,xL,其中xi={pi,(latitude,longitude)i,ti},xi包括三个部分:pi表示用户轨迹中第i个POI的嵌入向量表示,(latitude,longitude)i是第i个POI的经纬度坐标,即POI的地理位置信息,ti表示用户访问第i个POI的时间戳。
该模块的输入是用户轨迹原始特征数据,输出是轨迹编码Xu=x1,x2,...,xL,模块作用是完成对轨迹的编码。
(2)轨迹注意力模块包括地点注意力子模块、空间注意力子模块和时间注意力子模块;
1)地点注意力子模块
Attention(即注意力)函数的本质可以被描述为一个查询(query)到一系列键值对(key-value)的映射,在计算attention时主要分为三步,第一步是将query和每个key进行相似度计算得到权重,常用的相似度函数有点积,拼接,感知机等;第二步是使用一个softmax函数对第一步计算得到的权重进行归一化;最后将权值和相应的键值value进行加权求和得到最后的attention。而当key=value,即key和value是相同,则就是自注意力机制(Self-Attention)。自注意力机制能捕捉序列中任意两元素之间的关系不受限于它们在序列中的位置,自注意力机制能处理更长的序列,因此使用自注意力机制捕捉地点嵌入向量之间的关系。
本实施例中用户轨迹长度为L,地点注意力子模块输入是一个L×dp的矩阵Pu=[p1,p2,...,pL]T,Pu表示用户u的轨迹序列的轨迹编码矩阵,pi表示轨迹中第i个POI的嵌入向量表示。对于不同用户的轨迹长度是不同的,模型可以接受不同序列长度的输入。
计算query,key和value的值Query,Key和Value时的输入都是Pu,首先通过一个非线性变换将它们投射到同一空间上,如公式所示:
Query=ReLU(PuWQ)
Key=ReLU(PuWK)
Value=ReLU(PuWV)
其中,
Figure BDA0002428350960000081
Figure BDA0002428350960000082
分别是query,key和value的权重矩阵,RELU是非线性激活函数。因为query,key,value要被投射到相同的空间上,因此有dQ=dK=dV,其中dQ,dK,dV分别表示query,key和value的维度,并且由数学上矩阵乘法可以得到d=dp
然后计算用户轨迹的地点注意力值,如下公式所示:
Figure BDA0002428350960000083
其中,
Figure BDA0002428350960000084
为用户轨迹的地点注意力值,意义是学习轨迹点之间依赖关系,捕获轨迹的内部结构,Query和KeyT通过点积操作“·”计算相似度,多除了一个为K的维度起到调节作用,使得内积不至于太大;最后经过softmax函数得到用户轨迹的地点注意力值
Figure BDA0002428350960000085
2)空间注意力子模块
本发明中地点访问序列不是简单的地点序列,包含的时间间隔和地理空间间隔也是轨迹序列中的语义描述信息,使得模型的序列能力进一步增强,一定程度缓解了数据的稀疏性。
本实施例利用空间特征去增强对用户移动模式的捕获并捕获用户的地理偏好。具体的,为了减少重复计算,提前计算所有POI之间的实际地理距离(即空间距离)并保存在矩阵D中,然后通过索引的方式查询。
给定两POI点vi和vj,两POI点的空间距离d(vi,vj)可以通过以下公式计算:
Figure BDA0002428350960000091
其中,
Figure BDA0002428350960000092
R为地球半径,可取平均值6371km,
Figure BDA0002428350960000093
表示vi和vj两POI点的纬度,Δλ表示vi和vj两POI点经度的差值。
设操作D[·]为从矩阵D中索引的操作,给定输入Xu的索引结果为Du,如下公式所示:
Du=D[Xu]
先前工作表明,用户更喜欢访问他之前访问过POI所在的地区,而不是更远的地区。因此,为了捕获这种空间模式,本发明设计了空间注意力子模块,为了减少模型过于复杂,直接根据空间距离处理地理特征,不采用嵌入向量的方式,因此,得到用户轨迹的空间注意力值如公式所示:
Figure BDA0002428350960000094
其中,
Figure BDA0002428350960000095
为用户轨迹的空间注意力值矩阵,ε为距离阈值,如果地点序列中第i个POI所在地理位置和序列中第j个POI所在地理位置之间距离
Figure BDA0002428350960000096
小于距离阈值ε,则设
Figure BDA0002428350960000097
为1。除此之外,还要将
Figure BDA0002428350960000098
对角线上的元素全部设为0。
3)时间注意力子模块
不同用户签到行为在时间上是不同的,像时间间隔。因此,为了捕获用户对时间的偏好,类似空间注意力子模块,本实施例中以计算轨迹点之间的时间间隔作为特征计算用户轨迹的时间注意力值。时间注意力子模块的输入是用户u访问POI的时间戳Tu,如下公式所示:
Tu=[t1,t2,...,tL]T
因此,用户轨迹的时间注意力值如下公式所示:
Figure BDA0002428350960000099
Figure BDA0002428350960000101
Figure BDA0002428350960000102
其中,
Figure BDA0002428350960000103
为用户轨迹的注意力值矩阵,MinMaxNorm(·)函数将时间特征进行离差标准化,取值映射到[0,1],当同一序列中,签到POI时间间隔越大,则POI之间时间相关程度越小,
Figure BDA0002428350960000104
定义的是将Tu映射到
Figure BDA0002428350960000105
的一个操作。
引入时间注意力和空间注意力后,Attention模型不仅能学习到POI序列间关联程度,还能通过时间和地理信息对序列学习能力进行加强;除此之外,模型不仅能学习相邻轨迹点时间信息和地理信息,还能学习到任意两两轨迹之间的信息。
使用参数β,γ连接用户轨迹的空间注意力矩阵和时间注意力矩阵,并与地点注意力值连接,得到用户轨迹的总注意力值矩阵,如下公式所示:
Figure BDA0002428350960000106
再使用softmax函数将用户轨迹的总注意力值映射到[0,1],然后和value值做点积,得到用户前L个轨迹点编码的特征矩阵,如下公式所示:
Au=softmax(Su)·Value
其中,Au是前L个轨迹点编码的特征矩阵,表示当前时刻轨迹点状态跟前L个时刻的轨迹点状态相关,Su则表示和每个轨迹点的状态相关程度。
本实施例在不同的h个空间上设计h次attention,这类似于卷积神经网络的多个卷积核。这允许模型在不同的表示空间上学习相关的信息,h次attention结果如下所示:
Figure BDA0002428350960000107
最后,将h次attention结果拼接然后线性转换得到多次attention后的时空嵌入Self-Attention的用户轨迹Traju,如下公式所示:
Figure BDA0002428350960000108
其中,
Figure BDA0002428350960000109
是投射参数矩阵,concat(·)是连接函数,Traju是L×d的特征矩阵,表示用户的轨迹编码,h是平行attention的层数,这里有h=d/dV
本实施例中,用户轨迹被嵌入到POI特征向量同一空间上,如图3所示,一条长度为4的轨迹嵌入在地点向量空间上,其中实心圆点被有向边所连接表示一条用户轨迹,星号表示空间内的POI。
(3)预测模块
用户轨迹序列融合时间间隔信息和地理空间信息后,对于用户在Lu+1时间步之前的用户轨迹表示成
Figure BDA00024283509600001010
本实施例使用多层感知机进行预测,则下个要访问的位置
Figure BDA00024283509600001011
的概率分布是:
Figure BDA0002428350960000111
其中,
Figure BDA0002428350960000112
是POI编码矩阵,b是偏置矩阵。
模型输出概率分布是针对所有POI的预测概率,以此,对模型来说,参数空间过大,为了减少模型的预测能力,多层感知机的权重和POI嵌入的权重使用相同的参数,来以此减少参数,进而防止模型由于参数过多,缓解过拟合,提升模型精度。
最后,时空嵌入Self-Attention模型的目标函数
Figure BDA0002428350960000114
如下公式:
Figure BDA0002428350960000113
其中,λ1,λ2分别是L1正则化和L2正则化的系数,Θ是模型中需要正则化的参数。
步骤5、使用步骤3处理后的每一用户轨迹序列的80%当作训练数据,20%当作测试数据;使用训练数据对时空嵌入Self-Attention模型进行训练;使用测试数据对时空嵌入Self-Attention模型进行测试;
步骤6、将某用户历史轨迹信息数据进行编码即通过特征处理模块处理后,输入时空嵌入Self-Attention模型中,模型给出用户下一次访问地点的概率分布,即下一次访问地点Top-k的概率值,实现对用户轨迹位置的预测。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (4)

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的用户轨迹表示输入到前馈神经网络,得到用户下一个访问点概率分布;
所述步骤4.1的具体方法为:
对于一条长度为L的用户轨迹,使用编码后的POI向量对用户的轨迹数据进行表示,表示为Xu=x1,x2,..,xL,其中xi={pi,(latitude,longitude)i,ti},xi包括三个部分:pi=piWp表示用户轨迹中第i个POI的嵌入向量,
Figure FDA0003088919240000011
pi是第i个POI的one-hot编码,
Figure FDA0003088919240000012
是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之间的空间距离并保存在矩阵D中,然后通过索引的方式查询;
给定两POI点vi和vj,两POI点的空间距离d(vi,vj)通过以下公式计算:
Figure FDA0003088919240000021
其中,
Figure FDA0003088919240000022
R为地球半径,可取平均值6371km,
Figure FDA0003088919240000023
表示vi和vj两POI点的纬度,Δλ表示vi和vj两POI点经度的差值;
设操作D[·]为从矩阵D中索引的操作,给定输入Xu的索引结果为Du,如下公式所示:
Du=D[Xu]
用户轨迹点时间间隔如下公式所示:
Figure FDA0003088919240000024
其中,
Figure FDA0003088919240000025
为用户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的轨迹序列的轨迹编码矩阵,
Figure FDA0003088919240000026
Figure FDA0003088919240000027
Figure FDA0003088919240000028
分别是query,key和value的权重矩阵,RELU是非线性激活函数;dQ=dK=dV分别表示query,key和value的维度,d=dp
计算用户轨迹的地点注意力值,如下公式所示:
Figure FDA0003088919240000029
其中,
Figure FDA00030889192400000210
为用户轨迹的地点注意力值,Query和KeyT通过点积操作“·”计算相似度;
步骤4.4所述计算用户轨迹的空间注意力值如公式所示:
Figure FDA00030889192400000211
其中,
Figure FDA00030889192400000212
为空间注意力值矩阵,ε为距离阈值,如果地点序列中第i个POI所在地理位置和序列中第j个POI所在地理位置之间距离
Figure FDA0003088919240000031
小于距离阈值ε,则
Figure FDA0003088919240000032
为1;除此之外,
Figure FDA0003088919240000033
对角线上的元素全部设为0;
计算的用户轨迹的时间注意力值如下公式所示:
Figure FDA0003088919240000034
Figure FDA0003088919240000035
Tu=[t1,t2,...,tL]T
其中,
Figure FDA0003088919240000036
为用户轨迹的时间注意力值矩阵,MinMaxNorm(·)函数将时间特征进行离差标准化,取值映射到[0,1],
Figure FDA0003088919240000037
定义的是将Tu映射到
Figure FDA0003088919240000038
的一个操作,Tu表示用户u访问POI的时间戳;
步骤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.5的具体方法为:
使用参数β,γ连接用户轨迹的空间注意力矩阵和时间注意力矩阵,并与地点注意力值连接,得到用户轨迹的总注意力值矩阵,如下公式所示:
Figure FDA0003088919240000039
其中,Su为用户轨迹的总注意力值矩阵,表示和每个轨迹点的状态相关程度;
再使用softmax函数将用户轨迹的总注意力值映射到[0,1],然后和value值做点积,得到用户前L个轨迹点编码的特征矩阵,如下公式所示:
Au=softmax(Su)·Value
其中,Au是用户u前L个轨迹点编码的特征矩阵,表示当前时刻轨迹点状态跟前L个时刻的轨迹点状态相关。
4.根据权利要求3所述的基于时空嵌入Self-Attention的用户轨迹位置预测方法,其特征在于:所述步骤4.6的具体方法为:
在不同的h个空间上设计h次attention,得到多个轨迹点编码的特征矩阵,如下公式所示:
Figure FDA0003088919240000041
最后,将h次attention结果拼接然后线性转换得到多次attention后的时空嵌入Self-Attention的用户轨迹Traju,如下公式所示:
Figure FDA0003088919240000042
其中,
Figure FDA0003088919240000043
是投射参数矩阵,concat(·)是连接函数,Traju是L×d的特征矩阵,表示用户的轨迹编码,h=d/dV是平行attention的层数。
CN202010228011.0A 2020-03-27 2020-03-27 基于时空嵌入Self-Attention的用户轨迹位置预测方法 Active CN111400620B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010228011.0A CN111400620B (zh) 2020-03-27 2020-03-27 基于时空嵌入Self-Attention的用户轨迹位置预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010228011.0A CN111400620B (zh) 2020-03-27 2020-03-27 基于时空嵌入Self-Attention的用户轨迹位置预测方法

Publications (2)

Publication Number Publication Date
CN111400620A CN111400620A (zh) 2020-07-10
CN111400620B true CN111400620B (zh) 2021-08-03

Family

ID=71434689

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010228011.0A Active CN111400620B (zh) 2020-03-27 2020-03-27 基于时空嵌入Self-Attention的用户轨迹位置预测方法

Country Status (1)

Country Link
CN (1) CN111400620B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111798492B (zh) * 2020-07-16 2024-04-19 商汤国际私人有限公司 轨迹预测方法、装置、电子设备及介质
US20220188390A1 (en) * 2020-12-16 2022-06-16 International Business Machines Corporation Spatiotemporal Deep Learning for Behavioral Biometrics
CN112667763B (zh) * 2020-12-29 2022-09-13 电子科技大学 一种基于自适应时间戳与多尺度特征提取的轨迹预测方法
CN112651782B (zh) * 2020-12-30 2023-07-18 中国平安人寿保险股份有限公司 基于缩放点积注意力的行为预测方法、装置、设备及介质
CN112749209B (zh) * 2020-12-31 2023-08-29 南开大学 面向时空数据的移动行为图谱构建方法
CN112650949B (zh) * 2020-12-31 2023-12-29 东北大学 基于多源特征融合协同过滤的区域poi需求识别方法
CN112766339A (zh) * 2021-01-11 2021-05-07 中国科学院计算技术研究所 一种轨迹识别模型训练方法及轨迹识别方法
CN112966010A (zh) * 2021-02-09 2021-06-15 深圳大学 一种用户轨迹信息挖掘方法
CN113095201B (zh) * 2021-04-07 2023-08-18 西北工业大学 基于人脸不同区域间自注意力和不确定性加权多任务学习的au程度估计模型建立方法
CN113032688B (zh) * 2021-05-26 2021-08-24 南京航空航天大学 针对社交网络用户在未来给定时间的访问位置预测方法
CN113505310A (zh) * 2021-07-07 2021-10-15 辽宁工程技术大学 一种基于时空注意网络的校园用户下一个位置推荐方法
CN113806463B (zh) * 2021-09-06 2023-04-28 北京信息科技大学 一种基于时空金字塔匹配的轨迹相似度计算方法
CN113837268B (zh) * 2021-09-18 2024-03-12 北京百度网讯科技有限公司 确定轨迹点状态的方法、装置、设备和介质
CN114885293B (zh) * 2022-04-26 2022-12-20 和智信(山东)大数据科技有限公司 一种基于深度学习的信令轨迹恢复方法、系统及存储介质
CN114862001B (zh) * 2022-04-27 2023-06-02 哈尔滨工业大学 一种基于区域功能增强特征的城市人群流量预测方法及系统
CN114827904B (zh) * 2022-05-10 2022-09-27 山东大学 一种移动服务用户轨迹预测方法及系统
CN115860179A (zh) * 2022-11-01 2023-03-28 清华大学 轨迹预测方法、装置、设备、存储介质及程序产品
CN116484953B (zh) * 2023-06-21 2023-09-12 南方科技大学 一种出行目的推断方法及终端
CN117216614B (zh) * 2023-09-22 2024-03-08 哈尔滨工业大学 一种基于时空信息提取的轨迹表征挖掘方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003042776A (ja) * 2001-08-01 2003-02-13 Nippon Telegr & Teleph Corp <Ntt> 到着時刻予測システムおよび到着時刻予測方法
CN110543543A (zh) * 2019-09-10 2019-12-06 苏州大学 一种基于多粒度神经网络的用户移动行为预测方法及装置
CN110570044A (zh) * 2019-09-16 2019-12-13 重庆大学 基于循环神经网络和注意力机制的下一个地点预测方法

Also Published As

Publication number Publication date
CN111400620A (zh) 2020-07-10

Similar Documents

Publication Publication Date Title
CN111400620B (zh) 基于时空嵌入Self-Attention的用户轨迹位置预测方法
Park et al. Diverse and admissible trajectory forecasting through multimodal context understanding
CN115240425B (zh) 一种基于多尺度时空融合图网络的交通预测方法
Ren et al. Mtrajrec: Map-constrained trajectory recovery via seq2seq multi-task learning
CN110889546A (zh) 一种基于注意力机制的交通流量模型训练方法
CN114372116B (zh) 一种基于lstm和时空注意力机制的车辆轨迹预测方法
CN110570035B (zh) 同时建模时空依赖性和每日流量相关性的人流量预测系统
CN113068131B (zh) 一种用户移动方式和轨迹的预测方法、装置、设备及存储介质
CN113139140B (zh) 基于时空感知gru并结合用户关系偏好的旅游景点推荐方法
CN115510174A (zh) 一种基于路网像素化的Wasserstein生成对抗流量数据插补方法
CN114202120A (zh) 一种针对多源异构数据的城市交通行程时间预测方法
CN117194763A (zh) 基于用户偏好与时空上下文信息的下一个poi推荐方法
Xu et al. Short‐term traffic flow prediction based on whale optimization algorithm optimized BiLSTM_Attention
Wang et al. Reconstruction of missing trajectory data: a deep learning approach
Han et al. Principal graph embedding convolutional recurrent network for traffic flow prediction
CN117271899A (zh) 一种基于时空感知的兴趣点推荐方法
CN117116048A (zh) 基于知识表示模型和图神经网络的知识驱动交通预测方法
Chu et al. Simulating human mobility with a trajectory generation framework based on diffusion model
Chen et al. Next location prediction with a graph convolutional network based on a seq2seq framework
ABBAS A survey of research into artificial neural networks for crime prediction
CN113119996B (zh) 一种轨迹预测方法、装置、电子设备及存储介质
CN115146844A (zh) 一种基于多任务学习的多模式交通短时客流协同预测方法
Liao et al. Traj2Traj: A road network constrained spatiotemporal interpolation model for traffic trajectory restoration
Bonet et al. Conditional variational graph autoencoder for air quality forecasting
CN116050640B (zh) 基于自适应多图卷积的多模式交通系统短时客流预测方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant