一种POI推荐方法及推荐系统转让专利

申请号 : CN201910089802.7

文献号 : CN110119475B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 熊熙李元媛乔少杰王俊峰陈麟

申请人 : 成都信息工程大学

摘要 :

本发明公开一种POI推荐方法及推荐系统,涉及推荐技术领域,该方法包括:根据从LBSN门户网站收集的用户和POI数据构建的用户‑POI关系网络,利用网络嵌入方法学习得到用户和POI的嵌入向量;根据用户和POI的嵌入向量,构建包括多个关于用户和POI的关联因子的动态因子图模型,并根据所述多个关于用户和POI的关联因子建立在时空社交网络上的联合分布,通过学习得到所述联合分布中的参数值;计算得到使联合分布概率最大的节点值,然后计算每个节点的边缘概率,并按边缘概率和倾向性的乘积大小进行POI推荐;解决了因数据质量不可靠和时空模式难以确定导致的推荐准确性低的问题,显著提高推荐性能。

权利要求 :

1.一种POI推荐方法,其特征在于,该方法包括:根据从LBSN门户网站收集的用户和POI数据构建的用户-POI关系网络,利用网络嵌入方法学习得到用户和POI的嵌入向量;

根据用户和POI的嵌入向量,构建包括多种关于用户和POI的关联因子的动态因子图模型,并根据所述多个关于用户和POI的关联因子建立在时空社交网络上的联合分布,通过学习得到所述联合分布中的参数值;

计算得到使联合分布概率最大的因子图节点值,然后计算每个节点的边缘概率,并按边缘概率与倾向性乘积的大小将POI推荐给用户;

所述利用网络嵌入方法学习得到用户和POI的嵌入向量包括步骤:将所述用户-POI关系网络划分为POI的区域划分关系、用户的好友关系和用户对POI的访问记录三个子网络;

利用所述POI的区域划分关系、用户的好友关系和用户对POI的访问记录三个子网络学习得到用户和POI的嵌入向量;

所述学习得到用户和POI的嵌入向量方法包括:

进行以下更新操作,直到目标函数收敛:

利用负采样方法,从εvv中采样一条边以及R条负边,从εvu中采样一条边以及R条负边,更新POI的嵌入向量;所述更新POI的嵌入向量的公式为:其中, 表示从POI区域划分关系子网络中嵌入学习得到向量 和 的目标函数,d(vi,vj)表示兴趣点vi与vj在地理上的距离,εvv表示POI区域划分关系子网络的边集,eij表示εvv中vi与vj之间的一条边, 其中 表示的转置向量; 表示从用户对POI的访问记录子网络中嵌入学习得到向量 和 的目标函数; uk表示第k个用户, 表示第k个用户的嵌入向量 的转置向量, 表示 的转置向量, 表示现有数据中用户uj访问vi的次数,εvu表示用户对POI的访问记录子网络的边集;

从εuu中采样一条边以及R条负边,从εuv中采样一条边以及R条负边,更新用户的嵌入向量;

其中, 表示用户的好友关系子网络中嵌入学习得到向量 和 的目标函数, 表示用户对POI的防问记录子网络中嵌入学习得到向量 和 的目标函数, 表示现有数据中用户ui与uj的交互次数, 表示现有数据中用户ui访问vj的次数,εuu表示用户的好友关系子网络中的边集,εuv表示用户对POI的访问记录子网络的边集。

2.根据权利要求1所述的方法,其特征在于:所述从LBSN门户网站收集的用户和POI数据包括:用户基本信息、POI基本信息、用户之间的好友关系、用户签到记录和用户评论,所述用户签到记录和用户评论包括文本内容、时间和地点。

3.根据权利要求1所述的方法,其特征在于:构建的动态因子图模型中关于用户和POI的关联因子包括:倾向性关联因子,表示两个不同倾向之间的关联性,所述倾向为用户在某时刻访问POI的倾向;

地理-社交关联因子,表示用户和POI在某时刻的地理-社会信息与所述倾向之间的关联性;

距离关联因子,表示用户在某时刻与POI的距离与所述倾向之间的关联性;

情感关联因子,表示用户在某时刻对POI的情感与所述倾向之间的关联性;

时序关联因子,表示用户访问POI的倾向性在不同时间段之间的关联性。

4.根据权利要求3所述的方法,其特征在于:所述用户和POI的关联因子的具体表达式为:倾向性关联因子 和 表示在t时刻的两个倾

向,α为权重, 为倾向性关联函数,表示倾向性之间的关联度并输出一个向量,如果两个倾向之间拥有相同的用户或者POI,则认为它们之间的关联度为1,即 置为

1,Zα是归一化项;

地理-社交关联因子 表示用户和POI在t时刻的

地理-社会信息,并按 计算,表示用户ui和兴趣点vj在t时刻的嵌入向量内积,βij为权重, 为指示函数,当 大于所有 的平均值时, 置为1,表示 和存在关联,Zβ是归一化项;

距离关联因子 表示用户在t时刻与POI的距离,

γij为权重, 为指示函数,当 大于恒定阈值时, 置为1,表示 和 存在关联,Zγ是归一化项;

情感关联因子 表示用户在t时刻对POI的情感,δij为权重, 为指示函数,当 大于恒定阈值时, 置为1,表示 和 存在关联,Zδ是归一化项;

时序关联因子 是表示t′时刻用户访问POI的倾

向,ηtt′为权重, 为时序关联函数,表示倾向性在不同时刻的关联度并输出一个向量,当 和 都等于1时, 置为1,表示 和 存在关联,Zη是归一化项。

5.根据权利要求4所述的方法,其特征在于:所述联合分布由所述倾向性关联因子、地理-社交关联因子、距离关联因子、情感关联因子和时序关联因子相乘得到。

6.根据权利要求1或5所述的方法,其特征在于:所述学习得到所述联合分布中的参数值的过程中采用信念传播的方法计算得到期望值。

7.根据权利要求1所述的方法,其特征在于:采用信念传播的方法计算得到使联合分布概率最大的节点值。

8.基于权利要求1-7的任一项所述方法的一种POI推荐系统,其特征在于包括:网络嵌入模块,用于将收集的用户和POI的数据转换成用户和POI的嵌入向量;

动态因子模块,用于根据用户和POI的嵌入向量,建立动态因子模型,并学习得到参数值,进而求解得到使节点联合概率分布最大的节点值;

推荐模块,用于根据因子图节点最大联合概率分布对应的边缘概率和倾向性的乘积大小进行POI推荐。

说明书 :

一种POI推荐方法及推荐系统

技术领域

[0001] 本发明涉及推荐技术领域,特别是涉及一种基于时空关联因素的POI推荐方法及推荐系统。

背景技术

[0002] 移动互联网技术的出现与普及彻底改变了人们的日常生活,并产生了诸多新型生活服务模式,例如基于位置的社交网络(LBSN)服务。LBSN产生的海量数据包含了用户行为和偏好的信息,可以支持基于位置的个性化服务,如兴趣点推荐。
[0003] 现有技术针对数据稀疏性和冷启动等问题进行改进,取得了理想的效果,但仍然面临两个主要问题:1)数据质量不可靠,难以准确获得数据之间的关联;2)用户兴趣受多因素的影响,随时间与空间变化,难以确定其时空特征,例如人们在中午倾向于去餐厅而不是酒吧,但是深夜则更喜欢去酒吧而不是办公室。这两个问题极大地影响了推荐的准确性。

发明内容

[0004] 为了解决上述问题,本发明提供一种基于时空关联因素的POI推荐方法及推荐系统,解决了因数据质量不可靠和难以确定时空特征导致的推荐准确性低的问题。
[0005] 为此,本发明采用的技术方案是:
[0006] 提供一种POI推荐方法,该方法包括以下步骤:
[0007] 根据从LBSN门户网站收集的用户和POI数据构建的用户-POI关系网络,利用网络嵌入方法学习得到用户和POI的嵌入向量;
[0008] 根据用户和POI的嵌入向量,构建包括多种关于用户和POI的关联因子的动态因子图模型,并根据所述多个关于用户和POI的关联因子建立在时空社交网络上的联合分布,通过学习得到所述联合分布中的参数值;
[0009] 计算得到使联合分布概率最大的因子图节点值,然后计算每个节点的边缘概率,并按边缘概率与倾向性乘积的大小将POI推荐给用户。
[0010] 进一步的,所述从LBSN门户网站收集的用户和POI数据包括:用户基本信息、POI基本信息、用户之间的好友关系、用户签到记录和用户评论,所述用户签到记录和用户评论包括文本内容、时间和地点,所述用户基本信息包括用户ID和用户名,所述POI基本信息包括POIID、POI名称和经纬度。
[0011] 进一步的,所述利用网络嵌入方法学习得到用户和POI的嵌入向量包括步骤:
[0012] 将所述用户-POI关系网络划分为POI的区域划分关系、用户的好友关系和用户对POI的访问记录三个子网络;
[0013] 利用所述POI的区域划分关系、用户的好友关系和用户对POI的访问记录三个子网络学习得到用户和POI的嵌入向量。
[0014] 进一步的,所述学习得到用户和POI的嵌入向量的方法包括:
[0015] 进行以下更新操作,直到目标函数收敛:
[0016] 利用负采样方法,从εvv中采样一条边以及R条负边,从εvu中采样一条边以及R条负边,更新POI的嵌入向量;所述更新POI的嵌入向量的公式为:
[0017]
[0018] 其中, 表示从POI区域划分关系子网络中嵌入学习得到向量 和 的目标函数,d(vi,vj)表示兴趣点vi与vj在地理上的距离,εvv表示POI区域划分关系子网络的边集,eij表示εvv中vi与vj之间的一条边, 表示
的转置向量; 表示从用户对POI的访问记录子网络中嵌入
学习得到向量 和 的目标函数; uk表示第k个用户, 表示第
k个用户的嵌入向量 的转置向量, 表示 的转置向量, 表示现有数据中用户uj访问vi的次数,εvu表示用户对POI的访问记录子网络的边集。
[0019] 从εuu中采样一条边以及R条负边,从εuv中采样一条边以及R条负边,更新用户的嵌入向量;
[0020]
[0021] 其中, 表示用户的好友关系子网络中嵌入学习得到向量 和 的目标函数, 表示用户对POI的访问记录子
网络中嵌入学习得到向量 和 的目标函数, 表示现有数据中用户ui与uj的交互次数,表示现有数据中用户ui访问vj的次数,εuu表示用户的好友关系子网络中的边集,εuv表示用户对POI的访问记录子网络的边集。
[0022] 进一步的,构建的动态因子图模型中关于用户和POI的关联因子包括:
[0023] 倾向性关联因子,表示两个不同倾向之间的关联性,所述倾向为用户在某时刻访问POI的倾向;
[0024] 地理-社交关联因子,表示用户和POI在某时刻的地理-社会信息与所述倾向之间的关联性;
[0025] 距离关联因子,表示用户在某时刻与POI的距离与所述倾向之间的关联性;
[0026] 情感关联因子,表示用户在某时刻对POI的情感与所述倾向之间的关联性;
[0027] 时序关联因子,表示用户访问POI的倾向性在不同时间段之间的关联性。
[0028] 进一步的,所述用户和POI的关联因子的具体表达式为:
[0029] 倾向性关联因子 和 表示在t时刻的两个倾向,α为权重, 为倾向性关联函数,表示倾向性之间的关联度并输出一个向量,如果两个倾向之间拥有相同的用户或者POI,则认为它们之间的关联度为1,即置为1,Zα是归一化项;
[0030] 地理-社交关联因子 表示用户和POI在t时刻的地理-社会信息,并按 计算,表示用户ui和兴趣点vj在t时刻的嵌入向量内积,βij为权重, 为指示函数,当 大于所有 的平均值时, 置为1,表示 和 存在关联,Zβ是归一化项;
[0031] 距离关联因子 表示用户在t时刻与POI的距离,γij为权重, 为指示函数,当 大于恒定阈值时, 置为1,表示 和存在关联,Zγ是归一化项;
[0032] 情感关联因子 表示用户在t时刻对POI的情感,δij为权重, 为指示函数,当 大于恒定阈值时, 置为1,表示 和 存在关联,Zδ是归一化项;
[0033] 时序关联因子 是表示t′时刻用户访问POI的倾向,ηtt,为权重, 为时序关联函数,表示倾向性在不同时刻的关联度并输出一个向量,当 和 都等于1时, 置为1,表示 和 存在关联,Zη是归一化项。
[0034] LBSN数据中的用户和POI数据根据时间T0划分为 和 两个时间区间,t表示 和的某时刻,t′表示 中的某时刻。T0为过去某一个时刻,人为划分时间区间,用于进行过去到未来的趋势预测。
[0035] 进一步的,所述联合分布由所述倾向性关联因子、地理-社交关联因子、距离关联因子、情感关联因子和时序关联因子相乘得到。
[0036] 进一步的,所述学习得到联合分布中的参数值的过程中采用信念传播的方法计算得到参数期望值。
[0037] 进一步的,采用信念传播的方法计算得到使联合分布概率最大的因子图节点值。
[0038] POI即为兴趣点。
[0039] 基于同样的发明构思,本发明还提供了一种POI推荐系统,包括:
[0040] 网络嵌入模块,用于将收集的用户和POI的数据转换成用户和POI的嵌入向量;
[0041] 动态因子模块,用于根据用户和POI的嵌入向量,建立动态因子模型,并学习得到参数值,进而求解得到使节点联合概率分布最大的节点值;
[0042] 推荐模块,用于根据因子图节点最大联合概率分布对应的边缘概率和倾向性的乘积大小进行POI推荐。
[0043] 本发明的理论过程如下:
[0044] LBSN是由用户、POI、评论等不同类型的节点构成的网络。两个节点间的关联程度可以用相似度来衡量,但是它依赖于数据完整性和路径可达性。如果推荐系统中的数据,特别是用户间的社会关系数据和POI之间的地理邻接数据,比较稀疏或存在噪声,那么这种相似度可能并不可靠,因而不能直接用于推荐系统。此外,用户的每天或每周的活动呈现一定的时间和空间规律。例如,一个人倾向于在晚餐时间去餐馆而不是酒吧,晚上喜欢待在酒吧而不是公司。并且人们更有可能去当前所处位置附近或曾经去过的地方附近的POI。因此,属性在不同时间、不同地点通常会表现出一定的关联性。然而,由于人们在选择POI时受多种因素的影响,很难找到一个通用的行为模式。为了更好地挖掘信息,表示推荐系统中数据的动态关系,进而实现有效的推荐,可以采用因子图模型(Factor GraphModel,FGM)对LBSN的动态时空特征进行建模。本方法是第一次将FGM应用于推荐系统,可有效解决上述问题。
[0045] 在本发明中,学习得到用户和POI的嵌入向量的理论过程如下:
[0046] 定义三个子网络为:POI的地理区域划分关系Gvv、用户的好友关系Guu和用户对POI的访问记录Guv。
[0047] 1)在Gvv中,兴趣点vi和vj的联合概率分布可以表示为:
[0048]
[0049] 其中 表示兴趣点vi的嵌入向量。该式子定义了空间V×V上的分布p(·,·)其真实值定义为 中 εvv表示POI之间的边集。可以利用下面这个目标函数来学习嵌入向量 和 这两个向量分别是vi和vj在低维向量上的映射。
[0050]
[0051] 其中d(·,·)表示两个分布函数之间的KL距离。通过最小化该目标函数,可以获取POI的邻接关系。该函数可以转化为:
[0052]
[0053] 通过学习 以最小化该目标函数,可以求出每个兴趣点υi对应的d维向量 其中 表示POI个数。
[0054] 2)类似地,可以计算Guu中的目标函数:
[0055]
[0056] 通过学习 以最小化该目标函数,可以求出每个兴趣点ui对应的d维向量 其中 表示用户个数。
[0057] 3)在Guv中,用户ui访访问兴趣点vj的条件概率可以表示为:
[0058]
[0059] 为学习上式的两个向量,可以定义下面的目标函数:
[0060] 其中λi是表示ui重要性的参数。
[0061] 约去常量可以得到:
[0062]
[0063] 4)在Guv中,兴趣点vi被用户uj访问的条件概率可以表示为:
[0064]
[0065] 然后得到目标函数:
[0066]
[0067] 利用上述4个目标函数构建一个完整的目标函数:
[0068] Ov=Ovv+Ouu+Ovu+Ouv
[0069] 利用随机梯度下降法对各子图的边进行采样,并更新参数。梯度分别为:
[0070]
[0071]
[0072]
[0073]
[0074] 嵌入向量按如下方式更新:
[0075]
[0076]
[0077] 其中η是步长。
[0078] 需要说明的是,下标i和j在用户u和兴趣点v中都有使用,仅仅为了显示用户和兴趣点的序号,在用户的下标中,使用i和j表示两个不同的用户,同理,在兴趣点的下标中,使用i和j表示两个不同的兴趣点。因此,作为不同参数的下标,与参数组成整体时,其指代不同,不存在不清楚的情况。
[0079] 采用本技术方案的有益效果:
[0080] 本发明提出了一种基于时空关联因素的POI推荐方法(Dynamic  Spatial-Temporal POI Recommendation,DSTR)框架,该框架包含两项基本技术:一是采用网络嵌入方法生成低维嵌入空间中的用户向量和POI向量;二是建立了一种动态因子图模型,对包括嵌入向量相关性在内的不同关联因子进行建模,从而有效解决了数据质量不可靠和难以确定时空特征这两个主要问题,本发明的推荐方法在POI推荐的有效性和效率方面,均优于现有的推荐方法。

附图说明

[0081] 下面结合附图对本发明作进一步详细说明。
[0082] 图1是本发明方法一种实施例的步骤流程图;
[0083] 图2是本发明方法一种实施例中动态因子模型结构示意图;
[0084] 图3是本发明一种实施例中Foursquare数据集上本发明与现有技术在POI预测准确率比较;
[0085] 图4是本发明一种实施例中Foursquare数据集上本发明与现有技术在POI预测召回率比较;
[0086] 图5是本发明一种实施例中Foursquare数据集上本发明与现有技术在POI预测F1值比较;
[0087] 图6是本发明一种实施例中Foursquare数据集上本发明与现有技术在POI预测命中率比较;
[0088] 图7是本发明一种实施例中Yelp数据集上本发明与现有技术在POI预测准确率比较;
[0089] 图8是本发明一种实施例中Yelp数据集上本发明与现有技术在POI预测召回率比较;
[0090] 图9是本发明一种实施例中Yelp数据集上本发明与现有技术在POI预测F1值比较;
[0091] 图10是本发明一种实施例中Yelp数据集上本发明与现有技术在POI预测命中率比较。

具体实施方式

[0092] 为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明作进一步阐述。
[0093] 实施例1
[0094] 在本实施例中,如图1所示,一种POI推荐方法,该方法包括以下步骤:
[0095] 步骤101、根据从LBSN门户网站收集的用户和POI数据构建的用户-POI关系网络,利用网络嵌入方法学习得到用户和POI的嵌入向量;
[0096] 所述从LBSN门户网站收集的用户和POI数据包括:用户基本信息、POI基本信息、用户之间的好友关系、用户签到记录和用户评论,所述用户签到记录和用户评论包括文本内容、时间和地点,所述用户基本信息包括用户的ID和用户名,所述POI基本信息包括POI的ID、POI名称和经纬度。
[0097] 所述利用网络嵌入方法学习得到用户和POI的嵌入向量包括步骤:
[0098] 将所述用户-POI关系网络划分为POI的区域划分关系、用户的好友关系和用户对POI的访问记录三个子网络;POI的区域划分关系表示POI之间的关系,用户的好友关系表示用户之间的关系,用户对POI的访问记录表示用户与POI之间的关系。
[0099] 利用所述POI的区域划分关系、用户的好友关系和用户对POI的访问记录三个子网络学习得到用户和POI的嵌入向量。
[0100] 所述学习得到用户和POI的嵌入向量方法包括:
[0101] 进行以下更新操作,直到目标函数收敛:
[0102] 利用负采样方法,从εvv中采样一条边以及R条负边,从εvu中采样一条边以及R条负边,更新POI的嵌入向量;所述更新POI的嵌入向量的公式为:
[0103]
[0104] 其中, 表示从POI区域划分关系子网络中嵌入学习得到向量 和 的目标函数,d(vi,vj)表示兴趣点vi与vi在地理上的距离,εvv表示POI区域划分关系子网络的边集,eij表示εvv中vi与vj之间的一条边, 表
示 的转置向量; 表示从用户对POI的访问记录子网络中嵌
入学习得到向量 和 的目标函数; uk表示第k个用户, 表示
第k个用户的嵌入向量 的转置向量, 表示 的转置向量, 表示现有数据中用户uj防问vi的次数,εvu表示用户对POI的访问记录子网络的边集。
[0105] 从εuu中采样一条边以及R条负边,从εuv中采样一条边以及R条负边,更新用户的嵌入向量;
[0106]
[0107] 其中, 表示用户的好友关系子网络中嵌入学习得到向量 和 的目标函数, 表示用户对POI的访问记录子
网络中嵌入学习得到向量 和 的目标函数, 表示现有数据中用户ui与uj的交互次数,表示现有数据中用户ui访问vj的次数,εuu表示用户的好友关系子网络中的边集,εuv表示用户对POI的访问记录子网络的边集。
[0108] 步骤102、根据用户和POI的嵌入向量,构建包括多种关于用户和POI的关联因子的动态因子图模型,并根据所述多个关于用户和POI的关联因子建立在时空社交网络上的联合分布,通过学习得到所述联合分布中的参数值;
[0109] 构建的动态因子图模型中关于用户和POI的关联因子包括:
[0110] 倾向性关联因子,表示两个不同倾向之间的关联性,所述倾向为用户在某时刻访问POI的倾向;
[0111] 地理-社交关联因子,表示用户和POI在某时刻的地理-社会信息与所述倾向之间的关联性;
[0112] 距离关联因子,表示用户在某时刻与POI的距离与所述倾向之间的关联性;
[0113] 情感关联因子,表示用户在某时刻对POI的情感与所述倾向之间的关联性;
[0114] 时序关联因子,表示用户访问POI的倾向性在不同时间段之间的关联性。
[0115] 所述用户和POI的关联因子的具体表达式为:
[0116] 倾向性关联因子 和 表示在t时刻的两个倾向,α为权重, 为倾向性关联函数,表示倾向性之间的关联度并输出一个向量,如果两个倾向之间拥有相同的用户或者POI,则认为它们之间的关联度为1,即置为1,Zα是归一化项;
[0117] 地理-社交关联因子 表示用户和POI在t时刻的地理-社会信息,并按 计算,表示用户ui和兴趣点vj在t时刻的嵌入向量内积,βij为权重, 为指示函数,当 大于所有 的平均值时, 置为1,表示 和 存在关联,Zβ是归一化项;
[0118] 距离关联因子 表示用户在t时刻与POI的距离,γij为权重, 为指示函数,当 大于恒定阈值时, 置为1,表示 和存在关联,Zγ是归一化项;
[0119] 情感关联因子 表示用户在t时刻对POI的情感,δij为权重, 为指示函数,当 大于恒定阈值时, 置为1,表示 和 存在关联,Zδ是归一化项;
[0120] 时序关联因子 是表示t′时刻用户访问POI的倾向,ηtt′为权重, 为时序关联函数,表示倾向性在不同时刻的关联度并输出一个向量,当 和 都等于1时, 置为1,表示 和 存在关联,Zη是归一化项。
[0121] LBSN数据根据时间T0划分为[1,T0]和(T0,∞]两个时间区间,t表示[1,T0]中的某时刻,t′表示(T0,∞]中的某时刻。T0为过去某一个时刻,人为划分时间区间,用于进行过去到未来的趋势预测。
[0122] 图2为一种动态因子模型图的结构示意图,图中的参数解释见上述关联因子中的参数解释。
[0123] 所述联合分布由所述倾向性关联因子、地理-社交关联因子、距离关联因子、情感关联因子和时序关联因子相乘得到,具体表达式如下:
[0124]
[0125] 其中,归一化项Z=ZαZβZγZδZη,S是对所有因子函数组成的向量,θ表示所有参数组成的向量,即θ={α,βij,γii,δij,ηtt′} 表示用户集合, 表示POI集合, 表示在内已知的访问记录, 是 内的评论文本, 表示已知G时 的条件概率,θT表示向量θ的转置。
[0126] 下面表示条件概率时以省略角标,例如 可以简写为p(Y|G)那么定义以下的log形式的目标函数:
[0127]
[0128] 其中 简写为 表示 条件下T0时刻后的访问倾向。θ的梯度为:
[0129]
[0130] 随机启动θ然后进行以下更新操作,直到目标函数收敛:
[0131] 采用信念传播的方法(LBP)计算得到上式的两个期望值 和然后按照上式求出 最后按照公式 更新θ
[0132] 最后求出θ={α,βij,γii,δij,ηtt,}的值,从而得到联合分布概率模型。
[0133] 步骤103、计算得到使联合分布概率最大的因子图节点值,然后计算每个节点的边缘概率pij,并按边缘概率与倾向性乘积的大小 将POI推荐给用户。
[0134] 下面以一个具体的实施例来做进一步的说明。
[0135] 本发明方法是利用机器学习实现的,本实施例的运行环境为:Java(JDK 1.7),Windows 10,Corei7(7500U),8GB RAM。
[0136] 两个数据集:
[0137] Foursquare的数据集。Foursquare是一个流行的LBSN,可以提供很多基于位置的服务,例如POI签到和发布针对POI的在线评论。该数据集收集自美国旧金山市的75140名用户,包含用户的个人资料、POI的详细信息(包括用经纬度表示的地理位置信息)以及用户对POI的评论内容等。
[0138] Yelp挑战赛数据集。该数据集包含来自4个国家10个城市的1,326,101名用户和174,567个POI。为了专注分析特定城市的POI,这里只使用了美国拉斯维加斯的数据,其中包括26,809个POI和1,605,396条评论。每条评论都包含文本内容和时间、地点等详细信息。
用户访问POI最多的城市看作他的活动城市。经统计发现,拉斯维加斯大约有337,084个用户。
[0139] 利用步骤101中网络嵌入方法学习得到用户和POI的嵌入向量 和
[0140] 如图2的动态因子模型图,根据步骤102和103,进行POI推荐的过程如下:
[0141] 首先,计算5种关联因子
[0142] 1)时间段 和,用户u1访问过兴趣点v3和v4,用户u2访问过兴趣点v3和v4,即:
[0143]
[0144] 如果两个倾向节点开始于同一个用户或者终止与同一个POI,则这两个节点间的关联度为1,其余倾向节点间的关联因子等于0,即:
[0145]
[0146]
[0147]
[0148] 关联因子向量为:
[0149]
[0150] α初始时为随机值,并根据下面公式计算:
[0151]
[0152]
[0153]
[0154] 2)时间段 中,利用SentiStrength情感分析工具可以提取英文短文本的情感值。例如用户u2对兴趣点v3发表了评论“Ipreferthisrestaurant.”,则分析可得: 如果情感阈值为0,则情感关联因子 基于这些情感关联因子,可以得到因子向量:
[0155]
[0156] δ初始时为随机值,并根据下面公式计算:
[0157]
[0158] 3)时间段 中,已知小部分倾向,即 是从最接近的当前的历史数据中分裂出来的被定义为当前t′时刻用户访问POI的倾向,如图中 并且 则可知:
[0159]
[0160] 值的范围是[0,1],当 和 同时为1时, 等于1,即:
[0161]
[0162] 关联因子向量为:
[0163]
[0164] ηtt′初始时为随机值,并根据下面公式计算:
[0165]
[0166] 2.结合上述所有关联因子,可以得到动态因子模型(ST-FGM)的输入S
[0167]
[0168] 模型运行以后得到输出θ。
[0169] 3.已知θ的情况下,利用信念传播算法计算集合 中所有 的值,并使 的联合概率分布最大化。
[0170]
[0171]
[0172] 并得到此时的边缘概率分布
[0173] 4.对每个用户ui,将 值最大的k个POI推荐给他。
[0174] 为了验证本发明的推荐方法的效果,将本发明提出的POI推荐方法与现有的若干主流POI推荐方法进行比较。所述的现有的POI推荐方法包括以下几种:
[0175] TrustMF结合了两种稀疏信息,即评分数据以及用户之间的信任关系,利用基于信任网络的矩阵分解方法将用户转化为低维向量,从而改善推荐效果。
[0176] 该方法记载在:B.Yang,Y.Lei,J.Liu,and W.Li,“Social collaborative filtering by trust(基于信任的社会协同过滤),”IEEE Transactions on Pattern Analysis and Machine Intelligence,vol.39,no.8,pp.1633-1647,2017。
[0177] LSARS是一种概率生成模型,它模拟了用户在本地和外地两种场景下的签到行为,其中考虑了用户兴趣漂移和人群情绪。个人兴趣的信息可以从POI信息和用户评论中提取。然而,该模型没有考虑位置因素的影响。
[0178] 该方法记载在:H.Wang,Y.Fu,Q.Wang,H.Yin,C.Du,and H.Xiong,“A location-sentiment-aware recommender system for both home-town and out-of-town users,(一种本地和外地用户的位置感知推荐系统)”in Proceedings of the 23rd ACMSIGKDD International Conference on Knowledge Discovery and Data Mining.ACM,2017,pp.1135-1143。
[0179] MMBE是一个概率生成模型,其中考虑了用户签到行为中包含的社会关系、时间和地理位置等信息。该模型在共享的隐含主题空间中,通过网络嵌入的方式得到用户和POI的向量,有效地融合了社会影响和时间影响。
[0180] 该方法记载在:L.Huang,Y.Ma,Y.Liu,and A.K.Sangaiah,“Multi-modal Bayesian embedding for point-of-interest recommendation on location-based cyber-physical-social networks,(多模态贝叶斯嵌入-基于位置的社交网络的兴趣点推荐)”Future Generation Computer Systems,2017。
[0181] HERec是一种基于异构网络推荐方法,它利用随机游走得到有序节点,然后采用多种融合函数将编码后的节点集成到一个新的矩阵分解模型中,以实现推荐。
[0182] 该方法记载在:C.Shi,B.Hu,W.X.Zhao,and P.S.Yu,“Heterogeneous information network embedding forrecommendation(异构信息网络嵌入推荐),”IEEE Transactions on Knowledge and Data Engineering,2017。
[0183] TGSC-PMF是一种上下文感知的概率矩阵分解推荐方法,它综合利用了文本内容、地理位置、社会关系、类别相关性和POI流行度等多种因素。
[0184] 该方法记载在:X.Ren,M.Song,E.Haihong,and J.Song,“Context-aware probabilistic matrix factorization  modeling for point-of-interest recommendation(上下文感知的概率矩阵分解建模及兴趣点推荐),”Neurocomputing,vol.241,no.C,pp.38-55,2017。
[0185] 上述POI推荐方法包含的特性如表1所示,分别是:地理位置(Geo),时序(Temp),用户偏好(Pref),社会关系(Soc),用户行为(Beh),文本分析(Tex)以及网络嵌入(Emb)。
[0186] 表1:
[0187]
[0188] 本领域四个广泛使用的指标,即准确率(Precision)、召回率(Recall)、F1值(Fl-score)和命中率(Hit-rate),可用于衡量推荐方法的效果。准确率表示推荐并真实访问的POI占推荐的POI的比例,召回率表示推荐并真实访问的POI占真实访问的POI的比例,F1值是准确率和召回率的调和平均值。
[0189] 设 和 表示关于用户u访问过的POI和被推荐的POI。准确率、召回率和F1值的指标定义如下:
[0190]
[0191]
[0192]
[0193] 如果某用户的推荐列表中的POI至少被访问过一次,则称为一次命中。也就是说,对于单个测试用例,如果真实的POI出现在推荐的结果中,hit被定义为1,否则为0。命中率Hit-rate可以定义为:
[0194]
[0195] 其中|hit|和|Dtest|分别表示命中次数和测试用例数。
[0196] 如图3-10所示,与现有的其它方法相比,在不同的推荐点个数k=I,5,10,15,20的情况下,本发明的DSTR方法的推荐效果提高了2.3%-13.0%。
[0197] 实施例2
[0198] 本实施例为一种POI推荐系统,包括:
[0199] 网络嵌入模块,用于将收集的用户和POI的数据转换成用户和POI的嵌入向量;
[0200] 动态因子模块,用于根据用户和POI的嵌入向量,建立动态因子模型,并学习得到参数值,进而求解得到使节点联合概率分布最大的节点值;
[0201] 推荐模块,用于根据因子图节点最大联合概率分布对应的边缘概率和倾向性的乘积大小进行POI推荐。
[0202] 基于实施例1的数据和步骤,利用本实施例的推荐系统按照同样的方式为用户进行POI推荐。
[0203] 以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。