基于图数据库的POI推荐方法、设备及介质技术

技术编号:25835662 阅读:30 留言:0更新日期:2020-10-02 14:16
本发明专利技术公开了一种基于图数据库的POI推荐方法,涉及大数据分析领域,旨在实现个性化POI推荐。该方法包含以下步骤:获取数据,将所述数据导入预先构建的图数据库;接收目标用户的ID和定位信息;根据所述目标用户的ID和定位信息,从所述图数据库中获取所述目标用户的特征矢量、所述目标用户的好友亲密度系数以及目标POI集合;根据所述目标POI集合,从所述图数据库中获取存在相关POI消费记录的用户集合的特征矩阵;计算所述目标用户的特征矢量和所述特征矩阵的相似度;根据计算得到的相似度结果,确定目标POI;返回所述目标POI。本发明专利技术还公开了一种电子设备和计算机存储介质。

【技术实现步骤摘要】
基于图数据库的POI推荐方法、设备及介质
本专利技术涉及大数据分析领域,尤其涉及一种基于图数据库的POI推荐方法、设备及介质。
技术介绍
POI是PointOfInterest的缩写,在本地生活领域,通常指景点、电影院、餐厅等消费者感兴趣的地点。基于地理位置的POI个性化推荐服务,不仅能给消费者提供便利,也能为商家带来巨大的商业利益。目前的本地生活POI的推荐系统,通常采用在数据仓库中进行离线计算和准备的方式进行POI推荐,使用例如HiveSQL或者SparkJob方式经过分钟或小时级别的加工计算,得到预推荐结果,然后再将推荐结果存放在例如Redis这样的缓存数据库中,以备实时查询。该方法主要存在两个问题:1.由于发起请求的地理位置无法事先获知,必须将绝大多数可能的POI预先计算完成。但事实上,对于每个消费者而言,一天或者一周内,只可能到达很小一部分POI。因此在实际应用时会造成计算资源的极大浪费。2.无法做到个性化推荐。“千人千面”的个性化推荐算法需要实时位置、消费者的社交关系、商家POI、历史消费记录、商家的历史评价记录等多维数据。而诸如社交关系、历史消费记录、偏好等信息构成一个大规模的拓扑关系网络,要求推荐算法能在这个拓扑关系网络中进行图遍历以获取数据。但是数据仓库中的数据存储格式并不适合获取这种依赖图遍历的数据,因此传统推荐算法无法使用实时位置和关系网络这些具有极大业务参考价值的数据,最后导致推荐结果缺乏个性化。
技术实现思路
为了克服现有技术的不足,本专利技术的目的之一在于提供一种基于图数据库的POI推荐方法,实现个性化推荐,满足不同消费者的需求。本专利技术的目的之一采用以下技术方案实现:一种基于图数据库的POI推荐方法,包括以下步骤:获取数据,将所述数据导入预先构建的图数据库,所述数据包括POI数据、用户数据以及所述POI数据与所述用户数据之间的关联关系;接收目标用户的ID和定位信息;根据所述目标用户的ID和定位信息,从所述图数据库中获取所述目标用户的特征矢量、所述目标用户的好友亲密度系数以及目标POI集合,其中,所述目标用户的特征矢量由所述目标用户的个人数据构成;根据所述目标POI集合,从所述图数据库中获取存在相关POI消费记录的用户集合的特征矩阵,其中,所述相关POI消费记录为与所述目标POI集合中的任意POI关联的消费记录,所述特征矩阵由所述用户集合中的各用户的个人数据组成;根据所述好友亲密度系数,计算所述目标用户的特征矢量和所述特征矩阵的相似度;根据计算得到的相似度结果,确定目标POI;返回所述目标POI。进一步地,接收目标用户的ID和定位信息后,包括以下步骤:将所述目标用户的ID和定位信息,发送至所述图数据库;接收所述图数据库回传的目标POI;返回所述目标POI;其中,所述图数据库求取所述目标POI并回传所述目标POI,包括:根据所述目标用户的ID和定位信息,获取所述目标用户的特征矢量、所述目标用户的好友亲密度系数以及目标POI集合,其中,所述目标用户的特征矢量由所述目标用户的个人数据构成;根据所述目标POI集合,获取存在相关POI消费记录的用户集合的特征矩阵,其中,所述相关POI消费记录为与所述目标POI集合中的任意POI关联的消费记录,所述特征矩阵由所述用户集合中的各用户的个人数据组成;根据所述好友亲密度系数,计算所述目标用户的特征矢量和所述特征矩阵的相似度;根据计算得到的相似度结果,确定目标POI;回传所述目标POI。进一步地,获取数据,将所述数据导入预先构建的图数据库,包括:获取数据仓库中的数据,所述数据包括POI数据、用户数据以及所述POI数据与所述用户数据的关联关系;将所述数据加工成所述图数据库的图元素;建立批量任务,将所述图元素批量转换为所述图数据库的文件格式,得到图元素文件;将所述图元素文件从所述数据仓库中拉取到所述图数据库对应的图数据库服务器上,并注入到所述图数据库。进一步地,根据所述目标用户的ID和定位信息,获取所述目标用户的特征矢量、所述目标用户的好友亲密度系数以及目标POI集合,具体包括以下步骤:调用用户自定义函数,根据所述目标用户的ID,查询所述目标用户的个人数据和所述目标用户的好友亲密度系数,所述目标用户的个人数据包括用户信息和偏好信息;将所述目标用户的个人数据组成所述目标用户的特征矢量;调用用户自定义函数,根据所述定位信息,查询预设距离范围内的POI,将所述预设距离范围内的POI构成所述目标POI集合。进一步地,调用用户自定义函数,根据所述目标POI集合,获取存在相关POI消费记录的用户集合的特征矩阵,包括以下步骤:调用用户自定义函数,根据所述目标POI集合,查询存在相关POI消费记录的用户,将所述存在相关POI消费记录的用户构成用户集合,所述相关POI为所述目标POI集合中的任意POI;依次获取所述用户集合中各用户的个人数据,将所述各用户的个人数据依次构成第一特征矢量,其中所述各用户的个人数据包括个人信息和偏好信息;将所述用户集合中各用户的第一特征矢量构成特征矩阵,得到所述用户集合的特征矩阵,其中,所述特征矩阵中的每一列元素为所述用户集合中一个用户的第一特征矢量。进一步地,将所述存在相关POI消费记录的用户构成用户集合,对所述用户集合进行处理,包括:对所述用户集合中的各用户进行去重处理。进一步地,根据所述好友亲密度系数,计算所述目标用户的特征矢量和所述特征矩阵的相似度,包括:根据相似度计算函数,计算所述目标用户的特征矢量和所述特征矩阵的相似度,所述相似度计算公式:,其中X表示所述目标用户的特征矢量,Y表示所述特征矩阵,为X和Y两者的亲密度系数,xi为X中的第i个元素,yi为Y中的第i列元素。进一步地,根据计算得到的相似度结果,确定目标POI,包括:将所述相似度结果降序排列;选取相似度排序前n位的用户;查询所述排序前n位的用户消费最多的POI,得到目标POI。本专利技术的目的之二在于提供执行专利技术目的之一的电子设备,其包括处理器、存储介质以及计算机程序,所述计算机程序存储于存储介质中,所述计算机程序被处理器执行时实现上述的基于图数据库的POI推荐方法。本专利技术的目的之三在于提供存储专利技术目的之一的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于图数据库的POI推荐方法。相比现有技术,本专利技术的有益效果在于:本专利技术通过图数据库存储用户的个人多维数据,能基于实时地理位置和个人数据之间的关联关系,实时计算得到POI推荐,满足个性化POI推荐需求,不用预先计算POI,能节省计算资源。附图说明图1是本专利技术基于图数据库的POI推荐方法的流程图;图2是实施本文档来自技高网...

【技术保护点】
1.一种基于图数据库的POI推荐方法,其特征在于,包括以下步骤:/n获取数据,将所述数据导入预先构建的图数据库,所述数据包括POI数据、用户数据以及所述POI数据与所述用户数据之间的关联关系;/n接收目标用户的ID和定位信息;/n根据所述目标用户的ID和定位信息,从所述图数据库中获取所述目标用户的特征矢量、所述目标用户的好友亲密度系数以及目标POI集合,其中,所述目标用户的特征矢量由所述目标用户的个人数据组成;/n根据所述目标POI集合,从所述图数据库中获取存在相关POI消费记录的用户集合的特征矩阵,其中,所述相关POI消费记录为与所述目标POI集合中的任意POI关联的消费记录,所述特征矩阵由所述用户集合中的各用户的个人数据组成;/n根据所述好友亲密度系数,计算所述目标用户的特征矢量和所述特征矩阵的相似度;/n根据计算得到的相似度结果,确定目标POI;/n返回所述目标POI。/n

【技术特征摘要】
1.一种基于图数据库的POI推荐方法,其特征在于,包括以下步骤:
获取数据,将所述数据导入预先构建的图数据库,所述数据包括POI数据、用户数据以及所述POI数据与所述用户数据之间的关联关系;
接收目标用户的ID和定位信息;
根据所述目标用户的ID和定位信息,从所述图数据库中获取所述目标用户的特征矢量、所述目标用户的好友亲密度系数以及目标POI集合,其中,所述目标用户的特征矢量由所述目标用户的个人数据组成;
根据所述目标POI集合,从所述图数据库中获取存在相关POI消费记录的用户集合的特征矩阵,其中,所述相关POI消费记录为与所述目标POI集合中的任意POI关联的消费记录,所述特征矩阵由所述用户集合中的各用户的个人数据组成;
根据所述好友亲密度系数,计算所述目标用户的特征矢量和所述特征矩阵的相似度;
根据计算得到的相似度结果,确定目标POI;
返回所述目标POI。


2.如权利要求1所述的基于图数据库的POI推荐方法,其特征在于,接收目标用户的ID和定位信息后,包括以下步骤:
将所述目标用户的ID和定位信息,发送至所述图数据库;
接收所述图数据库回传的目标POI;
返回所述目标POI;
其中,所述图数据库求取所述目标POI并回传所述目标POI,包括:
根据所述目标用户的ID和定位信息,获取所述目标用户的特征矢量、所述目标用户的好友亲密度系数以及目标POI集合,其中,所述目标用户的特征矢量由所述目标用户的个人数据组成;
根据所述目标POI集合,获取存在相关POI消费记录的用户集合的特征矩阵,其中,所述相关POI消费记录为与所述目标POI集合中的任意POI关联的消费记录,所述特征矩阵由所述用户集合中的各用户的个人数据组成;
根据所述好友亲密度系数,计算所述目标用户的特征矢量和所述特征矩阵的相似度;
根据计算得到的相似度结果,确定目标POI;
回传所述目标POI。


3.如权利要求1所述的基于图数据库的POI推荐方法,其特征在于,获取数据,将所述数据导入预先构建的图数据库,包括:
获取数据仓库中的数据,所述数据包括POI数据、用户数据以及所述POI数据与所述用户数据的关联关系;
将所述数据加工成所述图数据库的图元素;
建立批量任务,将所述图元素批量转换为所述图数据库的文件格式,得到图元素文件;
将所述图元素文件从所述数据仓库中拉取到所述图数据库对应的图数据库服务器上,并注入到所述图数据库。


4.如权利要求1或2所述的基于图数据库的POI推荐方法,其特征在于,根据所述目标用户的ID和定位信息,获取所述目标用户的特征矢量、所述目标用户的好友亲...

【专利技术属性】
技术研发人员:吴敏陈鹏伟叶小萌
申请(专利权)人:杭州欧若数网科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1