CN111723305A - 一种预测用户下一轨迹点的方法 - Google Patents
一种预测用户下一轨迹点的方法 Download PDFInfo
- Publication number
- CN111723305A CN111723305A CN202010473847.7A CN202010473847A CN111723305A CN 111723305 A CN111723305 A CN 111723305A CN 202010473847 A CN202010473847 A CN 202010473847A CN 111723305 A CN111723305 A CN 111723305A
- Authority
- CN
- China
- Prior art keywords
- user
- term
- attention
- long
- sequence
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 26
- 230000003993 interaction Effects 0.000 claims abstract description 56
- 230000007774 longterm Effects 0.000 claims abstract description 56
- 238000012549 training Methods 0.000 claims abstract description 12
- 238000012163 sequencing technique Methods 0.000 claims abstract description 9
- 238000005457 optimization Methods 0.000 claims abstract description 3
- 239000013598 vector Substances 0.000 claims description 56
- 230000007246 mechanism Effects 0.000 claims description 24
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 16
- 238000003062 neural network model Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 9
- 230000002452 interceptive effect Effects 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 9
- 230000000694 effects Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 230000009193 crawling Effects 0.000 claims description 4
- 238000007781 pre-processing Methods 0.000 claims description 4
- 230000004913 activation Effects 0.000 claims description 3
- 230000004927 fusion Effects 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000282414 Homo sapiens Species 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种预测用户下一轨迹点的方法,爬取一定量的数据:用户的ID,用户对应的一系列短期和长期历史轨迹点的位置信息,每个轨迹点的时间戳;基于爬取的信息构建特征交互自注意力网络模型,再结合每个用户的长期历史轨迹点的位置信息经过自注意力层的结果做注意力;利用交叉熵损失函数对参数进行最优化训练;对于一个新用户及其一系列的历史轨迹点,利用ID信息、用户对应的一系列历史轨迹点的位置信息,每个轨迹点的时间戳,来构建一系列的实例并以此输入至训练好的特征交互自注意力网络模型中,从而得到一系列的预测位置的排序得分。该方法解决了利用用户和其历史轨迹的丰富元数据来预测下一个轨迹点的难题,预测准确度大大提升。
Description
技术领域
本发明涉及机器学习和轨迹预测领域,尤其涉及一种利用用户历史轨迹预测下一步轨迹点的方法。
背景技术
随着位置采集技术的发展和智能设备的普及,人类的日常事务更容易在社交网站中与朋友进行数字化和共享。在广泛的应用和服务中,移动性和预测至关重要,从城市规划、交通预测和流行病控制到基于位置的广告和建议。
移动性预测的关键是如何从历史轨迹中捕获有用的移动模式。以前关于移动性预测的工作主要基于马尔科夫模型或循环模型。马尔科夫模型主要是根据过去访问的位置出现的次数频率进行预测;而循环神经网络(RNN)在语言建模中的成功促使研究人员应用类似RNN的模型进行移动性预测。然而,在这些现有作品中,有两项重要挑战没有得到很好的解决。首先,时空要素通常包括位置ID和时间ID,并且不考虑要素之间显式高阶交互的影响。这可能有助于区分移动建模和顺序建议,并可能导致移动性预测的改进;其次,网络训练非常耗时,尤其是对于长序列上面。
因此,需要提供一种预测用户下一轨迹点的方法来解决上述技术难题。
发明内容
本发明的目的是提供一种预测用户下一轨迹点的方法,该方法解决了利用用户和其历史轨迹的丰富元数据来预测下一个轨迹点的难题,预测准确度大大提升。
为了实现上述目的,本发明提供了一种预测用户下一轨迹点的方法,包括:
从基于位置的用户服务网站上爬取用户数据,包括用户的ID、用户对应的一系列短期和长期历史轨迹点的位置信息和每个轨迹点的时间戳;
基于爬取的各用户的ID信息、用户对应的一系列短期历史轨迹点的位置信息构建特征交互自注意力网络模型,再结合每个用户的长期历史轨迹点的位置信息经过自注意力层的结果做注意力;利用交叉熵损失函数对参数进行最优化训练;
对于一个新用户及其一系列的历史轨迹点,利用新用户的ID信息、用户对应的一系列历史轨迹点的位置信息,每个轨迹点的时间戳,来构建一系列的实例并以此输入至训练好的特征交互自注意力网络模型中,从而得到一系列的预测位置的排序得分,根据排序得分的大小,以从前到后的方式对一系列位置进行排序,得到最终预测的结果。
优选地,构建特征交互自注意力神经网络模型之前还包括对爬取的数据进行预处理的步骤,该步骤包括:去除用户历史轨迹数据中出现次数小于设定数目的地点和存在时间段过少的用户,对经过上述步骤后剩余的用户和用户的历史轨迹信息进行处理,对于每个用户的数据变为:用户的ID信息、每个用户的长期历史和近期历史;其中将用户的轨迹数据分为两部分,一部分用于模型的训练,另一部分用于模型的好坏验证。
优选地,构建特征交互自注意力神经网络模型包括四个部分:输入层、特征交互层、自注意力层和预测层;其中,
输入层:对于一个用户,认为该用户由一系列历史轨迹构成,每个历史轨迹由多个签到记录组成;每一个签到记录认为由用户ID,地点,时间点构成,假设地点L由N个向量组成,记为L={l1,l2,l3,…,lN},li∈Rd,1≤i≤N;认为时间点T由48个时间组成,记为T={t1,t2,t3,…,t48},i∈Rd,1≤i≤48;认为用户由M个向量组成,记为U={u1,u2,…,uM},ui∈Rd,1≤i≤M;上述中N,M都是非固定值,会随着输入实例的不同而变化;
特征交互层:对于用户的短期历史轨迹序列RT,将输入层对用户ID,地点,时间点的编码按行连接形成一个特征矩阵X0,接着通过特征之间的交互计算,分别求得交互结果X1和X2;其中,X1捕获三个嵌入向量的任意两个的二阶相互作用而X2捕获三个嵌入向量的任意两个的三阶相互作用,以使得得到的特征集成位置和上下文更有用的特性;
自注意力层:利用自注意力机制可以获取用户历史轨迹序列之间的长距离的上下文关系,有效地捕获用户轨迹序列之间的深层次依赖关系;通过自注意力机制,将用户的长期历史轨迹序列LR变成SR,将短期的特征序列FT变成了SF;接着使用注意力机制将长期的历史轨迹序列和短期历史轨迹序列融合在一起,得到最终的向量序列R;
预测层:利用注意力机制,将用户的通过自注意力机制得到的长期历史结果和短期历史结果融合起来,再将该结果同短期历史轨迹向量拼接在一起,得到最终的结果。
优选地,对于用户的短期历史轨迹序列RT={q1,q2,…,qn},按行将用户ID,地点,时间点的编码堆叠成一个特征矩阵X0,接着特征交互网络通过嵌入向量之间的相互作用计算,得到二阶交互结果X1和三阶交互结果X2,计算方式如下:
其中,代表的是X1的第h行,Wh,1,Wh,2∈R3×3分别表示二阶和三阶交互的参数矩阵,°表示的是Hadamard乘积,因此,X1捕获了用户,地点,时间点这三个嵌入特征向量任意两个的二阶交互关系,X2捕获了三个中任意两个的三阶交互关系;{Wh,1,Wh,2}是模型中待优化的参数矩阵;
经过这一层,可以通过用户的短期历史轨迹序列RT得到其三个特征之间的高阶交互特性X1和X2,虽然矩阵的维度和输入保持不变,但是它们包含了特征之间的交互信息,使特征得到更有用的特性;得到了最终的结果FT。
优选地,利用自注意力机制处理用户的长期历史轨迹序列LR,使得序列间的向量可以获得上下文信息,其过程如下:
以长期为例,将用户的长期历史轨迹序列LR作为输入X,并且通过线性变换分别将其转化成query,key,value矩阵,接着把变化得到的结果放入scaled dot-productattention中,其计算公式如下所示:
Y=SA(X)=Attention(XWQ,XWK,XWV)
其中,Attention的计算公式如下所示:
接着,将上一层的输出Y输入前馈神经网络中,根据加权进行非线性变换,其计算公式如下:
Zj=FFN(Yj)=ReLU(YiW(1)+(1))W(2)+(2)
其中,W(1)∈Rd×4d,W(2)∈R4d×d,b(1)∈R4d,b(2)∈Rd,也就是说向量表示先被转换成4倍大,经过ReLU激活函数之后,再转换回来;
另外,使用多层自注意力模块会取得更好的效果;其中,使用两层自注意力模块,其计算公式如下:
f(x)=LayerNorm(x+Dropout(Sublayer(x)))
其中Sublayer(x)就代表着自注意力层;
同样的,当处理用户的短期历史轨迹序列FT(经过了特征交互层),为了避免信息的泄露,即自注意力层只能捕捉当前时间点之前的签到序列,当前时间点之后的被屏蔽掉,其他的操作与长期相同;
自注意力机制主要是对用户的长期历史轨迹序列LR和短期历史轨迹序列FT进行操作,分别捕捉出各自的重要信息,来为后面两者的结合做准备;
通过上述方法,可以最终得到,长短期历史轨迹序列各自互相捕捉依赖关系的向量结果,并且其维度大小与输入相同。
优选地,首先,结合长期历史和短期历史通过自注意力层得到的结果向量计算融合结果,公式如下:
其中,将近期的历史轨迹序列作为query向量,将长期的最后k个向量表征作为value向量,表示近期历史签到序列中第j个向量表征,表示长期历史签到序列中的第i个向量表征,<,y>代表向量x和y的点乘;再将上式得到的结果放进全连接层得到最后的预测结果。
优选地,使用交叉熵损失函数来最优化模型参数。
优选地,利用一个新用户,新用户对应的长期历史序列LT、短期历史序列RT,构建一系列的实例,将这些实例输入至训练好的自注意力机制特征交互神经网络模型中,从而得到一系列的对位置的排序得分,根据排序得分的大小,从前往后对所有地点进行排序;即,排序得分越高,则认为相应地点越有可能是用户下一个到达的地点。
根据上述技术方案,本发明用特征交互自注意力神经网络模型(MoveNet)来进行对用户轨迹信息的预测,相比于传统模型,使用了更多的历史信息,各个特征之间有了更深层次的交互。对于预测的结果,在多个评价指标上有一定的提高。
本发明的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是本发明提供的一种预测用户下一轨迹点的方法的流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
参见图1,本发明提供一种预测用户下一轨迹点方法,包括:
步骤1、从基于位置的用户服务网站上爬取一定量的数据,对于一个用户爬取的数据包括:用户的ID,用户对应的一系列历史轨迹点的位置信息,每个轨迹点的时间戳。
步骤2、基于爬取的各用户的ID信息、用户对应的一系列短期历史轨迹点的位置信息构建特征交互自注意力神经网络模型,再结合每个用户的长期历史轨迹点的位置信息自注意力网络结果做注意力;利用交叉熵损失函数对参数进行最优化训练。
步骤3、对于一个新用户及其一系列的历史轨迹点,利用新用户的ID信息、用户对应的一系列历史轨迹点的位置信息,每个轨迹点的时间戳,来构建一系列的实例并以此输入至训练好的特征交互自注意力网络模型中,从而得到一系列的预测位置的排序得分,根据排序得分的大小,以从前到后的方式对一系列位置进行排序,得到最终预测的结果。
为了便于理解,下面针对上述过程做详细介绍。
1、数据的爬取。
本发明实施例中,从基于位置的用户服务网站上爬取一定量的数据,对于一个用户爬取的数据包括:用户的ID,用户对应的一系列历史轨迹点的位置信息,每个轨迹点的时间戳。
2、数据预处理。
在构建特征交互自注意力神经网络模型之前还需要对爬取的数据进行预处理,以保证模型的效果;预处理主要如下:
1)去除用户历史轨迹数据中出现次数小于设定数目的地点和存在时间段过少的用户
本发明实施例中,需要去除某些质量较低的用户和地点,将用户的所有历史数据按照时间间隔分成多个时间段数据,通常认为存在时间段数目过少的用户是质量较低的,同时认为出现次数较少的地点也是质量较低的;示例性的,此处的设定数量可以为5。
2)对经过上述步骤后剩余的用户和用户的历史轨迹信息进行处理,对于每个用户的数据变为:用户的ID信息、每个用户的长期历史和近期历史;其中将用户的轨迹数据分为两部分,一部分用于模型的训练,另一部分用于模型的好坏验证。
3、构建特征交互自注意力神经网络模型。
构建特征交互自注意力神经网络模型包括四个部分:输入层、特征交互层、自注意力层和预测层。
1)输入层:对于一个用户,认为该用户由一系列历史轨迹构成,每个历史轨迹由多个签到记录q组成;每一个签到记录认为由用户IDu,地点l,时间点t构成,假设地点L由N个向量组成,记为L={l1,l2,l3,…,lN},li∈Rd,1≤i≤N。认为时间点T由48个时间组成,记为T={t1,t2,t3,…,t48},ti∈Rd,1≤i≤48;认为用户由M个向量组成,记为U={u1,u2,…,uM},i∈Rd,1≤i≤M。上述中N,M都是非固定值,会随着输入实例的不同而有所改变。
2)特征交互层:对于用户的短期历史轨迹序列RT,将输入层对用户ID,地点,时间点的编码按行连接起来成一个特征矩阵X0,接着通过特征之间的交互计算,分别求得交互结果X1和X2。其中,X1捕获三个嵌入向量的任意两个的二阶相互作用而X2捕获三个嵌入向量的任意两个的三阶相互作用,这样可以让得到的特征集成位置和上下文更有用的特性。
本发明实施例中,对于用户的短期历史轨迹序列RT={q1,q2,…,qn},qi表示签到记录,按行将用户ID,地点,时间点的编码堆叠成一个特征矩阵X0,接着特征交互网络通过嵌入向量之间的相互作用计算,得到二阶交互结果X1和三阶交互结果X2,计算方式如下:
其中,代表的是X1的第h行,Wh,1,Wh,2∈R3×3分别表示二阶和三阶交互的参数矩阵,°表示的是Hadamard乘积,因此,X1捕获了用户,地点,时间点这三个嵌入特征向量任意两个的二阶交互关系,X2捕获了三个中任意两个的三阶交互关系。{Wh,1,Wh,2}是模型中待优化的参数矩阵。
经过这一层,可以通过用户的短期历史轨迹序列RT得到其三个特征之间的高阶交互特性X1和X2,虽然矩阵的维度和输入保持不变,但是它们包含了特征之间的交互信息,使特征得到更有用的特性,最终的结果为FT。
3)自注意力层:利用自注意力机制可以获取用户历史轨迹序列之间的长距离的上下文关系,有效地捕获用户轨迹序列之间的深层次依赖关系。通过自注意力机制,将用户的长期历史轨迹序列LR变成SR,将短期的特征序列FT变成了SF。。
本发明实施例中,具体实现自注意力机制时在长期历史轨迹和短期历史轨迹时略微有所不同,分别处理长期历史轨迹LR和短期FT,最终得到相应的结果向量。
下面是针对自注意力机制做详细说明。
利用自注意力机制处理用户的长期历史轨迹序列LR,使得序列间的向量可以获得上下文信息,其过程如下:
以长期为例,将用户的长期历史轨迹序列LR作为输入X,并且通过线性变换分别将其转化成query,key,value矩阵,接着把变化得到的结果放入scaled dot-productattention中,其计算公式如下所示:
Y=SA(X)=Attention(XWQ,XWK,XWV)
其中,Attention的计算公式如下所示:
接着,将上一层的输出Y输入前馈神经网络中,根据加权进行非线性变换,其计算公式如下:
Zj=FFN(Yj)=ReLU(YiW(1)+b(1))W(2)+b(2)
其中,W(1)∈Rd×4d,W(2)∈R4d×d,b(1)∈R4d,b(2)∈Rd,也就是说向量表示先被转换成4倍大,经过ReLU激活函数之后,再转换回来。
另外,使用多层自注意力模块会取得更好的效果,本发明实施例中,使用两层自注意力模块,其计算公式如下:
f(x)=LayerNorm(x+Dropout(Sublayer(x)))
其中Sublayer(x)就代表着自注意力层。
类似的,当处理用户的短期历史轨迹序列FT(经过了特征交互层之后的结果)时,为了避免信息的泄露,即自注意力层只能捕捉当前时间点之前的签到序列,当前时间点之后的被屏蔽掉,其他的操作与长期相同。
本发明实施例中,自注意力机制主要是对用户的长期历史轨迹序列LR和短期历史轨迹序列FT进行操作,分别捕捉出各自的重要信息,来为后面两者的结合做准备
通过上述方法,可以最终得到,长短期历史轨迹序列各自互相捕捉依赖关系的向量结果SR和SF,并且其维度大小与输入相同。
4)预测层:利用注意力机制,将用户的通过自注意力机制得到的长期历史结果SR和短期历史结果SF融合起来,再将该结果同短期历史轨迹向量FT拼接在一起,得到最终的结果。
本发明实施例中,首先,结合长期历史和短期历史通过自注意力层得到的结果向量计算融合结果,公式如下:
其中,我们把短期的历史轨迹序列作为query向量,将长期的最后k个向量表征作为value向量,表示近期历史签到序列中第j个向量表征,表示长期历史签到序列中的第i个向量表征,<,y>代表向量x和y的点乘。再将上式得到的结果放进全连接层得到最后的预测结果。
4、模型参数的训练。
该步骤主要对上一步骤所建立的自注意力机制特征交互神经网络模型中的所有参数矩阵或向量进行训练,包括{Wh,1,Wh,2,WQ,WK,WV,W(1),W(2)}、{b(1),b(2)}。
使用交叉熵损失函数来最优化模型参数。
另外,在训练过程中,可以将整个数据集按4:1的比例划分为训练集和测试集,训练集用于优化模型的参数,测试集用来衡量最终模型的好坏。
5、对用户的下一步轨迹做预测
该步骤主要针对用户的下一步轨迹地点进行预测,并按照预测价值(即排序得分)的高低进行排序。
本发明实施例中,利用一个新用户,新用户对应的长期历史序列LT、短期历史序列RT,构建一系列的实例,将这些实例输入至训练好的特征交互自注意力神经网络模型中,从而得到一系列的对位置的排序得分,根据排序得分的大小,从前往后对所有地点进行排序;即,排序得分越高,则认为相应地点越有可能是用户下一个到达的地点。
本发明实施例上述方案,通过利用多种元数据的融合,捕捉历史轨迹序列之间的深层规律,可以有效的找到周期规律和近期的活动特点,实现对下一个轨迹点的预测排序,帮助人们完成对用户轨迹的预测。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。
Claims (8)
1.一种预测用户下一轨迹点方法,其特征在于,包括:
从基于位置的用户服务网站上爬取用户数据,包括用户的ID、用户对应的一系列短期和长期历史轨迹点的位置信息和每个轨迹点的时间戳;
基于爬取的各用户的ID信息、用户对应的一系列短期历史轨迹点的位置信息构建特征交互自注意力网络模型,再结合每个用户的长期历史轨迹点的位置信息经过自注意力层的结果做注意力;利用交叉熵损失函数对参数进行最优化训练;
对于一个新用户及其一系列的历史轨迹点,利用新用户的ID信息、用户对应的一系列历史轨迹点的位置信息,每个轨迹点的时间戳,来构建一系列的实例并以此输入至训练好的特征交互自注意力网络模型中,从而得到一系列的预测位置的排序得分,根据排序得分的大小,以从前到后的方式对一系列位置进行排序,得到最终预测的结果。
2.根据权利要求1所述的预测用户下一轨迹点方法,其特征在于,构建特征交互自注意力神经网络模型之前还包括对爬取的数据进行预处理的步骤,该步骤包括:去除用户历史轨迹数据中出现次数小于设定数目的地点和存在时间段过少的用户,对经过上述步骤后剩余的用户和用户的历史轨迹信息进行处理,对于每个用户的数据变为:用户的ID信息、每个用户的长期历史和近期历史;其中将用户的轨迹数据分为两部分,一部分用于模型的训练,另一部分用于模型的好坏验证。
3.根据权利要求1或2所述的预测用户下一轨迹点方法,其特征在于,构建特征交互自注意力神经网络模型包括四个部分:输入层、特征交互层、自注意力层和预测层;其中,
输入层:对于一个用户,认为该用户由一系列历史轨迹构成,每个历史轨迹由多个签到记录组成;每一个签到记录认为由用户ID,地点,时间点构成,假设地点L由N个向量组成,记为L={l1,l2,l3,...,lN},li∈Rd,1≤i≤N;认为时间点T由48个时间组成,记为T={t1,t2,t3,...,t48},ti∈Rd,1≤i≤48;认为用户由M个向量组成,记为U={u1,u2,...,uM},ui∈Rd,1≤i≤M;上述中N,M都是非固定值,会随着输入实例的不同而变化;
特征交互层:对于用户的短期历史轨迹序列RT,将输入层对用户ID,地点,时间点的编码按行连接形成一个特征矩阵X0,接着通过特征之间的交互计算,分别求得交互结果X1和X2;其中,X1捕获三个嵌入向量的任意两个的二阶相互作用而X2捕获三个嵌入向量的任意两个的三阶相互作用,以使得得到的特征集成位置和上下文更有用的特性;
自注意力层:利用自注意力机制可以获取用户历史轨迹序列之间的长距离的上下文关系,有效地捕获用户轨迹序列之间的深层次依赖关系;通过自注意力机制,将用户的长期历史轨迹序列LR变成SR,将短期的特征序列FT变成了SF;接着使用注意力机制将长期的历史轨迹序列和短期历史轨迹序列融合在一起,得到最终的向量序列R;
预测层:利用注意力机制,将用户的通过自注意力机制得到的长期历史结果和短期历史结果融合起来,再将该结果同短期历史轨迹向量拼接在一起,得到最终的结果。
4.根据权利要求3所述的预测用户下一轨迹点方法,其特征在于,
对于用户的短期历史轨迹序列RT={q1,q2,...,qn},按行将用户ID,地点,时间点的编码堆叠成一个特征矩阵X0,接着特征交互网络通过嵌入向量之间的相互作用计算,得到二阶交互结果X1和三阶交互结果X2,计算方式如下:
其中,代表的是X1的第h行,Wh,1,Wh,2∈R3×3分别表示二阶和三阶交互的参数矩阵,表示的是Hadamard乘积,因此,X1捕获了用户,地点,时间点这三个嵌入特征向量任意两个的二阶交互关系,X2捕获了三个中任意两个的三阶交互关系;{Wh,1,Wh,2}是模型中待优化的参数矩阵;
经过这一层,可以通过用户的短期历史轨迹序列RT得到其三个特征之间的高阶交互特性X1和X2,虽然矩阵的维度和输入保持不变,但是它们包含了特征之间的交互信息,使特征得到更有用的特性;得到了最终的结果FT。
5.根据权利要求3所述的预测用户下一轨迹点方法,其特征在于,
利用自注意力机制处理用户的长期历史轨迹序列LR,使得序列间的向量可以获得上下文信息,其过程如下:
以长期为例,将用户的长期历史轨迹序列LR作为输入X,并且通过线性变换分别将其转化成query,key,value矩阵,接着把变化得到的结果放入scaled dot-product attention中,其计算公式如下所示:
Y=SA(X)=Attention(XWQ,XWK,XWV)
其中,Attention的计算公式如下所示:
接着,将上一层的输出Y输入前馈神经网络中,根据加权进行非线性变换,其计算公式如下:
Zj=FFN(Yj)=ReLU(YiW(1)+b(1))W(2)+b(2)
其中,W(1)∈Rd×4d,W(2)∈R4d×d,b(1)∈R4d,b(2)∈Rd,也就是说向量表示先被转换成4倍大,经过ReLU激活函数之后,再转换回来;
另外,使用多层自注意力模块会取得更好的效果;其中,使用两层自注意力模块,其计算公式如下:
f(x)=LayerNorm(x+Dropout(Sublayer(x)))
其中Sublayer(x)就代表着自注意力层;
同样的,当处理用户的短期历史轨迹序列FT(经过了特征交互层),为了避免信息的泄露,即自注意力层只能捕捉当前时间点之前的签到序列,当前时间点之后的被屏蔽掉,其他的操作与长期相同;
自注意力机制主要是对用户的长期历史轨迹序列LR和短期历史轨迹序列FT进行操作,分别捕捉出各自的重要信息,来为后面两者的结合做准备;
通过上述方法,可以最终得到,长短期历史轨迹序列各自互相捕捉依赖关系的向量结果,并且其维度大小与输入相同。
7.根据权利要求1、2、4、5或6所述的预测用户下一轨迹点方法,其特征在于,使用交叉熵损失函数来最优化模型参数。
8.根据权利要求1、2、4、5或6所述的预测用户下一轨迹点方法,其特征在于,利用一个新用户,新用户对应的长期历史序列LT、短期历史序列RT,构建一系列的实例,将这些实例输入至训练好的自注意力机制特征交互神经网络模型中,从而得到一系列的对位置的排序得分,根据排序得分的大小,从前往后对所有地点进行排序;即,排序得分越高,则认为相应地点越有可能是用户下一个到达的地点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010473847.7A CN111723305B (zh) | 2020-05-29 | 2020-05-29 | 一种预测用户下一轨迹点的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010473847.7A CN111723305B (zh) | 2020-05-29 | 2020-05-29 | 一种预测用户下一轨迹点的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111723305A true CN111723305A (zh) | 2020-09-29 |
CN111723305B CN111723305B (zh) | 2023-05-23 |
Family
ID=72565454
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010473847.7A Active CN111723305B (zh) | 2020-05-29 | 2020-05-29 | 一种预测用户下一轨迹点的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111723305B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329746A (zh) * | 2021-01-04 | 2021-02-05 | 中国科学院自动化研究所 | 多模态谎言检测方法、装置、设备 |
CN114827904A (zh) * | 2022-05-10 | 2022-07-29 | 山东大学 | 一种移动服务用户轨迹预测方法及系统 |
CN116558541A (zh) * | 2023-07-11 | 2023-08-08 | 新石器慧通(北京)科技有限公司 | 模型训练方法和装置、轨迹预测方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110543543A (zh) * | 2019-09-10 | 2019-12-06 | 苏州大学 | 一种基于多粒度神经网络的用户移动行为预测方法及装置 |
CN110570044A (zh) * | 2019-09-16 | 2019-12-13 | 重庆大学 | 基于循环神经网络和注意力机制的下一个地点预测方法 |
WO2020005240A1 (en) * | 2018-06-27 | 2020-01-02 | Google Llc | Adapting a sequence model for use in predicting future device interactions with a computing system |
CN110738370A (zh) * | 2019-10-15 | 2020-01-31 | 南京航空航天大学 | 一种新颖的移动对象目的地预测算法 |
-
2020
- 2020-05-29 CN CN202010473847.7A patent/CN111723305B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020005240A1 (en) * | 2018-06-27 | 2020-01-02 | Google Llc | Adapting a sequence model for use in predicting future device interactions with a computing system |
CN110543543A (zh) * | 2019-09-10 | 2019-12-06 | 苏州大学 | 一种基于多粒度神经网络的用户移动行为预测方法及装置 |
CN110570044A (zh) * | 2019-09-16 | 2019-12-13 | 重庆大学 | 基于循环神经网络和注意力机制的下一个地点预测方法 |
CN110738370A (zh) * | 2019-10-15 | 2020-01-31 | 南京航空航天大学 | 一种新颖的移动对象目的地预测算法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112329746A (zh) * | 2021-01-04 | 2021-02-05 | 中国科学院自动化研究所 | 多模态谎言检测方法、装置、设备 |
CN112329746B (zh) * | 2021-01-04 | 2021-04-16 | 中国科学院自动化研究所 | 多模态谎言检测方法、装置、设备 |
CN114827904A (zh) * | 2022-05-10 | 2022-07-29 | 山东大学 | 一种移动服务用户轨迹预测方法及系统 |
CN114827904B (zh) * | 2022-05-10 | 2022-09-27 | 山东大学 | 一种移动服务用户轨迹预测方法及系统 |
CN116558541A (zh) * | 2023-07-11 | 2023-08-08 | 新石器慧通(北京)科技有限公司 | 模型训练方法和装置、轨迹预测方法和装置 |
CN116558541B (zh) * | 2023-07-11 | 2023-09-22 | 新石器慧通(北京)科技有限公司 | 模型训练方法和装置、轨迹预测方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111723305B (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111400620B (zh) | 基于时空嵌入Self-Attention的用户轨迹位置预测方法 | |
CN111723305A (zh) | 一种预测用户下一轨迹点的方法 | |
CN111506835B (zh) | 一种融合用户时间特征和个性特征的数据特征提取方法 | |
CN114817663B (zh) | 一种基于类别感知图神经网络的服务建模与推荐方法 | |
CN111368203A (zh) | 一种基于图神经网络的新闻推荐方法及其系统 | |
CN112084373B (zh) | 一种基于图嵌入的多源异构网络用户对齐方法 | |
CN112016002A (zh) | 融合评论文本层级注意力和时间因素的混合推荐方法 | |
CN112328893A (zh) | 一种基于记忆网络和协同注意力的推荐方法 | |
CN114722182A (zh) | 一种基于知识图谱的在线课推荐方法及系统 | |
CN112508269A (zh) | 法律判决预测方法及系统 | |
CN111723306B (zh) | 一种基于地理感知的序列位置推荐方法 | |
CN114168819B (zh) | 一种基于图神经网络的岗位匹配方法及装置 | |
CN111626827A (zh) | 基于序列推荐模型的物品推荐方法、装置、设备及介质 | |
Xu et al. | Quantifying predictability of sequential recommendation via logical constraints | |
CN117271899A (zh) | 一种基于时空感知的兴趣点推荐方法 | |
Yao et al. | Fuzzy representation learning on dynamic graphs | |
Acosta et al. | Predicting city safety perception based on visual image content | |
CN116501979A (zh) | 信息推荐方法、装置、计算机设备及计算机可读存储介质 | |
CN114116692B (zh) | 一种基于mask和双向模型的缺失POI轨迹补全方法 | |
CN115953215A (zh) | 一种基于时间和图结构的搜索式推荐方法 | |
CN113569139A (zh) | 一种个性化会话推荐方法和系统 | |
Rashidi et al. | Prediction of users’ future requests using neural network | |
CN117171428B (zh) | 一种提升搜索和推荐结果准确性的方法 | |
CN118171000A (zh) | 一种融合人群移动轨迹和时空-类别的poi推荐方法 | |
CN117336539B (zh) | 一种用于短视频ip打造的视频脚本生产方法及系统 |
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 | ||
CB02 | Change of applicant information |
Address after: Building 5, Wuhu Science and Technology Industrial Park, Wuhu City, Anhui Province, 241000 Applicant after: Yangtze River delta information intelligence Innovation Research Institute Address before: 241000 Wuhu Intelligent Collaborative Innovation Center Applicant before: Institute of smart city University of science and technology of China (Wuhu) |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |