兴趣点推荐和展示方法、装置、计算机设备和存储介质与流程

文档序号:24827827发布日期:2021-04-27 16:13阅读:113来源:国知局
兴趣点推荐和展示方法、装置、计算机设备和存储介质与流程

1.本申请涉及计算机技术领域,特别是涉及一种兴趣点推荐和展示方法、装置、计算机设备和存储介质。


背景技术:

2.随着互联网技术的发展,出现了兴趣点推荐技术,兴趣点(poi)是地理信息系统中的一个术语,泛指一切可以抽象为点的地理对象,尤其是一些与人们生活密切相关的地理实体,如学校、银行、餐馆、加油站、医院、超市等。兴趣点的主要用途是对事物或事件的地址进行描述,能在很大程度上增强对事物或事件位置的描述能力和查询能力,提高地理定位的精度和速度。目前,对于兴趣点的推荐通过时针对单一条件,如距离、价格、评分等,进行排序来给用户做推荐,然而,当需要对多个用户聚会的兴趣点进行推荐时,根据单一条件进行推荐的方法,导致推荐的兴趣点准确性较低,无法满足多个用户的需求。


技术实现要素:

3.基于此,有必要针对上述技术问题,提供一种能够提高准确性的兴趣点推荐和展示方法、装置、计算机设备和存储介质。
4.一种兴趣点推荐方法,所述方法包括:
5.获取各个待推荐对象对应的起始位置和兴趣点属性信息,从各个起始位置中进行筛选得到各个参考起始位置,基于各个参考起始位置确定起始范围;
6.基于各个参考起始位置确定对应的参考范围,根据参考范围和起始范围得到待推荐兴趣点候选范围,待推荐兴趣点候选范围中包括各个待推荐兴趣点;
7.获取各个待推荐兴趣点对应的原始兴趣点推荐度矩阵;
8.基于原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,目标兴趣点推荐度矩阵中包括各个待推荐对象对各个待推荐兴趣点的推荐度;
9.基于各个待推荐对象对应的兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,将目标推荐兴趣点发送各个待推荐对象对应的终端。
10.在一个实施例中,计算原始兴趣点推荐度矩阵与重构兴趣点推荐度矩阵的损失信息,包括:
11.计算原始兴趣点推荐度矩阵中各个推荐度与重构兴趣点推荐度矩阵中对应的重构推荐度的误差平方和;
12.基于预设第一惩罚系数计算第一分解矩阵对应的第一惩罚项信息,并基于预设第二惩罚系数计算第二分解矩阵对应的第二惩罚项信息;
13.基于误差平方和、第一惩罚项信息和第二惩罚项信息得到所述损失信息。
14.在其中一个实施例中,计算每个候选兴趣点对应的各个候选推荐度之和,得到各个候选兴趣点对应的候选推荐度总和,包括:
15.获取各个待推荐对象对应的推荐权重,根据推荐权重对各个待推荐对象对应的候
选推荐度进行加权计算,得到各个加权后的候选推荐度;
16.计算每个候选兴趣点对应的各个加权后的候选推荐度的和,得到各个候选兴趣点对应的候选推荐度总和。
17.在其中一个实施例中,获取各个待推荐对象对应的推荐权重,包括:
18.获取各个待推荐对象对历史推荐兴趣点的投票信息,基于投票信息计算各个待推荐对象对应的推荐权重。
19.一种兴趣点推荐方法,所述方法包括:
20.响应目标待推荐对象触发的兴趣点推荐事件,展示兴趣点推荐界面,兴趣点推荐界面中展示有各个待推荐对象对应的起始位置,各个待推荐对象中包括目标待推荐对象;
21.响应通过兴趣点推荐界面触发的兴趣点属性信息选取事件,展示兴趣点属性信息获取界面;
22.响应通过兴趣点属性信息获取界面触发的兴趣点属性信息确认事件,获取到目标待推荐对象对应的目标兴趣点属性信息,向服务器发送目标兴趣点属性信息;
23.展示服务器返回的目标推荐兴趣点,目标推荐兴趣点是服务器根据各个待推荐对象对应的起始位置确定待推荐兴趣点候选范围,基于各个待推荐对象对应的兴趣点属性信息从待推荐兴趣点候选范围中确定各个候选兴趣点,并基于各个候选兴趣点对应的候选推荐度得到的,各个候选兴趣点对应的候选推荐度是从目标兴趣点推荐度矩阵查找到的,目标兴趣点推荐度矩阵是使用原始兴趣点推荐度矩阵进行矩阵分解预测得到的。
24.一种兴趣点推荐装置,所述装置包括:
25.起始范围确定模块,用于获取各个待推荐对象对应的起始位置和兴趣点属性信息,从各个起始位置中进行筛选得到各个参考起始位置,基于各个参考起始位置确定起始范围;
26.候选范围得到模块,用于基于各个参考起始位置确定对应的参考范围,根据参考范围和起始范围得到待推荐兴趣点候选范围,待推荐兴趣点候选范围中包括各个待推荐兴趣点;
27.原始矩阵得到模块,用于获取各个待推荐兴趣点对应的原始兴趣点推荐度矩阵;
28.矩阵分解模块,用于基于原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,目标兴趣点推荐度矩阵中包括各个待推荐对象对各个待推荐兴趣点的推荐度;
29.兴趣点推荐模块,用于基于各个待推荐对象对应的兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,将目标推荐兴趣点发送各个待推荐对象对应的终端。
30.一种兴趣点展示装置,所述装置包括:
31.推荐界面展示模块,用于响应目标待推荐对象触发的兴趣点推荐事件,展示兴趣点推荐界面,兴趣点推荐界面中展示有各个待推荐对象对应的起始位置,各个待推荐对象中包括目标待推荐对象;
32.信息获取界面展示模块,用于响应通过兴趣点推荐界面触发的兴趣点属性信息选取事件,展示兴趣点属性信息获取界面;
33.信息发送模块,用于响应通过兴趣点属性信息获取界面触发的兴趣点属性信息确
认事件,获取到目标待推荐对象对应的目标兴趣点属性信息,向服务器发送目标兴趣点属性信息;
34.兴趣点展示模块,用于展示服务器返回的目标推荐兴趣点,目标推荐兴趣点是服务器根据各个待推荐对象对应的起始位置确定待推荐兴趣点候选范围,基于各个待推荐对象对应的兴趣点属性信息从待推荐兴趣点候选范围中确定各个候选兴趣点,并基于各个候选兴趣点对应的候选推荐度得到的,各个候选兴趣点对应的候选推荐度是从目标兴趣点推荐度矩阵查找到的,目标兴趣点推荐度矩阵是使用原始兴趣点推荐度矩阵进行矩阵分解预测得到的。
35.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
36.获取各个待推荐对象对应的起始位置和兴趣点属性信息,从各个起始位置中进行筛选得到各个参考起始位置,基于各个参考起始位置确定起始范围;
37.基于各个参考起始位置确定对应的参考范围,根据参考范围和起始范围得到待推荐兴趣点候选范围,待推荐兴趣点候选范围中包括各个待推荐兴趣点;
38.获取各个待推荐兴趣点对应的原始兴趣点推荐度矩阵;
39.基于原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,目标兴趣点推荐度矩阵中包括各个待推荐对象对各个待推荐兴趣点的推荐度;
40.基于各个待推荐对象对应的兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,将目标推荐兴趣点发送各个待推荐对象对应的终端。
41.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
42.响应目标待推荐对象触发的兴趣点推荐事件,展示兴趣点推荐界面,兴趣点推荐界面中展示有各个待推荐对象对应的起始位置,各个待推荐对象中包括目标待推荐对象;
43.响应通过兴趣点推荐界面触发的兴趣点属性信息选取事件,展示兴趣点属性信息获取界面;
44.响应通过兴趣点属性信息获取界面触发的兴趣点属性信息确认事件,获取到目标待推荐对象对应的目标兴趣点属性信息,向服务器发送目标兴趣点属性信息;
45.展示服务器返回的目标推荐兴趣点,目标推荐兴趣点是服务器根据各个待推荐对象对应的起始位置确定待推荐兴趣点候选范围,基于各个待推荐对象对应的兴趣点属性信息从待推荐兴趣点候选范围中确定各个候选兴趣点,并基于各个候选兴趣点对应的候选推荐度得到的,各个候选兴趣点对应的候选推荐度是从目标兴趣点推荐度矩阵查找到的,目标兴趣点推荐度矩阵是使用原始兴趣点推荐度矩阵进行矩阵分解预测得到的。
46.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
47.获取各个待推荐对象对应的起始位置和兴趣点属性信息,从各个起始位置中进行筛选得到各个参考起始位置,基于各个参考起始位置确定起始范围;
48.基于各个参考起始位置确定对应的参考范围,根据参考范围和起始范围得到待推荐兴趣点候选范围,待推荐兴趣点候选范围中包括各个待推荐兴趣点;
49.获取各个待推荐兴趣点对应的原始兴趣点推荐度矩阵;
50.基于原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,目标兴趣点推荐度矩阵中包括各个待推荐对象对各个待推荐兴趣点的推荐度;
51.基于各个待推荐对象对应的兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,将目标推荐兴趣点发送各个待推荐对象对应的终端。
52.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
53.响应目标待推荐对象触发的兴趣点推荐事件,展示兴趣点推荐界面,兴趣点推荐界面中展示有各个待推荐对象对应的起始位置,各个待推荐对象中包括目标待推荐对象;
54.响应通过兴趣点推荐界面触发的兴趣点属性信息选取事件,展示兴趣点属性信息获取界面;
55.响应通过兴趣点属性信息获取界面触发的兴趣点属性信息确认事件,获取到目标待推荐对象对应的目标兴趣点属性信息,向服务器发送目标兴趣点属性信息;
56.展示服务器返回的目标推荐兴趣点,目标推荐兴趣点是服务器根据各个待推荐对象对应的起始位置确定待推荐兴趣点候选范围,基于各个待推荐对象对应的兴趣点属性信息从待推荐兴趣点候选范围中确定各个候选兴趣点,并基于各个候选兴趣点对应的候选推荐度得到的,各个候选兴趣点对应的候选推荐度是从目标兴趣点推荐度矩阵查找到的,目标兴趣点推荐度矩阵是使用原始兴趣点推荐度矩阵进行矩阵分解预测得到的
57.上述兴趣点推荐方法、装置、计算机设备和存储介质,通过获取各个待推荐对象对应的起始位置和兴趣点属性信息,根据各个起始位置确定待推荐兴趣点候选范围以及各个待推荐兴趣点。然后获取所述各个待推荐兴趣点对应的原始兴趣点推荐度矩阵,并使用原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,然后基于各个待推荐对象对应的兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,将目标推荐兴趣点发送各个待推荐对象对应的终端,即通过矩阵分解得到待推荐兴趣点候选范围内的待推荐兴趣点对应的推荐度,保证了得到的推荐度的准确性,然后根据各个待推荐对象对应的兴趣点属性信息从各个待推荐兴趣点中确定候选兴趣点,基于候选兴趣点的候选推荐度从候选兴趣点中确定目标推荐兴趣点,从而能够提高对多个待推荐对象进行推荐时得到的目标推荐兴趣点的准确性,然后将目标推荐兴趣点向各个待推荐对象进行推荐,提高了在对多个待推荐对象进行兴趣点推荐时的准确性。
58.上述兴趣点展示方法、装置、计算机设备和存储介质,终端通过响应目标待推荐对象触发的兴趣点推荐事件,展示兴趣点推荐界面,响应通过兴趣点推荐界面触发的兴趣点属性信息选取事件,展示兴趣点属性信息获取界面,响应通过兴趣点属性信息获取界面触发的兴趣点属性信息确认事件,获取到目标待推荐对象对应的目标兴趣点属性信息,向服务器发送目标兴趣点属性信息,展示服务器返回的目标推荐兴趣点,从而使得目标待推荐对象能够获取到准确性的目标推荐兴趣点,使得终端展示的目标推荐兴趣点更加的准确,并且终端能够显示各个待推荐对象的起始位置,即能够同步显示共性的内容,然后终端能够通过兴趣点属性信息获取界面获取到目标待推荐对象对应的兴趣点属性信息,即终端也能够展示个性的内容,方便用户的使用。
附图说明
59.图1为一个实施例中兴趣点推荐方法的应用环境图;
60.图2为一个实施例中兴趣点推荐方法的流程示意图;
61.图3为一个实施例中确定起始范围的流程示意图;
62.图4为一个具体实施例中起始范围的示意图;
63.图5为一个实施例中得到第一部分参考起始位置的流程示意图;
64.图6为一个具体实施例中原始兴趣点推荐度矩阵的示意图;
65.图7为一个实施例中得到目标兴趣点推荐度矩阵的流程示意图;
66.图8为一个实施例中得到损失信息的流程示意图;
67.图9为一个实施例中得到目标推荐兴趣点的流程示意图;
68.图10为一个实施例中确定最终推荐兴趣点的流程示意图;
69.图11为一个实施例中确定模型推荐兴趣点的流程示意图;
70.图12为一个实施例中兴趣点展示方法的流程示意图;
71.图13为一个具体实施例中兴趣点推荐界面的示意图;
72.图14为一个具体实施例中兴趣点属性信息获取界面的示意图;
73.图15为一个具体实施例中兴趣点推荐方法的流程示意图;
74.图16为另一个具体实施例中兴趣点推荐方法的流程示意图;
75.图17为一个实施例中兴趣点推荐装置的结构框图;
76.图18为一个实施例中兴趣点展示装置的结构框图;
77.图19为一个实施例中计算机设备的内部结构图;
78.图20为另一个实施例中计算机设备的内部结构图。
具体实施方式
79.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
80.本申请提供的兴趣点推荐方法,可以应用于如图1所示的应用环境中。其中,各个终端包括终端102、终端104以及终端106与服务器104通过网络进行通信。服务器104通过各个终端获取到各个待推荐对象对应的起始位置和兴趣点属性信息,从各个起始位置中进行筛选得到各个参考起始位置,基于各个参考起始位置确定起始范围。服务器104基于各个参考起始位置确定对应的参考范围,根据参考范围和起始范围得到待推荐兴趣点候选范围,待推荐兴趣点候选范围中包括各个待推荐兴趣点。服务器104获取各个待推荐兴趣点对应的原始兴趣点推荐度矩阵。服务器104基于原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,目标兴趣点推荐度矩阵中包括各个待推荐对象对各个待推荐兴趣点的推荐度。基于各个待推荐对象对应的兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,将目标推荐兴趣点发送各个待推荐对象对应的终端。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、
域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
81.在一个实施例中,如图2所示,提供了一种兴趣点推荐方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
82.步骤202,获取各个待推荐对象对应的起始位置和兴趣点属性信息,从各个起始位置中进行筛选得到各个参考起始位置,基于各个参考起始位置确定起始范围。
83.其中,待推荐对象是指需要进行兴趣点推荐的用户对象。兴趣点属性信息是指待推荐对象对需要进行推荐的兴趣点的具体要求信息,该兴趣点属性信息可以包括至少一个类别的具体要求信息,该类别可以是餐饮类别、电影类别、购物类别、名胜类别等等,类别的具体要求信息是指对该类别基本属性信息的要求信息。比如餐饮类别的具体要求信息可以包括辣度信息、菜系信息以及价格信息等等。比如,电影类别的具体要求信息可以是电影类型信息、电影时间长度信息、电影价格信息等等。每个待推荐对象都有对应的兴趣点属性信息。起始位置是指待推荐对象对应的出发位置,待推荐对象是从起始位置出发到推荐的兴趣点的,可以起始位置可以是以坐标的形式表示。起始范围是指能够完全包含各个起始位置的凸多边形区域范围,即凸包。参考起始位置是起始范围中顶点的起始位置。
84.具体地,服务器从各个待推荐对象对应的终端获取到各个待推荐对象对应的起始位置和兴趣点属性信息。然后使用各个起始位置进行凸包计算,即从各个起始位置中进行筛选,得到凸包上的顶点,将凸包上的顶点作为各个参考起始位置,然后将各个参考起始位置进行连接得到凸包,即起始范围。在一个实施例中,服务器可以是从数据库中获取到已保存的各个待推荐对象对应的起始位置和兴趣点属性信息。在一个实施例中,服务器也可以是获取到第三方服务器推送的各个待推荐对象对应的起始位置和兴趣点属性信息,该第三方服务器是需要进行兴趣点推荐的服务方,该服务方调用服务器中的兴趣点推荐方法进行推荐。
85.步骤204,基于各个参考起始位置确定对应的参考范围,根据参考范围和起始范围得到待推荐兴趣点候选范围,待推荐兴趣点候选范围中包括各个待推荐兴趣点。
86.其中,参考范围是指以参考起始位置为中心确定的区域范围。待推荐兴趣点候选范围是指选取兴趣点进行推荐的范围。待推荐兴趣点是指需要筛选后进行推荐的兴趣点。待推荐兴趣点包括待推荐兴趣点候选范围中所有的兴趣点。
87.具体地,服务器可以按照预先设置好的半径,以各个参考起始位置为中心进行圆形状区域的确定,得到各个参考起始位置对应的参考范围。然后将各个参考范围和起始范围进行合并得到待推荐兴趣点候选范围,待推荐兴趣点候选范围中包括各个待推荐兴趣点。在一个实施例中,服务器也可以以各个参考起始位置为中心进行其他平面几何形状区域的确定,得到各个参考起始位置对应的参考范围。比如,可以各个参考起始位置为中心进行正方形区域或者三角形区域或者长方形区域等的确定,进而得到各个参考起始位置对应的参考范围。然后根据得到的各个参考范围和起始范围进行合并得到待推荐兴趣点候选范围。
88.步骤206,获取各个待推荐兴趣点对应的原始兴趣点推荐度矩阵。
89.其中,原始兴趣点推荐度矩阵是指各个待推荐对象对各个待推荐兴趣点以及历史兴趣点的推荐度矩阵,是一个稀疏矩阵,该原始兴趣点推荐度矩阵中历史兴趣点有对应的历史推荐度,而各个待推荐兴趣点是没有对应的推荐度的,即可以初始化各个待推荐兴趣点的推荐度为零。历史兴趣点是指具有各个待推荐对象对应的历史推荐度的兴趣点,即可以是各个待推荐对象已经去过的兴趣点。历史推荐度是指各个待推荐对象对历史兴趣点的推荐程度,历史推荐度可以是根据各个待推荐对象对历史兴趣点的评价信息得到。
90.具体地,服务器可以从数据库中获取到各个待推荐对象对应的历史兴趣点的历史推荐度,然后使用各个待推荐兴趣点、历史兴趣点和历史兴趣点对应的每个待推荐对象对应的历史推荐度进行矩阵建立,得到原始兴趣点推荐度矩阵。比如,有m个待推荐对象时,各个待推荐兴趣点和历史兴趣点总共为n个时,得到的原始兴趣点推荐度矩阵为r
m
×
n
,m和n为正整数。
91.步骤208,基于原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,目标兴趣点推荐度矩阵中包括各个待推荐对象对各个待推荐兴趣点的推荐度。
92.其中,目标兴趣点推荐度矩阵是指通过矩阵分解预测后得到的兴趣点推荐度矩阵,该目标兴趣点推荐度矩阵中每个待推荐对象都有预测的对每个待推荐兴趣点的推荐度。
93.具体地,服务器将原始兴趣点推荐度矩阵进行矩阵分解,得到分解后的矩阵,然后对分解后的矩阵进行迭代优化,得到优化后的分解矩阵,然后将优化后的分解矩阵进行合并,得到目标兴趣点推荐度矩阵,目标兴趣点推荐度矩阵中包括各个待推荐对象对各个待推荐兴趣点的推荐度。
94.步骤210,基于各个待推荐对象对应的兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,将目标推荐兴趣点发送各个待推荐对象对应的终端。
95.其中,目标推荐兴趣点是指向各个待推荐对象进行推荐的兴趣点,包括至少一个候选兴趣点。
96.具体地,服务器基于各个待推荐对象对应的兴趣点属性信息从各个待推荐兴趣点中确定候选兴趣点,并从待推荐兴趣点的推荐度中查找候选兴趣点对应的候选推荐度,基于候选推荐度从候选兴趣点中确定目标兴趣点。计算每个候选兴趣点对应的各个候选推荐度的总和,候选兴趣点对应有各个待推荐对象的推荐度。然后计算各个候选推荐度的总和的平均,得到每个候选兴趣点对应的平均推荐度,然后根据每个候选兴趣点对应的平均推荐度的大小依次对候选兴趣点进行排序,得到候选兴趣点序列,然后从候选兴趣点序列依次进行目标推荐兴趣点的选取。然后将选取到的目标推荐兴趣点发送各个待推荐对象对应的终端,各个待推荐对象对应的终端接收到目标推荐兴趣点时进行展示。
97.上述兴趣点推荐方法,通过获取各个待推荐对象对应的起始位置和兴趣点属性信息,根据各个起始位置确定待推荐兴趣点候选范围以及各个待推荐兴趣点。然后使用历史兴趣点的历史推荐度和各个待推荐兴趣点建立原始兴趣点推荐度矩阵,并使用原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,然后基于各个待推荐对象对应的兴趣点属性信息从各个待推荐兴趣点中确定候选兴趣点,并从待推荐兴趣点的推荐度中查找候选兴趣点对应的候选推荐度,然后基于候选推荐度从候选兴趣点中确定目标推荐兴趣点,将目标推荐兴趣点发送各个待推荐对象对应的终端,即通过矩阵分解得到待推荐
兴趣点候选范围内的待推荐兴趣点对应的推荐度,保证了得到的推荐度的准确性,然后根据各个待推荐对象对应的兴趣点属性信息从各个待推荐兴趣点中确定候选兴趣点,基于候选兴趣点的候选推荐度从候选兴趣点中确定目标推荐兴趣点,从而能够提高对多个待推荐对象进行推荐时得到的目标推荐兴趣点的准确性,然后将目标推荐兴趣点向各个待推荐对象进行推荐,提高了在对多个待推荐对象进行兴趣点推荐时的准确性。
98.在一个实施例中,如图3所示,步骤202,即从各个起始位置中进行筛选得到各个参考起始位置,基于各个参考起始位置确定起始范围,包括:
99.步骤302,基于各个起始位置对应的位置坐标确定第一参考起始位置和第二参考起始位置。
100.其中,位置坐标是用于表征起始位置的坐标,可以是二维平面坐标。第一参考起始位置是指位置坐标中横坐标最小的起始位置。第二参考起始位置是指位置坐标中横坐标最大的起始位置。
101.具体地,服务器将各个起始位置的位置坐标中横坐标从小到大进行排序,得到起始位置的排序结果,选取最小横坐标对应的起始位置作为第一参考起始位置,选取最大横坐标对应的起始位置作为第二参考起始位置。在一个实施例中,位置坐标还可以是经纬度坐标,根据经纬度坐标的大小来确定第一参考起始位置和第二参考起始位置。
102.步骤304,基于第一参考起始位置和第二参考起始位置确定第一直线,基于第一直线将各个起始位置进行划分,得到第一部分起始位置和第二部分起始位置。
103.其中,第一直线是第一参考起始位置和第二参考起始位置连接起来的直线,用于将各个起始位置划分为两部分。第一部分起始位置是指使用第一直线划分后得到的上侧部分的起始位置。第二部分起始位置是指使用第一直线划分后得到的下侧部分的起始位置。
104.具体地,服务器根据第一参考起始位置和第二参考起始位置确定第一直线,使用第一直线将各个起始位置进行划分,得到划分后的不同部分的各个起始位置,即第一部分起始位置和第二部分起始位置。
105.步骤306,从第一部分起始位置中进行筛选,得到各个第一部分参考起始位置,并从第二部分起始位置中进行筛选,得到各个第二部分参考起始位置。
106.其中,第一部分参考起始位置是指第一部分中为凸包顶点的起始位置。第二部分参考起始位置是指第二部分中为凸包顶点的起始位置。
107.具体地,服务器递归计算第一分部起始位置中包含的各个第一部分参考起始位置。其中,服务器可以计算第一分部起始位置中各个起始位置与第一直线组成的三角形的面积,将面积最大的起始位置作为第一部分参考起始位置,然后将面积最大的起始位置与第一参考起始位置进行连接,得到直线,使用该直线将第一部分起始位置进行划分,得到划分后的结果,然后递归计算划分后的参考起始位置,直到划分后未存在起始位置可以与直线组成三角形时,递归结束,根据递归计算得到参考起始位置得到各个第一部分参考起始位置。同时服务器递归计算第而分部起始位置中包含的各个第二部分参考起始位置。其中,服务器可以计算第二分部起始位置中各个起始位置与第一直线组成的三角形的面积,将面积最大的起始位置作为第二部分参考起始位置,然后将面积最大的起始位置与第一参考起始位置进行连接,得到直线,使用该直线将第二部分起始位置进行划分,得到划分后的结果,然后递归计算划分后的参考起始位置,直到划分后未存在起始位置可以与直线组成三
角形时,递归结束,根据递归计算得到参考起始位置得到各个第二部分参考起始位置。
108.步骤308,基于第一参考起始位置、第二参考起始位置、各个第一部分参考起始位置和各个第二部分参考起始位置得到各个参考起始位置,基于各个参考起始位置确定起始范围。
109.具体地,服务器直接将得到的第一参考起始位置、第二参考起始位置、各个第一部分参考起始位置和各个第二部分参考起始位置作为各个参考起始位置,然后将各个参考起始位置依次连接后得到的区域范围作为起始范围。在一个具体的实施例中,如图4所示,为起始范围的示意图,其中,黑色的圆点表示各个起始位置,凸多边形的区域表示起始范围。
110.在一个实施例中,如图5所示,步骤306,即从第一部分起始位置中进行筛选,得到各个第一部分参考起始位置,包括:
111.步骤502,计算第一部分起始位置中各个起始位置与第一直线的垂直距离,基于垂直距离从第一部分起始位置中确定第三参考起始位置。
112.其中,第三参考起始位置是指从第一部分起始位置中确定的参考起始位置,即凸包的顶点。
113.具体地,服务器根据第一部分起始位置中各个起始位置的位置坐标计算与第一直线的垂直距离,即点到直线的距离。然后将各个起始位置对应的垂直居中进行比较,得到最大垂直距离对应的起始位置,将最大垂直距离对应的起始位置作为第三参考起始位置。
114.步骤504,基于第三参考起始位置和第一参考起始位置确定第二直线,基于第二直线将第一部分起始位置进行划分,得到第三部分起始位置,并基于第三参考起始位置和第二参考起始位置确定第三直线,基于第三直线将第一部分起始位置进行划分,得到第四部分起始位置。
115.其中,第二直线是指根据第三参考起始位置和第一参考起始位置确定的直线。第三直线是指根据第三参考起始位置和第二参考起始位置确定的直线第三部分起始位置是指将第一部分起始位置按照第二直线进行划分后得到的左侧部分的起始位置。第四部分起始位置是指将第一部分起始位置按照第三直线进行划分后得到的右侧部分的起始位置。
116.具体地,服务器根据第三参考起始位置和第一参考起始位置确定第二直线,使用第二直线将第一部分起始位置进行划分,从划分结果中确定第三部分起始位置,并使用第三参考起始位置和第二参考起始位置确定第三直线,使用第三直线将第一部分起始位置进行划分,从划分结果中确定第四部分起始位置。
117.步骤506,将第三部分起始位置和第四部分起始位置分别作为第一部分起始位置,并将第二直线和第三直线分别作为第一直线,返回计算第一部分起始位置中各个起始位置与第一直线的垂直距离,基于垂直距离从第一部分起始位置中确定第三参考起始位置的步骤执行,直到第一部分起始位置中未包含起始位置时,得到各个第一部分参考起始位置。
118.具体地,服务器进行递归计算,服务器可以先将第三部分起始位置作为第一部分起始位置,并将第二直线作为第一直线,返回计算第一部分起始位置中各个起始位置与第一直线的垂直距离,基于垂直距离从第一部分起始位置中确定第三参考起始位置的步骤执行,直到第三部分起始位置中未包含起始位置时,得到第三部分起始位置中的各个参考起始位置,然后服务器将第四部分起始位置作为第一部分起始位置,并将第三直线作为第一直线,返回计算第一部分起始位置中各个起始位置与第一直线的垂直距离,基于垂直距离
从第一部分起始位置中确定第三参考起始位置的步骤执行,直到第四部分起始位置中未包含起始位置时,得到第四部分起始位置中的各个参考起始位置,服务器根据第三部分起始位置中的各个参考起始位置和第四部分起始位置中的各个参考起始位置得到各个第一部分参考起始位置。
119.在一个实施例中,服务器可以从第二部分起始位置中进行筛选,得到各个第二部分参考起始位置,具体来说,服务器计算第二部分起始位置中各个起始位置与第一直线的垂直距离,基于垂直距离从第二部分起始位置中确定第五参考起始位置。基于第五参考起始位置和第一参考起始位置确定第五直线,基于第五直线将第二部分起始位置进行划分,得到第五部分起始位置,并基于第五参考起始位置和第二参考起始位置确定第六直线,基于第六直线将第二部分起始位置进行划分,得到第六部分起始位置。将第五部分起始位置和第六部分起始位置分别作为第以部分起始位置,并将第五直线和第六直线分别作为第一直线,返回计算第一部分起始位置中各个起始位置与第一直线的垂直距离,基于垂直距离从第一部分起始位置中确定第五参考起始位置的步骤执行,直到第一部分起始位置中未包含起始位置时,得到各个第二部分参考起始位置。
120.在上述实施例中,通过从第一部分起始位置中进行筛选,得到各个第一部分参考起始位置,并从第二部分起始位置中进行筛选,得到各个第二部分参考起始位置,由于使用分治算法计算参考起始位置,提高了得到的各个第一部分参考起始位置和各个第二部分参考起始位置的准确性。
121.在一个实施例中,服务器可以基于各个起始位置使用graham(葛立恒)扫描算法计算起始范围,即通过确定纵坐标最小的起始位置,然后从纵坐标最小的起始位置按逆时针方向依次从起始为重中查找凸包上的顶点,得到各个参考起始位置,然后根据各个才开起始位置得到起始范围。在一个实施例中,服务器也可以基于各个起始位置使用包裹算法或者快包算法等来计算起始范围。
122.在一个实施例中,步骤204,基于各个参考起始位置确定对应的参考范围,根据参考范围和起始范围得到待推荐兴趣点候选范围,包括:
123.基于各个参考起始位置和预设圆半径确定各个参考范围,将各个参考范围与起始范围进行合并,得到待推荐兴趣点候选范围。
124.其中,预设圆半径是指预先设置好的确定参考范围的圆半径,可以根据业务需求进行设置。
125.具体地,服务器将各个参考起始位置作为圆中心,按照预设圆半径进行区域圆范围划定,得到各个参考范围。然后服务器将各个参考范围与起始范围进行合并,即将各个参考范围中与起始范围未重复的范围进行合并,将合并后的区域范围作为待推荐兴趣点候选范围。
126.在上述实施例中,通过将各个参考范围与起始范围进行合并,得到待推荐兴趣点候选范围,综合考虑了各个待推荐对象对应的参考范围,提高了待推荐兴趣点候选范围的准确性,
127.在一个实施例中,步骤206,获取各个待推荐兴趣点对应的原始兴趣点推荐度矩阵,包括:
128.获取所述各个待推荐对象对应的历史兴趣点的历史推荐度,基于各个待推荐兴趣
点以及历史兴趣点得到矩阵列属性,并基于各个待推荐对象得到矩阵行属性,将历史兴趣点的历史推荐度作为矩阵值,基于矩阵列属性、矩阵行属性以及矩阵值得到原始兴趣点推荐度矩阵。
129.其中,矩阵列属性是指矩阵中列所表征的属性。矩阵行属性是指矩阵中行所表征的属性。矩阵值是指矩阵中的具体值。
130.具体地,服务器将各个待推荐兴趣点以及历史兴趣点作为矩阵列属性,并将各个待推荐对象作为矩阵行属性,然后将历史兴趣点的历史推荐度作为矩阵值,基于矩阵列属性、矩阵行属性以及矩阵值得到原始兴趣点推荐度矩阵。在一个具体的实施例中,如图6所示,为得到的原始兴趣点推荐度矩阵的示意图,其中,兴趣点的数量为a个,历史兴趣点的数量为b个,兴趣点与历史兴趣点数量的总和为n个,待推荐对象有m个,“0”表示兴趣点的推荐度未存在,为初始值,a和b表示历史兴趣点对应的历史推荐度,不同的待推荐对象有不同的历史推荐度。
131.在上述实施例中,通过根据各个待推荐兴趣点以及历史兴趣点得到矩阵列属性,并基于各个待推荐对象得到矩阵行属性,将历史兴趣点的历史推荐度作为矩阵值,建立了原始兴趣点推荐度矩阵,从而能够方便后续的使用,提高效率。
132.在一个实施例中,如图7所示,步骤208,即基于原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,包括:
133.步骤702,将原始兴趣点推荐度矩阵按照预设分解关系进行矩阵分解,得到第一分解矩阵和第二分解矩阵,第一分解矩阵用于表示各个待推荐对象与兴趣点属性信息中各个属性的推荐度关系,第二分解矩阵用于表示兴趣点属性信息中各个属性与兴趣点的权重关系;
134.其中,预设分解关系是指预先设置好的将矩阵进行分解的关系。第一分解矩阵是指将原始兴趣点推荐度矩阵进行矩阵分解后得到的用于表示各个待推荐对象与兴趣点属性信息中各个属性的推荐度关系的矩阵。第二分解矩阵是指将原始兴趣点推荐度矩阵进行矩阵分解后得到的用于表示兴趣点属性信息中各个属性与兴趣点的权重关系。推荐度关系是指待推荐对象对兴趣点属性信息中各个属性的推荐程度。权重关系是指兴趣点属性信息中各个属性相对于兴趣点的权重。
135.具体地,服务器按照预先设置好的预解关系将原始兴趣点推荐度矩阵进行拆分,得到第一分解矩阵和第二分解矩阵,第一分解矩阵和第二分解矩阵中的矩阵值可以是随机初始值。比如,可以按照如下公式(1)进行拆分,得到拆分后的第一分解矩阵p
m
×
k
和第二分解矩阵q
k
×
n

136.r
m
×
n
≈p
m
×
k
×
q
k
×
n
ꢀꢀꢀ
公式(1)
137.其中,r
m
×
n
表示原始兴趣点推荐度矩阵,可以是稀释0

1矩阵。p
m
×
k
表示m个待推荐对象与兴趣点属性信息中k个属性的推荐度关系的矩阵。q
k
×
n
表示兴趣点属性信息中k个属性与n个兴趣点之间的权重关系的矩阵。利用矩阵分解的迭代优化计算出第一分解矩阵和第二分解矩阵,使得第一分解矩阵和第二分解矩阵尽可能的逼近原始兴趣点推荐度矩阵。
138.步骤704,计算第一分解矩阵和第二分解矩阵的乘积,得到重构兴趣点推荐度矩阵。
139.其中,重构兴趣点推荐度矩阵是指重新构建的兴趣点推荐度矩阵,该重构兴趣点
推荐度矩阵的行和列与原始兴趣点推荐度矩阵一致。
140.具体地,服务器迭代优化第一分解矩阵和第二分解矩阵,即将第一分解矩阵和第二分解矩阵作为隐式反馈,计算第一分解矩阵和第二分解矩阵的乘积,即进行矩阵相乘计算,得到重构兴趣点推荐度矩阵。
141.步骤706,计算原始兴趣点推荐度矩阵与重构兴趣点推荐度矩阵的损失信息,基于损失信息更新第一分解矩阵和第二分解矩阵。
142.其中,损失信息是指重构兴趣点推荐度矩阵中的推荐度与对应的原始兴趣点推荐度矩阵中的推荐度的误差。
143.具体地,服务器使用平方误差损失函数计算原始兴趣点推荐度矩阵中的推荐度分别与重构兴趣点推荐度矩阵中对应的推荐度之间的误差,得到损失信息,然后使用损失信息分别更新第一分解矩阵中的每个矩阵值和第二分解矩阵中的每个矩阵值。
144.步骤708,返回计算第一分解矩阵和第二分解矩阵的乘积,得到重构兴趣点推荐度矩阵的步骤迭代执行,直到当损失信息符合预设损失条件时,得到目标第一分解矩阵和目标第二分解矩阵。
145.其中,目标第一分解矩阵是指迭代优化完成的第一分解矩阵。目标第二分解矩阵是指迭代优化完成的第二分解矩阵。
146.具体地,服务器判断损失信息是否符合预设损失条件,该预设损失条件可以是损失信息达到最小,即重构兴趣点推荐度矩阵中的推荐度与对应的原始兴趣点推荐度矩阵中的推荐度的误差为最小。当损失信息未符合预设损失条件时,服务器返回步骤706,即返回计算第一分解矩阵和第二分解矩阵的乘积,得到重构兴趣点推荐度矩阵的步骤迭代执行,直到当损失信息符合预设损失条件时,得到目标第一分解矩阵和目标第二分解矩阵。
147.步骤710,计算目标第一分解矩阵和目标第二分解矩阵的乘积,得到目标兴趣点推荐度矩阵。
148.具体地,服务器将目标第一分解矩阵和目标第二分解矩阵进行矩阵相乘计算,得到目标兴趣点推荐度矩阵。比如,可以使用如下公式(2)计算得到目标兴趣点推荐度矩阵。
[0149][0150]
其中,表示目标第一分解矩阵。表示目标第二分解矩阵。表示目标兴趣点推荐度矩阵。
[0151]
在一个具体的实施例中,可以使用als(alternating least square,交替最小二乘法)来计算得到目标兴趣点推荐度矩阵。
[0152]
在上述实施例中,通过使用平方误差损失函数迭代优化第一分解矩阵和第二分解矩阵,从而得到目标第一分解矩阵和目标第二分解矩阵,然后计算目标第一分解矩阵和目标第二分解矩阵的乘积,得到目标兴趣点推荐度矩阵,提高了得到的目标兴趣点推荐度矩阵的准确性。
[0153]
在一个实施例中,如图8所示,步骤706,计算原始兴趣点推荐度矩阵与重构兴趣点推荐度矩阵的损失信息,包括:
[0154]
步骤802,计算原始兴趣点推荐度矩阵中各个推荐度与重构兴趣点推荐度矩阵中对应的重构推荐度的误差平方和。
[0155]
具体地,服务器获取到原始兴趣点推荐度矩阵中各个历史兴趣点对应的历史推荐度,并获取到重构兴趣点推荐度矩阵中各个历史兴趣点对应的重构推荐度。然后计算每个历史推荐度与对应的重构推荐度之差的平方,得到每个历史推荐度与对应的重构推荐度的误差,然后计算所有误差的和,得到误差平方和。
[0156]
步骤802,基于预设第一惩罚系数计算第一分解矩阵对应的第一惩罚项信息,并基于预设第二惩罚系数计算第二分解矩阵对应的第二惩罚项信息。
[0157]
其中,预设第一惩罚系数是指预先设置好的对第一分解矩阵正则项的惩罚系数。预设第二惩罚系数是指预先设置好的对第二分解矩阵正则项的惩罚系数。第一惩罚项信息是指使用预设第一惩罚系数和第一分解矩阵对应的正则项计算得到的信息。第二惩罚项信息是指使用预设第二惩罚系数和第二分解矩阵对应的正则项计算得到的信息。
[0158]
具体地,服务器使用第一分解矩阵计算矩阵范数,得到第一分解矩阵对应的正则项的值,然后计算正则项的值与预设第一惩罚系数的乘积,得到第一惩罚项信息。同理,服务器计算第一分解矩阵对应的矩阵范数,得到第二分解矩阵对应的正则项的值,然后计算该正则项的值与预设第二惩罚系数的乘积,得到第二惩罚项信息。
[0159]
步骤802,基于误差平方和、第一惩罚项信息和第二惩罚项信息得到损失信息。
[0160]
具体地,服务器计算误差平方和、第一惩罚项信息与第二惩罚项信息的和,得到损失信息。在一个具体的实施例中,服务器可以使用如下所示的公式(3)计算得到损失信息。
[0161][0162]
其中,loss表示损失信息。r
ui
表示原始兴趣点推荐度矩阵中各个历史兴趣点对应的历史推荐度。表示重构兴趣点推荐度矩阵中与历史推荐度对应的重构推荐度。p
u,k
表示目标第一分解矩阵中矩阵值,q
k.i
表示目标第二分解矩阵。λ
p
表示预设第一惩罚系数。λ
q
表示预设第二惩罚系数。λ
p
||p
u
||2表示第一惩罚项信息,λ
q
||q
i
||2表示第二惩罚项信息。u∈{0,1,2,...,m},m为待推荐对象数量。i∈{0,1,2,...,n},n为历史兴趣点与兴趣点数量总和。
[0163]
在上述实施例中,通过计算第一惩罚项信息和第二惩罚项信息,然后使用误差平方和、第一惩罚项信息和第二惩罚项信息得到损失信息,从而提高了泛化能力,防止迭代优化过拟合,使得到的损失信息更加的准确。
[0164]
在一个实施例中,如图9所示,步骤212,即基于兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,包括:
[0165]
步骤902,基于各个待推荐对象对应的兴趣点属性信息从各个待推荐兴趣点中确定候选兴趣点,并从各个待推荐兴趣点的推荐度中查找候选兴趣点对应的候选推荐度。
[0166]
其中,候选兴趣点是指使用各个待推荐对象对应的兴趣点属性信息对各个待推荐兴趣点进行筛选后得到的兴趣点。候选推荐度是指候选兴趣点对应的推荐度。
[0167]
具体地,服务器可以获取到各个待推荐兴趣点的属性信息,将各个待推荐兴趣点的属性信息与各个待推荐对象对应的兴趣点属性信息进行匹配,当存在匹配一致的兴趣点属性信息时,将匹配一致的兴趣点属性信息对应的待推荐兴趣点作为候选兴趣点。其中,可
以是匹配一致可以是指兴趣点属性信息的类别相同,类别的具体要求内容相同。比如,待推荐兴趣点属性信息中类别为餐饮类别,具体要求信息为辣度为微辣、菜系为湘菜等等,然后待推荐对象对应的兴趣点属性信息和该待推荐兴趣点属性信息相同,则匹配一致。然后服务器在目标兴趣点推荐度矩阵的待推荐兴趣点中查找与候选兴趣点一致的待推荐兴趣点对应的推荐度,将一致的待推荐兴趣点对应的推荐度作为候选兴趣点对应的候选推荐度。该候选推荐度中包括每个待推荐对象对该候选兴趣点对应的推荐度。
[0168]
步骤904,获取待推荐对象数量,并计算每个候选兴趣点对应的各个候选推荐度之和,得到各个候选兴趣点对应的候选推荐度总和。
[0169]
其中,待推荐对象数量是指各个待推荐对象的总数量,比如,可以是聚会的用户总数。候选推荐度总和是指候选兴趣点对应的所有候选推荐度的和。
[0170]
具体地,服务器可以统计各个待推荐对象得到待推荐对象数量。然后计算每个候选兴趣点对应的各个待推荐对象对应的候选推荐度的和,得到每个候选兴趣点对应的候选推荐度总和。比如,当待推荐对象数量为5时,每个候选兴趣点都会对应有5个候选推荐度,计算5个候选推荐度的和,得到候选兴趣点对应的候选推荐度总和。
[0171]
步骤906,基于候选推荐度总和与待推荐对象数量进行平均计算,得到各个候选兴趣点对应的平均候选推荐度。
[0172]
具体地,服务器计算候选推荐度总和与待推荐对象数量的比值,即进行平均计算,得到每个候选兴趣点对应的平均候选推荐度。
[0173]
步骤908,将各个候选兴趣点对应的平均候选推荐度进行排序,根据排序结果选取预设数量的候选兴趣点作为目标推荐兴趣点。
[0174]
具体地,服务器按照平均候选推荐度由大到小依次将各个候选兴趣点进行排序,得到排序后的各个候选兴趣点,然后可以从排序后的各个候选兴趣点中选取预设数量的候选兴趣点作为目标推荐兴趣点,比如,可以选取排序前三的候选兴趣点作为目标推荐兴趣点。
[0175]
在上述实施例中,通过计算平均候选推荐度,按照平均候选推荐度选取候选兴趣点作为目标推荐兴趣点能够使选取的目标推荐兴趣点比较准确,能够满足各个待推荐对象的需求。
[0176]
在一个实施例中,步骤904,即计算每个候选兴趣点对应的各个候选推荐度之和,得到所述各个候选兴趣点对应的候选推荐度总和,包括步骤:
[0177]
获取所述各个待推荐对象对应的推荐权重,根据推荐权重对各个待推荐对象对应的候选推荐度进行加权计算,得到各个加权后的候选推荐度;计算每个候选兴趣点对应的各个加权后的候选推荐度的和,得到各个候选兴趣点对应的候选推荐度总和。
[0178]
其中,推荐权重用于表征待推荐对象的权重。不同的待推荐对象有不同的推荐权重。
[0179]
具体地,服务器获取到各个待推荐对象对应的推荐权重,该推荐权重可以是预先设置好的,也可以是服务器预先根据已有过往数据对各个待推荐对象进行权重计算得到的,其中,该已有过往数据可以是各个待推荐对象对应的历史选取兴趣点的行为数据。然后服务器使用推荐权重对各个待推荐对象对应的候选推荐度进行加权计算,得到各个加权后的候选推荐度;然后服务器计算每个候选兴趣点对应的各个加权后的候选推荐度的和,得
到各个候选兴趣点对应的候选推荐度总和。在该实施例中,通过对先候选推荐度按照推荐权重进行加权计算后再计算候选推荐度总和,从而使得到的候选推荐度总和更加的准确。
[0180]
在一个实施例中,获取各个待推荐对象对应的推荐权重,包括步骤:
[0181]
获取各个待推荐对象对历史推荐兴趣点的投票信息,基于投票信息计算各个待推荐对象对应的推荐权重。
[0182]
其中,历史推荐兴趣点是指历史向各个待推荐对象进行推荐的兴趣点。投票信息是指待推荐对象对历史推荐兴趣点的选取信息,比如,历史向待推荐对象推荐了三个兴趣点,然后各个待推荐对象选取其中一个兴趣点作为最终的兴趣点,记录每个待推荐对象每次推荐后的选取信息,得到投票信息。
[0183]
具体地,服务器获取到数据库中记录的各个待推荐对象对历史推荐兴趣点的投票信息,然后按照投票信息计算各个待推荐对象对应的推荐权重,比如,有10次历史记录,根据待推荐对象选取的兴趣点和最终的兴趣点是否一致,统计每个待推荐对象选取的兴趣点为最终兴趣点的次数,比如,待推荐对象选取的兴趣点为最终兴趣点的次数为5次,则得到选取成功的概率为二分之一。计算得到每个待推荐对象选取成功的概率,然后将选取成功的概率归一化到0到1之间的值,得到每个待推荐对象对应的推荐权重。在该实施例中,通过投票信息来计算推荐权重,能够使得到的推荐权重更加的准确。
[0184]
在一个实施例中,如图10所示,步骤908,即将各个候选兴趣点对应的平均候选推荐度进行排序,根据排序结果选取预设数量的候选兴趣点作为目标推荐兴趣点,包括:
[0185]
步骤1002,将各个候选兴趣点对应的平均候选推荐度进行排序,得到第一排序结果。
[0186]
步骤1004,分别计算每个候选兴趣点到各个起始位置的距离总和,按照距离总和将各个候选兴趣点进行排序,得到第二排序结果。
[0187]
其中,第一排序结果是指按照平均候选推荐度对候选兴趣点进行排序得到的结果。距离总和是指每个候选兴趣点到所有起始位置的距离的和。第二排序结果是指按照距离总和对候选兴趣点进行排序得到的结果。
[0188]
具体地,服务器按照平均候选推荐度由大到小依次对各个候选兴趣点进行排序,得到第一排序结果。然后服务器分别计算每个候选兴趣点到各个起始位置的距离总和,即计算候选兴趣点到每个起始位置的距离,然后在计算所有距离的和,得到距离总和。然后按照距离总和由小到大依次对各个候选兴趣点进行排序,得到第二排序结果。
[0189]
步骤1006,基于第一排序结果和第二排序结果从各个候选兴趣点中确定最终推荐兴趣点。
[0190]
具体地,服务器可以选取在第一排序结果中排序前列同时在第二排序结果中排序前列的候选兴趣点作为最终推荐兴趣点。比如,服务器在第一排序结果和第二排序结果的前三个候选兴趣点中查找是否有同一候选兴趣点,当存在同一候选兴趣点时,将同一候选兴趣点作为最终推荐兴趣点,当未存在同一候选兴趣点时,在前五个候选兴趣点中查找是否有同一候选兴趣点,不断进行循环查找,直到查找到同一候选兴趣点,将查找到的同一候选兴趣点作为最终推荐兴趣点。最终推荐兴趣点是指最终要进行推荐的兴趣点,可以有多个。
[0191]
在上述实施例中,根据平均候选推荐度得到第一排序结果,根据距离总和得到第
二排序结果,然后根据第一排序结果和第二排序结果从各个候选兴趣点中确定最终推荐兴趣点,提高了得到的最终推荐兴趣点的准确性。
[0192]
在一个实施例中,如图11所示,步骤212,即基于兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,包括:
[0193]
步骤1102,基于各个待推荐对象对应的兴趣点属性信息从各个待推荐兴趣点中确定候选兴趣点,并从各个待推荐兴趣点的推荐度中查找候选兴趣点对应的候选推荐度。
[0194]
步骤1104,获取各个待推荐对象对历史推荐兴趣点的投票信息,基于投票信息提取到投票特征。
[0195]
其中,投票特征用于表征每个待推荐对象对应的投票信息。投票信息是指各个待推荐对象对历史推荐兴趣点的票决信息,即各个待推荐对象通过投票的形式从历史推荐兴趣点中确定最终聚会的兴趣点。
[0196]
具体地,服务器可以是数据库中获取到各个待推荐对象每次对历史推荐兴趣点的投票信息。然后对投票信息进行特征提取,得到投票特征。即可以根据投票信息计算到各个待推荐对象对应的推荐权重,然后直接将推荐权重作为投票特征。
[0197]
步骤1106,计算每个候选兴趣点到各个起始位置的距离总和,基于距离总和得到距离特征。
[0198]
其中,距离特征用于表征每个候选兴趣点对应的距离总和。
[0199]
具体地,服务器每个候选兴趣点到各个起始位置的距离总和,将每个候选兴趣点对应的距离总和直接作为距离特征。
[0200]
步骤1108,获取待推荐对象数量,并计算每个候选兴趣点对应的各个候选推荐度之和,得到各个候选兴趣点对应的候选推荐度总和。
[0201]
步骤1110,基于候选推荐度总和与待推荐对象数量进行平均计算,得到各个候选兴趣点对应的平均候选推荐度,基于平均候选推荐度得到推荐度特征。
[0202]
其中,待推荐对象数量是指各个待推荐对象的总数量,比如,可以是聚会的用户总数。候选推荐度总和是指候选兴趣点对应的所有候选推荐度的和。推荐度特征用于表征各个候选兴趣点对应的平均候选推荐度。
[0203]
具体地,服务器可以统计各个待推荐对象得到待推荐对象数量。然后计算每个候选兴趣点对应的各个待推荐对象对应的候选推荐度的和,得到每个候选兴趣点对应的候选推荐度总和,然后服务器计算候选推荐度总和与待推荐对象数量的比值,即进行平均计算,得到每个候选兴趣点对应的平均候选推荐度,然后将每个候选兴趣点对应的平均候选推荐度作为推荐度特征。
[0204]
步骤1112,将投票特征、距离特征和推荐度特征输入到第一兴趣点推荐模型中,得到输出的各个候选兴趣点对应的目标候选推荐度,基于目标候选推荐度从各个候选兴趣点中确定模型推荐兴趣点,第一兴趣点推荐模型是基于机器学习算法使用训练数据进行训练得到的,训练数据包括训练起始位置、训练兴趣点属性信息以及训练推荐兴趣点标签。
[0205]
其中,训练起始位置是指训练第一兴趣点推荐模型时使用的各个训练待推荐对象对应的起始位置。训练待推荐对象是指训练时的待推荐对象。训练兴趣点属性信息是指训练时训练待推荐对象对应的兴趣点属性信息。训练推荐兴趣点标签是指训练时使用的历史兴趣点是否进行推荐的标签,包括推荐标签和未推荐标签。推荐标签用于表示对应的历史
兴趣点是历史推荐过的。未推荐标签用于表示对应的历史兴趣点是历史未推荐过的。模型推荐兴趣点是指使用第一兴趣点推荐模型进行兴趣点推荐得到的兴趣点。
[0206]
具体地,服务器预先基于机器学习算法使用训练数据进行训练得到第一兴趣点推荐模型,其中,机器学习算法可以是svm(support vector machine,支持向量机)算法,神经网络算法等等。服务器可以采集到训练数据,然后可以使用训练数据提取得到训练距离特征、训练投票特征和训练平均候选推荐度,其中,服务器可以是使用各个训练起始位置计算得到训练起始范围,然后根据训练兴趣点属性信息从训练起始范围中确定训练候选推荐兴趣点,然后计算每个训练候选推荐兴趣点到各个训练起始位置的训练距离总和,将各个训练候选推荐兴趣点对应的训练距离总和作为训练距离特征。服务器也可以获取到训练待推荐对象对历史推荐兴趣点的投票信息,基于投票信息提取到训练投票特征。服务器还可以获取训练待推荐对象数量,并计算每个训练候选兴趣点对应的各个训练候选推荐度之和,得到各个训练候选兴趣点对应的训练候选推荐度总和。基于训练候选推荐度总和与训练待推荐对象数量进行平均计算,得到各个训练候选兴趣点对应的训练平均候选推荐度,基于训练平均候选推荐度得到训练推荐度特征。然后服务器将训练距离特征、训练投票特征和训练平均候选推荐度作为以机器学习算法建立的模型的输入,将训练推荐兴趣点标签作为标签进行训练,当训练完成时,得到第一兴趣点推荐模型。然后服务器将第一兴趣点推荐模型部署并使用。
[0207]
在使用时,服务器将投票特征、距离特征和推荐度特征进行拼接,得到拼接后的特征,将拼接后的特征输入到第一兴趣点推荐模型中,得到输出的各个候选兴趣点对应的目标候选推荐度。然后服务器可以按照目标候选推荐度由大到小将各个候选兴趣点进行排序,然后根据排序结果选取预设数量的候选兴趣点作为模型推荐兴趣点
[0208]
在上述实施例中,通过得到投票特征、距离特征和推荐度特征,然后将投票特征、距离特征和推荐度特征使用第一兴趣点推荐模型进行计算,得到输出的各个候选兴趣点对应的目标候选推荐度,从而提高了得到各个候选兴趣点对应的目标候选推荐度的准确性,然后服务器根据目标候选推荐度从各个候选兴趣点选取要推荐的兴趣点,能够使选取的要推荐的兴趣点更加的准确。
[0209]
在一个实施例中,兴趣点推荐方法还包括:
[0210]
将各个候选兴趣点输入到第二兴趣点推荐模型中,得到输出的目标推荐兴趣点,第二兴趣点推荐模型是基于深度神经网络算法使用历史候选兴趣点和对应的历史推荐兴趣点进行训练得到的,历史候选兴趣点是使用各个历史待推荐对象对应的历史起始位置和历史兴趣点属性信息进行计算得到的。
[0211]
其中,历史推荐兴趣点食指历史对各个历史待推荐对象进行推荐的兴趣点。历史起始位置是对各个历史待推荐对象进行兴趣点推荐时各个历史待推荐对象对应的起始位置。历史兴趣点属性信息是指各个历史待推荐对象对应的兴趣点属性信息。
[0212]
具体地,服务器也可以使用基于深度神经网络算法使用历史候选兴趣点和对应的历史推荐兴趣点进行训练得到第二兴趣点推荐模型。即服务器可以获取到各个历史待推荐对象对应的历史起始位置和历史兴趣点属性信息,然后根据历史起始位置计算得到历史起始范围,然后根据历史兴趣点属性信息从历史起始范围中的各个历史兴趣点中筛选得到历史候选兴趣点,然后将历史候选兴趣点作为以深度神经网络算法建立的模型的输入,该深
度神经网络算法可以是dcn(deep&cross network,深度交叉网络)算法,cnn(卷积神经网络,convolutional neural networks)算法、rnn(循环神经网络,recurrent neural network,rnn)算法等等。然后将历史推荐兴趣点作为建立的模型的标签进行训练,直到训练完成时,得到的第二兴趣点推荐模型,其中,训练完成是指达到训练完成条件时训练完成。训练完成条件包括损失函数的值达到预设阈值,达到最大迭代次数以及模型的参数不再发生变化中的至少一种等等。在一个实施例中,该第二兴趣点推荐模型可以是上述各
[0213]
服务器将训练得到的第二兴趣点推荐模型部署并进行使用,在使用时服务器获取到各个候选兴趣点,将各个候选兴趣点输入到第二兴趣点推荐模型中进行计算,得到输出的目标推荐兴趣点。
[0214]
在上述实施例中,服务器使用预先训练好的第二兴趣点推荐模型进行兴趣点推荐,提高了得到目标推荐兴趣点的效率和准确性。
[0215]
在一个实施例中,如图12所示,提供了一种兴趣点展示方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
[0216]
步骤1202,响应目标待推荐对象触发的兴趣点推荐事件,展示兴趣点推荐界面,兴趣点推荐界面中展示有各个待推荐对象对应的起始位置,各个待推荐对象中包括目标待推荐对象。
[0217]
其中,兴趣点推荐事件是指通过终端触发的进行兴趣点推荐的事件,目标待推荐对象是指需要兴趣点推荐的对象,该目标待推荐对象是各个待推荐对象中的一个。兴趣点推荐界面是指用于进行兴趣点推荐的界面。
[0218]
具体地,终端接收到目标待推荐对象触发的兴趣点推荐事件,其中,目标待推荐对象可以启动终端中的聚会地点推荐的应用程序,在应用程序中通过进行兴趣点推荐的操作,比如,点击兴趣点推荐按钮,使终端接收到目标待推荐对象触发的兴趣点推荐事件。此时,终端响应目标待推荐对象触发的兴趣点推荐事件,展示兴趣点推荐界面,兴趣点推荐界面中展示有各个待推荐对象对应的起始位置,各个待推荐对象中包括目标待推荐对象。其中,终端可以从服务器中获取到各个待推荐对象对应的起始位置,然后展示在兴趣点推荐界面中。
[0219]
在一个实施例中,终端可以从服务器中获取到除目标待推荐对象以为的各个待推荐对象对应的起始位置,并在兴趣点推荐界面中展示除目标待推荐对象以为的各个待推荐对象对应的起始位置。然后终端获取到目标待推荐对象的起始位置,将目标待推荐对象的起始位置在兴趣点推荐界面中展示。其中,终端可以获取到目标待推荐对象通过兴趣点推荐界面输入的起始位置,或者终端也可以通过定位技术获取到目标待推荐对象所处的位置作为起始位置。
[0220]
在一个具体的实施例中,如图13所示,为兴趣点推荐界面示意图,该兴趣点推荐界面示意图中展示有三个待推荐对象的起始位置,包括起始位置1302,起始位置1304以及起始位置1306。
[0221]
步骤1204,响应通过兴趣点推荐界面触发的兴趣点属性信息选取事件,展示兴趣点属性信息获取界面。
[0222]
其中,兴趣点属性信息选取事件是指用于进行兴趣点属性信息选取的事件。兴趣点属性信息获取界面用于获取目标待推荐对象对应的兴趣点属性信息。
[0223]
具体地,终端通过兴趣点推荐界面接收到目标待推荐对象的兴趣点属性信息选取操作,触发的兴趣点属性信息选取事件。兴趣点属性信息选取操作是指用于进行兴趣点属性信息选取的操作,包括但不限于点击操作、按压操作、滑动操作等等。此时,终端响应通过兴趣点推荐界面触发的兴趣点属性信息选取事件,展示兴趣点属性信息获取界面,目标待推荐对象可以通过兴趣点属性信息获取界面进行兴趣点属性信息的选取,也可以通过兴趣点属性信息获取界面熟人兴趣点属性信息。
[0224]
在一个具体的实施例中,如图14所示,为兴趣点属性信息获取界面示意图,用户可以通过该兴趣点属性信息获取界面选取兴趣点属性信息,比如,可以选取餐饮、湘菜、微辣、50以下等价格信息。
[0225]
步骤1206,响应通过兴趣点属性信息获取界面触发的兴趣点属性信息确认事件,获取到目标待推荐对象对应的目标兴趣点属性信息,向服务器发送目标兴趣点属性信息。
[0226]
其中,兴趣点属性信息确认事件用于对兴趣点属性信息进行确认的事件。目标兴趣点属性信息是指目标待推荐对象对应的兴趣点属性信息。
[0227]
具体地,终端通过兴趣点属性信息获取界面接收到目标待推荐对象的兴趣点属性信息确认操作,触发的兴趣点属性信息确认事件,该确认操作包括但不限于点击操作、按压操作、滑动操作、拖动操作等等。然后终端响应通过兴趣点属性信息获取界面触发的兴趣点属性信息确认事件,获取到目标待推荐对象对应的目标兴趣点属性信息,然后将目标兴趣点属性信息发送服务器。在一个实施例中,终端也可以同时将目标兴趣点属性信息以及目标待推荐对象对应的起始位置发送服务器。在图14的具体实施例中,用户可以通过点击确认按钮,触发的兴趣点属性信息确认事件,终端响应兴趣点属性信息确认事件,获取到目标兴趣点属性信息,并将目标兴趣点属性信息发送服务器。
[0228]
步骤1208,展示服务器返回的目标推荐兴趣点,目标推荐兴趣点是服务器根据各个待推荐对象对应的起始位置确定待推荐兴趣点候选范围,基于各个待推荐对象对应的兴趣点属性信息从待推荐兴趣点候选范围中确定各个候选兴趣点,并基于各个候选兴趣点对应的候选推荐度得到的,各个候选兴趣点对应的候选推荐度是从目标兴趣点推荐度矩阵查找到的,目标兴趣点推荐度矩阵是使用原始兴趣点推荐度矩阵进行矩阵分解预测得到的。
[0229]
具体地,服务器接收到各个待推荐对象发送的兴趣点属性信息时,获取到各个待推荐对象对应的起始位置。然后根据起始位置确定待推荐兴趣点候选范围,根据各个待推荐对象发送的兴趣点属性信息从待推荐兴趣点候选范围中筛选出各个候选兴趣点,然后从目标兴趣点推荐度矩阵中查找到各个候选兴趣点对应的候选推荐度,目标兴趣点推荐度矩阵是使用原始兴趣点推荐度矩阵进行矩阵分解预测得到的,原始兴趣点推荐度矩阵是根据待推荐兴趣点候选范围中的各个待推荐兴趣点以及各个待推荐对象对应的历史兴趣点的历史推荐度进行矩阵建立得到的。此时,服务器根据各个候选兴趣点对应的候选推荐度的大小,依次从大到小选取预设数量的候选兴趣点作为各个目标推荐兴趣点,然后将各个目标推荐兴趣点发送到各个待推荐对象的终端。目标待推荐对象的终端接收到服务器发送的各个目标推荐兴趣点时,展示各个目标推荐兴趣点。其中,终端可以在兴趣点推荐界面中展示各个目标推荐兴趣点,也可以通过展示列表展示各个目标推荐兴趣点,还可以通过目标推荐兴趣点展示界面进行展示等等。
[0230]
在一个实施例中,终端获取到各个目标推荐兴趣点时,可以只显示一个目标推荐
兴趣点,并在接收到用户的目标推荐兴趣点切换操作时,将另一个目标推荐兴趣点进行显示。
[0231]
在上述兴趣点展示方法中,终端通过响应目标待推荐对象触发的兴趣点推荐事件,展示兴趣点推荐界面,响应通过兴趣点推荐界面触发的兴趣点属性信息选取事件,展示兴趣点属性信息获取界面,响应通过兴趣点属性信息获取界面触发的兴趣点属性信息确认事件,获取到目标待推荐对象对应的目标兴趣点属性信息,向服务器发送目标兴趣点属性信息,展示服务器返回的目标推荐兴趣点,从而使得目标待推荐对象能够获取到准确性的目标推荐兴趣点,使得终端展示的目标推荐兴趣点更加的准确,并且终端能够显示各个待推荐对象的起始位置,即能够同步显示共性的内容,然后终端能够通过兴趣点属性信息获取界面获取到目标待推荐对象对应的兴趣点属性信息,即终端也能够展示个性的内容,方便用户的使用。
[0232]
在一个具体的实施例中,如图15所示,提供了一种兴趣点推荐方法,具体包括以下步骤:
[0233]
步骤1502,获取各个待推荐对象对应的起始位置和兴趣点属性信息,从各个起始位置中进行筛选得到各个参考起始位置,基于各个参考起始位置确定起始范围。
[0234]
步骤1504,基于各个参考起始位置和预设圆半径确定各个参考范围,将各个参考范围与起始范围进行合并,得到待推荐兴趣点候选范围。
[0235]
步骤1506,获取各个待推荐对象对应的历史兴趣点的历史推荐度,基于各个待推荐兴趣点以及历史兴趣点得到矩阵列属性,并基于各个待推荐对象得到矩阵行属性,将历史兴趣点的历史推荐度作为矩阵值,基于矩阵列属性、矩阵行属性以及矩阵值得到原始兴趣点推荐度矩阵。
[0236]
步骤1508,将原始兴趣点推荐度矩阵按照预设分解关系进行矩阵分解,得到第一分解矩阵和第二分解矩阵,计算第一分解矩阵和第二分解矩阵的乘积,得到重构兴趣点推荐度矩阵,计算原始兴趣点推荐度矩阵中各个推荐度与重构兴趣点推荐度矩阵中对应的重构推荐度的误差平方和。
[0237]
步骤1510,基于预设第一惩罚系数计算第一分解矩阵对应的第一惩罚项信息,并基于预设第二惩罚系数计算第二分解矩阵对应的第二惩罚项信息,基于误差平方和、第一惩罚项信息和第二惩罚项信息得到损失信息,基于损失信息更新第一分解矩阵和第二分解矩阵。
[0238]
步骤1512,返回计算第一分解矩阵和第二分解矩阵的乘积,得到重构兴趣点推荐度矩阵的步骤迭代执行,直到当损失信息符合预设损失条件时,得到目标第一分解矩阵和目标第二分解矩阵,计算目标第一分解矩阵和目标第二分解矩阵的乘积,得到目标兴趣点推荐度矩阵。
[0239]
步骤1514,基于各个待推荐对象对应的兴趣点属性信息从各个待推荐兴趣点中确定候选兴趣点,并从待推荐兴趣点的推荐度中查找候选兴趣点对应的候选推荐度;
[0240]
步骤1516,获取待推荐对象数量,并计算每个候选兴趣点对应的各个候选推荐度之和,得到各个候选兴趣点对应的候选推荐度总和,基于候选推荐度总和与待推荐对象数量进行平均计算,得到各个候选兴趣点对应的平均候选推荐度,将各个候选兴趣点对应的平均候选推荐度进行排序,根据排序结果选取预设数量的候选兴趣点作为目标推荐兴趣
点。
[0241]
本申请还提供一种应用场景,该应用场景应用上述的兴趣点推荐方法。具体地,该兴趣点推荐方法在该应用场景的应用如下:
[0242]
在具有聚会地点推荐功能的应用程序中,多个用户使用该应用程序进行聚会地点推荐时,如图16所示,为服务器进行聚会地点推荐的流程示意。具体来说:每个用户通过该应用程序向服务器提交聚会地点属性信息以及出发位置信息。服务器获取到多个用户的聚会地点属性信息以及出发位置信息,进行距离筛选,即使用多个用户的出发位置信息基于分治算法计算凸包,并得到凸包上的顶点。然后以凸包上的顶点为中心、半径为预设距离比如20米进行区域确定,得到圆区域范围,然后根据凸包的区域范围和圆区域范围得到起始范围,服务器根据多个用户的聚会地点属性信息从起始范围中确定各个候选聚会地点。然后,服务器使用基于矩阵分解的多元推荐计算得到目标聚会地点评分矩阵,即获取各个用户对应的历史聚会地点的历史评价分数,基于各个待推荐兴趣点以及各个待推荐对象对应的历史聚会地点的历史评价分数进行矩阵建立,得到原始兴趣点评分矩阵。基于原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标聚会地点评分矩阵,目标聚会地点评分矩阵中包括各个用户对各个待推荐聚会地点的预测评分。然后服务器从目标聚会地点评分矩阵的各个待推荐聚会地点对应的推荐度中查找候选聚会地点对应的候选评分。然后服务器基于候选评分的大小从候选聚会地点中确定目标推荐聚会地点,将目标推荐聚会地点发送各个用户对应的终端中。
[0243]
应该理解的是,虽然图2、图3、图5、图7

12、图15的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图3、图5、图7

12、图15中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0244]
在一个实施例中,如图17所示,提供了一种兴趣点推荐装置1700,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:起始范围确定模块1702、候选范围得到模块1704、原始矩阵得到模块1706、矩阵分解模块1708和兴趣点推荐模块1710,其中:
[0245]
起始范围确定模块1702,用于获取各个待推荐对象对应的起始位置和兴趣点属性信息,从各个起始位置中进行筛选得到各个参考起始位置,基于各个参考起始位置确定起始范围;
[0246]
候选范围得到模块1704,用于基于各个参考起始位置确定对应的参考范围,根据参考范围和起始范围得到待推荐兴趣点候选范围,待推荐兴趣点候选范围中包括各个待推荐兴趣点;
[0247]
原始矩阵得到模块1706,用于获取各个待推荐兴趣点对应的原始兴趣点推荐度矩阵;
[0248]
矩阵分解模块1708,用于基于原始兴趣点推荐度矩阵进行矩阵分解预测,得到目标兴趣点推荐度矩阵,目标兴趣点推荐度矩阵中包括各个待推荐对象对各个待推荐兴趣点
的推荐度;
[0249]
兴趣点推荐模块1712,用于基于各个待推荐对象对应的兴趣点属性信息和各个待推荐兴趣点的推荐度确定目标推荐兴趣点,将目标推荐兴趣点发送各个待推荐对象对应的终端。
[0250]
在一个实施例中,起始范围确定模块1702,包括:
[0251]
参考位置确定单元,用于基于各个起始位置对应的位置坐标确定第一参考起始位置和第二参考起始位置;
[0252]
划分单元,用于基于第一参考起始位置和第二参考起始位置确定第一直线,基于第一直线将各个起始位置进行划分,得到第一部分起始位置和第二部分起始位置;
[0253]
筛选单元,用于从第一部分起始位置中进行筛选,得到各个第一部分参考起始位置,并从第二部分起始位置中进行筛选,得到各个第二部分参考起始位置;
[0254]
位置得到单元,用于基于第一参考起始位置、第二参考起始位置、各个第一部分参考起始位置和各个第二部分参考起始位置得到各个参考起始位置,基于各个参考起始位置确定起始范围。
[0255]
在一个实施例中,筛选单元还用于计算第一部分起始位置中各个起始位置与第一直线的垂直距离,基于垂直距离从第一部分起始位置中确定第三参考起始位置;基于第三参考起始位置和第一参考起始位置确定第二直线,基于第二直线将第一部分起始位置进行划分,得到第三部分起始位置,并基于第三参考起始位置和第二参考起始位置确定第三直线,基于第三直线将第一部分起始位置进行划分,得到第四部分起始位置;将第三部分起始位置和第四部分起始位置分别作为第一部分起始位置,并将第二直线和第三直线分别作为第一直线,返回计算第一部分起始位置中各个起始位置与第一直线的垂直距离,基于垂直距离从第一部分起始位置中确定第三参考起始位置的步骤执行,直到第一部分起始位置中未包含起始位置时,得到各个第一部分参考起始位置。
[0256]
在一个实施例中,候选范围得到模块1704还用于基于各个参考起始位置和预设圆半径确定各个参考范围;将各个参考范围与起始范围进行合并,得到待推荐兴趣点候选范围。
[0257]
在一个实施例中,原始矩阵得到模块1706,还用于基于各个待推荐兴趣点以及历史兴趣点得到矩阵列属性,并基于各个待推荐对象得到矩阵行属性;将历史兴趣点的历史推荐度作为矩阵值,基于矩阵列属性、矩阵行属性以及矩阵值得到原始兴趣点推荐度矩阵。
[0258]
在一个实施例中,矩阵分解模块1708,包括:
[0259]
分解单元,用于将原始兴趣点推荐度矩阵按照预设分解关系进行矩阵分解,得到第一分解矩阵和第二分解矩阵,第一分解矩阵用于表示各个待推荐对象与兴趣点属性信息中各个属性的推荐度关系,第二分解矩阵用于表示兴趣点属性信息中各个属性与兴趣点的权重关系;
[0260]
重构单元,用于计算第一分解矩阵和第二分解矩阵的乘积,得到重构兴趣点推荐度矩阵;
[0261]
损失计算单元,用于计算原始兴趣点推荐度矩阵与重构兴趣点推荐度矩阵的损失信息,基于损失信息更新第一分解矩阵和第二分解矩阵;
[0262]
迭代单元,用于返回计算第一分解矩阵和第二分解矩阵的乘积,得到重构兴趣点
推荐度矩阵的步骤迭代执行,直到当损失信息符合预设损失条件时,得到目标第一分解矩阵和目标第二分解矩阵;
[0263]
目标矩阵得到单元,用于计算目标第一分解矩阵和目标第二分解矩阵的乘积,得到目标兴趣点推荐度矩阵。
[0264]
在一个实施例中,损失计算单元还用于计算原始兴趣点推荐度矩阵中各个推荐度与重构兴趣点推荐度矩阵中对应的重构推荐度的误差平方和;基于预设第一惩罚系数计算第一分解矩阵对应的第一惩罚项信息,并基于预设第二惩罚系数计算第二分解矩阵对应的第二惩罚项信息;基于误差平方和、第一惩罚项信息和第二惩罚项信息得到损失信息。
[0265]
在一个实施例中,兴趣点推荐模块1712还用于获取待推荐对象数量,并计算每个候选兴趣点对应的各个候选推荐度之和,得到各个候选兴趣点对应的候选推荐度总和;基于候选推荐度总和与待推荐对象数量进行平均计算,得到各个候选兴趣点对应的平均候选推荐度;将各个候选兴趣点对应的平均候选推荐度进行排序,根据排序结果选取预设数量的候选兴趣点作为目标推荐兴趣点。
[0266]
在一个实施例中,兴趣点推荐模块1712还用于获取各个待推荐对象对应的推荐权重,根据推荐权重对各个待推荐对象对应的候选推荐度进行加权计算,得到各个加权后的候选推荐度;计算每个候选兴趣点对应的各个加权后的候选推荐度的和,得到各个候选兴趣点对应的候选推荐度总和。
[0267]
在一个实施例中,兴趣点推荐模块1712还用于获取各个待推荐对象对历史推荐兴趣点的投票信息,基于投票信息计算各个待推荐对象对应的推荐权重。
[0268]
在一个实施例中,兴趣点推荐模块1712还用于将各个候选兴趣点对应的平均候选推荐度进行排序,得到第一排序结果;分别计算每个候选兴趣点到各个起始位置的距离总和,按照距离总和将各个候选兴趣点进行排序,得到第二排序结果;基于第一排序结果和第二排序结果从各个候选兴趣点中确定最终推荐兴趣点。
[0269]
在一个实施例中,兴趣点推荐模块1712还用于获取各个待推荐对象对历史推荐兴趣点的投票信息,基于投票信息提取到投票特征;计算每个候选兴趣点到各个起始位置的距离总和,基于距离总和得到距离特征;获取待推荐对象数量,并计算每个候选兴趣点对应的各个候选推荐度之和,得到各个候选兴趣点对应的候选推荐度总和;基于候选推荐度总和与待推荐对象数量进行平均计算,得到各个候选兴趣点对应的平均候选推荐度,基于平均候选推荐度得到推荐度特征;将投票特征、距离特征和推荐度特征输入到第一兴趣点推荐模型中,得到输出的各个候选兴趣点对应的目标候选推荐度,基于目标候选推荐度从各个候选兴趣点中确定模型推荐兴趣点,第一兴趣点推荐模型是基于机器学习算法使用训练数据进行训练得到的,训练数据包括训练起始位置、训练兴趣点属性信息以及训练推荐兴趣点标签。
[0270]
在一个实施例中,兴趣点推荐装置1700,还包括:
[0271]
模型推荐模块,用于将各个候选兴趣点输入到第二兴趣点推荐模型中,得到输出的目标推荐兴趣点,第二兴趣点推荐模型是基于深度神经网络算法使用历史候选兴趣点和对应的历史推荐兴趣点进行训练得到的,历史候选兴趣点是使用各个历史待推荐对象对应的历史起始位置和历史兴趣点属性信息进行计算得到的。
[0272]
在一个实施例中,如图18所示,提供了一种兴趣点展示装置1800,该装置可以采用
软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:推荐界面展示模块1802,信息获取界面展示模块1804,信息发送模块1806,兴趣点展示模块1808,其中:
[0273]
推荐界面展示模,1802,用于响应目标待推荐对象触发的兴趣点推荐事件,展示兴趣点推荐界面,兴趣点推荐界面中展示有各个待推荐对象对应的起始位置,各个待推荐对象中包括目标待推荐对象;
[0274]
信息获取界面展示模块1804,用于响应通过兴趣点推荐界面触发的兴趣点属性信息选取事件,展示兴趣点属性信息获取界面;
[0275]
信息发送模块1806,用于响应通过兴趣点属性信息获取界面触发的兴趣点属性信息确认事件,获取到目标待推荐对象对应的目标兴趣点属性信息,向服务器发送目标兴趣点属性信息;
[0276]
兴趣点展示模块1808,用于展示服务器返回的目标推荐兴趣点,目标推荐兴趣点是服务器根据各个待推荐对象对应的起始位置确定待推荐兴趣点候选范围,基于各个待推荐对象对应的兴趣点属性信息从待推荐兴趣点候选范围中确定各个候选兴趣点,并基于各个候选兴趣点对应的候选推荐度得到的,各个候选兴趣点对应的候选推荐度是从目标兴趣点推荐度矩阵查找到的,目标兴趣点推荐度矩阵是使用原始兴趣点推荐度矩阵进行矩阵分解预测得到的。
[0277]
关于兴趣点推荐装置以及兴趣点展示装置的具体限定可以参见上文中对于兴趣点推荐方法的限定,在此不再赘述。上述兴趣点推荐装置以及兴趣点展示装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0278]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图19所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储历史推荐数据、目标兴趣点推荐度矩阵、各个起始位置和兴趣点属性信息等等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种兴趣点推荐方法。
[0279]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图20所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、运营商网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种兴趣点展示方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的
按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0280]
本领域技术人员可以理解,图19和20中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0281]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0282]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0283]
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
[0284]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0285]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0286]
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1