CN103023977B - 基于位置信息的推荐系统及推荐方法 - Google Patents

基于位置信息的推荐系统及推荐方法 Download PDF

Info

Publication number
CN103023977B
CN103023977B CN201210469843.7A CN201210469843A CN103023977B CN 103023977 B CN103023977 B CN 103023977B CN 201210469843 A CN201210469843 A CN 201210469843A CN 103023977 B CN103023977 B CN 103023977B
Authority
CN
China
Prior art keywords
interest
user
point
module
prediction
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.)
Active
Application number
CN201210469843.7A
Other languages
English (en)
Other versions
CN103023977A (zh
Inventor
陈健
胡立
黄晋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201210469843.7A priority Critical patent/CN103023977B/zh
Publication of CN103023977A publication Critical patent/CN103023977A/zh
Application granted granted Critical
Publication of CN103023977B publication Critical patent/CN103023977B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于位置信息的推荐系统及推荐方法,系统包括顺序连接的信息采集模块、信息处理模块、矩阵分解模块和推荐产生器;本发明使用了基于SOA的兴趣点信息及其用户评分采集方法,能有效的采集多方面的兴趣点信息,使用户从一个服务上就能获取实时的多方面的信息,而且能提高推荐的准确度。同时用户和兴趣点的特征向量计算与为用户产生推荐的过程是彼此独立的,在已经计算好用户与兴趣点的特征向量的情况下,可以快速地为多位用户产生推荐列表。另外本发明使用了已有的用户信息和矩阵分解降维的方法,对比于基于内存的协同过滤推荐算法,该方法大大减少了空间的开销。

Description

基于位置信息的推荐系统及推荐方法
技术领域
本发明属于网络推荐系统技术领域,涉及一种基于位置信息的推荐系统及推荐方法。
背景技术
各种GPS定位设备的快速发展和逐渐普及,基于位置的服务(Location BasedService,LBS)开始流行。这类服务以移动终端用户的位置信息作为支撑,为用户提供各种形式增值服务的工具与服务。例如新一代的智能手机已经把在线地图服务集成在手机系统中,使手机用户能够进行地理定位并为其寻找一定范围内的餐馆、购物点、加油站的名称和地址等。纵观现在的基于位置的服务,它们的信息都是来自于单独的内容提供商,内容难免有所局限,而现在的用户都希望能够从一个服务上就能获取实时的多方面的兴趣点信息。而且,在Web2.0时代,用户更需要一个交互式的服务,希望能看到其他用户对某个兴趣点的评价,而不仅仅是静态的数据内容。
在信息爆炸的网络时代,网络信息多得让用户无所适从,基于位置的服务信息同样如此,而个性化推荐则可以帮用户过滤掉无用的信息,让用户专注在他最有可能感兴趣的信息上。个性化推荐系统已经在商品、电影、音乐的用户推荐上取得了较大的成功,在基于位置的服务上,兴趣点的个性化推荐则较少使用。
发明内容
本发明的目的在于克服上述现有技术的不足,提供一种合理的基于面向服务体系结构(Service-Oriented Architecture,SOA)和矩阵分解的推荐系统。同时从多个基于位置的服务获得数据源,并根据目标用户的位置以及兴趣特点来为目标用户产生兴趣点推荐列表。
为达到上述目的,本发明采用如下的技术方案:
本发明的一种基于位置信息的推荐系统,包括顺序连接的信息采集模块、信息处理模块、矩阵分解模块和推荐产生器;
所述信息采集模块,使用基于SOA的系统架构,用于从多个服务采集兴趣点的信息,以及用户在各服务中对这些兴趣点的评分;
所述信息处理模块,用于将通过信息采集模块从多个服务得到的兴趣点信息去除冗余并统一起来,与用户评分信息一并保存在物理存储中,并在使用时将其以矩阵的形式读出,矩阵列为所有兴趣点的名称,矩阵行为每个用户对相应兴趣点的评分;
所述矩阵分解模块,从信息处理模块以矩阵形式读出用户评分信息,以此作为原矩阵,使用随机梯度下降法对矩阵做矩阵分解,得出每个用户以及每个兴趣点的特征向量;
所述推荐产生器,利用矩阵分解模块提供的每个用户以及每个兴趣点的特征向量,对用户未评分的兴趣点进行预测评分,并根据评分的结果和用户的范围要求对用户进行推荐。
优选的,所述信息采集模块包括相互连接的兴趣点信息采集模块和用户信息采集模块,所述兴趣点信息采集模块、用户信息采集模块分别与信息处理模块连接;
所述兴趣点信息采集模块,从多个服务采集兴趣点的信息,包括名称、地址、经纬度、类型、人均消费等,为兴趣点信息整合以及用户信息存储提供来源;
所述用户信息采集模块,采集用户在多个服务上的对不同兴趣点的评分,为用户信息存储提供来源。
优选的,所述信息处理模块包括相互连接的兴趣点信息整合模块和用户信息存储模块,所述用户信息存储模块与矩阵分解模块连接;
兴趣点信息整合模块,根据兴趣点信息采集模块提供的来自多个服务的兴趣点信息,建立兴趣点信息集合,去除冗余,整合成统一的格式。
用户信息存储模块,根据兴趣点信息整合模块得到的统一格式的兴趣点信息和用户信息采集模块提供的用户评分,以矩阵的形式存储在物理存储中,矩阵列为所有兴趣点的名称,矩阵行为每个用户对相应兴趣点的评分,以供后续步骤使用。
优选的,所述矩阵分解模块包括预测训练模块、损失计算模块和更新模块,所述预测训练模块与更新模块连接,更新模块与损失计算模块连接,损失计算模块与推荐产生器连接;
预测训练模块,在用户评分矩阵中抽取有评分记录的用户-兴趣点对,根据其特征向量计算用户对兴趣点的预测评分值;
损失计算模块,根据所有已知的用户评分计算预测评分与真实评分之间的损失;
更新模块,用于对用户以及兴趣点的特征向量和评分基准偏移量做更新。
所述推荐产生器包括相互连接的兴趣点预测评分计算模块和推荐列表产生模块;
兴趣点预测评分计算模块,根据矩阵分解模块中得到的每个用户以及每个兴趣点的特征向量,预测用户对目标兴趣点的评分;
推荐列表产生模块,根据兴趣点预测评分计算模块得出的对于目标兴趣点的预测分数,结合用户的目标位置范围,对所有兴趣点进行比较,取预测评分最高的部分兴趣点作为对用户的推荐列表。
所述矩阵分解模块的输入为信息存储处理模块的输出,即结构化的用户-兴趣点评分矩阵,输出为每个用户以及每个兴趣点的特征向量集合;推荐产生器的输入是矩阵分解模块的输出,即每个用户以及每个兴趣点的特征向量集合,其输出是用户可能感兴趣的兴趣点的推荐列表。
由上述系统实现的基于面向服务体系结构(Service-Oriented Architecture,SOA)和矩阵分解的推荐方法,包括步骤:
(1)用户分别在多个服务中对部分兴趣点信息作出评分,系统通过信息采集模块对各服务中的兴趣点信息进行采集,包括名称、经纬度、类型、人均消费等,并记录用户对各兴趣点作出的已有评分;
(2)信息处理:
(2-1)将步骤(1)中记录所得的评分信息发送至信息处理模块中,并通过兴趣点信息整合模块对各服务的信息进行整合,去除冗余;
(2-2)将步骤(2-1)中处理后的兴趣点信息发送到用户信息存储模块中保存,并通过用户信息存储模块建立用户-兴趣点评分矩阵;所述用户-兴趣点评分矩阵为一个结构化的二维矩阵,其纵坐标为兴趣点列表,横坐标为用户列表,每一个矩阵单元中存储的数据为该矩阵单元横坐标对应的用户给该矩阵单元纵坐标对应的兴趣点的评分值;
(3)矩阵分解:
(3-1)特征向量计算:将步骤(2-2)中的用户-兴趣点评分矩阵输入到矩阵分解模块中,并用随机数对每个用户以及每个兴趣点的特征向量和基准偏移量作初始化,矩阵分解模块利用随机梯度下降法对评分矩阵进行分解,计算出每个用户以及每个兴趣点的特征向量;
(3-2)矩阵分解模块中的预测训练模块从评分矩阵选择一对已有评分的用户-兴趣点对,通过该用户特征向量与该兴趣点特征向量计算该用户对该兴趣点的预测评分值;
(3-3)根据步骤(3-2)得到的预测评分值和该用户-兴趣点对的实际评分值,计算其预测误差,并根据该预测误差值对该用户以及该兴趣点的特征向量和基准偏移量做出更新;
(3-4)使用损失计算函数计算所有用户真实评分与预测评分之间的损失,判断损失是否比上次计算有所上升,若是,则进行下一步骤,否则返回执行步骤(3-2);
(4)预测兴趣点评分:
(4-1)从用户-兴趣点评分矩阵中选择一个未评分且未予预测的用户-兴趣点对,推荐产生器中的兴趣点预测评分计算模块根据步骤(3)得到的该用户以及该兴趣点的特征向量,计算用户对兴趣点的预测评分值;
(4-2)判断是否所有的用户-兴趣点对都已完成预测评分,若是,则进行下一步骤,否则执行步骤(4-1),对下一个用户-兴趣点对进行预测评分;
(5)兴趣点推荐:
(5-1)为多个用户产生推荐,分别为每个用户产生推荐的独立过程:对一个用户进行推荐,由推荐列表产生模块对该用户产生推荐列表;
(5-2)推荐列表产生模块中的排序模块对所有已进行预测评分的兴趣点的预测评分值由大至小进行排序,范围选值模块选取所有在用户目标位置设定范围内的所有兴趣点,并通过列表生成模块将选取的结果生成推荐列表,返回给用户;
(6)完成项目的推荐。
对于所述步骤(3-2)中,用户对兴趣点的预测评分满足:
r p ( u i , s k ) = q k → T p i → + sb k + ub i ;
其中,rp(ui,sk)为用户ui对兴趣点sk的预测评分值,为兴趣点sk的特征向量,为用户ui的特征向量,sbk为兴趣点sk的评分基准偏移量,ubi为用户ui的评分基准偏移量;
对于步骤(3-3)中,预测评分值与实际评分值的预测误差满足:
e(ui,sk)=rik-rp(ui,sk);
其中,e(ui,sk)为用户ui对兴趣点sk的预测评分值与实际评分值的预测误差值,rik为用户ui对兴趣点sk的实际评分值,rp(ui,sk)为用户ui对兴趣点sk的预测评分值;
对于步骤(3-3)中,特征向量更新满足:
p i → = p i → + γ × ( e ( u i , s k ) × q k → - λ × p i → ) ,
q k → = q k → + γ × ( e ( u i , s k ) × p i → - λ × q k ‾ ) ;
其中,为用户ui的特征向量,为兴趣点sk的特征向量,e(ui,sk)为用户ui对兴趣点sk的预测评分值与实际评分值的预测误差值,γ为学习速率系数,λ为正则化系数;
对于步骤(3-3)中,评分基准偏移量更新满足:
ubi=ubi+γ×(e(ui,sk)-λ×ubi),
sbk=sbk+γ×(e(ui,sk)-λ×sbk);
其中,ubi为用户ui的评分基准偏移量,sbk为兴趣点sk的评分基准偏移量,e(ui,sk)为用户ui对兴趣点sk的预测评分值与实际评分值的预测误差值,γ为学习速率系数,λ为正则化系数;
对于步骤(3-4)中,损失计算函数满足:
Σ ( u i , s k ) ∈ T ( r ik - r p ( u i , s k ) ) 2 ;
其中,T为已有真实评分的用户-兴趣点对集合,rik为用户ui对兴趣点sk的实际评分值,rp(ui,sk)为用户ui对兴趣点sk的预测评分值;
对于步骤(4-1)中,预测评分满足:
r p ( u i , s k ) = q k → T p i → + sb k + ub i ;
其中,rp(ui,sk)为用户ui对兴趣点sk的预测评分值,为兴趣点sk的特征向量,为用户ui的特征向量,sbk为兴趣点sk的评分基准偏移量,ubi为用户ui的评分基准偏移量。
本发明的原理:通过基于SOA的采集模块从多个服务采集兴趣点信息以及用户对部分兴趣点信息的评分,对这些兴趣点信息以及评分进行整合、去除冗余,并用二维矩阵记录下来;使用随机梯度下降法对此矩阵做矩阵分解,得出每个用户以及每个兴趣点的特征向量;最终根据特征向量,预测用户对目标兴趣点的评分,取预测评分最高的部分目标兴趣点推荐给用户。
本发明与现有的技术相比,具有如下优点:
1、本发明使用了基于SOA的兴趣点信息及其用户评分采集方法,能有效的采集多方面的兴趣点信息,使用户从一个服务上就能获取实时的多方面的信息,而且能提高推荐的准确度。
2、在本发明中,用户和兴趣点的特征向量计算与为用户产生推荐的过程是彼此独立的,在已经计算好用户与兴趣点的特征向量的情况下,可以快速地为多位用户产生推荐列表。
3、本发明使用了已有的用户信息和矩阵分解降维的方法,对比于基于内存的协同过滤推荐算法,该方法大大减少了空间的开销。
附图说明
图1为本发明的总体结构图;
图2为图1所示的信息采集模块的结构示意图;
图3为图1所示的信息处理模块的结构示意图;
图4为图1所示的矩阵分解模块的结构示意图;
图5为图1所示的推荐产生器的结构示意图;
图6为本发明方法的总体流程图;
图7为图6所示矩阵分解的流程图。
具体实施方式
下面结合附图对本发明的作进一步的详细描述,但本发明的实施和保护范围不限于此。
如图1所示,本基于面向服务的体系结构和基于矩阵分解的推荐系统,包括依次连接的信息采集模块、信息处理模块、矩阵分解模块和推荐产生器。
如图2所示,所述信息采集模块包括相互连接的兴趣点信息采集模块和用户信息采集模块,所述兴趣点信息采集模块、用户信息采集模块分别与信息处理模块连接。
如图3所示,所述信息处理模块包括相互连接的兴趣点信息整合模块和用户信息存储模块,所述用户信息存储模块与矩阵分解模块连接。
如图4所示,所述矩阵分解模块包括预测训练模块、损失计算模块和更新模块。预测训练模块与更新模块连接,更新模块与损失计算模块连接,损失计算模块与推荐产生器连接。
如图5所示,所述推荐产生器包括相互连接的兴趣点预测评分计算模块和推荐列表产生模块。
所述推荐列表产生模块包括排序模块、范围选值模块和列表生成模块,所述排序模块与范围选值模块连接。
其中:
所述信息采集模块,使用基于SOA的系统架构,用于从多个服务采集兴趣点的信息,以及用户在各服务中对这些兴趣点的评分。
所述信息处理模块,用于将通过信息采集模块从多个服务得到的兴趣点信息去除冗余并统一起来,与用户评分信息一并保存在物理存储中,并在使用时将其以矩阵的形式读出,矩阵列为所有兴趣点的名称,矩阵行为每个用户对相应兴趣点的评分。
所述矩阵分解模块,从信息处理模块以矩阵形式读出用户评分信息,以此作为原矩阵,使用随机梯度下降法对矩阵做矩阵分解,得出每个用户以及每个兴趣点的特征向量。
所述推荐产生器,利用矩阵分解模块提供的每个用户以及每个兴趣点的特征向量,对用户未评分的兴趣点进行预测评分,并根据评分的结果和用户的范围要求对用户进行推荐。
兴趣点信息采集模块,从多个服务采集兴趣点的信息,包括名称、地址、经纬度、类型、人均消费等,为兴趣点信息整合以及用户信息存储提供来源。
用户信息采集模块,采集用户在多个服务上的对不同兴趣点的评分,为用户信息存储提供来源。
兴趣点信息整合模块,根据兴趣点信息采集模块提供的来自多个服务的兴趣点信息,建立兴趣点信息集合,去除冗余,整合成统一的格式。
用户信息存储模块,根据兴趣点信息整合模块得到的统一格式的兴趣点信息和用户信息采集模块提供的用户评分,以矩阵的形式存储在物理存储中,矩阵列为所有兴趣点的名称,矩阵行为每个用户对相应兴趣点的评分,以供后续步骤使用。
预测训练模块,在用户评分矩阵中抽取有评分记录的用户-兴趣点对,根据其特征向量计算用户对兴趣点的预测评分值。
损失计算模块,根据所有已知的用户评分计算预测评分与真实评分之间的损失。
更新模块,用于对用户以及兴趣点的特征向量和评分基准偏移量做更新。
兴趣点预测评分计算模块,根据矩阵分解模块中得到的每个用户以及每个兴趣点的特征向量,预测用户对目标兴趣点的评分。
推荐列表产生模块,根据兴趣点预测评分计算模块得出的对于目标兴趣点的预测分数,结合用户的目标位置范围,对所有兴趣点进行比较,取预测评分最高的部分兴趣点作为对用户的推荐列表。
矩阵分解模块的输入为信息存储处理模块的输出,即结构化的用户-兴趣点评分矩阵,输出为每个用户以及每个兴趣点的特征向量集合;推荐产生器的输入是矩阵分解模块的输出,即每个用户以及每个兴趣点的特征向量集合,其输出是用户可能感兴趣的兴趣点的推荐列表。
如图6所示,由上述系统实现的基于面向服务体系结构(Service-OrientedArchitecture,SOA)和矩阵分解的推荐方法,包括步骤:
(1)用户分别在多个服务中对部分兴趣点信息作出评分,系统通过信息采集模块对各服务中的兴趣点信息进行采集,包括名称、经纬度、类型、人均消费等,并记录用户对各兴趣点作出的已有评分;
(2)信息处理:
(2-1)将步骤(1)中记录所得的评分信息发送至信息处理模块中,并通过兴趣点信息整合模块对各服务的信息进行整合,去除冗余;
(2-2)将步骤(2-1)中处理后的兴趣点信息发送到用户信息存储模块中保存,并通过用户信息存储模块建立用户-兴趣点评分矩阵;所述用户-兴趣点评分矩阵为一个结构化的二维矩阵,其纵坐标为兴趣点列表,横坐标为用户列表,每一个矩阵单元中存储的数据为该矩阵单元横坐标对应的用户给该矩阵单元纵坐标对应的兴趣点的评分值;
(3)矩阵分解:
(3-1)特征向量计算:将步骤(2-2)中得用户-兴趣点评分矩阵输入到矩阵分解模块中,并用随机数对每个用户以及每个兴趣点的特征向量和基准偏移量作初始化,矩阵分解模块利用随机梯度下降法对评分矩阵进行分解,计算出每个用户以及每个兴趣点的特征向量;
(3-2)矩阵分解模块中的预测训练模块从评分矩阵选择一对已有评分的用户-兴趣点对,通过该用户特征向量与该兴趣点特征向量计算该用户对该兴趣点的预测评分值;
(3-3)根据步骤(3-2)得到的预测评分值和该用户-兴趣点对的实际评分值,计算其预测误差,并根据该预测误差值对该用户以及该兴趣点的特征向量和基准偏移量做出更新;
(3-4)使用损失计算函数计算所有用户真实评分与预测评分之间的损失,判断损失是否比上次计算有所上升,若是,则进行下一步骤,否则返回执行步骤(3-2);
(4)预测兴趣点评分:
(4-1)从用户-兴趣点评分矩阵中选择一个未评分且未予预测的用户-兴趣点对,推荐产生器中的兴趣点预测评分计算模块根据步骤(3)得到的该用户以及该兴趣点的特征向量,计算用户对兴趣点的预测评分值;
(4-2)判断是否所有的用户-兴趣点对都已完成预测评分,若是,则进行下一步骤,否则执行步骤(4-1),对下一个用户-兴趣点对进行预测评分;
(5)兴趣点推荐:
(5-1)为多个用户产生推荐,分别为每个用户产生推荐的独立过程:对一个用户进行推荐,由推荐列表产生模块对该用户产生推荐列表;
(5-2)推荐列表产生模块中的排序模块对所有已进行预测评分的兴趣点的预测评分值由大至小进行排序,范围选值模块选取所有在用户目标位置设定范围内的所有兴趣点,并通过列表生成模块将选取的结果生成推荐列表,返回给用户;
(6)完成项目的推荐。
对于所述步骤(3-2)中,用户对兴趣点的预测评分满足:
r p ( u i , s k ) = q k → T p i → + sb k + ub i ;
其中,rp(ui,sk)为用户ui对兴趣点sk的预测评分值,为兴趣点sk的特征向量,为用户ui的特征向量,sbk为兴趣点sk的评分基准偏移量,ubi为用户ui的评分基准偏移量;
对于步骤(3-3)中,预测评分值与实际评分值的预测误差满足:
e(ui,sk)=rik-rp(ui,sk);
其中,e(ui,sk)为用户ui对兴趣点sk的预测评分值与实际评分值的预测误差值,rik为用户ui对兴趣点sk的实际评分值,rp(ui,sk)为用户ui对兴趣点sk的预测评分值;
对于步骤(3-3)中,特征向量更新满足:
p i → = p i → + γ × ( e ( u i , s k ) × q k → - λ × p i → ) ,
q k → = q k → + γ × ( e ( u i , s k ) × p i → - λ × q k ‾ ) ;
其中,为用户ui的特征向量,为兴趣点sk的特征向量,e(ui,sk)为用户ui对兴趣点sk的预测评分值与实际评分值的预测误差值,γ为学习速率系数,λ为正则化系数;
对于步骤(3-3)中,评分基准偏移量更新满足:
ubi=ubi+γ×(e(ui,sk)-λ×ubi),
sbk=sbk+γ×(e(ui,sk)-λ×sbk);
其中,ubi为用户ui的评分基准偏移量,sbk为兴趣点sk的评分基准偏移量,e(ui,sk)为用户ui对兴趣点sk的预测评分值与实际评分值的预测误差值,γ为学习速率系数,λ为正则化系数;
对于步骤(3-4)中,损失计算函数满足:
Σ ( u i , s k ) ∈ T ( r ik - r p ( u i , s k ) ) 2 ;
其中,T为已有真实评分的用户-兴趣点对集合,rik为用户ui对兴趣点sk的实际评分值,rp(ui,sk)为用户ui对兴趣点sk的预测评分值;
对于步骤(4-1)中,预测评分满足:
r p ( u i , s k ) = q k → T p i → + sb k + ub i ;
其中,rp(ui,sk)为用户ui对兴趣点sk的预测评分值,为兴趣点sk的特征向量,为用户ui的特征向量,sbk为兴趣点sk的评分基准偏移量,ubi为用户ui的评分基准偏移量。
对于过程中出现的γ和λ分别取值为0.001以及0.3,每个用户以及每个兴趣点的特征向量的维数取值为100。
如图7所示,本发明中,矩阵分解是使用随机梯度下降法对评分矩阵进行分解,是一个不断迭代计算的过程,一次迭代计算的流程:计算用户对兴趣点的预测评分,需要用户及兴趣点最新的特征向量;对于一次预测评分,计算用户对兴趣点的预测评分由矩阵分解中的预测训练模块完成,输出为用户对兴趣点的预测评分;对用户及兴趣点的特征向量和基准偏移量更新由矩阵分解模块中的更新模块完成,其输入为预测训练模块的结果,更新后的用户及兴趣点的特征向量和基准偏移量为其输出;计算所有真实评分与预测评分间的损失由矩阵分解模块中的损失计算模块完成,其输入为所有用户及兴趣点的特征向量,输出为预测损失。
本发明的原理:通过基于SOA的采集模块从多个服务采集兴趣点信息以及用户对部分兴趣点信息的评分,对这些兴趣点信息以及评分进行整合、去除冗余,并用二维矩阵记录下来;使用随机梯度下降法对此矩阵做矩阵分解,得出每个用户以及每个兴趣点的特征向量;最终根据特征向量,预测用户对目标兴趣点的评分,取预测评分最高的部分目标兴趣点推荐给用户。
上述实施例为本发明较佳的实施方式,但本实用新型的实施方式并不受上述实施例的限制,其他的任何未背离本实用新型的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本实用新型的保护范围之内。

Claims (4)

1.一种基于位置信息推荐系统的推荐方法,其特征在于,包括下述步骤:
(1)用户分别在多个服务中对部分兴趣点信息作出评分,系统通过信息采集模块对各服务中的兴趣点信息进行采集,包括名称、经纬度、类型、人均消费,并记录用户对各兴趣点作出的已有评分;
(2)信息处理:
(2-1)将步骤(1)中记录所得的评分信息发送至信息处理模块中,并通过兴趣点信息整合模块对各服务的信息进行整合,去除冗余;
(2-2)将步骤(2-1)中处理后的兴趣点信息发送到用户信息存储模块中保存,并通过用户信息存储模块建立用户-兴趣点评分矩阵;所述用户-兴趣点评分矩阵为一个结构化的二维矩阵,其纵坐标为兴趣点列表,横坐标为用户列表,每一个矩阵单元中存储的数据为该矩阵单元横坐标对应的用户给该矩阵单元纵坐标对应的兴趣点的评分值;
(3)矩阵分解:
(3-1)特征向量计算:将步骤(2-2)中得用户-兴趣点评分矩阵输入到矩阵分解模块中,并用随机数对每个用户以及每个兴趣点的特征向量和基准偏移量作初始化,矩阵分解模块利用随机梯度下降法对评分矩阵进行分解,计算出每个用户以及每个兴趣点的特征向量;
(3-2)矩阵分解模块中的预测训练模块从评分矩阵选择一对已有评分的用户-兴趣点对,通过该用户特征向量与该兴趣点特征向量计算该用户对该兴趣点的预测评分值;
(3-3)根据步骤(3-2)得到的预测评分值和该用户-兴趣点对的实际评分值,计算其预测误差,并根据该预测误差值对该用户以及该兴趣点的特征向量和基准偏移量做出更新;
(3-4)使用损失计算函数计算所有用户真实评分与预测评分之间的损失,判断损失是否比上次计算有所上升,若是,则进行下一步骤,否则返回执行步骤(3-2);
(4)预测兴趣点评分:
(4-1)从用户-兴趣点评分矩阵中选择一个未评分且未予预测的用户-兴趣点对,推荐产生器中的兴趣点预测评分计算模块根据步骤(3)得到的该用户以及该兴趣点的特征向量,计算用户对兴趣点的预测评分值;
(4-2)判断是否所有的用户-兴趣点对都已完成预测评分,若是,则进行下一步骤,否则执行步骤(4-1),对下一个用户-兴趣点对进行预测评分;
(5)兴趣点推荐:
(5-1)为多个用户产生推荐,分别为每个用户产生推荐的独立过程:对一个用户进行推荐,由推荐列表产生模块对该用户产生推荐列表;
(5-2)推荐列表产生模块中的排序模块对所有已进行预测评分的兴趣点的预测评分值由大至小进行排序,范围选值模块选取所有在用户目标位置设定范围内的所有兴趣点,并通过列表生成模块将选取的结果生成推荐列表,返回给用户;
(6)完成项目的推荐。
2.根据权利要求1所述的基于位置信息推荐系统的推荐方法,其特征在于,对于所述步骤(3-2)中,用户对兴趣点的预测评分满足:
r p ( u i , s k ) = q → k T p i → + sb k + ub i ;
其中,rp(ui,sk)为用户ui对兴趣点sk的预测评分值,为兴趣点sk的特征向量,为用户ui的特征向量,sbk为兴趣点sk的评分基准偏移量,ubi为用户ui的评分基准偏移量;
对于步骤(3-4)中,损失计算函数满足:
Σ ( u i , s k ) ∈ T ( r ik - r p ( u i , s k ) ) 2 ;
其中,T为已有真实评分的用户-兴趣点对集合,rik为用户ui对兴趣点sk的实际评分值,rp(ui,sk)为用户ui对兴趣点sk的预测评分值。
3.根据权利要求1所述的基于位置信息推荐系统的推荐方法,其特征在于,对于步骤(3-3)中,预测评分值与实际评分值的预测误差满足:
e(ui,sk)=rik-rp(ui,sk);
其中,e(ui,sk)为用户ui对兴趣点sk的预测评分值与实际评分值的预测误差值,rik为用户ui对兴趣点sk的实际评分值,rp(ui,sk)为用户ui对兴趣点sk的预测评分值;
对于步骤(3-3)中,特征向量更新满足:
p i → = p i → + γ × ( e ( u i , s k ) × q k → - λ × p i → ) ,
q k → = q k → + γ × ( e ( u i , s k ) × p i → - λ × q k → ) ;
其中,为用户ui的特征向量,为兴趣点sk的特征向量,e(ui,sk)为用户ui对兴趣点sk的预测评分值与实际评分值的预测误差值,γ为学习速率系数,λ为正则化系数;
对于步骤(3-3)中,评分基准偏移量更新满足:
ubi=ubi+γ×(e(ui,sk)-λ×ubi),
sbk=sbk+γ×(e(ui,sk)-λ×sbk);
其中,ubi为用户ui的评分基准偏移量,sbk为兴趣点sk的评分基准偏移量,e(ui,sk)为用户ui对兴趣点sk的预测评分值与实际评分值的预测误差值,γ为学习速率系数,λ为正则化系数。
4.根据权利要求1所述的基于位置信息推荐系统的推荐方法,其特征在于,对于步骤(4-1)中,预测评分满足:
r p ( u i , s k ) = q k → T p i → + sb k + ub i ;
其中,rp(ui,sk)为用户ui对兴趣点sk的预测评分值,为兴趣点sk的特征向量,为用户ui的特征向量,sbk为兴趣点sk的评分基准偏移量,ubi为用户ui的评分基准偏移量。
CN201210469843.7A 2012-11-19 2012-11-19 基于位置信息的推荐系统及推荐方法 Active CN103023977B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210469843.7A CN103023977B (zh) 2012-11-19 2012-11-19 基于位置信息的推荐系统及推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210469843.7A CN103023977B (zh) 2012-11-19 2012-11-19 基于位置信息的推荐系统及推荐方法

Publications (2)

Publication Number Publication Date
CN103023977A CN103023977A (zh) 2013-04-03
CN103023977B true CN103023977B (zh) 2015-07-01

Family

ID=47972103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210469843.7A Active CN103023977B (zh) 2012-11-19 2012-11-19 基于位置信息的推荐系统及推荐方法

Country Status (1)

Country Link
CN (1) CN103023977B (zh)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105095241B (zh) * 2014-04-30 2019-03-01 华为技术有限公司 一种信息推荐方法、装置及系统
CN104063516B (zh) * 2014-07-14 2017-06-06 福州大学 基于分布式矩阵分解特征提取的社交网络垃圾过滤方法
KR101682590B1 (ko) * 2015-04-16 2016-12-05 (주)포스트미디어 사용자 맞춤형 여행계획 생성방법, 이를 수행하는 사용자 맞춤형 여행계획 생성 서버 및 이를 저장하는 기록매체
CN105025091A (zh) * 2015-06-26 2015-11-04 南京邮电大学 一种基于移动用户位置的商铺推荐方法
CN105550950A (zh) * 2015-11-20 2016-05-04 广东工业大学 一种基于位置服务的旅游推荐方法
CN105718581A (zh) * 2016-01-25 2016-06-29 杭州电子科技大学 引入空间衰减函数的兴趣点推荐算法
CN106126615B (zh) * 2016-06-22 2019-06-11 苏州大学 一种兴趣点推荐的方法及系统
CN107784046B (zh) * 2016-11-14 2021-05-04 平安科技(深圳)有限公司 Poi信息处理方法和装置
CN106656669B (zh) * 2016-12-26 2019-09-24 山东鲁能软件技术有限公司 一种基于阈值自适应设置的设备参数异常检测系统及方法
CN106952130B (zh) * 2017-02-27 2020-10-27 华南理工大学 基于协同过滤的通用物品推荐方法
CN106960044B (zh) * 2017-03-30 2020-04-07 浙江鸿程计算机系统有限公司 一种基于张量分解及加权hits的时间感知个性化poi推荐方法
JP2020529649A (ja) * 2017-08-04 2020-10-08 ベイジン ディディ インフィニティ テクノロジー アンド ディベロップメント カンパニー リミティッド ピックアップロケーションをネーミングするための方法およびシステム
CN108230104A (zh) * 2017-12-29 2018-06-29 努比亚技术有限公司 应用类特征生成方法、移动终端以及可读存储介质
CN108363733A (zh) * 2018-01-17 2018-08-03 阿里巴巴集团控股有限公司 内容推荐方法及装置
CN108460101B (zh) * 2018-02-05 2019-05-28 山东师范大学 面向位置社交网络基于地理位置正则化的兴趣点推荐方法
CN110390045B (zh) 2018-04-12 2021-12-17 腾讯大地通途(北京)科技有限公司 基于位置服务的兴趣点推荐方法及装置
CN108829761B (zh) * 2018-05-28 2022-03-15 苏州大学 一种兴趣点推荐方法、系统、介质及设备
CN108958247A (zh) * 2018-07-02 2018-12-07 深圳市益鑫智能科技有限公司 一种引导机器人
CN110209924B (zh) * 2018-07-26 2023-05-02 深圳市雅阅科技有限公司 推荐参数获取方法、装置、服务器及存储介质
CN109544224A (zh) * 2018-11-19 2019-03-29 西北工业大学 一种基于神经协同过滤的智能商业选址方法
CN110008402B (zh) * 2019-02-22 2021-09-03 苏州大学 一种基于社交网络的去中心化矩阵分解的兴趣点推荐方法
CN112711713B (zh) * 2021-01-15 2022-04-26 腾讯科技(深圳)有限公司 兴趣点推荐和展示方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694652A (zh) * 2009-09-30 2010-04-14 西安交通大学 一种基于极速神经网络的网络资源个性化推荐方法
CN102118382A (zh) * 2010-10-31 2011-07-06 华南理工大学 一种基于兴趣组合的协作推荐攻击检测系统及方法
CN102594905A (zh) * 2012-03-07 2012-07-18 南京邮电大学 一种基于场景的社交网络位置兴趣点推荐方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070106656A1 (en) * 2003-05-12 2007-05-10 Koninklijke Philips Electronics, N.V. Apparatus and method for performing profile based collaborative filtering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101694652A (zh) * 2009-09-30 2010-04-14 西安交通大学 一种基于极速神经网络的网络资源个性化推荐方法
CN102118382A (zh) * 2010-10-31 2011-07-06 华南理工大学 一种基于兴趣组合的协作推荐攻击检测系统及方法
CN102594905A (zh) * 2012-03-07 2012-07-18 南京邮电大学 一种基于场景的社交网络位置兴趣点推荐方法

Also Published As

Publication number Publication date
CN103023977A (zh) 2013-04-03

Similar Documents

Publication Publication Date Title
CN103023977B (zh) 基于位置信息的推荐系统及推荐方法
CN105868847A (zh) 一种购物行为的预测方法及装置
Sun et al. Contextual intent tracking for personal assistants
CN110008397B (zh) 一种推荐模型训练方法及装置
KR102340463B1 (ko) 샘플 가중치 설정방법 및 장치, 전자 기기
CN104239338A (zh) 信息推荐方法及装置
CN110140135A (zh) 信息处理方法、信息处理系统和信息处理装置
CN106960044B (zh) 一种基于张量分解及加权hits的时间感知个性化poi推荐方法
CN103718206B (zh) 推荐其他用户或对象的方法、系统和装置
CN103399858A (zh) 基于信任的社会化协同过滤推荐方法
CN104899763A (zh) 基于二分网络双向扩散的个性化推荐方法
CN103514239A (zh) 一种集成用户行为和物品内容的推荐方法及系统
CN103345699A (zh) 一种基于商品森林体系的个性化美食推荐方法
CN107644036A (zh) 一种数据对象推送的方法、装置及系统
CN106776928A (zh) 基于内存计算框架、融合社交环境及时空数据的位置推荐方法
CN103353872A (zh) 一种基于神经网络的教学资源个性化推荐方法
CN105260390A (zh) 一种面向群组的基于联合概率矩阵分解的项目推荐方法
CN110348930A (zh) 业务对象数据处理方法、业务对象信息的推荐方法和装置
CN110276012A (zh) 一种可视化用户画像的生成方法、装置和计算设备
CN106157156A (zh) 一种基于用户社区的协作推荐系统
Wang Personalized recommendation framework design for online tourism: know you better than yourself
Xin et al. A location-context awareness mobile services collaborative recommendation algorithm based on user behavior prediction
CN102999589A (zh) 一种推荐排序的方法及系统
CN115408618B (zh) 一种基于社交关系融合位置动态流行度和地理特征的兴趣点推荐方法
CN105894310A (zh) 一种个性化推荐方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant