本文摘要:摘要:近年来,基于位置的社交网络被广泛使用,用户通过在兴趣点签到以记录他们的行程,并与其他用户分享他们的感受和评价。兴趣点推荐是基于位置的社交网络提供的一项重要服务,一方面它可以帮助用户快速发现感兴趣的兴趣点,另一方面也有利于兴趣点提供商
摘要:近年来,基于位置的社交网络被广泛使用,用户通过在兴趣点签到以记录他们的行程,并与其他用户分享他们的感受和评价。兴趣点推荐是基于位置的社交网络提供的一项重要服务,一方面它可以帮助用户快速发现感兴趣的兴趣点,另一方面也有利于兴趣点提供商更全面深入地了解用户偏好,并有针对性地提高服务质量。兴趣点推荐主要基于对用户历史签到数据以及内容、社交关系等信息的分析。这篇论文系统归纳了兴趣点推荐中需要解决的四个挑战,即时空序列特征提取、内容社交特征提取、多特征整合以及对数据稀疏性问题的处理,总结了使用深度学习方法解决这四个挑战的相关工作,并指出了它们的不足。最后论文提出了三类在兴趣点推荐上还没有得到充分利用的深度学习方法,即使用增量学习加速推荐模型更新、使用迁移学习缓解冷启动问题以及使用强化学习建模用户动态偏好。这篇论文聚焦在深度学习方法在兴趣点推荐上的应用,希望通过分析总结最新的研究进展,为进一步提升推荐效果提供研究思路。
关键词:兴趣点推荐;深度学习;特征提取;特征整合;数据稀疏性
概述
智能手机的普及和全球定位系统的支持促进了基于位置的社交网络(Location-basedSocialNetwork,LBSN),如Foursquare、Yelp、Instagram、大众点评等,的广泛使用。兴趣点(PointofInterest,POI)推荐是LBSN提供的一项重要服务,一方面可以方便用户规划行程、快速发现感兴趣的兴趣点;另一方面,也可以帮助兴趣点服务提供商和广告商更全面深入地了解用户偏好,发掘更准确的市场目标群体,并引入更有针对性的广告策略吸引用户。LBSN中包含了大量用户和兴趣点的信息,为挖掘用户偏好提供了基础。
在一个典型的LBSN中,用户可以通过在兴趣点签到以记录行程,一次签到(Check-in)可以用一个“<>”三元组表示。每个用户的多次签到记录可以根据时间戳排序构成其签到序列,即用户轨迹。签到记录直接反映了用户对兴趣点的偏好。此外,用户还可以在LBSN中发表对兴趣点的评价或上传照片;可以关注其他用户并分享他们对于兴趣点的感受,与其他用户之间形成社交好友关系,上述内容信息和社交关系信息也隐含了用户的偏好。
因此,兴趣点推荐服务的实现可以依托于从LBSN的丰富信息中挖掘出的用户偏好。传统推荐系统中的一些经典方法可以被运用到兴趣点推荐中,其中使用最广泛的方法之一是基于矩阵分解的方法[1-2],其原理是通过分解“用户-兴趣点”签到矩阵(user-POIcheck-inmatrix)获取表征用户和兴趣点关联的低维隐特征,但这种方法没有考虑用户签到序列的序列特征。另一类方法将签到序列抽象为Markov链[3-5],仅根据上一次签到决定下一次签到的推荐,没有考虑更早期的历史签到中体现的用户偏好信息对下一次签到的影响。
此外,这两类方法都只使用了用户签到数据,LBSN中的其他信息没有得到充分有效地利用。随着人工智能技术的快速发展,深度学习已被证实可以有效地从大量数据中学习隐藏信息并预测未来状态。相比于传统的机器学习算法,它可以通过模型自动化从数据中提取并处理特征。将深度学习应用于兴趣点推荐系统有助于充分利用系统中丰富的特征并挖掘特征之间的复杂关联。
近年来,兴趣点推荐问题已得到了广泛的研究。现有的一些有代表性的综述[6-8]根据推荐目标将兴趣点推荐分为用户通用兴趣点推荐和用户下一个兴趣点推荐;根据用户偏好的主要影响因素将其分为地理因素、时间因素、社交因素和内容因素主导的兴趣点推荐系统;根据使用的数据种类将其分为基于用户位置、轨迹、活动以及以上多种数据的兴趣点推荐系统。不同于这些综述对兴趣点推荐问题中涉及的要素进行分类,我们聚焦于该问题本身的挑战以及深度学习方法在解决这些挑战的应用上,试图从方法的角度对兴趣点推荐的研究进行总结并提供未来研究思路。
1兴趣点推荐问题的挑战
兴趣点推荐需要根据LBSN中的大量相关信息对用户偏好进行总结和刻画,给出个性化的兴趣点推荐,针对兴趣点推荐系统的特性,我们将其中的挑战总结为以下四个方面:
1)如何从签到数据中提取时空序列特征?用户的历史签到序列是LBSN中用户对兴趣点偏好最直观的体现。与传统的“用户-商品”矩阵相比,签到序列包含了上下文时空信息,充分挖掘其时空序列特征可以有效改善对用户偏好的建模效果。
2)如何充分利用LBSN中的信息?除了用户签到序列,LBSN中还包含大量用户生成内容(User-GeneratedContent,UGC)和社交关系信息,如用户发布的关于某个兴趣点的照片评论、用户之间的关注关系等。这些信息能够反映出用户的关注点和兴趣偏好,同时也隐含了兴趣点的特征,因此可以被用来进一步改善兴趣点推荐的效果。
3)如何综合多特征的影响实现兴趣点推荐?如上所述,兴趣点推荐系统中包含大量体现用户偏好的特征。从特征对象的角度可以分为用户特征、兴趣点特征和外部环境特征;从用户偏好主要影响因素的角度可以分为时空因素、内容因素和社交关系因素等。一个有效且有拓展性的模型需要综合考虑这些特征的共同影响以实现个性化的兴趣点推荐。
4)如何处理“用户-兴趣点”签到矩阵的稀疏性问题?虽然LBSN被广泛使用,但单个用户访问过的兴趣点数量相比于全部兴趣点而言是极少的。此外,对于新用户和新注册的兴趣点,LBSN中关于它们的历史签到信息较少。鉴于以上原因,“用户-兴趣点”签到矩阵具有较强的稀疏性。怎样挖掘有限的历史签到数据、利用没有历史签到的用户兴趣点其本身的特性以在一定程度上缓解数据稀疏性问题是许多相关工作研究的焦点。
基于以上对兴趣点推荐问题挑战的总结,本文将从时空序列特征提取、内容社交特征提取、多特征整合和无签到用户兴趣点处理四方面对使用深度学习解决这些挑战的背景和优势进行分析,对相关工作中用于解决四个问题的具体深度学习方法进行回顾。
通过对兴趣点推荐中深度学习方法的总结和分类,2时空序列特征提取用户的历史签到数据是LBSN中反映用户对兴趣点偏好的最直观的信息。用户签到包括其访问的兴趣点和时间戳,用户偏好受到时空特征的限制和影响,例如由于营业时间限制,一些兴趣点只会在特定的时间段被访问;根据地理学第一定律[9],兴趣点之间的距离远近在一定程度上决定了它们之间关联的紧密程度。此外,签到序列往往具有一些序列特征,如某些兴趣点之间访问的连续性、用户偏好的一致性、用户行为的周期性等。
推荐系统传统的矩阵分解方法没有考虑到签到数据的时空序列特征,一些相关工作[11-13]试图使用传统统计和概率学的方法对矩阵分解方法进行改进,如最小化连续两次访问的用户向量差[11]、最小化候选兴趣点向量与用户历史访问过的兴趣点向量之间的差[12]等。
但是这些改进只能启发式地描述签到序列一些显式的宏观特征,用户签到数据中隐含的特征和联系依然很难被充分挖掘和利用。近年来随着自然语言处理技术的快速发展以及处理序列的神经网络模型的广泛使用,深度学习方法被证实在处理序列数据上具有很大优势,通过对循环神经元结构的改造、“门”的设计以及注意力机制的运用,这类方法可以有效地在序列数据中刻画复杂的上下文特征并捕捉用户的长短期偏好,因此可以被应用于LBSN中包含时空信息的签到序列的特征提取。
在本章中,我们主要总结归纳了两类提取时空序列特征的方法,第一类是使用自然语言处理中获取词向量的方法来处理兴趣点序列,这类方法更加关注局部的序列特性,即某些兴趣点常在短期内被同一用户访问的模式,使这些兴趣点拥有相近的隐特征向量,在推荐时根据隐特征向量给出符合用户历史偏好的兴趣点;第二类方法是使用一些常用的处理序列的神经网络模块,如循环神经网络和注意力机制等,这类方法相比于第一类方法可以获取历史兴趣点序列的长期特征即用户的长期偏好以及兴趣点被访问的前后关系特征,并可充分挖掘利用兴趣点签到相关的上下文信息,如兴趣点地理位置、签到时间等,因此在相关工作中被应用得更加广泛。
2.1词向量获取方法
为获取签到序列的序列特征,兴趣点推荐系统需要挖掘兴趣点之间的潜在关联,一类常见的方法是借鉴自然语言处理中获取词向量的方法,将每个兴趣点类比为一个单词,将用户历史签到的兴趣点序列看作句子,最终刻画用户的兴趣点访问模式可以被转化为提取句子的语义特征。常用的词向量获取方法Word2vec模型[10]分为两种实现,即Skip-gram和ContinuousBag-of-Words(CBOW)。Skip-gram是根据当前的词来预测其周围的词,而CBOW则是根据周围的词预测当前的词,这两种模型均可被应用于兴趣点推荐。
文献[14]利用Skip-gram实现以建模用户的签到兴趣点序列以获取每个兴趣点的隐特征,Skip-gram在兴趣点推荐中其目标方程是最大化兴趣点上下文(历史数据中曾经在某个兴趣点前后被访问的兴趣点)和该兴趣点同时出现的概率,该方法在推荐前十个兴趣点时比利用非一致性和连续性的特征改进的矩阵分解算法[11]准确率提高了约0.03。文献[15]对上述方法进行了进一步优化,将用户每一天的签到序列看作一个单独的句子,并对兴趣点在工作日和周末的签到进行了区分。文献[16]则使用了CBOW实现,根据兴趣点序列获取兴趣点特征表示。
2.2处理序列的神经网络方法
使用类比后获取词向量的方法从用户签到序列中提取兴趣点特征表示仅仅考虑到了兴趣点短期被同用户访问的关系,而没有考虑到兴趣点之间更复杂的关联,签到数据的具体地理位置信息和时间戳信息没有得到充分利用。为了更加深入地挖掘带时空上下文的序列特征,一些处理序列的神经网络模块可被应用于兴趣点推荐。
循环神经网络(RecurrentNeuralNetwork,RNN)[17]是处理带丰富上下文信息的序列数据的有效方法,将基于循环神经网络的方法引入兴趣点推荐可以有效地从签到序列中提取时空序列特征。由于传统的循环神经网络在刻画用户长期偏好时存在梯度消失的问题,基于长短期记忆网络(LongShort-TermMemory,LSTM)[18]的方法在相关工作中被使用得更加广泛,它可以有效地刻画用户的长短期偏好。
文献[19]引入了兴趣点类别的概念并利用两个长短期记忆网络编码器分别提取用户签到的兴趣点类别序列和具体兴趣点序列的时间特征,根据兴趣点类别特征进行初步筛选后再根据每个兴趣点的特征和用户特征实现推荐,通过刻画不同层次的序列特征减小了推荐的搜索空间,提高了兴趣点推荐的准确性。上述工作通过改进循环神经网络的循环神经元使得其更加适应于兴趣点推荐系统中时空序列特征的处理。但这类方法的缺点在于循环神经元无法有区别地处理签到序列中不同的签到,而事实上历史签到对未来签到的影响并不完全是随着时间间隔的增大而衰减。
注意力机制是另一类处理序列的神经网络方法,可用于提取兴趣点序列的时空特征。从地理位置来看,每一对兴趣点之间的影响力大小不同。文献[26]提出了地理注意力网络来刻画兴趣点之间基于位置的关系,考虑了两个兴趣点之间的距离以及他们各自的地理属性——地理影响力(即该兴趣点引导用户去其他兴趣点的能力)和地理被影响力(即该兴趣点吸引其他兴趣点的访客的能力),使用候选兴趣点的地理被影响力作为注意力机制中的查询(Query)、该用户历史访问过的兴趣点的地理影响力作为键(Key),影响力系数根据两个兴趣点之间的距离使用RBF核获得,最终计算出注意力权重,模型输出的对于候选兴趣点的用户偏好为历史兴趣点地理影响的加权求和。地理注意力网络使得模型的性能在Foursquare和Gowalla数据集上均获得了较大提升。
在处理时序特征时,注意力机制一般与循环神经网络或长短期记忆网络一起使用,一类方法是使用后者获取每次签到的隐特征,再利用注意力机制加权聚合签到序列中多次签到的隐特征;另一类方法则是并行使用这两种方法从多维度提取签到序列的特征。文献[27]为推荐下一次签到的兴趣点,先将用户签到序列(候选兴趣点和推荐时间作为序列的最后一个节点)中每一次签到的兴趣点特征和时空上下文特征输入长短期记忆网络以获取其隐特征,由于每个历史签到对未来签到兴趣点预测的贡献程度不同,他们再利用注意力机制根据历史签到的隐特征和候选兴趣点的隐特征计算注意力权重加权的决策向量,基于此向量可预测该候选兴趣点被访问的概率,访问概率最高的候选兴趣点被作为推荐的结果。
文献[28]提出了一种基于长短期记忆网络模块的编码器-解码器模型来预测下一个被访问的兴趣点,其中编码器中的长短期记忆网络被用来获取签到序列中每个签到兴趣点的隐特征,解码器同样利用长短期记忆网络根据编码器的结果进一步挖掘签到兴趣点特征,时间注意力机制根据编码器输出的历史签到的隐特征和解码器计算的候选兴趣点特征计算注意力权重,考虑历史签到与候选兴趣点之间不同大小的相关性获取更准确的候选兴趣点特征进行推荐预测。不同于上述两个工作,文献[29]并行地使用注意力机制和长短期记忆网络来共同刻画用户偏好的整体特征。
他们认为用户签到行为从短期来看往往呈现出一定的连续性和一致性,长短期记忆网络适用于建模用户签到的序列行为以获取用户的短期偏好;而从长期来看,用户的偏好在不同的情景和位置下往往具有非一致性,注意力机制可以更有效地刻画用户的整体长期偏好。为了刻画出用户偏好在一天中具体时间段的特征,文献[19]区分了工作日和周末,并将1天根据签到的分布密度分为12个时间窗口,他们将长短期记忆网络输出的兴趣点隐特征划分到不同时间窗口中,并利用用户和窗口中兴趣点的隐特征的相关性计算了每个时间窗口的注意力权重,这项机制的设计大幅提升了兴趣点推荐的准确性。
2.3相关工作的不足
时空特征是兴趣点推荐系统中最重要的特征之一,目前大多数关于兴趣点推荐和位置预测的研究都聚焦于时空特征的提取和分析。大部分的现有工作侧重于利用深度学习模型提取时间序列特征,尽管一些工作引入了时间影响力和时间间隔的概念,但具体的时间点特征目前还没有能够被充分挖掘。例如,用户更倾向于在某些特定日期访问某些兴趣点,或某些兴趣点只在某些特定的时间段可被访问,粗粒度的时间窗口无法描述这些特征。与时间相关的用户访问模式如多层次的周期性和一致性特征有待进一步挖掘。
此外,相关工作多是对单个用户签到序列进行建模,尽管每个单序列中都包含了丰富的时空序列特征,但序列之间关系的挖掘和利用可以进一步提升用户偏好预测的效果,目前该方面的研究工作较少。不同序列中由于存在某些相同或相近的兴趣点可以联合进行时空特征提取,通过多序列特征提取可以获取更加全面的时空序列特征。
3内容社交特征提取
除了用户签到数据,LBSN中还包含了大量用户生成内容和社交关系信息,如用户评论、照片以及用户之间的社交关系等,这些信息也能够反映出用户的偏好和兴趣点的特征,在数据集中包含这些类型的辅助信息时,充分利用这些信息可以有效提升兴趣点推荐的效果。根据用户评论可以分析出用户访问某个兴趣点时的感受和情绪,用户上传的照片不仅可以反映出其关注点和偏好,还可以提供更多关于兴趣点的信息。此外由于这些数据都是公开可见的,它们也会影响其他用户对该兴趣点的预期,进而影响用户选择是否会访问该兴趣点,因此兴趣点推荐时需要考虑到评论、照片等用户生成内容中包含的语义特征。
4多特征整合
如上所述,从LBSN中的历史签到、用户生成内容和用户社交关系信息等数据中可以提取出丰富的特征,用户对于兴趣点的偏好受这些特征共同影响。从对象的角度分类,这些特征可以分为用户特征、兴趣点特征和外部环境特征;从影响因素的角度来看,可以分为时空特征、序列特征、内容语义特征、社交关系特征等。传统的协同过滤方法使用矩阵分解来获取用户和兴趣点的隐特征向量,这种方法将用户和兴趣点之间的关系刻画为隐特征之间的内积关系,其缺陷在于其要求用户和兴趣点的隐特征具有相同的维度,限制了用户兴趣点特征提取的效果;此外,线性运算无法全面地刻画用户和兴趣点之间的复杂关联,难以建模多特征的共同影响。
神经元中非线性激活函数的设计以及神经元之间的网络结构使得神经网络模型可以刻画输入和输出之间的复杂非线性关联,因此可以被用于兴趣点推荐中多特征整合的过程。此外,LBSN中各个实体(如用户、兴趣点等)之间存在不同类型的关系,构建多实体关系图并使用图嵌入的方法可以在特征整合的过程中有效地保留不同实体之间不同关系的结构特征。本章将归纳总结兴趣点推荐相关工作中进行特征整合时使用的这两类深度学习方法。
5无签到用户兴趣点处理
兴趣点推荐系统一个值得关注的特征就是其兴趣点数量规模巨大,由于时间和地理位置的限制单个用户只能访问其中很少一部分,因此兴趣点推荐系统存在严重的数据稀疏性问题。能否有效处理正样本(历史访问过的兴趣点)和负样本(历史未访问过的兴趣点)之间的数量不平衡对于用户偏好建模的效果至关重要,一方面如何根据少量历史访问数据从大量未访问过的候选兴趣点中推荐用户可能感兴趣的兴趣点是一项巨大挑战;另一方面用户历史未访问过的兴趣点也可以借助其自身的地理位置信息以及LBSN中的社交信息等辅助推荐。
近几年,在深度学习领域,介于监督学习和无监督学习之间的半监督学习受到了广泛关注。利用少量有标签数据和大量无标签数据,结合数据分布上的特征来构建模型,可以有效提升模型的准确性,同时降低训练的成本,因此被广泛运用在有标签数据不足的场景中。在兴趣点推荐系统中,历史签到数据可以被看作是有标签的数据,而历史未被访问的兴趣点是无标签数据,虽然有标签的数据量较少,但兴趣点的时空特征、用户的社交特征等分布具有一定的规律性,因此半监督学习的思想可以被应用在兴趣点推荐任务中以缓解数据稀疏的问题。
6未来工作
根据上述分析可以发现,深度学习方法的应用可以有效解决兴趣点推荐系统中存在的挑战,但目前兴趣点推荐的相关工作依然存在不足,未来可以针对上述四方面相关工作的不足进行进一步地研究。此外除了本文总结的兴趣点推荐的四方面挑战,深度学习相关技术还可用于解决目前兴趣点推荐中一些尚未得到足够重视的问题。
首先,目前大多数的兴趣点推荐相关工作都着力于提高推荐的准确率,而推荐方法的时空复杂度没有得到足够的重视。目前大多数的研究都是离线推荐,它们在已有的数据集上进行分析和预测,但实际运用这些推荐算法时,在线推荐是不可避免的。由于每秒钟都会有大量的用户签到数据产生,历史可用作训练的数据集的规模较大且增长较快,其中体现出的用户偏好也会不断变化,因此需要不断更新模型以适应这种偏好变化。
在效率和有效性之间做权衡,一种折中方案是将训练和推断模型拆分为离线和在线两部分,离线部分根据最近收集的数据定期重训练模型,其效率问题是可容忍的;在线部分基于最新的模型实时产生每个用户的兴趣点推荐结果,对效率敏感,但这种方案推荐的准确率一定程度上取决于模型更新的频率。未来工作可以考虑利用增量学习(incrementallearning)[65]来持续对兴趣点推荐的模型进行更新[66],增量学习不断利用新收集的数据来扩展模型知识,训练过程是高效且节省资源的,同时模型可以快速捕捉到用户偏好的变化。
其次,冷启动是兴趣点推荐的一个经典问题,预测新用户或新到访一个地区的用户的偏好是一项挑战。目前已有的兴趣点推荐方法往往需要挖掘用户的历史数据,但在一个LBSN中关于新用户的相关信息较少,不足以反映出他们的偏好。随着智能手机的普及以及各类应用数量的增加,用户往往会使用多个社交网络应用,即一个LBSN中的新用户很可能是其他社交网络的老用户。
因此可以通过“跨站链接(cross-sitelinking)”[67]的方式从其他网络中获取更多用户相关数据来帮助兴趣点推荐。迁移学习[68]也是一种可以被运用的技术,它根据两个任务之间的相关性,重利用在一个任务上训练的模型去处理另一个任务。目前仅有很少一些工作[69-70]尝试使用迁移模型根据本地用户的偏好来推断新移民或游客的偏好。未来一个LBSN可以从其他LBSN或传统社交网络中获取更多反映用户、兴趣点特征以及社交关系的信息以提升兴趣点推荐的效果。此外由于时空特征是兴趣点推荐的一个重要影响因子,因此一些交通数据可以被用来辅助推荐。
第三,用户的偏好是动态变化的,一个LBSN提供的兴趣点推荐服务不是一次性的服务,兴趣点推荐取决于已知的用户偏好,但同时用户偏好的变化也会受历史推荐的影响。现有的工作仅仅最优化了当前一次推荐的用户满意度而忽视了本次推荐对未来用户偏好的影响。
深度学习论文:基于深度学习算法的学术查询意图分类器构建
强化学习[71]可以被引入兴趣点推荐以建模用户偏好的动态特征,该方法已被广泛应用于其他推荐系统如商品推荐[72]和新闻推荐中[73],其主要思路是将推荐系统看作是一种追求用户效用(即奖励,reward)最大的策略(policy),每次推荐根据当前状态(state)计算出最优的动作(action),即推荐的兴趣点,再根据该行为进行状态转化,最终目标是最大化用户访问的兴趣点序列的效用之和,进而提高综合推荐效果。
对于具体强化学习方法的选择,由于用户状态的刻画较复杂,状态空间较大,因此推荐系统中一般使用是深度强化学习模型,在文献[72]和[73]中均采用了基于值函数的DeepQ-Learning(DQN)[74]的算法。由于候选兴趣点数量较大,动作空间也较大,在未来兴趣点推荐的研究中也可尝试使用基于策略梯度的深度强化学习算法,如DDPG算法[75]。
作者:汤佳欣1,2,陈阳1,2,周孟莹1,2,王新1,2
转载请注明来自发表学术论文网:http://www.fbxslw.com/jjlw/27603.html