CN110020144B - 一种推荐模型建立方法及其设备、存储介质、服务器 - Google Patents
一种推荐模型建立方法及其设备、存储介质、服务器 Download PDFInfo
- Publication number
- CN110020144B CN110020144B CN201711165723.7A CN201711165723A CN110020144B CN 110020144 B CN110020144 B CN 110020144B CN 201711165723 A CN201711165723 A CN 201711165723A CN 110020144 B CN110020144 B CN 110020144B
- Authority
- CN
- China
- Prior art keywords
- poi
- historical
- user identifier
- time slice
- vector
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开一种推荐模型建立方法及其设备、存储介质、终端,其中方法包括如下步骤:获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹集合;采用所述第一用户标识对应的第一特征向量集合和所述历史足迹集合对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。采用本发明,通过对历史POI的分析处理生成POI推荐模型,可以提高基于POI推荐模型对第二用户标识对应的用户进行POI信息推荐的合理性。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种推荐模型建立方法及其设备、存储介质、服务器。
背景技术
随着互联网技术的不断发展,智能手机、平板电脑等智能设备中安装的各类终端应用都具备兴趣点(Point of Information,POI)推荐功能,即当用户使用相关应用时,该应用可以结合用户所处的时间和地点自主地为用户推荐用户可能感兴趣的POI,例如,当打开某团购APP时,该APP的后台开发人员可以根据打开该APP的时间和地点并结合大数据处理后的POI数据,为用户推荐所处地周围的POI。
现有技术中,后台开发人员在训练POI推荐模型的过程中通常采用全连接神经网络或者深度神经网络,利用时间窗的签到记录进行预测。然而,对于时间周期性较强或者上下文语义依赖性较强的POI信息,现有POI推荐模型会降低对POI信息推荐的合理性。
发明内容
本发明实施例提供一种推荐模型建立方法及其设备、存储介质、服务器,可以结合第一用户标识和第二用户标识对应的历史POI集合生成网络模型训练参数,完成对第二用户标识即目标用户的POI推荐模型的建立,可以提高基于POI推荐模型对第二用户标识对应的用户进行POI信息推荐的合理性。
本发明实施例第一方面提供了一种推荐模型建立方法,可包括:
获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。
在一种可能的设计中,所述对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合,包括:
获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合。
在一种可能的设计中,所述获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合,包括:
获取在所述第一用户标识对应的历史POI集合中所选择的任两个历史POI间的距离参数和活跃性参数;
根据所述距离参数、所述活跃性参数以及代价函数生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合。
在一种可能的设计中,所述对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量,包括:
采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合;
生成第二用户标识对应的历史POI集合中各历史POI的POI编号;
检测所述时间片集合中各时间片内的历史POI数量,并根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量。
在一种可能的设计中,所述根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量,包括:
当所述时间片集合中第一时间片内的第一POI的数量为1时,获取所述第一POI对应的POI编号,将所述第一时间片和所述第一POI对应的POI编号,对应存储在指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量中;
当所述时间片集合中第二时间片内的第二POI的数量大于1时,在所述第二POI中任取一个目标POI,获取所述目标POI对应的POI编号,将所述第二时间片和所述目标POI对应的POI编号对应存储在所述历史足迹向量中;
当所述时间片集合中第三时间片内的第三POI的数量为0时,将所述第二时间片和特殊编号对应存储在所述历史足迹向量中。
在一种可能的设计中,所述采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型,包括:
获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练;
获取所述网络模型在模型训练中所对应的模型校验向量;
采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型。
在一种可能的设计中,所述获取所述网络模型在模型训练中所对应的模型校验向量,包括:
获取所述第一特征向量集合中的第一特征向量,将所述第一特征向量确定为所述网络模型在模型训练中所对应的模型校验向量,所述第一特征向量在所述第一特征向量集合中对应的第四时间片与所述训练特征向量对应的第五时间片相邻,且所述第四时间片为所述第五时间片的下一时间片。
在一种可能的设计中,所述获取所述网络模型在模型训练中所对应的模型校验向量,包括:
对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量;
将第六时间片对应的编号向量确定为模型校验向量,所述训练特征向量对应的第五时间片与所述第六时间片相邻,且所述第六时间片为所述第五时间片的下一时间片。
在一种可能的设计中,还包括:
获取所述第二用户标识当前所处的位置信息和所述位置对应的时间信息,并基于所述位置信息和所述时间信息输出针对所述第二用户标识的POI推荐信息。
本发明实施例第二方面提供了一种推荐模型建立设备,可包括:
集合获取模块,用于获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
向量生成模块,用于对所述历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
足迹生成模块,用于对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
模型生成模块,用于采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。
在一种可能的设计中,所述向量生成模块具体用于,
获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合。
在一种可能的设计中,所述向量生成模块包括:
参数获取单元,用于获取在所述第一用户标识对应的历史POI集合中所选择的任两个历史POI间的距离参数和活跃性参数;
向量生成单元,用于根据所述距离参数、所述活跃性参数以及代价函数生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合。
在一种可能的设计中,所述足迹生成模块包括:
集合划分单元,用于采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合;
编号生成单元,用于生成第二用户标识对应的历史POI集合中各历史POI的POI编号;
足迹生成单元,用于检测所述时间片集合中各时间片内的历史POI数量,并根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量。
在一种可能的设计中,所述足迹生成单元包括:
第一足迹生成子单元,用于当所述时间片集合中第一时间片内的第一POI的数量为1时,获取所述第一POI对应的POI编号,将所述第一时间片和所述第一POI对应的POI编号,对应存储在指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量中;
第二足迹生成子单元,用于当所述时间片集合中第二时间片内的第二POI的数量大于1时,在所述第二POI中任取一个目标POI,获取所述目标POI对应的POI编号,将所述第二时间片和所述目标POI对应的POI编号对应存储在所述历史足迹向量中;
第三足迹生成子单元,用于当所述时间片集合中第三时间片内的第三POI的数量为0时,将所述第二时间片和特殊编号对应存储在所述历史足迹向量中。
在一种可能的设计中,所述模型生成模块包括:
模型训练单元,用于获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练;
校验向量获取单元,用于获取所述网络模型在模型训练中所对应的模型校验向量;
模型生成单元,用于采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型。
在一种可能的设计中,所述校验向量获取单元具体用于,
获取所述第一特征向量集合中的第一特征向量,将所述第一特征向量确定为所述网络模型在模型训练中所对应的模型校验向量,所述第一特征向量在所述第一特征向量集合中对应的第四时间片与所述训练特征向量对应的第五时间片相邻,且所述第四时间片为所述第五时间片的下一时间片。
在一种可能的设计中,所述校验向量获取单元包括:
编号向量化子单元,用于对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量;
向量确定子单元,用于将第六时间片对应的编号向量确定为模型校验向量,所述训练特征向量对应的第五时间片与所述第六时间片相邻,且所述第六时间片为所述第五时间片的下一时间片。
在一种可能的设计中,还包括:
信息输出模块,用于获取所述第二用户标识当前所处的位置信息和所述位置对应的时间信息,并基于所述位置信息和所述时间信息输出针对所述第二用户标识的POI推荐信息。
本发明实施例第三方面提供了一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行以下步骤:
获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。
本发明实施例第四方面提供了一种服务器,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。
在本发明实施例中,通过获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合,对第一用户标识对应的历史POI集合进行特征处理生成第一用户标识对应的第一特征向量集合,再对第二用户标识对应的历史POI集合进行预处理生成指示第二用户标识在历史时间段内POI访问记录的历史足迹向量,然后采用第一用户标识对应的第一特征向量集合和历史足迹向量对网络模型进行训练,生成第二用户标识对应的POI推荐模型。通过分别对第一用户标识和第二用户标识对应的历史POI集合进行分析,生成网络模型训练参数,完成对第二用户标识对应的POI推荐模型的建立,提高了基于POI推荐模型对第二用户标识对应的用户进行POI信息推荐的合理性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种推荐模型建立方法的流程示意图;
图2是本发明实施例提供的一种推荐模型建立的系统结构图;
图3是本发明实施例提供的另一种推荐模型建立方法的流程示意图;
图4是本发明实施例提供的一种网络模型训练结构示意图;
图5是本发明实施例提供的另一种推荐模型建立方法的流程示意图;
图6是本发明实施例提供的另一种推荐模型建立方法的流程示意图;
图7是本发明实施例提供的另一种推荐模型建立方法的流程示意图;
图8是本发明实施例提供的一种推荐模型建立设备的结构示意图;
图9是本发明实施例提供的另一种推荐模型建立设备的结构示意图;
图10是本发明实施例提供的足迹生成模块的结构示意图;
图11是本发明实施例提供的模型生成模块的结构示意图;
图12是本发明实施例提供的向量生成单元的结构示意图;
图13是本发明实施例提供的足迹生成单元的结构示意图;
图14是本发明实施例提供的校验向量获取单元的结构示意图;
图15是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的推荐模型建立方法可以应用于根据历史POI集合建立POI推荐模型的场景中,例如:推荐模型建立设备获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合,对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合,再对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量,然后采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。通过分别对第一用户标识和第二用户标识对应的历史POI集合进行分析,生成网络模型训练参数,完成对第二用户标识对应的POI推荐模型的建立,提高了基于POI推荐模型对第二用户标识对应的用户进行POI信息推荐的合理性。
本发明实施例涉及的推荐模型建立设备可以是具有较强的数据承载能力和处理能力的服务器。
下面将结合附图1-附图7,对本发明实施例提供的推荐模型建立方法进行详细介绍。
请参见图1,为本发明实施例提供了一种推荐模型建立方法的流程示意图。如图1所示,本发明实施例的所述方法可以包括以下步骤S101-步骤S104。
S101,获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
在本发明实施例中,可以参见如图2所示的POI推荐模型建立过程的系统结构图,图2所示的三个分支分别为特征处理、预处理和模型训练三部分,各部分的实现过程将在下文详细阐述。
具体的,推荐模型建立设备可以获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合。可以理解的是,用户标识可以是用户注册相关终端应用(例如,社交应用、外卖应用以及地图导航应用等)时的用户名或者其他可以唯一区别用户身份的标识信息,所述第一用户标识可以是所述相关终端应用对应的所有用户的标识信息,也可以是部分用户的标识信息。所述历史时间段可以是建立POI推荐模型前的任意预设时间段,例如,可以是一年、一季度、一个月、一周或者一天等。所述兴趣点(Point of Information,POI)可以是基于位置服务的最核心数据,在电子地图中运用场景广泛,如导航前选择的目的地、查看周边的餐馆等,任何一个POI都具备对应的属性参数,例如,类别、地址以及坐标等信息。所述历史POI集合可以是所述历史时间段内所述第一用户标识对应的用户访问过的POI所组成的数据集合,例如,可以是一周内所述第一用户标识对应的用户访问过的餐馆、酒店、商场以及景点等其他POI信息组成的数据集合。
在本发明实施例中,一个用户标识可以对应至少一个POI,即一个用户标识可以对应一个POI集合,当所述第一用户标识只包含一个用户标识时,所述第一用户标识对应的历史POI集合为该用户标识对应的历史POI集合,当所述第一用户标识为多个用户标识中所选取的至少两个用户标识时,所述第一用户标识对应的历史POI集合包括所述至少两个用户标识中各用户标识对应的历史POI集合。
S102,对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
具体的,所述推荐模型建立设备可以对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合,可以理解的是,所述特征处理可以是将所述各历史POI对应的属性参数转化为能够被机器开发学习的参数的处理过程。所述第一特征向量集合中的各特征向量可以作为后续模型训练的输入参数。
在可选实施例中,所述特征处理可以是POI表征学习的过程,即通过对任意两个历史POI间的相关参数(例如,任两个历史POI间的地理距离和活跃性即活跃度曲线相似程度)用向量进行表征,得到各历史POI在隐空间Rd中的隐向量v(i)的过程。
S103,对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
具体的,所述推荐模型建立设备可以对第二用户标识对应的历史POI集合进行预处理,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量。可以理解的是,所述预处理的过程可以是对所述第二用户标识对应的各历史POI进行编号,结合编号后的各历史POI组成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量的过程,所述历史足迹向量可以表征所述第二用户标识在所述历史时间段内的访问记录的特征。
在本发明实施例中,所述第二用户标识可以是所述相关终端应用中的目标用户标识,即当前请求POI推荐信息的用户标识,所述第二用户标识可以包含在所述第一用户标识中,也可以为除所述第一用户标识外的其他用户标识。
S104,采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型;
具体的,所述推荐模型建立设备可以采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。可以理解的是,基于所述POI推荐模型,所述推荐模型建立设备可以向所述第二用户标识发送POI推荐信息,可选的,所述推荐模型建立设备可以根据所述第二用户标识当前所处的位置信息和所述位置对应的时间信息向所述第二用户标识发送POI推荐信息,也可以根据所述第二用户标识当前的POI向所述第二用户标识发送POI推荐信息。
在可选实施例中,所述网络模型可以是递归神经网络(Recurrent neuralNetwork,RNN),在RNN训练过程中为了捕捉序列的长时依赖性,降低模型复杂度,递归神经网络层可以采用门控重复单元(Gated recurrent unit,GRU)实现。
在本发明实施例中,通过获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合,对第一用户标识对应的历史POI集合进行特征处理生成第一用户标识对应的第一特征向量集合,再对第二用户标识对应的历史POI集合进行预处理生成指示第二用户标识在历史时间段内POI访问记录的历史足迹向量,然后采用第一用户标识对应的第一特征向量集合和历史足迹向量对网络模型进行训练,生成第二用户标识对应的POI推荐模型。通过分别对第一用户标识和第二用户标识对应的历史POI集合进行分析,生成网络模型训练参数,完成对第二用户标识对应的POI推荐模型的建立,提高了基于POI推荐模型对第二用户标识对应的用户进行POI信息推荐的合理性。
请参见图3,为本发明实施例提供了另一种推荐模型建立方法的流程示意图。如图3所示,本发明实施例的所述方法可以包括以下步骤S201-步骤S209。
S201,获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
具体的,推荐模型建立设备可以获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合。可以理解的是,用户标识可以是用户注册相关终端应用(例如,社交应用、外卖应用以及地图导航应用等)时的用户名或者其他可以唯一区别用户身份的标识信息,所述第一用户标识可以是所述相关终端应用对应的所有用户的标识信息也可以是部分用户的标识信息。所述历史时间段可以是建立POI推荐模型前的任意预设时间段,例如,可以是一年、一季度、一个月、一周或者一天等。所述兴趣点POI是基于位置服务的最核心数据,在电子地图中运用场景广泛,如导航前选择的目的地、查看周边的餐馆等,任何一个POI都具备对应的属性参数,例如,类别、地址以及坐标等信息。所述历史POI集合可以是所述历史时间段内所述第一用户标识对应的用户访问过的POI所组成的数据集合,例如,可以是一周内所述第一用户标识对应的用户访问过的餐馆、酒店、商场以及景点等其他POI信息组成的数据集合。
在本发明实施例中,一个用户标识可以对应至少一个POI,即一个用户标识可以对应一个POI集合,当所述第一用户标识只包含一个用户标识时,所述第一用户标识对应的历史POI集合为该用户标识对应的历史POI集合,当所述第一用户标识为多个用户标识中所选取的至少两个用户标识时,所述第一用户标识对应的历史POI集合包括所述至少两个用户标识中各用户标识对应的历史POI集合。
S202,获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合;
具体的,所述推荐模型建立设备可以获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,可以理解的是,所述POI属性参数可以是历史POI的坐标、活跃度以及类别等参数。
在本发明实施例中,所述推荐模型建立设备可以在各历史POI对应的POI属性参数中选择一个或多个能够表征所述各历史POI特性的属性参数,对所述各历史POI进行参数的特征处理,将所述各历史POI对应的属性参数转化为能够被机器开发学习特征参数。
进一步的,所述推荐模型建立设备可以对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合,例如,所述推荐模型建立设备可以在所述POI属性参数中选择坐标参数和活跃度参数,然后在所述第一用户标识对应的历史POI集合中任选两个历史POI,获取所选择的两个POI之间基于坐标参数的距离参数(根据所选择的两个POI的坐标可以求取上述两个POI间的距离)和上述两个POI之间基于活跃度参数的活跃性参数(根据所选择的两个POI的活跃度可以求取上述两个POI间的活跃度曲线的相似程度即活跃性),进一步的,所述推荐模型建立设备可以根据所述距离参数、所述活跃性参数以及代价函数,生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合。可以理解的是,所述第一特征向量集合中的各特征向量可以分别对应各历史POI在隐空间Rd中的隐向量v(i)。可以理解的是,所述代价函数可以在POI表征学习的过程中作为找到最优解的目的函数,通过代价函数对距离参数和活跃性参数进行最优解的求解,可以使最终所得的距离参数所指示的两个POI间的距离更近,使最终所得的活跃性参数所指示的两个POI间的活跃度曲线的相似程度更大,进而使得第一特征向量即隐向量v(i)能够更好地表征各历史POI的特征,可选的,所述代价函数可以是优化(Kullback–Leibler,KL)距离的函数、Graph based POI Embedding以及类似于Word2vec(词向量)的POI2vec(POI向量)等。
S203,采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合;
具体的,所述推荐模型建立设备可以采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合,可以理解的是,所述时间间隔阈值可以是对应于所述历史时间段的任意值,例如,当所述历史时间段为一天即24小时时,所述时间间隔阈值可以是1小时,即将一天划分为24个时间片,每个时间片的长度的一小时,具体的划分密度可以取决于数据随时间分布的稠密程度。所述时间片集合可以包含划分后的所述历史时间段对应的所有时间片。
S204,生成第二用户标识对应的历史POI集合中各历史POI的POI编号;
可以理解的是,所述第二用户标识可以是所述相关终端应用中的目标用户标识,即当前请求POI推荐信息的用户标识,所述第二用户标识可以包含在所述第一用户标识中,也可以为除所述第一用户标识外的其他用户标识。
具体的,所述推荐模型建立设备可以生成所述第二用户标识对应的历史POI集合中各历史POI的POI编号,可以理解的是,所述POI编号可以是根据所述第二用户标识对应的历史POI集合中的历史POI的数量进行的编号,例如,所述第二用户标识对应的历史POI集合中有2000个历史POI,则可以将这2000个历史POI按照0-1999进行编号。
S205,检测所述时间片集合中各时间片内的历史POI数量,并根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
具体的,所述推荐模型建立设备可以检测所述时间片集合中各时间片内的历史POI数量,可以理解的是,所述各时间片内的历史POI数量可以是所述各时间片内的用户的POI访问记录的数量。
进一步的,所述推荐模型建立设备可以根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量,可以理解的是,所述历史足迹向量可以表征所述第二用户标识在所述历史时间段内的访问记录的特征。
在可选实施例中,当所述时间片集合中第一时间片内的第一POI的数量为1时,所述推荐模型建立设备可以获取所述第一POI对应的POI编号,将所述第一时间片和所述第一POI对应的POI编号,对应存储在指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量中;当所述时间片集合中第二时间片内的第二POI的数量大于1时,在所述第二POI中任取一个目标POI,获取所述目标POI对应的POI编号,将所述第二时间片和所述目标POI对应的POI编号对应存储在所述历史足迹向量中;当所述时间片集合中第三时间片内的第三POI的数量为0时,将所述第二时间片和特殊编号对应存储在所述历史足迹向量中,可以理解的是,所述第一时间片、第二时间片和第三时间片仅是为了区别含有不同历史POI数量而进行的命名,并不是排序意义上的时间片,所述第一POI、第二POI和第三POI是对含有不同数量POI的时间片内的POI进行的命名,不是排序意义上的POI。所述特殊编号可以是区别于所述POI编号的特殊符号,例如,对2000个POI的编号为0-1999,所述特殊编号可以是-1。
在本发明实施例的具体实现方式中,将历史时间段进行离散化,1天分为24个时间片,每个时间片长度为1小时,将用户的POI访问记录映射到对应的时间片中,如果单个时间片中存在多于1条记录,则随机选择1条进行保留,如果该时间片没有记录数据,则认为其访问了特殊的占位符POI--MISSED。对所述第二用户标识在所述历史时间段即一天内的历史POI集合中的各历史POI进行从0开始的编号,将特殊占位符赋予特殊编号-1。设用户第i天的访问足迹向量为则经过以上处理过程,用户的所有历史签到数据变成了足迹向量的集合/>集合的大小等于该用户有签到的天数,表1为某用户某一天的足迹向量示例:
表1
上述表格中,0-23为一天的24个时间片,时间片对应的编号为-1代表相应时间片内没有用户POI访问记录,时间片7对应的编号为10标识第7个时间片内有POI访问记录,且选择保留下来的是编号为10的POI访问记录。
S206,获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练;
可以理解的是,所述第一特征向量中的各特征向量为所述第一用户标识对应的各历史POI在隐空间Rd中的隐向量v(i)。
具体的,所述推荐模型建立设备可以获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,可以理解的是,所述训练特征向量可以是所述第一特征向量集合中任一时间片对应的POI经上述表征学习后的隐向量v(i)。
进一步的,所述推荐模型建立设备可以将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练,可选的,所述网络模型可以是如图4所示的递归神经网络RNN,在RNN训练过程中为了捕捉序列的长时依赖性,降低模型复杂度,递归神经网络层可以采用门控重复单元GRU实现。在图4所示的模型训练过程中,s(i)和v(i)是该网络模型的输入参数,根据s(i)和v(i)产生网络模型的输入向量xi。
需要说明的是,所述第一用户标识对应的历史POI集合中的各历史POI经所述表征学习后得到的隐向量v(i)实际是一个可用POI ID或者POI编号索引的查找表,可以利用xi去索引这个查找表得到一个d维向量作为最终的网络模型的输入向量xi。
在本发明实施例的模型训练过程中,将一天的足迹向量看成一个序列,为了捕捉一天内不同时间片上访问POI之间的相关性,GRU的记忆单元在一天内应保持连续更新,不能被重置;而为了捕捉天与天之间的周期性,在将新一天的足迹向量送入所述网络模型进行训练前,应将记忆单元重置为随机状态。
S207,获取所述网络模型在模型训练中所对应的模型校验向量;
具体的,所述推荐模型建立设备可以获取所述网络模型在模型训练中所对应的模型校验向量,可以理解的是,所述模型校验向量可以对所述网络模型的训练结果进行校验,使训练过程中产生的训练误差最小化,图4所示的yi为模型校验向量。
在可选实施例中,所述推荐模型建立设备可以获取所述第一特征向量集合中的第一特征向量,将所述第二特征向量确定为所述网络模型在模型训练中所对应的模型校验向量,所述第一特征向量在所述第一特征向量集合中对应的第四时间片与所述训练特征向量对应的第五时间片相邻,且所述第四时间片为所述第五时间片的下一时间片。可以理解的是,上述过程所获得的模型校验向量为第二特征向量集合中POI经过特征学习后得到的隐向量v(i)。
在可选实施例中,所述推荐模型建立设备可以对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量,再将第六时间片对应的编号向量确定为模型校验向量,所述训练特征向量对应的第五时间片与所述第六时间片相邻,且所述第六时间片为所述第五时间片的下一时间片。可以理解的是,所述推荐模型建立设备可以采用独热编码的方式对POI编号进行编码,将POI编号向量化,例如,yi作为模型校验向量,对其独热编码的过程是将其转变成一个N维向量若访问的POI编号为i则
需要说明的是,所述第四时间片、第五时间片和第六时间片仅是对所述模型校验向量和所述训练特征向量所在时间片的命名,其中的四、五和六这三个数字没有实际意义上数字的含义。
S208,采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型;
具体的,所述推荐模型建立设备可以采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型,例如,图4中模型校验向量yi参与的计算损失的过程即为模型校验的过程。可以理解的是,基于所述POI推荐模型,所述推荐模型建立设备可以向所述第二用户标识发送POI推荐信息。
S209,获取所述第二用户标识当前所处的位置信息和所述位置对应的时间信息,并基于所述位置信息和所述时间信息输出针对所述目标用户标识的POI推荐信息;
具体的,所述推荐模型建立设备建立针对所述第二用户标识的POI推荐模型后,可以获取所述第二用户标识当前所处的位置信息和所述位置对应的时间信息,并基于所述位置信息和所述时间信息输出针对所述目标用户标识的POI推荐信息。可以理解的是,所述推荐模型建立设备可以在确定所述第二用户标识对应的用户当前所处的时间和地点后,根据所述POI推荐模型关联所述第二用户标识的历史POI访问中的语义信息确定向所述第二用户标识发送的POI推荐信息,例如,用户A在上午11:30-12:30的历史POI访问记录都是关于办公区B处的餐厅的,则所述推荐模型建立设备可以在检测到用户A上午11:30-12:30位于办公区B处的餐厅时,向用户A发送其经常访问的B处的餐厅名称和地址等信息。
在本发明实施例一种具体实现方式中,所述获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合可以包括以下几个步骤,如图5所示:
S301,获取在所述第一用户标识对应的历史POI集合中所选择的任两个历史POI间的距离参数和活跃性参数;
可以理解的是,所述第一用户标识对应的历史POI集合中各历史POI分别有其对应的属性参数,所述推荐模型建立设备可以任意选择两个历史POI及其对应的属性参数(该属性参数可以是在上述两个POI中选择的部分属性参数,例如,坐标参数和活跃度参数),然后根据所选择的两个历史POI的属性参数计算这两个历史POI之间的特征参数,所述特征参数可以包括距离参数、活跃性参数等。
具体的,所述推荐模型建立设备可以根据所选择的两个POI的坐标求取所选择的两个历史POI间的距离参数,可以根据上述两个历史POI的活跃度求取二者之间的活跃度曲线的相似程度即活跃性参数。可以理解的是,所述推荐模型建立设备也可以获取所选择的任两个POI之间的其他参数,例如,类型参数、时间参数等。
S302,根据所述距离参数、所述活跃性参数以及代价函数生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合;
具体的,所述推荐模型建立设备可以根据所述距离参数、所述活跃性参数以及代价函数,生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合,可以理解的是,所述代价函数可以在POI表征学习的过程中作为找到最优解的目的函数,通过代价函数对距离参数和活跃性参数进行最优解的求解,可以使最终所得的距离参数所指示的两个POI间的距离更近,使最终所得的活跃性参数所指示的两个POI间的活跃度曲线的相似程度更大,进而使得第一特征向量即隐向量v(i)能够更好地表征各历史POI的特征,可选的,所述代价函数可以是优化KL距离的函数、基于POI的嵌入图Graph based POIEmbedding以及类似于词向量Word2vec的POI向量POI2vec等。
在本发明的具体实现方式中,代价函数为优化KL距离的函数。POI表征学习的过程可以为:将表征学习的输入参数设为x(i),x(i)∈{x(i)}i=1,2,...,m,选择f(i)作为特征距离函数,第j和第k个POI间的距离为:选择权重αi,∑αi=1,对T(i)进行标准化得到:T=∑αi.T(i),其中,/>衡量了第j和第k个POI在x(i)特征上的关联性,T(i)是对应在POI特征x(i)上关联性组成的矩阵,T通过推T(i)线性组合的方式将不同特征上的距离综合起来,再将问题转化为优化KL距离:即给定N各POI之间的距离矩阵T,设POI在隐空间Rd的隐向量为v(i),这些隐向量之间的欧式距离矩阵Dij=||vi-vj||,则优化问题定义为:
可以理解的是,所述第一特征向量集合中的各特征向量可以分别对应各历史POI在隐空间Rd中的隐向量v(i)。
在本发明实施例中,在POI表征学习的过程中加入代价函数优化了表征学习后各历史POI对应的各特征向量。
在本发明实施例一种具体实现方式中,所述根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量可以包括以下几个步骤,如图6所示:
S401,当所述时间片集合中第一时间片内的第一POI的数量为1时,获取所述第一POI对应的POI编号,将所述第一时间片和所述第一POI对应的POI编号,对应存储在指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量中;
S402,当所述时间片集合中第二时间片内的第二POI的数量大于1时,在所述第二POI中任取一个目标POI,获取所述目标POI对应的POI编号,将所述第二时间片和所述目标POI对应的POI编号对应存储在所述历史足迹向量中;
S403,当所述时间片集合中第三时间片内的第三POI的数量为0时,将所述第二时间片和特殊编号对应存储在所述历史足迹向量中;
可以理解的是,上述获取所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量的过程,可以是对所述第二用户标识对应的历史POI集合进行预处理的过程。
在本发明实施例中,通过对所述第二用户标识对应的历史POI集合进行预处理,保留了真实访问记录的时间信息,便于后续的递归神经网络进行捕捉,从而更好地适应了POI推荐问题的时间特异性和时间周期性特点。
在本发明实施例一种具体实现方式中,所述获取所述网络模型在模型训练中所对应的模型校验向量的过程具体可以是,获取所述第一特征向量集合中的第一特征向量,将所述第一特征向量确定为所述网络模型在模型训练中所对应的模型校验向量的过程。
具体的,所述推荐模型建立设备可以获取所述第一特征向量集合中的第一特征向量,并可以将所述第一特征向量确定为所述网络模型在模型训练中所对应的模型校验向量,可以理解的是,所述第一特征向量在所述第一特征向量集合中对应的第四时间片与所述训练特征向量对应的第五时间片相邻,且所述第四时间片为所述第五时间片的下一时间片。
需要说明的是,所述第四时间片和第五时间片仅是对所述模型校验向量和所述训练特征向量所在时间片的命名,其中的四和五这两个数字没有实际意义上数字的含义。
在本发明实施例一种具体实现方式中,所述获取所述网络模型在模型训练中所对应的模型校验向量的过程还可以包括以下几个步骤,如图7所示:
S501,对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量;
可以理解的是,所述推荐模型建立设备可以生成第一用户标识对应的历史POI集合中各历史POI的POI编号,具体的编号方式可以参见步骤S204所述的对第二用户标识对应的历史POI集合中各历史POI进行POI编号的过程,此处不再赘述。
具体的,所述推荐模型建立设备可以对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量,可以理解的是,所述训练特征向量对应的第五时间片与所述第六时间片相邻,且所述第六时间片为所述第五时间片的下一时间片。所述推荐模型建立设备可以采用独热编码的方式对对POI编号进行编码,将POI编号向量化,例如,yi作为模型校验向量,对其独热编码的过程是将其转变成一个N维向量若访问的POI编号为i则/>
需要说明的是,所述第五时间片和第六时间片仅是对所述模型校验向量和所述训练特征向量所在时间片的命名,其中的五和六这两个数字没有实际意义上数字的含义。
S502,将第六时间片对应的编号向量确定为模型校验向量;
可以理解的是,对应于上述两种获取模型校验向量的方法,训练后所得的POI推荐模型可以分为基于表征学习的推荐模型和基于独热编码的推荐模型。
在本发明实施例的具体实现方式中,可以在Foursquare和Gowalla两大POI推荐领域公认数据集上对现有技术中的推荐模型ST-RNN和上述两种推荐模型进行测试,并比较测试结果,具体的测试结果如表2所示:
表2
表2中的测试指标为召回率(recall@k,其中的k表示推荐算法每次返回的POI数目)和平均精度值(Mean Average Precision,MAP)。由表2可知基于表征学习的推荐模型和基于独热编码的推荐模型在测试效果上差别不大,但都优于现有的推荐模型。
进一步的,可以对基于表征学习的推荐模型和基于独热编码的推荐模型所使用的网络参数的个数进行对比,结果如表3所示:
表3
由表3可知,基于表征学习的推荐模型可以有效地降低神经网络的参数个数,提高算法的训练效率。
在本发明实施例中,通过获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合,对第一用户标识对应的历史POI集合进行特征处理生成第一用户标识对应的第一特征向量集合,再对第二用户标识对应的历史POI集合进行预处理生成指示第二用户标识在历史时间段内POI访问记录的历史足迹向量,然后采用第一用户标识对应的第一特征向量集合和历史足迹向量对网络模型进行训练,生成第二用户标识对应的POI推荐模型。通过分别对第一用户标识和第二用户标识对应的历史POI集合进行分析,生成网络模型训练参数,完成对第二用户标识对应的POI推荐模型的建立,提高了基于POI推荐模型对第二用户标识对应的用户进行POI信息推荐的合理性;通过表征学习获取POI特征向量有效地降低了模型训练过程中神经网络的参数个数,提高了算法的训练效率;通过对所述第二用户标识对应的历史POI集合进行预处理,保留了真实访问记录的时间信息,便于后续的递归神经网络进行捕捉,从而更好地适应了POI推荐问题的时间特异性和时间周期性特点。
下面将结合附图8-附图14,对本发明实施例提供的推荐模型建立设备进行详细介绍。需要说明的是,附图8-附图14所示的设备,用于执行本发明图1-图7所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1-图7所示的实施例。
请参见图8,为本发明实施例提供了一种推荐模型建立设备的结构示意图。如图8所示,本发明实施例的所述推荐模型建立设备1可以包括:集合获取模块11、向量生成模块12、足迹生成模块13和模型生成模块14。
集合获取模块11,用于获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
在本发明实施例中,可以参见如图2所示的POI推荐模型建立过程的系统结构图,图2所示的三个分支分别为特征处理、预处理和模型训练三部分,各部分的实现过程将在下文详细阐述。
具体实现中,集合获取模块11可以获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合。可以理解的是,用户标识可以是用户注册相关终端应用(例如,社交应用、外卖应用以及地图导航应用等)时的用户名或者其他可以唯一区别用户身份的标识信息,所述第一用户标识可以是所述相关终端应用对应的所有用户的标识信息也可以是部分用户的标识信息。所述历史时间段可以是建立POI推荐模型前的任意预设时间段,例如,可以是一年、一季度、一个月、一周或者一天等。所述兴趣点POI可以是基于位置服务的最核心数据,在电子地图中运用场景广泛,如导航前选择的目的地、查看周边的餐馆等,任何一个POI都具备对应的属性参数,例如,类别、地址以及坐标等信息。所述历史POI集合可以是所述历史时间段内所述第一用户标识对应的用户访问过的POI所组成的数据集合,例如,可以是一周内所述第一用户标识对应的用户访问过的餐馆、酒店、商场以及景点等其他POI信息组成的数据集合。
在本发明实施例中,一个用户标识可以对应至少一个POI,即一个用户标识可以对应一个POI集合,当所述第一用户标识只包含一个用户标识时,所述第一用户标识对应的历史POI集合为该用户标识对应的历史POI集合,当所述第一用户标识为多个用户标识中所选取的至少两个用户标识时,所述第一用户标识对应的历史POI集合包括所述至少两个用户标识中各用户标识对应的历史POI集合。
向量生成模块12,用于对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
具体实现中,向量生成模块可以对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合,可以理解的是,所述特征处理可以是将所述各历史POI对应的属性参数转化为能够被机器开发学习的参数的处理过程。所述第一特征向量集合中的各特征向量可以作为后续模型训练的输入参数。
在可选实施例中,所述特征处理可以是POI表征学习的过程,即通过对任意两个历史POI间的相关参数(例如,任两个历史POI间的地理距离和活跃性即活跃度曲线相似程度)用向量进行表征,得到各历史POI在隐空间Rd中的隐向量v(i)的过程。
足迹生成模块13,用于对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
具体实现中,足迹生成模块13可以对第二用户标识对应的历史POI集合进行预处理,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量。可以理解的是,所述预处理的过程可以是对所述第二用户标识对应的各历史POI进行编号,结合编号后的各历史POI组成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量的过程,所述历史足迹向量可以表征所述第二用户标识在所述历史时间段内的访问记录的特征。
在本发明实施例中,所述第二用户标识可以是所述相关终端应用中的目标用户标识,即当前请求POI推荐信息的用户标识,所述第二用户标识可以包含在所述第一用户标识中,也可以为除所述第一用户标识外的其他用户标识。
模型生成模块14,用于采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型;
具体实现中,模型生成模块14可以采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。可以理解的是,基于所述POI推荐模型,所述推荐模型建立设备1可以向所述第二用户标识发送POI推荐信息,可选的,所述推荐模型建立设备1可以根据所述第二用户标识当前所处的位置信息和所述位置对应的时间信息向所述第二用户标识发送POI推荐信息,也可以根据所述第二用户标识当前的POI向所述第二用户标识发送POI推荐信息。
在可选实施例中,所述网络模型可以是递归神经网络RNN,在RNN训练过程中为了捕捉序列的长时依赖性,降低模型复杂度,递归神经网络层可以采用门控重复单元GRU实现。
在本发明实施例中,通过获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合,对第一用户标识对应的历史POI集合进行特征处理生成第一用户标识对应的第一特征向量集合,再对第二用户标识对应的历史POI集合进行预处理生成指示第二用户标识在历史时间段内POI访问记录的历史足迹向量,然后采用第一用户标识对应的第一特征向量集合和历史足迹向量对网络模型进行训练,生成第二用户标识对应的POI推荐模型。通过分别对第一用户标识和第二用户标识对应的历史POI集合进行分析,生成网络模型训练参数,完成对第二用户标识对应的POI推荐模型的建立,提高了基于POI推荐模型对第二用户标识对应的用户进行POI信息推荐的合理性。
请参见图9,为本发明实施例提供了另一种推荐模型建立设备的结构示意图。如图9所示,本发明实施例的所述推荐模型建立设备1可以包括:集合获取模块11、向量生成模块12、足迹生成模块13、模型生成模块14和信息输出模块15。
集合获取模块11,用于获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
具体实现中,集合获取模块11可以获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合。可以理解的是,用户标识可以是用户注册相关终端应用(例如,社交应用、外卖应用以及地图导航应用等)时的用户名或者其他可以唯一区别用户身份的标识信息,所述第一用户标识可以是所述相关终端应用对应的所有用户的标识信息也可以是部分用户的标识信息。所述历史时间段可以是建立POI推荐模型前的任意预设时间段,例如,可以是一年、一季度、一个月、一周或者一天等。所述兴趣点POI是基于位置服务的最核心数据,在电子地图中运用场景广泛,如导航前选择的目的地、查看周边的餐馆等,任何一个POI都具备对应的属性参数,例如,类别、地址以及坐标等信息。所述历史POI集合可以是所述历史时间段内所述第一用户标识对应的用户访问过的POI所组成的数据集合,例如,可以是一周内所述第一用户标识对应的用户访问过的餐馆、酒店、商场以及景点等其他POI信息组成的数据集合。
在本发明实施例中,一个用户标识可以对应至少一个POI,即一个用户标识可以对应一个POI集合,当所述第一用户标识只包含一个用户标识时,所述第一用户标识对应的历史POI集合为该用户标识对应的历史POI集合,当所述第一用户标识为多个用户标识中所选取的至少两个用户标识时,所述第一用户标识对应的历史POI集合包括所述至少两个用户标识中各用户标识对应的历史POI集合。
向量生成模块12,具体用于获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合;
具体实现中,向量生成模块12可以获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,可以理解的是,所述POI属性参数可以是历史POI的坐标、活跃度以及类别等参数。
在本发明实施例中,所述向量生成模块12可以在各历史POI对应的POI属性参数中选择一个或多个能够表征所述各历史POI特性的属性参数,对所述各历史POI进行参数的特征处理,将所述各历史POI对应的属性参数转化为能够被机器开发学习特征参数。
进一步的,所述向量生成模块12可以对POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合,例如,所述推荐模型建立设备1可以在所述POI属性参数中选择坐标参数和活跃度参数,然后所述向量生成模块12可以在所述第一用户标识对应的历史POI集合中任选两个历史POI,获取所选择的两个POI之间基于坐标参数的距离参数(根据所选择的两个POI的坐标可以求取上述两个POI间的距离)和上述两个POI之间基于活跃度参数的活跃性参数(根据所选择的两个POI的活跃度可以求取上述两个POI间的活跃度曲线的相似程度即活跃性),进一步的,所述向量生成模块12可以根据所述距离参数、所述活跃性参数以及代价函数,生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合。可以理解的是,所述第一特征向量集合中的各特征向量可以分别对应各历史POI在隐空间Rd中的隐向量v(i)。所述代价函数可以在POI表征学习的过程中作为找到最优解的目的函数,通过代价函数对距离参数和活跃性参数进行最优解的求解,可以使最终所得的距离参数所指示的两个POI间的距离更近,使最终所得的活跃性参数所指示的两个POI间的活跃度曲线的相似程度更大,进而使得第一特征向量即隐向量v(i)能够更好地表征各历史POI的特征,可选的,所述代价函数可以是优化KL距离的函数、基于POI的嵌入图Graph based POI Embedding以及类似于词向量Word2vec的POI向量POI2vec等。
足迹生成模块13,用于对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹集合;
具体实现中,足迹生成模块13可以对第二用户标识对应的历史POI集合进行预处理,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹集合。
请一并参考图10,为本发明实施例提供了足迹生成模块的结构示意图。如图10所示,所述足迹生成模块13可以包括:
集合划分单元131,用于采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合;
具体实现中,集合划分单元131可以采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合,可以理解的是,所述时间间隔阈值可以是对应于所述历史时间段的任意值,例如,当所述历史时间段为一天即24小时时,所述时间间隔阈值可以是1小时,即将一天划分为24个时间片,每个时间片的长度的一小时,具体的划分密度可以取决于数据随时间分布的稠密程度。所述时间片集合可以包含划分后的所述历史时间段对应的所有时间片。
编号生成单元132,用于生成第二用户标识对应的历史POI集合中各POI的POI编号;
可以理解的是,所述第二用户标识可以是所述相关终端应用中的目标用户标识,即当前请求POI推荐信息的用户标识,所述第二用户标识可以包含在所述第一用户标识中,也可以为除所述第一用户标识外的其他用户标识。
具体实现中,编号生成单元132可以生成所述第二用户标识对应的历史POI集合中各历史POI的POI编号,可以理解的是,所述POI编号可以是根据所述第二用户标识对应的历史POI集合中的历史POI的数量进行的编号,例如,所述第二用户标识对应的历史POI集合中有2000个历史POI,则可以将这2000个历史POI按照0-1999进行编号。
足迹生成单元133,用于检测所述时间片集合中各时间片内的历史POI数量,并根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
具体实现中,足迹生成单元133可以检测所述时间片集合中各时间片内的历史POI数量,可以理解的是,所述各时间片内的历史POI数量可以是所述各时间片内的用户的POI访问记录的数量。
进一步的,所述足迹生成单元133可以根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量,可以理解的是,所述历史足迹向量可以表征所述第二用户标识在所述历史时间段内的访问记录的特征。
在可选实施例中,当所述时间片集合中第一时间片内的第一POI的数量为1时,所述推荐模型建立设备可以获取所述第一POI对应的POI编号,将所述第一时间片和所述第一POI对应的POI编号,对应存储在指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量中;当所述时间片集合中第二时间片内的第二POI的数量大于1时,在所述第二POI中任取一个目标POI,获取所述目标POI对应的POI编号,将所述第二时间片和所述目标POI对应的POI编号对应存储在所述历史足迹向量中;当所述时间片集合中第三时间片内的第三POI的数量为0时,将所述第二时间片和特殊编号对应存储在所述历史足迹向量中,可以理解的是,所述第一时间片、第二时间片和第三时间片仅是为了区别含有不同历史POI数量而进行的命名,并不是排序意义上的时间片,所述第一POI、第二POI和第三POI是对含有不同数量POI的时间片内的POI进行的命名,不是排序意义上的POI。所述特殊编号可以是区别于所述POI编号的特殊符号,例如,对2000个POI的编号为0-1999,所述特殊编号可以是-1。
在本发明实施例的具体实现方式中,将历史时间段进行离散化,1天分为24个时间片,每个时间片长度为1小时,将用户的POI访问记录映射到对应的时间片中,如果单个时间片中存在多于1条记录,则随机选择1条进行保留,如果该时间片没有记录数据,则认为其访问了特殊的占位符POI--MISSED。对所述第二用户标识在所述历史时间段即一天内的历史POI集合中的各历史POI进行从0开始的编号,将特殊占位符赋予特殊编号-1。设用户第i天的访问足迹向量为则经过以上处理过程,用户的所有历史签到数据变成了足迹向量的集合/>集合的大小等于该用户有签到的天数,表1为某用户某一天的足迹向量示例:
表1
上述表格中,0-23为一天的24个时间片,时间片对应的编号为-1代表相应时间片内没有用户POI访问记录,时间片7对应的编号为10标识第7个时间片内有POI访问记录,且选择保留下来的是编号为10的POI访问记录。
模型生成模块14,用于采用所述第二用户标识对应的第二特征向量集合和所述历史足迹集合对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型;
具体实现中,模型生成模块14可以采用所述第二用户标识对应的第二特征向量集合和所述历史足迹集合对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。
请一并参考图11,为本发明实施例提供了模型生成模块的结构示意图。如图11所示,所述模型生成模块14可以包括:
模型训练单元141,用于获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练;
可以理解的是,所述第一特征向量中的各特征向量为所述第一用户标识对应的各历史POI在隐空间Rd中的隐向量v(i)。
具体实现中,模型训练单元141可以获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,可以理解的是,所述训练特征向量可以是所述第一特征向量集合中任一时间片对应的POI经上述表征学习后的隐向量v(i)。
进一步的,所述模型训练单元141可以将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练,可选的,所述网络模型可以是如图4所示的递归神经网络RNN,在RNN训练过程中为了捕捉序列的长时依赖性,降低模型复杂度,递归神经网络层可以采用门控重复单元GRU实现。在图4所示的模型训练过程中,s(i)和v(i)是该网络模型的输入参数,根据s(i)和v(i)产生网络模型的输入向量xi。
需要说明的是,所述第一用户标识对应的历史POI集合中的各历史POI经所述表征学习后得到的隐向量v(i)实际是一个可用POI ID或者POI编号索引的查找表,可以利用xi去索引这个查找表得到一个d维向量作为最终的网络模型的输入向量xi。
在本发明实施例的模型训练过程中,将一天的足迹向量看成一个序列,为了捕捉一天内不同时间片上访问POI之间的相关性,GRU的记忆单元在一天内应保持连续更新,不能被重置;而为了捕捉天与天之间的周期性,在将新一天的足迹向量送入所述网络模型进行训练前,应将记忆单元重置为随机状态。
校验向量获取单元142,用于获取所述网络模型在模型训练中所对应的模型校验向量;
具体实现中,校验向量获取单元142可以获取所述网络模型在模型训练中所对应的模型校验向量,可以理解的是,所述模型校验向量可以对所述网络模型的训练结果进行校验,使训练过程中产生的训练误差最小化,图4所示的yi为模型校验向量。
在可选实施例中,所述校验向量获取单元142可以获取所述第一特征向量集合中的第一特征向量,将所述第一特征向量确定为所述网络模型在模型训练中所对应的模型校验向量,所述第一特征向量在所述第一特征向量集合中对应的第四时间片与所述训练特征向量对应的第五时间片相邻,且所述第四时间片为所述第五时间片的下一时间片。可以理解的是,上述过程所获得的模型校验向量为第二特征向量集合中POI经过特征学习后得到的隐向量v(i)。
在可选实施例中,所述校验向量获取单元142可以对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量,再将第六时间片对应的编号向量确定为模型校验向量,所述训练特征向量对应的第五时间片与所述第六时间片相邻,且所述第六时间片为所述第五时间片的下一时间片。可以理解的是,所述校验向量获取单元142可以采用独热编码的方式对POI编号进行编码,将POI编号向量化,例如,yi作为模型校验向量,对其独热编码的过程是将其转变成一个N维向量若访问的POI编号为i则/>
需要说明的是,所述第四时间片、第五时间片和第六时间片仅是对所述模型校验向量和所述训练特征向量所在时间片的命名,其中的四、五和六这三个数字没有实际意义上数字的含义。
模型生成单元143,用于采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型;
具体实现中,模型生成单元143可以采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型,例如,图4中模型校验向量yi参与的计算损失的过程即为模型校验的过程。可以理解的是,基于所述POI推荐模型,所述推荐模型建立设备1可以向所述第二用户标识发送POI推荐信息。
信息输出模块15,用于获取所述第二用户标识当前所处的位置信息和所述位置对应的时间信息,并基于所述位置信息和所述时间信息输出针对所述目标用户标识的POI推荐信息;
具体实现中,所述模型生成单元143建立针对所述第二用户标识的POI推荐模型后,信息输出模块15可以获取所述第二用户标识当前所处的位置信息和所述位置对应的时间信息,并基于所述位置信息和所述时间信息输出针对所述目标用户标识的POI推荐信息。可以理解的是,所述信息输出模块15可以在确定所述第二用户标识对应的用户当前所处的时间和地点后,根据所述POI推荐模型关联所述第二用户标识的历史POI访问中的语义信息确定向所述第二用户标识发送的POI推荐信息,例如,用户A在上午11:30-12:30的历史POI访问记录都是关于办公区B处的餐厅的,则所述推荐模型建立设备可以在检测到用户A上午11:30-12:30位于办公区B处的餐厅时,向用户A发送其经常访问的B处的餐厅名称和地址等信息。
在本发明实施例一种具体实现方式中,所述向量生成模块12可以包括一下几个单元,如图12所示:
参数获取单元121,用于获取在所述第一用户标识对应的历史POI集合中所选择的任两个历史POI间的距离参数和活跃性参数;
可以理解的是,所述第一用户标识对应的历史POI集合中各历史POI分别有其对应的属性参数,所述推荐模型建立设备1可以任意选择两个历史POI及其对应的属性参数(该属性参数可以是在上述两个POI中选择的部分属性参数,例如,坐标参数和活跃度参数),然后根据所选择的两个历史POI的属性参数计算这两个历史POI之间的特征参数,所述特征参数可以包括距离参数、活跃性参数等。
具体实现中,参数获取单元121可以根据所选择的两个POI的坐标求取所选择的两个历史POI间的距离参数,可以根据上述两个历史POI的活跃度求取二者之间的活跃度曲线的相似程度即活跃性参数。可以理解的是,所述参数获取单元121也可以获取所选择的任两个POI之间的其他参数,例如,类型参数、时间参数等。
向量生成单元122,用于根据所述距离参数、所述活跃性参数以及代价函数生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合;
具体实现中,向量生成单元122可以根据所述距离参数、所述活跃性参数以及代价函数,生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合,可以理解的是,所述代价函数可以在POI表征学习的过程中作为找到最优解的目的函数,通过代价函数对距离参数和活跃性参数进行最优解的求解,可以使最终所得的距离参数所指示的两个POI间的距离更近,使最终所得的活跃性参数所指示的两个POI间的活跃度曲线的相似程度更大,进而使得第一特征向量即隐向量v(i)能够更好地表征各历史POI的特征,可选的,所述代价函数可以是优化KL距离的函数、基于POI的嵌入图Graph based POI Embedding以及类似于词向量Word2vec的POI向量POI2vec等。
在本发明的具体实现方式中,代价函数为优化KL距离的函数。POI表征学习的过程可以为:将表征学习的输入参数设为x(i),x(i)∈{x(i)}i=1,2,...,m,选择f(i)作为特征距离函数,第j和第k个POI间的距离为:选择权重αi,∑αi=1,对T(i)进行标准化得到:T=∑αi.T(i),其中,/>衡量了第j和第k个POI在x(i)特征上的关联性,T(i)是对应在POI特征x(i)上关联性组成的矩阵,T通过推T(i)线性组合的方式将不同特征上的距离综合起来,再将问题转化为优化KL距离:即给定N各POI之间的距离矩阵T,设POI在隐空间Rd的隐向量为v(i),这些隐向量之间的欧式距离矩阵Dij=||vi-vj||,则优化问题定义为:
可以理解的是,所述第一特征向量集合中的各特征向量可以分别对应各历史POI在隐空间Rd中的隐向量v(i)。
在本发明实施例中,在POI表征学习的过程中加入代价函数优化了表征学习后各历史POI对应的各特征向量。
在本发明实施例一种具体实现方式中,所述足迹生成单元133可以包括一下几个子单元,如图13所示:
第一足迹生成子单元1331,用于当所述时间片集合中第一时间片内的第一POI的数量为1时,获取所述第一POI对应的POI编号,将所述第一时间片和所述第一POI对应的POI编号,对应存储在指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量中;
第二足迹生成子单元1332,用于当所述时间片集合中第二时间片内的第二POI的数量大于1时,在所述第二POI中任取一个目标POI,获取所述目标POI对应的POI编号,将所述第二时间片和所述目标POI对应的POI编号对应存储在所述历史足迹向量中;
第三足迹生成子单元1333,用于当所述时间片集合中第三时间片内的第三POI的数量为0时,将所述第二时间片和特殊编号对应存储在所述历史足迹向量中;
可以理解的是,上述获取所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量的过程,可以是对所述第二用户标识对应的历史POI集合进行预处理的过程。
在本发明实施例中,通过对所述第二用户标识对应的历史POI集合进行预处理,保留了真实访问记录的时间信息,便于后续的递归神经网络进行捕捉,从而更好地适应了POI推荐问题的时间特异性和时间周期性特点。
在本发明实施例一种具体实现方式中,所述校验向量获取单元142,具体用于获取所述第一特征向量集合中的第一特征向量,将所述第一特征向量确定为所述网络模型在模型训练中所对应的模型校验向量。
具体实现中,校验向量获取单元142可以获取所述第一特征向量集合中的第一特征向量,并可以将所述第一特征向量确定为所述网络模型在模型训练中所对应的模型校验向量,可以理解的是,所述第一特征向量在所述第一特征向量集合中对应的第四时间片与所述训练特征向量对应的第五时间片相邻,且所述第四时间片为所述第五时间片的下一时间片。
需要说明的是,所述第四时间片和第五时间片仅是对所述模型校验向量和所述训练特征向量所在时间片的命名,其中的四和五这两个数字没有实际意义上数字的含义。
在本发明实施例一种具体实现方式中,所述校验向量获取单元142可以包括一下几个子单元,如图14所示:
编号向量化子单元1421,用于对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量;
可以理解的是,所述推荐模型建立设备可以生成第一用户标识对应的历史POI集合中各历史POI的POI编号,具体的编号方式可以参见编号生成单元132所述的对第二用户标识对应的历史POI集合中各历史POI进行POI编号的过程,此处不再赘述。
具体实现中,编号向量化子单元1421可以对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量,可以理解的是,所述训练特征向量对应的第五时间片与所述第六时间片相邻,且所述第六时间片为所述第五时间片的下一时间片。所述编号向量化子单元1421可以采用独热编码的方式对对POI编号进行编码,将POI编号向量化,例如,yi作为模型校验向量,对其独热编码的过程是将其转变成一个N维向量若访问的POI编号为i则/>
需要说明的是,所述第五时间片和第六时间片仅是对所述模型校验向量和所述训练特征向量所在时间片的命名,其中的五和六这两个数字没有实际意义上数字的含义。
向量确定子单元1422,用于将第六时间片对应的编号向量确定为模型校验向量;
可以理解的是,对应于上述两种获取模型校验向量的方法,训练后所得的POI推荐模型可以分为基于表征学习的推荐模型和基于独热编码的推荐模型。
在本发明实施例的具体实现方式中,可以在Foursquare和Gowalla两大POI推荐领域公认数据集上对现有技术中的推荐模型ST-RNN和上述两种推荐模型进行测试,并比较测试结果,具体的测试结果如表2所示:
表2
表2中的测试指标为召回率(recall@k,其中的k表示推荐算法每次返回的POI数目)和平均精度值(Mean Average Precision,MAP)。由表2可知基于表征学习的推荐模型和基于独热编码的推荐模型在测试效果上差别不大,但都优于现有的推荐模型。
进一步的,可以对基于表征学习的推荐模型和基于独热编码的推荐模型所使用的网络参数的个数进行对比,结果如表3所示:
表3
由表3可知,基于表征学习的推荐模型可以有效地降低神经网络的参数个数,提高算法的训练效率。
在本发明实施例中,通过获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合,对第一用户标识对应的历史POI集合进行特征处理生成第一用户标识对应的第一特征向量集合,再对第二用户标识对应的历史POI集合进行预处理生成指示第二用户标识在历史时间段内POI访问记录的历史足迹向量,然后采用第一用户标识对应的第一特征向量集合和历史足迹向量对网络模型进行训练,生成第二用户标识对应的POI推荐模型。通过分别对第一用户标识和第二用户标识对应的历史POI集合进行分析,生成网络模型训练参数,完成对第二用户标识对应的POI推荐模型的建立,提高了基于POI推荐模型对第二用户标识对应的用户进行POI信息推荐的合理性;通过表征学习获取POI特征向量有效地降低了模型训练过程中神经网络的参数个数,提高了算法的训练效率;通过对所述第二用户标识对应的历史POI集合进行预处理,保留了真实访问记录的时间信息,便于后续的递归神经网络进行捕捉,从而更好地适应了POI推荐问题的时间特异性和时间周期性特点。
本发明实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图1-图7所示实施例的方法步骤,具体执行过程可以参见图1-图7所示实施例的具体说明,在此不进行赘述。
请参见图15,为本发明实施例提供了一种服务器的结构示意图。如图15所示,所述服务器1000可以包括:至少一个处理器1001,例如CPU,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(Display)、键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图15所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及对象识别应用程序。
在图15所示的服务器1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;网络接口1004用于与用户终端进行数据通信;而处理器1001可以用于调用存储器1005中存储的推荐模型建立应用程序,并具体执行以下操作:
获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型。
在一个实施例中,所述处理器1001在执行对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合时,具体执行以下操作:
获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合。
在一个实施例中,所述处理器1001在执行获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合时,具体执行以下操作:
获取在所述第一用户标识对应的历史POI集合中所选择的任两个历史POI间的距离参数和活跃性参数;
根据所述距离参数、所述活跃性参数以及代价函数生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合。
在一个实施例中,所述处理器1001在执行对第二用户标识对应的历史POI集合进行预处理生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量时,具体执行以下操作:
采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合;
生成第二用户标识对应的历史POI集合中各历史POI的POI编号;
检测所述时间片集合中各时间片内的历史POI数量,并根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量。
在一个实施例中,所述处理器1001在执行根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量时,具体执行以下操作:
当所述时间片集合中第一时间片内的第一POI的数量为1时,获取所述第一POI对应的POI编号,将所述第一时间片和所述第一POI对应的POI编号,对应存储在指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量中;
当所述时间片集合中第二时间片内的第二POI的数量大于1时,在所述第二POI中任取一个目标POI,获取所述目标POI对应的POI编号,将所述第二时间片和所述目标POI对应的POI编号对应存储在所述历史足迹向量中;
当所述时间片集合中第三时间片内的第三POI的数量为0时,将所述第二时间片和特殊编号对应存储在所述历史足迹向量中。
在一个实施例中,所述处理器1001在执行采用所述第一用户标识对应的第一特征向量集合和所述历史足迹向量对网络模型进行训练,生成所述第二用户标识对应的POI推荐模型时,具体执行以下操作:
获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练;
获取所述网络模型在模型训练中所对应的模型校验向量;
采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型。
在一个实施例中,所述处理器1001在执行获取所述网络模型在模型训练中所对应的模型校验向量时,具体执行以下操作:
获取所述第一特征向量集合中的第一特征向量,将所述第一特征向量确定为所述网络模型在模型训练中所对应的模型校验向量,所述第一特征向量在所述第一特征向量集合中对应的第四时间片与所述训练特征向量对应的第五时间片相邻,且所述第四时间片为所述第五时间片的下一时间片。
在一个实施例中,所述处理器1001在执行获取所述网络模型在模型训练中所对应的模型校验向量时,具体执行以下操作:
对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量;
将第六时间片对应的编号向量确定为模型校验向量,所述训练特征向量对应的第五时间片与所述第六时间片相邻,且所述第六时间片为所述第五时间片的下一时间片。
在一个实施例中,所述处理器1001还用于执行以下操作:
获取所述第二用户标识当前所处的位置信息和所述位置对应的时间信息,并基于所述位置信息和所述时间信息输出针对所述第二用户标识的POI推荐信息。
在本发明实施例中,通过获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合,对第一用户标识对应的历史POI集合进行特征处理生成第一用户标识对应的第一特征向量集合,再对第二用户标识对应的历史POI集合进行预处理生成指示第二用户标识在历史时间段内POI访问记录的历史足迹向量,然后采用第一用户标识对应的第一特征向量集合和历史足迹向量对网络模型进行训练,生成第二用户标识对应的POI推荐模型。通过分别对第一用户标识和第二用户标识对应的历史POI集合进行分析,生成网络模型训练参数,完成对第二用户标识对应的POI推荐模型的建立,提高了基于POI推荐模型对第二用户标识对应的用户进行POI信息推荐的合理性;通过表征学习获取POI特征向量有效地降低了模型训练过程中神经网络的参数个数,提高了算法的训练效率;通过对所述第二用户标识对应的历史POI集合进行预处理,保留了真实访问记录的时间信息,便于后续的递归神经网络进行捕捉,从而更好地适应了POI推荐问题的时间特异性和时间周期性特点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (10)
1.一种推荐模型建立方法,其特征在于,包括:
获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合;
生成第二用户标识对应的历史POI集合中各历史POI的POI编号;
检测所述时间片集合中各时间片内的历史POI数量,并根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练;
获取所述网络模型在模型训练中所对应的模型校验向量,所述模型校验向量对应的时间片为所述训练特征向量对应的时间片相邻的下一时间片;
采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型。
2.如权利要求1所述的方法,其特征在于,所述对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合,包括:
获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合。
3.如权利要求2所述的方法,其特征在于,所述获取所述第一用户标识对应的历史POI集合中各历史POI对应的POI属性参数,对所述POI属性参数进行表征学习生成针对所述第一用户标识对应的第一特征向量集合,包括:
获取在所述第一用户标识对应的历史POI集合中所选择的任两个历史POI间的距离参数和活跃性参数;
根据所述距离参数、所述活跃性参数以及代价函数生成包含所述第一用户标识对应的各历史POI的特征向量的第一特征向量集合。
4.如权利要求1所述的方法,其特征在于,所述根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量,包括:
当所述时间片集合中第一时间片内的第一POI的数量为1时,获取所述第一POI对应的POI编号,将所述第一时间片和所述第一POI对应的POI编号,对应存储在指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量中;
当所述时间片集合中第二时间片内的第二POI的数量大于1时,在所述第二POI中任取一个目标POI,获取所述目标POI对应的POI编号,将所述第二时间片和所述目标POI对应的POI编号对应存储在所述历史足迹向量中;
当所述时间片集合中第三时间片内的第三POI的数量为0时,将所述第二时间片和特殊编号对应存储在所述历史足迹向量中。
5.如权利要求1所述的方法,其特征在于,所述获取所述网络模型在模型训练中所对应的模型校验向量,包括:
获取所述第一特征向量集合中的第一特征向量,将所述第一特征向量确定为所述网络模型在模型训练中所对应的模型校验向量,所述第一特征向量在所述第一特征向量集合中对应的第四时间片与所述训练特征向量对应的第五时间片相邻,且所述第四时间片为所述第五时间片的下一时间片。
6.如权利要求1所述的方法,其特征在于,所述获取所述网络模型在模型训练中所对应的模型校验向量,包括:
对第一用户标识对应的历史POI集合中各历史POI的POI编号进行编码生成所述POI编号对应的编号向量;
将第六时间片对应的编号向量确定为模型校验向量,所述训练特征向量对应的第五时间片与所述第六时间片相邻,且所述第六时间片为所述第五时间片的下一时间片。
7.如权利要求1所述的方法,其特征在于,还包括:
获取所述第二用户标识当前所处的位置信息和所述位置对应的时间信息,并基于所述位置信息和所述时间信息输出针对所述第二用户标识的POI推荐信息。
8.一种推荐模型建立设备,其特征在于,包括:
集合获取模块,用于获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
向量生成模块,用于对所述历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
足迹生成模块,用于采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合,生成第二用户标识对应的历史POI集合中各历史POI的POI编号,检测所述时间片集合中各时间片内的历史POI数量,并根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
模型生成模块,用于获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练,获取所述网络模型在模型训练中所对应的模型校验向量,所述模型校验向量对应的时间片为所述训练特征向量对应的时间片相邻的下一时间片,采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型。
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行以下步骤:
获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合;
生成第二用户标识对应的历史POI集合中各历史POI的POI编号;
检测所述时间片集合中各时间片内的历史POI数量,并根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练;
获取所述网络模型在模型训练中所对应的模型校验向量,所述模型校验向量对应的时间片为所述训练特征向量对应的时间片相邻的下一时间片;
采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型。
10.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行以下步骤:
获取针对第一用户标识所采集的在历史时间段内的历史兴趣点POI集合;
对所述第一用户标识对应的历史POI集合进行特征处理生成所述第一用户标识对应的第一特征向量集合;
采用时间间隔阈值对所述历史时间段进行划分以获取时间片集合;
生成第二用户标识对应的历史POI集合中各历史POI的POI编号;
检测所述时间片集合中各时间片内的历史POI数量,并根据所述各时间片内的历史POI数量和所述各时间片内的POI编号,生成指示所述第二用户标识在所述历史时间段内POI访问记录的历史足迹向量;
获取所述第一用户标识对应的第一特征向量集合中的训练特征向量,将所述训练特征向量和所述历史足迹向量输入网络模型进行模型训练;
获取所述网络模型在模型训练中所对应的模型校验向量,所述模型校验向量对应的时间片为所述训练特征向量对应的时间片相邻的下一时间片;
采用所述模型校验向量对训练后的网络模型参数进行校验,生成所述第二用户标识对应的POI推荐模型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711165723.7A CN110020144B (zh) | 2017-11-21 | 2017-11-21 | 一种推荐模型建立方法及其设备、存储介质、服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711165723.7A CN110020144B (zh) | 2017-11-21 | 2017-11-21 | 一种推荐模型建立方法及其设备、存储介质、服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110020144A CN110020144A (zh) | 2019-07-16 |
CN110020144B true CN110020144B (zh) | 2023-06-23 |
Family
ID=67186604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711165723.7A Active CN110020144B (zh) | 2017-11-21 | 2017-11-21 | 一种推荐模型建立方法及其设备、存储介质、服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110020144B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110929159B (zh) * | 2019-11-29 | 2023-07-04 | 北京三快在线科技有限公司 | 资源投放方法、装置、设备及介质 |
CN112989219B (zh) * | 2019-12-12 | 2023-11-24 | 百度在线网络技术(北京)有限公司 | 兴趣点推荐方法、装置、电子设备及存储介质 |
CN111666462B (zh) * | 2020-04-28 | 2021-09-21 | 百度在线网络技术(北京)有限公司 | 地理位置的推荐方法、装置、设备和计算机存储介质 |
CN111553279B (zh) * | 2020-04-28 | 2023-05-05 | 北京百度网讯科技有限公司 | 兴趣点的表征学习、识别方法、装置、设备及存储介质 |
WO2022087767A1 (en) * | 2020-10-26 | 2022-05-05 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for recommending pick-up locations |
CN112559879B (zh) * | 2020-12-24 | 2023-10-03 | 北京百度网讯科技有限公司 | 兴趣模型训练方法、兴趣点推荐方法、装置和设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2602755A1 (en) * | 2011-12-08 | 2013-06-12 | Palo Alto Research Center Incorporated | Privacy-preserving collaborative filtering |
CN104063383A (zh) * | 2013-03-19 | 2014-09-24 | 北京三星通信技术研究有限公司 | 信息推荐方法及装置 |
CN104123398A (zh) * | 2014-08-15 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 一种信息推送方法及装置 |
CN105868254A (zh) * | 2015-12-25 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 信息推荐方法及装置 |
CN106250532A (zh) * | 2016-08-04 | 2016-12-21 | 广州优视网络科技有限公司 | 应用推荐方法、装置及服务器 |
-
2017
- 2017-11-21 CN CN201711165723.7A patent/CN110020144B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2602755A1 (en) * | 2011-12-08 | 2013-06-12 | Palo Alto Research Center Incorporated | Privacy-preserving collaborative filtering |
CN104063383A (zh) * | 2013-03-19 | 2014-09-24 | 北京三星通信技术研究有限公司 | 信息推荐方法及装置 |
CN104123398A (zh) * | 2014-08-15 | 2014-10-29 | 百度在线网络技术(北京)有限公司 | 一种信息推送方法及装置 |
CN105868254A (zh) * | 2015-12-25 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 信息推荐方法及装置 |
CN106250532A (zh) * | 2016-08-04 | 2016-12-21 | 广州优视网络科技有限公司 | 应用推荐方法、装置及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN110020144A (zh) | 2019-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110020144B (zh) | 一种推荐模型建立方法及其设备、存储介质、服务器 | |
US11294953B2 (en) | Similar face retrieval method, device and storage medium | |
WO2017215370A1 (zh) | 构建决策模型的方法、装置、计算机设备及存储设备 | |
CN110019616B (zh) | 一种poi现势状态获取方法及其设备、存储介质、服务器 | |
CN109145828B (zh) | 用于生成视频类别检测模型的方法和装置 | |
KR20180101472A (ko) | 사용자가 위치되는 지리적 위치의 유형을 식별하기 위한 방법 및 디바이스 | |
CN110263117B (zh) | 一种用于确定兴趣点poi数据的方法与装置 | |
CN113505204B (zh) | 召回模型训练方法、搜索召回方法、装置和计算机设备 | |
CN111949877B (zh) | 一种个性化兴趣点推荐方法及系统 | |
US20110173150A1 (en) | Methods and system for associating locations with annotations | |
CN112818162A (zh) | 图像检索方法、装置、存储介质和电子设备 | |
CN115422441A (zh) | 一种基于社交时空信息与用户偏好的连续兴趣点推荐方法 | |
CN112214677A (zh) | 一种兴趣点推荐方法、装置、电子设备及存储介质 | |
CN111126422B (zh) | 行业模型的建立及行业的确定方法、装置、设备及介质 | |
CN110674208B (zh) | 用于确定用户的职住地信息的方法和装置 | |
WO2017024684A1 (zh) | 用户行为意图的获取方法、装置、设备及非易失性计算机存储介质 | |
CN110990651B (zh) | 地址数据处理方法、装置、电子设备及计算机可读介质 | |
CN111782955A (zh) | 兴趣点表示和推送方法、装置、电子设备及存储介质 | |
CN108133234B (zh) | 基于稀疏子集选择算法的社区检测方法、装置及设备 | |
CN115758271A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114925680A (zh) | 物流兴趣点信息生成方法、装置、设备和计算机可读介质 | |
CN111125272B (zh) | 一种区域特征获取方法、装置、计算机设备及介质 | |
CN110457705B (zh) | 一种兴趣点数据处理方法、装置、设备和存储介质 | |
CN114329236A (zh) | 一种数据处理方法及装置 | |
Soliman et al. | Developing a mobile location-based collaborative Recommender System for GIS applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |