基于用户行为序列特征的位置预测模型
胡铮1, 刘奕杉2, 朱新宁2, 于建港3    
1. 北京邮电大学 网络与交换国家重点实验室, 北京 100876;
2. 北京邮电大学 信息与通信工程学院, 北京 100876;
3. 海南中智信信息技术有限公司, 海南 海口 570100
摘要

针对现有位置预测研究中忽略用户行为序列特性、预测精度提升受限的问题,提出了基于用户行为序列特征的位置预测模型.首先以人工提取的方式构建用户行为的序列特征,融合到位置预测模型中,构造了基于行为序列特征的循环神经网络模型(BCP-RNN);借助RNN模型循环结构的特点,自动学习行为序列特征,并引入位置预测模型,构造了3层对称循环神经网络模型(TS-RNN).实验结果证明,引入行为序列特征的BCP-RNN和TS-RNN模型,其预测性能均高于现有的位置预测模型,验证了行为序列特征对挖掘用户移动模式的重要性.相较于人工提取行为序列特征的BCP-RNN模型,TS-RNN不仅节省了人工特征提取的成本,还弥补了人工分析的片面性造成的偏差,具有更高的预测性能.

关键词: 位置预测     位置语义     行为序列特征    
中图分类号:TP391 文献标志码:A 文章编号:1007-5321(2019)06-0149-06 DOI:10.13190/j.jbupt.2019-106
Location Prediction Model Based on User Behavior Sequence Features
HU Zheng1, LIU Yi-shan2, ZHU Xin-ning2, YU Jian-gang3    
1. State Key Laboratory of Networking and Switching Technology, Beijing University of Posts and Telecommunications, Beijing 100876, China;
2. School of Information and Communication Engineering, Beijing University of Posts and Telecommunications, Beijing 100876, China;
3. Hainan Zhongzhixin Information Technology Company Limited, Hainan Haikou 570100, China
Abstract

In order to solve the problem of ignoring the character of user behavior sequence and limiting the improvement of prediction accuracy, two location prediction models based on the character of user behavior sequence were proposed. Firstly, behavior+context+profile+RNN (BCP-RNN) model is constructed by manually extracting sequence features of user behaviors and integrating the features into the location prediction model. Then three-layer symmetrical neural network (TS-RNN) model is constructed by automatically learning behavior sequence features based on the recurrent structure of RNN model and integrating the features into location prediction model. Experiments show that, compared with the existing location prediction models, BCP-RNN and TS-RNN improves the prediction performance, verifying the importance of behavior sequence features in mining user movement patterns. Besides, compared with the BCP-RNN model of manually extracting behavior sequence features, TS-RNN not only saves the cost of artificial feature extraction, but also makes up for the deviation caused by one-sided human analysis, and has higher prediction accuracy.

Key words: location prediction     location semantic     sequence features of behaviors    

定位技术的飞速发展使得人们能够获取大规模移动对象的地理位置信息,由此涌现出了多种基于位置的服务,如商品推荐、广告投放、交通流量分析和异常事件监测等.其中,位置预测作为实现上述应用场景的基础研究问题,对于理解用户空间移动模式具有重要作用.然而相较于普通的序列预测问题,位置预测更加复杂.在位置预测问题中挖掘用户的移动模式时,需要考虑多方面因素的影响,包括位置选择受到时空上下文的影响[1-2]、位置语义对轨迹序列的内在驱动力[3-4]、用户日常行为模式对轨迹的影响[5-6]等.因此为实现特定场景下更精确的决策制定、提升用户服务体验,如何应对时空轨迹的复杂场景、提高预测精度成为位置预测研究的首要问题.

现有的位置预测研究中,研究者通过挖掘位置轨迹中的时空特性、位置语义等因素对移动模式的影响,以提升位置预测的精度.如Liu等[7]构造了时空循环神经网络模型(ST-RNN,spatial temporal recurrent neural networks),对时空上下文建模,考虑时间间隔和距离对用户位置选择的影响,构造特定时间间隔的权重矩阵和特定距离的权重矩阵. Yao等[4]结合用户的时空转移特征以及用户活动,将GPS位置轨迹转化为具有位置语义的轨迹,该项研究提出了基于语义的循环模型(SERM,semantics-enriched recurrent model),有效地捕获了基于位置语义的时空移动模式和用户偏好.然而现有研究仅关注当前的位置语义对移动模式的影响,忽略了位置语义与位置一样具有序列特性和前后依赖性,且位置语义的序列特征对于位置转移也产生了一定的影响,因此现有研究没有综合考虑位置的序列特征与位置语义的序列特征,从而无法分析更精细的用户移动模式,使得位置预测的性能提升受到限制.

针对现有研究中忽视位置语义序列特征的问题,将用户行为定义为位置语义,构建基于用户行为序列特征的位置预测模型,旨在挖掘更精细的用户移动模式,提升位置预测的精度.首先采用人工构建的方式提取用户行为的序列特征,并提取了上下文特征、用户画像信息,综合3项特征对移动模式的影响,构造了基于行为序列特征的循环神经网络模型(BCP-RNN,behaviors+context+profile+RNN).随后采用循环结构自动学习的方式提取用户行为的序列特征,构造了3层对称循环神经网络模型(TS-RNN,three-layer symmetrical recurrent neural network).经实验结果证明,行为序列特征对于挖掘用户移动模式具有重要作用,相较于现有模型,有效的提升了位置预测的精度.

1 模型方案及实现流程

位置预测的实现是基于用户历史轨迹序列学习用户的空间移动模式,采用序列预测的常用方法预测下一位置.然而相较于普通的序列预测,位置预测问题具有特殊性,需要考虑时空特性、位置语义、用户偏好等因素对空间移动模式的影响.另外,在考虑位置语义时,不仅当前位置语义对用户的移动模式产生影响,序列中位置语义的转移或序列特征对用户的移动模式有更明显的指向性[8].在构建位置预测模型时,对应位置预测情境的特殊性,融合了轨迹的时空上下文特征、位置语义、用户偏好,其中着重挖掘用户行为作为位置语义时,其序列特征对用户移动模式的影响.

位置预测模型的实现流程主要包括轨迹还原、特征提取、模型训练3个步骤[9].

1) 轨迹还原.包括用户位置轨迹、行为序列的提取.基于用户u的位置数据,经过清洗、去噪、合并等处理提取由停留点序列构成的位置轨迹Lu={l1u, l2u, l3u, …, lku};基于用户行为数据提取每个停留点的行为,构成与位置轨迹对应的行为序列Bu={b1u, b2u, b3u, …, bku}.

2) 特征提取.包括提取轨迹中的上下文特征、提取用户行为的序列特征、以及构建用户画像.将在第2节进行具体的介绍.

3) 模型训练.以位置轨迹作为模型输入,在模型结构中融合多类特征,挖掘精细的用户空间移动模式,训练得到基于用户行为序列特征的位置预测模型.

2 特征提取 2.1 上下文特征

基于位置轨迹中当前停留点的时空特征,提取影响用户移动模式的上下文因素.考虑天气因素及时间因素对用户位置选择的影响,提取当前停留点对应的天气信息w和星期几d作为当前位置的上下文特征cku,写作cku=(wku, dku),其中wku为对应7种天气状况的7维one-hot向量,同样的,dku为对应一周七天的7维one-hot向量.

2.2 用户画像

由于不同用户的住址、工作、兴趣偏好不同,所以不同用户位置轨迹中的停留点集合存在着差异.采用主题模型对所有用户的位置轨迹进行主题挖掘[10],用轨迹中停留点集合的深层主题分布构建个性化用户画像,修正位置预测的结果.

在隐式狄利克雷分布模型(LDA,latent dirichlet allocation)主题模型中,将一个用户的轨迹序列看作一篇文章,每个停留点是这篇文章的一个词项.设置影响用户位置选择的隐层主题数为N,由此得到了每个主题下的停留点分布.基于主题与停留点的关系,计算每个停留点lkN个主题下的概率,表示为N维向量D(lk).

$ D\left( {{l_k}} \right) = \left( {{p_{{T_1}}}\left( {{l_k}} \right),{p_{{T_2}}}\left( {{l_k}} \right), \cdots ,{p_{{T_N}}}\left( {{l_k}} \right)} \right) $

其中pTi(lk)代表停留点lk在主题Ti下的概率.基于所有停留点的概率分布D(lk),可以计算用户历史轨迹中所表现出的偏好分布,作为用户画像信息输入位置预测模型,具体的用户u在停留点lk处的用户画像Fuk(Ti)计算公式为

$ F_u^k\left( {{T_i}} \right) = \sum\limits_{m = 1}^k {{p_{{T_i}}}} \left( {{l_m}} \right) $ (1)

即计算用户当前画像中与第i个主题对应的第i维数值,最终得到与N个主题相对应的N维的用户画像

$ F_u^k = \left( {F_u^k\left( {{T_1}} \right), \cdots ,F_u^k\left( {{T_N}} \right)} \right) $
2.3 用户行为序列特征

在提取用户行为的序列特则时,采用两种方案.一是人工定义、提取用户行为的转移概率作为行为的序列特征[8],构造BCP-RNN模型(见第3节);二是借助于RNN模型中的循环结构自动学习用户行为序列中的传递信息作为序列特征,构造TS-RNN模型(见第4节).

在进行人工特征提取时,借鉴Yu等[8]的方法.基于用户的行为序列,首先统计所有用户K类行为的转移概率,得到全体用户K×K维的公共活动转移概率矩阵Pcommon;然后提取用户u当前行为的历史行为序列,计算该用户历史行为序列中的K×K维的行为转移概率矩阵Pindividual.在计算用户u当前行为的序列特征时,利用公式

$ \begin{array}{*{20}{c}} {p\left( {{H_{k + 1}} = {b_i}|{H_k}} \right) = \lambda {\mathit{\boldsymbol{p}}^{{\rm{individual}}}}\left( {{b_i}|{H_k}} \right) + }\\ {\left( {1 - \lambda } \right){\mathit{\boldsymbol{p}}^{{\rm{common}}}}\left( {{b_i}|{H_k}} \right)} \end{array} $ (2)

其中权重λ

$ \lambda \left( s \right) = \frac{b}{{\rm{ \mathsf{ π} }}}\arctan \left( {s - a} \right) + c $ (3)

基于以上公式的计算,可以得到用户下一行为Hk+1=bi的概率,由此得到用户从当前行为转移到下一行为的K维转移概率向量P(Hk+1|Hk),作为位置预测模型中的行为序列特征aku,表示为

$ \begin{array}{*{20}{c}} {a_k^u = \left( {p\left( {H_{k + 1}^u = {b_1}|H_k^u} \right),p\left( {H_{k + 1}^u = {b_2}|H_k^u} \right), \cdots ,} \right.}\\ {\left. {p\left( {H_{k + 1}^u = {b_K}|H_k^u} \right)} \right)} \end{array} $
3 BCP-RNN模型

RNN模型在位置预测研究中表现出了巨大的性能优势,Chen等[11]对比了几个机器学习模型和神经网络模型在位置预测研究中的性能,实验结果表明,时序相关的神经网络模型在位置预测问题中达到的准确度比传统机器学习模型高出7%.因此以RNN模型为原型,通过改造模型结构,综合考虑人工提取的行为序列特征、上下文特征、用户画像对移动模式的影响,构造BCP-RNN模型.模型结构如图 1所示.

图 1 BCP-RNN模型结构

在该模型中,对于模型的输入轨迹Lu={l1u, l2u, l3u, …, lku},首先将每一个输入的停留点嵌入到n维的隐层空间,其嵌入层公式为

$ X_k^u = l_k^u{\mathit{\boldsymbol{E}}_l} $ (4)

其中:El为位置向量的嵌入矩阵,维度为|Ln,|L|为停留点的总数,n代表嵌入向量及模型隐藏层的维度.随后在模型中的循环结构和全连接层依此引入人工提取的行为序列特征、上下文特征、用户画像.

3.1 基于用户行为序列特征的位置预测

在模型中引入用户的行为序列特征时,基于行为特征序列Au={a1u, a2u, a3u, …},首先将每一个停留点的K维行为序列特征aku通过全连接层进行抽象特征提取,其公式为

$ Y_k^u = g\left( {a_k^u{\mathit{\boldsymbol{Q}}_1}} \right) $ (5)

其中Q1K×n维的全连接矩阵,将行为特征映射到与隐藏层相同的维度空间中,g(x)为ReLU函数

$ g\left( x \right) = 1/\left( {1 + {e^{ - x}}} \right) $ (6)

考虑到行为的序列特征影响着相邻位置之间的转移过程,因此将其引入模型中的隐藏层传递过程,并采用加和的方式将行为特征与停留点向量合并,保留停留点和行为序列特征的相互作用.作为RNN神经网络模型的输入x,模型的循环结构公式为

$ h_k^u = f\left( {\left( {X_k^u + Y_k^u} \right)\mathit{\boldsymbol{M}} + h_{k - 1}^u\mathit{\boldsymbol{W}}} \right) $ (7)

其中MWn×n维的权重矩阵,捕获当前输入或循环结构传递之间的状态信息.

3.2 基于上下文特征的位置预测

用户当前的停留点在不同的上下文情境下,会体现出不同的特征属性.在挖掘停留点在特定上下文cku中的特征属性时,采用与当前上下文相适应的输入权重矩阵Mcku,将不同上下文情境的停留点映射为对应的特征表达[7],因此本模型的循环结构的公式表达为

$ h_k^u = f\left( {\left( {X_k^u + Y_k^u} \right){\mathit{\boldsymbol{M}}_{c_k^u}} + h_{k - 1}^u\mathit{\boldsymbol{W}}} \right) $ (8)
3.3 融合用户画像的位置预测

在模型中融合用户画像时,采用全连接层将用户画像映射到与隐藏层相同的维度空间,并对隐藏层输出的预测结果进行修正,预测下一位置[3].首先Fku经过全连接传递,得到用户画像的n维向量为

$ e_k^u = g\left( {F_k^u{\mathit{\boldsymbol{Q}}_2}} \right) $ (9)

其中Q2N×n维的全连接矩阵,将用户画像映射到与隐藏层输出相同的维度空间中,g(x)为ReLU函数.最终结合位置预测模型隐藏层的输出hku,计算最终的预测结果

$ o_k^u = {\rm{softmax}}\left( {\left( {h_k^u + e_k^u} \right)\mathit{\boldsymbol{V}} + b} \right) $ (10)

输出|L|维向量oku,代表每一个停留点是下一位置的概率.

4 TS-RNN模型

在BCP-RNN模型中,采用人工特征提取的方式计算行为转移概率,构建用户的行为序列特征.为了完善对用户行为序列的挖掘,避免人工分析的片面性造成的偏差,因此采用RNN模型中的循环结构自动学习行为序列中的传递特征,基于历史行为序列提炼隐藏层传递信息,作为用户行为序列的序列特征.

为了在位置预测模型中同时挖掘用户行为和轨迹的序列特征,并保留位置和行为之间的相互作用,构造了具备3层对称循环结构的模型TS-RNN. TS-RNN模型的结构如图 2所示.

图 2 TS-RNN模型结构
4.1 面向位置序列的循环结构

3层循环结构的其中之一即用于挖掘位置轨迹的序列特征,从用户历史轨迹中学习空间移动模式.对应模型结构的Location模块.其中将模型的输入轨迹Lu={l1u, l2u, l3u, …, lku}中的每个停留点lku嵌入到n维的隐层空间,其嵌入层公式为

$ X_k^u = l_k^u{\mathit{\boldsymbol{E}}_l} $ (11)

其中:El为位置向量的嵌入矩阵,维度为|Ln,|L|为停留点的总数,n代表嵌入向量及模型隐藏层的维度.最终嵌入层的输出X作为RNN循环结构的输入,再依照BCP-RNN模型中引入上下文特征的方式,自适应变换位置输入的权重矩阵,构造的循环结构的公式表达为

$ h_{l,k}^u = f\left( {X_k^u{\mathit{\boldsymbol{M}}_{c_k^u}} + h_{l,k - 1}^u{\mathit{\boldsymbol{W}}_l}} \right) $ (12)
4.2 面向行为序列的循环结构

与面向位置序列的循环结构相对应,模型中另一个循环结构用于挖掘行为序列的序列特征,对应Behavior模块.将行为序列作为输入,每一个行为bku嵌入到n维空间中,嵌入层公式为

$ Z_k^u = b_k^u{\mathit{\boldsymbol{E}}_b} $ (13)

其中:Eb为用户行为的嵌入矩阵,维度为|Bn,|B|为行为类型的总数,n代表嵌入向量及模型隐藏层的维度.最终嵌入层的输出Z作为RNN神经网络模型的输入,构造的循环结构的公式表达为

$ h_{b,k}^u = f\left( {Z_k^u{\mathit{\boldsymbol{M}}_b} + h_{b,k - 1}^u{\mathit{\boldsymbol{W}}_b}} \right) $ (14)
4.3 面向位置行为相互作用的循环结构

为了挖掘用户行为对位置序列的内在驱动、用户位置对行为序列的空间指向,构造第3个循环结构,面向位置和行为的相互作用,对应Location & Behavior模块.将用户位置的隐藏层输出hl, ku与行为的隐藏层输出hb, ku合并,通过RNN循环结构学习位置和行为相互作用的序列特征,得到第3层循环结构的公式表达为

$ h_k^u = f\left( {\left( {h_{l,k}^u + h_{b,k}^u} \right)\mathit{\boldsymbol{M}} + h_{k - 1}^u\mathit{\boldsymbol{W}}} \right) $ (15)

经过3层对称循环结构后,按照BCP-RNN模型引入用户画像的方式,对隐藏层的输出进行修正,通过全连接层计算最终的预测结果oku

$ o_k^u = {\rm{softmax}}\left( {\left( {h_k^u + e_k^u} \right)\mathit{\boldsymbol{V}} + b} \right) $ (16)
5 实验及对比分析 5.1 实验环境与数据

采用某市50 000名运营商用户的位置数据进行实验.提取用户的通话详单(CDR,call detail records)数据,还原用户轨迹,并过滤掉轨迹中停留点数少于10个的用户,最终获得全市范围内389个停留点;基于兴趣点(POI,point of interests)数据定义用户在每个停留点的用户行为,采用该停留点的POI分布、到达时间、停留时间综合表示用户行为,最终获得797种用户行为向量.模型基于Tensorflow框架实现,设置隐藏层维度n=15,批处理数据量为64,学习率为0.01,设置100次迭代使得预测结果基本稳定.取每条用户轨迹前80%作为训练集,后20%为测试集,验证模型性能.

5.2 实验评估指标

在进行预测性能评估时,采用Hitting Ratio@k和NDCG@k作为预测性能的评价指标.其中Hitting Ratio@k计算测试样本中被概率最大的前k个结果成功覆盖的比例. NDCG@k衡量了样本真实标签在预测结果中的概率排名,概率排名越高,则NDCG@k值越高,效果越好.

5.3 实验及结果分析

位置预测模型的精度提升取决于挖掘用户精细的移动模式,提出的BCP-RNN与TS-RNN模型融合了以往研究忽略的用户行为的序列特征,挖掘行为序列特征对用户位置序列的影响,学习更精细的用户移动模式.对比现有的位置预测模型,观察2个模型在HR@k,NDCG@k两个性能指标上的表现,k值取1、5、10,结果如表 1表 2所示.

表 1 不同位置预测模型的HR@k  

表 2 不同位置预测模型的NDCG@k  

隐马尔可夫模型(HMM,hidden markov model)与RNN模型通过挖掘位置序列的隐藏层传递状态对下一位置进行预测;ST-RNN[7]重在挖掘位置当前的时空上下文和时空的转移上下文对移动模式的影响. SERM[4]模型重点考虑用户位置轨迹的时空特性和位置语义,并引入用户画像对预测结果进行修正.与提出的模型相比,SERM模型没有考虑位置语义序列特征对位置转移的影响,而侧重挖掘位置语义和当前位置相互作用. 2个模型相较于HMM、RNN,HR和NDCG指标均高出10%左右;相较于ST-RNN、SERM,平均高出5%左右.因此,引入用户行为的序列特征对提升位置预测模型的精度是有效的.

另外,在传统序列预测模型RNN中分别引入上下文特征、用户画像、用户行为序列特征3类因素,表 3表 4所示为3类特征对于位置预测性能的影响.

表 3 引入不同影响因素的位置预测模型的HR@k  

表 4 引入不同影响因素的位置预测模型的NDCG@k  

另外,对比BCP-RNN与TS-RNN的预测性能,当batch_size不断变化时性能指标如表 5表 6所示.

表 5 不同batch_size下两模型的HR@10  

表 6 不同batch_size下两模型的NDCG@10  

可以看出,自动学习用户行为序列特征的方式比人工分析提取实现的模型预测精度更高.总体来说,TS-RNN模型结构更复杂,但节省了人工特征提取的工作量,避免了人工分析处理的片面,能从用户的历史行为序列中学习到更完整的传递信息.

6 结束语

针对现有位置预测研究中忽略用户行为序列特征、预测精度不高的问题,提出了基于用户行为序列特征的位置预测模型.在构建模型时,充分考虑了位置序列预测问题的特殊性,综合轨迹中的时空特征、位置语义、用户画像影响因素,并重点引入了移动模式的关键影响因素——行为序列特征.其中BCP-RNN模型中采用了人工定义的行为转移概率分布作为用户行为的序列特征,TS-RNN模型中采用RNN循环结构自动学习行为的序列特征.实验结果表明,两个模型的预测性能均明显高于现有位置预测模型,验证了用户行为作为位置语义具有序列特性,且行为的序列特征对挖掘用户移动模式具有重要影响.除此之外,TS-RNN提出了自动学习序列特征的模型方案,节省人力且避免了人为偏差,相较于现有研究中的位置预测模型和BCP-RNN模型,具有更高的预测精度.

参考文献
[1]
鲜学丰, 陈晓杰, 赵朋朋, 等. 基于上下文感知和个性化度量嵌入的下一个兴趣点推荐[J]. 计算机工程与科学, 2018, 40(4): 616-625.
Xian Xuefeng, Chen Xiaojie, Zhao Pengpeng, et al. Context-aware personalized metric embedding for next POI recommendation[J]. Computer Engineering & Science, 2018, 40(4): 616-625. DOI:10.3969/j.issn.1007-130X.2018.04.007
[2]
Ren Xingyi, Song Meina, E Haihong, et al. Context-aware probabilistic matrix factorization modeling for point-of-interest recommendation[J]. Neurocomputing, 2017, 241: 38-55. DOI:10.1016/j.neucom.2017.02.005
[3]
Karatzoglou A, Lamp S C, Beigl M. Matrix factorization on semantic trajectories for predicting future semantic locations[C]//2017 IEEE 13th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob). New York: IEEE Press, 2017: 1-7.
[4]
Yao D, Zhang C, Huang J, et al. SERM: a recurrent model for next location prediction in semantic trajectories[C]//the 2017 ACM.[S.l.]: ACM, 2017: 2411-2414.
[5]
Khoshahval S, Farnaghi M, Taleai M, et al. A personalized location-based and serendipity-oriented point of interest recommender assistant based on behavioral patterns[M]//Lecture Notes in Geoinformation and Cartography. Cham: Springer International Publishing, 2018: 271-289.
[6]
Cao Jiuxin, Xu Shuai, Zhu Xuelin, et al. Effective fine-grained location prediction based on user check-in pattern in LBSNs[J]. Journal of Network and Computer Applications, 2018, 108: 64-75. DOI:10.1016/j.jnca.2018.02.007
[7]
Liu Q, Wu S, Wang L, et al. Predicting the next location: a recurrent model with spatial and temporal contexts[C]//30th AAAI Conference on Artificial Intelligence.[S.l.]: AAAI Press, 2016: 194-200.
[8]
Yu Chen, Liu Yang, Yao Dezhong, et al. Modeling user activity patterns for next-place prediction[J]. IEEE Systems Journal, 2017, 11(2): 1060-1071. DOI:10.1109/JSYST.2015.2445919
[9]
杨洁.基于历史轨迹的位置预测方法研究[D].杭州: 杭州电子科技大学, 2015.
[10]
Xu Zhenxing, Chen Ling, Chen Gencai. Topic based context-aware travel recommendation method exploiting geotagged photos[J]. Neurocomputing, 2015, 155: 99-107. DOI:10.1016/j.neucom.2014.12.043
[11]
Chen N C, Xie W, Welsch R E, et al. Comprehensive predictions of Tourists' next visit location based on call detail records using machine learning and deep learning methods[C]//2017 IEEE International Congress on Big Data (BigData Congress).[S.l.]: IEEE, 2017: 1-6.