首页> 中国专利> 自注意力下时空语义间隔感知的POI推荐系统及方法

自注意力下时空语义间隔感知的POI推荐系统及方法

摘要

本发明提供一种自注意力下时空语义间隔感知的POI推荐系统及方法,涉及推荐技术领域。本发明系统包括系统,包括数据采集清洗模块、个性化时间间隔模块、个性化空间间隔模块、语义相关性计算模块、时空语义间隔感知自我注意模块和POI推荐模块;通过将用户交互序列建模为具有不同时间间隔的序列,不仅考虑了用户签到数据的绝对位置,同时将这些不同时间间隔纳入推荐系统;基于用户的历史签到数据,通过考虑签到数据之间的时间间隔、空间间隔以及语义相关性,有效捕获用户的动态偏好,合理的向用户推荐其下一步会去的地方,提高推荐准确度。

著录项

  • 公开/公告号CN112199609A

    专利类型发明专利

  • 公开/公告日2021-01-08

    原文格式PDF

  • 申请/专利权人 东北大学;

    申请/专利号CN202011285422.X

  • 发明设计人 于亚新;吴晓露;包健;王亚龙;

    申请日2020-11-17

  • 分类号G06F16/9536(20190101);G06F16/9537(20190101);G06F16/9535(20190101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构21109 沈阳东大知识产权代理有限公司;

  • 代理人李梁

  • 地址 110819 辽宁省沈阳市和平区文化路3号巷11号

  • 入库时间 2023-06-19 09:30:39

说明书

技术领域

本发明涉及推荐技术领域,尤其涉及一种自注意力下时空语义间隔感知的POI推荐系统及方法。

背景技术

随着定位技术的快速发展以及智能手机的普及,大大增强了社交网络服务,越来越多的人通过智能手机使用在线社交网络,用户可以随时随地的分享他们当前所在的位置、图片、音频、视频及轨迹等,产生了许多基于位置的社交网络(Location Based SocialNetworks,LBSNs),如Foursquare、Gowalla和Yelp等等。在LBSNs中,用户通过移动设备以签到形式记录自己的位置空间信息,并分享他们对相关兴趣点POI(Point Of Interest)如旅游景点、博物馆、图书馆、餐厅等的评论信息和体验感觉。所谓的签到就是指移动设备的系统自动地获取位置信息。LBSNs的兴起吸引了越来越多的用户参与其中,签到记录数据成指数型增长,这在一定程度上造成了严重的信息过载。如何有效处理数据量持续上升的时空数据,挖掘用户有意义的运动行为模式,为用户提供简单快捷的推荐服务受到人们的普遍关注。

与传统POI推荐不同,下一个POI推荐的目标是利用用户的历史签到序列来预测其下一个感兴趣的地方。目前,大多数相关推荐算法是根据交互时间戳对签到数据进行排序,侧重于顺序模式挖掘,来预测用户下一步会去的地方。然而,这些推荐方式会丢弃时间戳的影响,只保留签到数据的顺序。即它们认为序列中相邻POI之间的时间间隔是相同的。但事实上,POI之间的时间间隔不同。即使POI的签到顺序相同,但具有更短时间间隔的POI将会对推荐效果产生更大的影响。另外,POI之间的距离以及语义信息(比如酒店、餐厅等)也是影响下一个POI推荐的重要因素。基于此,本发明提出将时间间隔、空间间隔和语义相关性三要素纳入下一个POI推荐系统中,利用其优势设计了一种新的时空语义间隔感知自我注意机制来推荐更合适的POI给目标用户,提高推荐效率。

发明内容

针对现有技术的不足,本发明提出一种自注意力下时空语义间隔感知的POI推荐系统及方法,基于用户的历史签到数据,通过考虑签到数据之间的时间间隔、空间间隔以及语义相关性,有效捕获用户的动态偏好,合理的向用户推荐其下一步会去的地方,提高推荐准确度。

为解决上述技术问题,本发明所采取的技术方案是:

一方面,一种自注意力下时空语义间隔感知的POI推荐系统,包括数据采集清洗模块、个性化时间间隔模块、个性化空间间隔模块、语义相关性计算模块、时空语义间隔感知自我注意模块和POI推荐模块;

所述数据采集清洗模块用于采集清洗基于位置的社交网络数据,即社交网站的用户签到数据集,包括用户信息、POI签到信息,经过数据清洗操作后进行存储;

所述用户信息为用户ID,所述POI签到信息包括POI ID、POI经纬度、POI语义,POI签到时间;

所述个性化时间间隔模块用于计算用户签到序列中POI之间的时间间隔;所述个性化空间间隔模块用于计算用户签到序列中POI之间的空间间隔;所述语义相关性计算模块用于计算用户签到序列中POI之间的语义相关性;所述嵌入模块用于将用户签到数据、绝对位置、时间间隔、空间间隔、语义相关性进行结合,获得反映用户实际需求的嵌入向量;所述绝对位置表示签到数据中每个POI的位置,通过字嵌入技术获得;

所述时空语义间隔感知自我注意模块用于学习融合签到数据、绝对位置、时间间隔、空间间隔、语义相关性的签到序列数据的特征向量;

所述POI推荐模块向目标用户进行下一步推荐。采用潜在因子模型来计算用户对候选集中POI的偏好评分。所述偏好评分越高则相关性越高,通过对分数进行由高到低排序来进行下一个POI推荐。

另一方面,一种自注意力下时空语义间隔感知的POI推荐方法,基于前述一种自注意力下时空语义间隔感知的POI推荐系统实现,包括以下步骤:

步骤1:采用基于位置的社交网络LBSN获取社交网站的用户签到数据集,然后进行数据清洗操作,去除被访问次数少于10次的用户及POI,获得最终的用户签到数据,同时采集POI属性信息,根据时间戳顺序对每个用户的签到记录进行排序。

所述对签到记录进行排序首先将用户的签到数据转换成固定长度为n的序列,如果序列长度大于n,则提取时间最近的n个签到记录,反之,则在序列左侧进行数据填充,即用第一个签到记录进行填充,直到长度满足n为止,最终生成长度为n的用户签到序列。

步骤2、采用个性化时间间隔模块,对步骤1中的固定长度用户签到数据进行处理,获取POI之间的个性化时间间隔信息;

步骤2-1、获取时间序列,从固定长度的用户签到数据中提取POI的签到时间属性,获得时间序列t;

步骤2-2、计算POI之间的时间间隔,获得时间间隔集合;POI之间的时间间隔计算公式如下,形成时间间隔集合T:

Δt

其中,ti和tj分别代表POI i和POI j的签到时间;

步骤2-3、选取时间间隔集合T中的最小时间间隔t

步骤2-4、采用阈值法对个性化时间间隔t

t

步骤3、采用个性化空间间隔模块,对固定长度的用户签到数据进行处理,获取POI之间的个性化空间间隔信息,具体步骤如下:

步骤3-1、获取空间序列,从固定长度的用户签到序列中提取POI的经纬度属性,获得空间序列d;

步骤3-2、计算POI之间的空间间隔,获得空间间隔集合D;

步骤3-2-1、将目标用户签到数据的地理经度和纬度转换成平面距离,根据平面距离计算目标用户POI之间的距离,计算公式如下式所示,形成空间间隔集合D:

其中,Distance(p

步骤3-2-2、选取空间间隔集合D中的最小空间间隔d

步骤3-3、采用阈值法对个性化空间间隔进行处理,假设精确的个性化空间间隔在超过设定阈值d’后是没有用的,对每个个性化空间间隔进行处理,则最终的用户个性化时间间隔为:

d

步骤4、采用语义相关性计算模块,计算用户签到序列中POI之间的语义关联关系,具体步骤如下:

步骤4-1、获取语义序列,从固定长度的用户签到序列中提取POI语义信息,获得语义序列c;

步骤4-2、将语义序列c划分成一对一POI序列集合c';

步骤4-3、对于每个一对一POI序列集合,计算二者之间的语义相关性;其中,s(p

其中,w

最终,获得用户语义相关性序列集合S。

步骤5、采用嵌入模块,将用户的签到数据、绝对位置与上述计算所得的时间间隔、空间间隔、语义相关性相结合,获得反映用户实际需求的输入序列的嵌入向量。

步骤6、采用时空语义间隔感知自我注意模块,学习融合位置关系、时间间隔、空间间隔、语义相关性的特征向量;

步骤6-1、采用自我注意力机制,通过整合输入序列的所有POI的影响,将其融入到正在处理的POI中,计算公式如下:

其中,n代表输入序列长度,x

其中,e

其中,W

步骤6-2、利用前馈神经网络,赋予模型非线性;

在时空语义间隔感知的自我注意层之后,使用前馈神经网络,赋予模型非线性,公式如下:

FFN(z

其中,W

采用残差连接和层归一化处理,计算公式如下:

Z

其中,f(z)是前馈神经网络或者自我注意层,⊙是元素智能乘积element-wiseproduct,μ和σ是输入向量z的均值和方差,α和β是学习的缩放因子和偏置项,ε为趋于0的正数;

步骤7、通过POI推荐模块,向目标用户进行下一步推荐。采用潜在因子模型来计算用户对候选POI i的偏好评分R

R

其中,x

采用上述技术方案所产生的有益效果在于:

本发明提出了一种自注意力下时空语义间隔感知的POI推荐系统及方法,本发明针对默认所有相邻的POI具有相同的时间间隔问题,本发明通过将用户交互序列建模为具有不同时间间隔的序列,不仅考虑了用户签到数据的绝对位置,同时将这些不同时间间隔纳入推荐系统;

其次,影响POI推荐效果的一个重要因素就是地理距离,用户会偏向去距离自己当前位置较近的地方。基于此,本发明考虑了空间间隔的影响,将其整合到推荐中;

此外,基于上述时间间隔、空间间隔要素的启发,本发明还引入了签到序列之间的语义相关性,反映用户的移动模式。本发明的另一优点在于成功运用自我注意机制,将不同的要素以及所有相关POI信息进行整合,实现更为精准的推荐效果。

附图说明

图1为本发明一种自注意力下时空语义间隔感知的POI推荐系统的体系结构框图;

图2为本发明一种自注意力下时空语义间隔感知的POI推荐方法流程图;

图3为本发明一种实施例在不同潜在维度下的推荐效果测试图;

图4为本发明一种实施例在不同序列长度下的推荐效果测试图;

图5为本发明一种实施例在不同推荐个数下的推荐效果测试图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

一方面,一种自注意力下时空语义间隔感知的POI推荐系统,如图1所示,包括数据采集清洗模块、个性化时间间隔模块、个性化空间间隔模块、语义相关性计算模块、时空语义间隔感知自我注意模块和POI推荐模块;

所述数据采集清洗模块用于采集清洗基于位置的社交网络数据,即社交网站的用户签到数据集,包括用户信息、POI签到信息,经过数据清洗操作后进行存储;

所述用户信息为用户ID,所述POI签到信息包括POI ID、POI经纬度、POI语义,POI签到时间;

所述个性化时间间隔模块用于计算用户签到序列中POI之间的时间间隔;考虑时间间隔对推荐效率的影响。即使签到序列中相同的POI顺序,签到时间不同,时间间隔也会不同,最终也会影响推荐准确度。所述个性化空间间隔模块用于计算用户签到序列中POI之间的空间间隔;考虑地理距离对推荐效率的影响。用户通常会选择访问距离自己较近的POI,而不是类似的POI,但是离现在很远。所述语义相关性计算模块用于计算用户签到序列中POI之间的语义相关性;在语义层面考虑下一个POI推荐问题。语义序列中不同POI之间相关性越高,代表用户的感兴趣程度越大,反映出用户的移动模式。

所述嵌入模块用于将用户签到数据、绝对位置、时间间隔、空间间隔、语义相关性进行结合,获得反映用户实际需求的嵌入向量;所述绝对位置表示签到数据中每个POI的位置,通过字嵌入技术获得;

所述时空语义间隔感知自我注意模块用于学习融合签到数据、绝对位置、时间间隔、空间间隔、语义相关性的签到序列数据的特征向量;随着模型处理输入序列的每个POI,自注意力机制会关注整个输入序列的所有POI,将所有相关POI的信息融入到我们正在处理的POI中,帮助模型对正在处理的POI更好地进行编码,获得融合更多信息的特征向量。

所述POI推荐模块向目标用户进行下一步推荐。采用潜在因子模型来计算用户对候选集中POI的偏好评分。所述偏好评分越高意味着相关性越高,通过对分数进行由高到低排序来进行下一个POI推荐。

另一方面,一种自注意力下时空语义间隔感知的POI推荐方法,基于前述一种自注意力下时空语义间隔感知的POI推荐系统实现,如图2所示,包括以下步骤:

步骤1:在Gowalla样本采集范围内采用基于位置的社交网络LBSN,获取社交网站的用户签到数据集,然后进行数据清洗操作,去除被访问次数少于10次的用户及POI,获得最终的用户签到数据,同时采集POI属性信息,根据时间戳顺序对每个用户的签到记录进行排序。

由于用户的签到数据有很多,本发明所述对签到记录进行排序首先将用户的签到数据转换成固定长度为n的序列,如果序列长度大于n,则提取时间最近的n个签到记录,反之,则在序列左侧进行数据填充,即用第一个签到记录进行填充,直到长度满足n为止,最终生成长度为n的用户签到序列。

本实施例中实验数据采集的是基于位置的社交网络Gowalla中用户及其相关活动数据。首先进行数据清洗,去除被访问次数少于10次的用户及POI,同时采集POI属性信息。然后,根据时间戳顺序对每个用户的签到记录进行排序。时间范围从2009年3月14日到2010年10月22日。实验数据采集的Gowalla空间范围是一个从(32.54273942,-114.3466677)到(40.59126377,-123.0006272)的范围。该范围可用数据包含了7858个用户个数,12541个POI,515713个签到记录。原始数据包含用户数据和POI数据两类数据,其中用户数据主要有用户ID属性;POI数据主要有POI ID、POI经纬度、POI签到时间、POI语义(比如酒店、餐厅)等属性。用户签到数据的格式如下:用户ID、POI ID、签到时间、经度、纬度、POI语义信息。

本发明实施例中,假如给定某用户u的签到记录,签到记录格式如上所示。首先将其转换成固定长度5的序列。如果序列长度大于5,则提取时间最近的5个签到记录。反之,则在序列左侧进行数据填充(用第一个签到记录进行填充),直到长度满足5为止。将用户序列按照时间排序,获得如表1所示的用户固定签到数据:

表1用户固定签到数据信息

步骤2、采用个性化时间间隔模块,对步骤1中的固定长度用户签到数据进行处理,获取POI之间的个性化时间间隔信息;

步骤2-1、获取时间序列,从固定长度的用户签到数据中提取POI的签到时间属性,获得时间序列t,t={2009-04-1923:36:04,2009-04-2000:27:03,2009-04-2002:59:31,2009-04-2003:03:05,2009-04-2004:14:56}。

步骤2-2、计算POI之间的时间间隔,获得时间间隔集合;POI之间的时间间隔计算公式式(1),形成时间间隔集合T:

Δt

其中,ti和tj分别代表POI i和POI j的签到时间;

将签到时间转换成时间戳格式:

t={1240155364.0,1240158423.0,1240167571.0,1240167785.0,1240172096.0}

利用公式(1),获得的时间间隔如下:

步骤2-3、选取时间间隔集合T中的最小时间间隔t

本实施例中个性化时间间隔如下:

步骤2-4、采用阈值法对个性化时间间隔t

t

假定时间阈值t'=256,对上述每个个性化时间间隔做处理,利用公式(3)将超出阈值的部分丢弃。

步骤3、采用个性化空间间隔模块,对固定长度的用户签到数据进行处理,获取POI之间的个性化空间间隔信息,具体步骤如下:

步骤3-1、获取空间序列,从固定长度的用户签到序列中提取POI的经纬度属性,获得空间序列d={(37.8023625614,-122.4058270454),(37.79762505,-122.4065995167),(37.798704571,-122.407296896),(37.8005003833,-122.4074578167),(37.8000101086,-122.4075114727)}。

步骤3-2、计算POI之间的空间间隔,获得空间间隔集合D;

步骤3-2-1、将目标用户签到数据的地理经度和纬度转换成平面距离,根据平面距离计算目标用户POI之间的距离,计算公式如式(4)所示,形成空间间隔集合D:

其中,Distance(p

本实施例中POI之间的平面距离,如下所示:

步骤3-2-2、选取空间间隔集合D中的最小空间间隔d

本实施例中个性化时间间隔如下:

步骤3-3、采用阈值法对个性化空间间隔进行处理,假设精确的个性化空间间隔在超过设定阈值d’后是没有用的,对每个个性化空间间隔进行处理,则最终的用户个性化时间间隔为:

d

假定空间阈值d'=10,对每个个性化空间间隔做处理。利用公式(6)摒弃大于空间阈值的个性化空间间隔。

步骤4、采用语义相关性计算模块,计算用户签到序列中POI之间的语义关联关系,具体步骤如下:

步骤4-1、获取语义序列,从固定长度的用户签到序列中提取POI语义信息,获得语义序列c;c={Historic Landmark,Bookstore,Coffee Shop,Pizza,Paper Goods}。

步骤4-2、将语义序列c划分成一对一POI序列集合c';c'={,,};

步骤4-3、对于每个一对一POI序列集合,计算二者之间的语义相关性;其中,s(p

其中,w

最终,获得用户语义相关性序列集合S。

本实施例中根据公式(7)到(9)获得POI语义相关性,如下所示:

步骤5、采用嵌入模块,将用户的签到数据、绝对位置与上述计算所得的时间间隔、空间间隔、语义相关性相结合,获得反映用户实际需求的输入序列的嵌入向量。

首先,将每个签到POI通过词嵌入算法转换成向量表示。签到POI向量表示如下:

另外,用户的签到数据是有顺序的,为了让模型理解POI顺序,给每个POI添加一个位置编码向量,这有助于确定每个POI的位置。位置向量如下:

然后,结合步骤2、3、4的相关要素,共同构成模型的输入。此时,模型的输入不仅包括签到数据的位置顺序,还包括时间间隔、空间间隔、语义相关性等。最终的嵌入向量表示如下:

步骤6、采用时空语义间隔感知自我注意模块,用于学习融合位置关系、时间间隔、空间间隔、语义相关性的特征向量,具体步骤如下:

步骤6-1、采用自我注意力机制,通过整合输入序列的所有POI的影响,将其融入到正在处理的POI中,实现POI更好地进行编码操作,计算公式如下:

其中,n代表输入序列长度,x

其中,e

其中,W

步骤6-2、利用前馈神经网络,赋予模型非线性;

自我注意机制是通过线性组合来整合相关要素的,考虑到不同潜在维度之间的相互作用,我们在时空语义间隔感知的自我注意层之后,使用前馈神经网络,赋予模型非线性,公式如下:

FFN(z

其中,W

为了避免过拟合、梯度消失等问题出现,采用残差连接和层归一化处理,计算公式如下:

Z

其中,f(z)是前馈神经网络或者自我注意层,⊙是element-wise product,μ和σ是输入向量z的均值和方差,α和β是学习的缩放因子和偏置项,ε为趋于0的正数,保证分母大于0;

在自我注意模块后,我们得到考虑序列全部信息的特征向量表示,即:

z

步骤7、通过POI推荐模块,向目标用户进行下一步推荐。采用潜在因子模型来计算用户对候选POI i的偏好评分R

R

其中,x

假定候选集中POI有3个,分别是Garden、Mexican、Corporate office。

首先,通过字嵌入技术获得候选集POI的特征向量。

x

x

x

利用公式(16),采用潜在因子模型来计算用户对候选集POI的偏好评分。

R

R

R

偏好分数越高意味着相关性越高,通过对偏好分数进行排序来进行下一POI推荐。R

本发明实施例中,通过实验验证了所提的时空语义间隔感知的基于自我注意力的下一POI推荐系统的有效性和可行性,通过三个实验对该系统进行性能验证。

首先,考虑用户最大序列长度n的影响。如图3所示,在保持其他最佳超参数不变的情况下,最大序列长度n从10到50的NDCG。当考虑更长的序列时,用户的推荐性能会提高。

其次,考虑潜在维度d的影响。如图4所示给出了潜在维度d从10到50的变化过程中,推荐性能的变化。潜在维度越长,推荐性能越好。

另外,本实施例实验中还考虑了推荐数量对推荐准确度的影响。如图5所示给出了推荐数量从1到20的变化过程中,推荐性能的变化。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号