一种社交信息推荐方法和装置与流程

文档序号:15797519发布日期:2018-11-02 21:11阅读:157来源:国知局
一种社交信息推荐方法和装置与流程

本发明涉及通信技术领域,具体涉及一种社交信息推荐方法、装置和系统。

背景技术

随着互联网技术的快速发展,以及移动终端的普及,人们的生活方式也在悄然地发生变化,社交方式便是其中的一种。

社交信息推荐,是现有多数社交应用的一个重要功能,它可以按照一定规律找到与用户具有潜在社交关系的人。比如,可以根据用户某个时间所处的地点,按距离远近,向其推荐附近的人;其中,“附近”的范围可以根据实际需求或用户喜好进行设置,比如,可以设置以当前地点为中心,半径500或1000米内的范围,等等。

在对现有技术的研究和实践过程中,本发明的发明人发现,现有方案的匹配方式较为单一,因此,推荐的精准性不高,导致推荐效果不佳。



技术实现要素:

本发明实施例提供一种社交信息推荐方法、装置和系统;可以提高推荐的精确性,改善推荐效果。

本发明实施例提供一种社交信息推荐方法,包括:

获取当前用户待匹配的移动轨迹,所述移动轨迹包括至少一个轨迹地点;

根据所述待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集;

按照预设策略从所述候选用户中确定待推荐用户;

根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。

相应的,本发明实施例还提供一种社交信息推荐装置,包括:

获取单元,用于当前用户待匹配的移动轨迹,所述移动轨迹包括至少一个轨迹地点;

筛选单元,用于根据所述待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集;

确定单元,用于按照预设策略从所述候选用户确定待推荐用户;

推荐单元,用于根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。

此外,本发明实施例还提供一种社交信息推荐系统,包括本发明实施例所提供的任一种社交信息推荐装置。

本发明实施例可以获取当前用户待匹配的移动轨迹,其中,该移动轨迹包括多个轨迹地点,然后,根据该待匹配移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的候选用户,从中选择待推荐用户,并根据该待推荐用户确定待推荐社交信息,推荐给当前用户;由于该方案在推荐时,除了考虑当前位置之外,还可以将整条移动轨迹作为考量因素之一,因此,相对于现有只是进行单一匹配的方案而言,可以进行更有效的匹配,大大提高推荐的精确性,以及改善推荐效果。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的社交信息推荐方法的场景示意图;

图1b是本发明实施例提供的社交信息推荐方法的流程图;

图2a是本发明实施例提供的社交信息推荐方法的另一流程图;

图2b是本发明实施例提供的社交信息推荐方法的另一场景示意图;

图3a是本发明实施例提供的社交信息推荐装置的结构示意图;

图3b是本发明实施例提供的社交信息推荐装置的另一结构示意图;

图4是本发明实施例提供的服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种社交信息推荐方法、装置和系统。

其中,该社交信息推荐系统可以包括本发明实施例所提供的任一种社交信息推荐装置,该社交信息推荐装置具体可以集成在服务器等设备中,此外,该社交信息推荐系统还可以包括其他的设备,比如可以包括终端,等等。

例如,以该社交信息推荐装置具体集成在服务器中,且当前用户为用户a,用户a使用的终端为终端a为例,参见图1a,服务器可以获取用户a待匹配的移动轨迹,其中,该移动轨迹可以包括至少一个轨迹地点,比如,可以接收终端a发送的用户a的位置变化信息,然后根据该位置变化信息生成用户a的移动轨迹,将该生成的移动轨迹作为待匹配的移动轨迹;或者,也可以获取当前用户在过去预设时间范围内的多条历史移动轨迹,从中选取出现频率符合预设频率条件(比如出现频率最高)的历史移动轨迹,作为当前用户待匹配的移动轨迹,等等;此后,服务器可以根据该待匹配的移动轨迹,在预设数据库中筛选与用户a具有相似移动轨迹的其他用户,如用户b、用户c和用户d等,得到候选用户集,然后,分别确定候选用户集中每一个候选用户位于这些轨迹地点时的时间,将该时间满足预设时间条件的候选用户确定为待推荐用户,并根据该待推荐用户确定待推荐社交信息,以发送给终端a。比如,若用户b位于这些轨迹地点时的时间可以满足预设时间条件,而用户c和用户d均不满足,那么,此时,可以将用户b的信息确定为待推荐社交信息,推荐给用户a,而对于用户c和用户d的信息则不进行推荐(虽然用户c和用户d的移动轨迹与用户a的移动轨迹也相似)。

以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。

实施例一、

本实施例将从社交信息推荐装置的角度进行描述,该社交信息推荐装置具体可以集成在服务器,比如业务服务器等设备中。

一种社交信息推荐方法,包括:获取当前用户待匹配的移动轨迹,该移动轨迹包括至少一个轨迹地点;根据待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集;按照预设策略从该候选用户确定待推荐用户,根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。

如图1b所示,该社交信息推荐方法的具体流程可以如下:

101、获取当前用户待匹配的移动轨迹,该移动轨迹包括至少一个轨迹地点。

其中,该待匹配的移动轨迹可以是实时生成的,可以是指定的,也可以是从历史数据中筛选得到,即具体可以采用如下任意一种方式来获取该当前用户待匹配的移动轨迹:

(1)实时生成;

a、获取当前用户的位置变化信息。

例如,具体可以接收终端或其他设备发送的当前用户的位置变化信息。

其中,该终端或其他设备可以通过全球定位系统(gps,globalpositioningsystem)、基站定位、或其他定位移动检测技术来获取当前用户的位置变化信息。比如,可以通过gps或基站定位等定位技术获取当前用户在一定时间期限内的地理位置信息,并记录该地理位置信息,然后,根据记录的地理位置信息生成当前用户的位置变化信息。

其中,该地理位置信息可以采用经纬度等方式来进行记录,具体格式为(经度,纬度),比如,(113.34638,23.11741),(113.34758,23.11971),等等。

b、根据该位置变化信息生成当前用户的移动轨迹,将该生成的移动轨迹作为当前用户待匹配的移动轨迹。

例如,具体可以根据该位置变化信息中各地理位置信息的采样点位置、以及采样时间等信息,按照采样时间的先后顺序,依次对采样点位置进行绘制,以构成该当前用户的移动轨迹,然后,将该生成的移动轨迹作为当前用户待匹配的移动轨迹,等等。

其中,可以将采样点位置作为轨迹地点,比如,若某地理位置变化信息中包括两个采样点位置,分别为(113.34638,23.11741)和(113.34758,23.11971),则此时,得到的移动轨迹上也可以包括两个轨迹地点,分别为(113.34638,23.11741)和(113.34758,23.11971),以此类推,等等。

可选的,为了便于后续查看和使用,还可以为移动轨迹上的各个轨迹地点添加地理位置标签,并保存至预设数据库中,即步骤“根据该位置变化信息生成当前用户的移动轨迹”之后,该社交信息推荐方法还可以包括:

为当前用户移动轨迹上的轨迹地点添加地理位置标签,将添加了地理位置标签后的移动轨迹保存至预设数据库中。

其中,该地理位置标签主要用于标识轨迹地点,具体可以采用该轨迹地点上最具有标志性或最为人熟知的地名、建筑、公交站名或地铁站名等等来进行标记,比如(113.34638,23.11741)对应xx市xx地铁站,(133.34638,24.11741)对应xx市xx大厦,等等。

(2)指定的移动轨迹;

接收选择指令,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。

例如,可以接收用户触发的选择指令,然后,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹;比如,若用户可以指定某一时间所生成的移动轨迹,作为待匹配的移动轨迹,或者,也可以指定某一条或多条移动轨迹,作为待匹配的移动轨迹,等等。

(3)从历史数据中获取;

获取当前用户在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为当前用户待匹配的移动轨迹。

其中,该预设频率条件可以根据实际应用的需求进行设置,比如,具体可以如下:

从获取到的多条历史移动轨迹中选取出现频率最高的历史移动轨迹,作为当前用户待匹配的移动轨迹。

或者,从获取到的多条历史移动轨迹中选取出现频率超过预设频率阈值的历史移动轨迹,作为当前用户待匹配的移动轨迹。

或者,从获取到的多条历史移动轨迹中选取出现频率最高的前k个历史移动轨迹,作为当前用户待匹配的移动轨迹,其中,k为正整数,具体取值可以实际应用的需求而定,比如,设置k为2、3或5,等等。

其中,该预设时间范围也可以根据实际应用的需求进行设置,比如,以该预设时间范围具体为1个月,且选择出现频率最高的一条历史移动轨迹为例,若用户a在过去一个月内,一共对应有5条移动轨迹,其中,历史移动轨迹1出现了两次,而其他历史移动轨迹均出现1次,则此时,可以将历史移动轨迹1作为当前用户待匹配的移动轨迹,等等。

102、根据该待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集;例如,具体可以如下:

(1)获取预设数据库中所有用户的移动轨迹。

其中,每一移动轨迹包括至少一轨迹地点。

(2)根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。

例如,具体可以获取该待匹配的移动轨迹上轨迹地点的地理位置标签,以及获取预设数据库中其他用户的移动轨迹上的轨迹地点的地理位置标签,根据获取到的地理位置标签对移动轨迹进行聚类运算。

通过该聚类运算,便可以筛选出于包括有“该待匹配的移动轨迹上轨迹地点的地理位置标签”的移动轨迹,比如,以该待匹配的移动轨迹上轨迹地点的地理位置标签为“a大厦”和“xx地铁站”为例,则此时,可以筛选出包括有“a大厦”和“xx地铁站”的移动轨迹,以此类推,等等。

其中,聚类指的是将物理或抽象对象的集合分成由类似的对象组成的多个类的过程。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。本发明实施例所采用的聚类运算的具体算法可根据实际应用的需求进行设置,在此不再赘述。

(3)根据运算结果筛选出与当前用户具有相似移动轨迹的其他用户,得到候选用户集;例如,具体可以如下:

根据运算结果分别确定预设数据库中各个用户的移动轨迹与该待匹配的移动轨迹的相似度,将相似度高于预设阈值的用户作为候选用户,添加至候选用户集中。

其中,该预设阈值可根据实际应用的需求进行设置,在此不再赘述。

可选的,为了提高筛选结果的有效性,在根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,然后,才根据该待匹配的移动轨迹上的轨迹地点、以及初步处理后的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。

其中,该预设规则可以根据实际应用的需求进行设置,比如,可以根据实际的需求选择一定期限内的移动轨迹,或者,也可以选择用户出现频率较高的移动轨迹(即常走的路线),等等;即步骤“按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理”具体可以如下:

从预设数据库中所获取的用户的移动轨迹中,选择轨迹生成时间位于预设期限内的移动轨迹,作为初步处理后的移动轨迹;或者,

从预设数据库中所获取的用户的移动轨迹中,选择每个用户出现频率最高的前m条移动轨迹,作为初步处理后的移动轨迹,其中,m为正整数,m具体可以根据实际应用的需求进行设置。

103、按照预设策略从所述候选用户集中确定待推荐用户。

其中,该预设策略可以根据实际应用的需求进行设置,例如,可以如下:

(1)分别确定候选用户集中每一个候选用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间。

例如,以当前用户a的移动轨迹上的轨迹地点包括xx地铁站和某某大厦,候选用户集中包括候选用户b和候选用户c,则此时,可以确定以下信息:

确定候选用户b位于xx地铁站的时间;确定候选用户b位于某某大厦的时间;确定候选用户c位于xx地铁站的时间;确定候选用户c位于某某大厦的时间,以此类推,等等。

需说明的是,该时间可以包括年字段、月字段、日字段、时字段、分字段和秒字段,比如,若该时间为“2014年12月13日10时40分21秒”,则年字段为“2014”,月字段为“12”,日字段为“13”,时字段为“10”,分字段为“40”,秒字段为“21”,以此类推,等等。

(2)将该时间满足预设时间条件的候选用户的信息确定为待推荐用户。

其中,该预设时间条件具体可以根据实际应用的需求进行设置,在此不再赘述。

例如,具体可以获取当前用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间,根据当前用户位于该轨迹地点时的时间,以及各候选用户位于该轨迹地点时的时间,分别计算各个候选用户与当前用户位于同一轨迹地点的时间差,将时间差小于预设时间阈值的候选用户确定为待推荐用户。

其中,当前用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间同样可以包括年字段、月字段、日字段、时字段、分字段和秒字段,而本发明实施例所说“时间差”,指的是时间中指定字段之差。该指定字段可以根据实际应用的需求进行设置。比如,以指定字段为“时字段、分字段和秒字段”为例,若当前用户位于该轨迹地点时的时间为“2014年12月13日10时40分21秒”,而某候选用户位于该轨迹地点时的时间为“2014年11月14日10时45分21秒”,则计算时间差时可以忽略年字段、月字段和日字段,即只计算“10时40分21秒”与“10时45分21秒”之差。

104、根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。

例如,可以直接将待推荐用户的信息作为待推荐社交信息;或者,也可以对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息。

其中,筛选的策略可以根据实际应用的需求而定,例如,可以从中选择“在轨迹地点出现次数”最多的待推荐用户的信息,作为待推荐社交信息,等等,即,在步骤“根据待推荐用户确定待推荐社交信息”之前,该社交信息的推荐方法还可以包括:

分别确定候选用户集中每一个候选用户在预设期限内出现在所述轨迹地点的次数。

其中,该预设期限可以根据实际应用的需求进行设置,比如,可以设置为一个月、或一个星期,等等。

例如,以当前用户a的移动轨迹上的轨迹地点包括xx地铁站和某某大厦,候选用户集中包括候选用户b和候选用户c,且该预设期限为一个月为例,则此时,可以确定以下信息:

确定候选用户b一个月内(即以当前时间为起点,在过去的一个月内)出现在该xx地铁站的次数;确定候选用户b一个月内出现在某某大厦的次数;确定候选用户c一个月内出现在该xx地铁站的次数;确定候选用户c一个月内出现在某某大厦的次数,以此类推,等等。

则此时,步骤“根据待推荐用户确定待推荐社交信息”可以包括:从待推荐用户中选择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。例如,具体可以如下:

从待推荐用户中选择该次数大于预设次数阈值的待推荐用户的信息,作为待推荐社交信息;或,

基于该次数对候选用户进行排序,根据排序结果将次数最多的n个待推荐用户的信息确定为待推荐社交信息,其中,n为正整数。

其中,该预设条件、预设时间阈值、预设次数阈值、以及n的取值均可以根据实际应用的需求进行设置,在此不再赘述。

可选的,为了可以更加精准的推荐,还可以将“方向”也作为考量因素之一,即在得到待推荐社交信息之后,可以优先推荐移动轨迹的方向(即用户在移动轨迹上的移动方向)与当前用户一致的待推荐用户所对应的待推荐社交信息。

由上可知,本实施例可以获取当前用户待匹配的移动轨迹,其中,该移动轨迹包括多个轨迹地点,然后,在预设数据库中筛选与当前用户具有相似移动轨迹的候选用户,从中选择在这些轨迹地点上出现的时间符合预设时间条件的候选用户作为待推荐用户,并根据该待推荐用户确定待推荐社交信息,推荐给当前用户;由于该方案在推荐时,除了可以考虑当前位置之外,还可以将整条移动轨迹作为考量因素之一,因此,相对于现有只是进行单一匹配的方案而言,可以进行更有效的匹配,大大提高推荐的精确性,以及改善推荐效果。

实施例二、

根据实施例一所描述的方法,以下将举例作进一步详细说明。

在本实施例中,将以该社交信息推荐装置具体集成在服务器中,当前用户为用户a,用户a所在的终端为终端a,且待匹配的移动轨迹为实时生成的移动轨迹为例进行说明。

如图2a所示,一种社交信息推荐方法,具体流程可以如下:

201、终端a获取用户a的位置变化信息。

例如,终端a可以通过gps、基站定位、或其他定位移动检测技术获取用户a在一定时间期限内的地理位置信息,并记录该地理位置信息,然后,根据记录的地理位置信息生成用户a的位置变化信息,等等。

其中,该地理位置信息可以采用经纬度等方式来进行记录,具体格式为(经度,纬度),比如,(113.34638,23.11741),(113.34758,23.11971),等等。

202、终端a将用户a的位置变化信息发送给服务器。

例如,终端a可以通过互联网或无线网络等方式将用户a的位置变化信息发送给服务器。

其中,该位置变化信息可以以独立的信息发送给服务器,也可以携带在其他信息中发送给服务器,在此不再赘述。

203、服务器在接收到该位置变化信息后,根据该位置变化信息生成用户a的移动轨迹,将生成的移动轨迹作为待匹配的移动轨迹。

例如,具体可以根据该位置变化信息中各地理位置信息的采样点位置、以及采样时间等信息,按照采样时间的先后顺序,依次对采样点位置进行绘制,以构成该用户a的移动轨迹,等等。

其中,该移动轨迹包括至少一个轨迹地点,譬如,可以将采样点位置作为轨迹地点,等等。比如,若某地理位置变化信息中包括两个采样点位置,分别为(113.34638,23.11741)和(113.34758,23.11971),则此时,得到的移动轨迹上也可以包括两个轨迹地点,分别为(113.34638,23.11741)和(113.34758,23.11971),以此类推,等等。

可选的,为了便于后续查看和使用,还可以为移动轨迹上的各个轨迹地点添加地理位置标签,并将添加了地理位置标签后的移动轨迹保存至预设数据库中。

其中,该地理位置标签主要用于标识轨迹地点,具体可以采用该轨迹地点上最具有标志性或最为人熟知的地名、建筑、公交站名或地铁站名等等来进行标记,比如(113.34638,23.11741)对应xx市xx地铁站,(133.34638,24.11741)对应xx市xx大厦,等等。

204、服务器获取预设数据库中其他用户的移动轨迹。

其中,每一移动轨迹包括至少一个轨迹地点。

需说明的是,这些用户的移动轨迹的生成方法与用户a的移动轨迹的生成方法相同,详见步骤203,在此不再赘述。

205、服务器根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中其他用户移动轨迹上的轨迹地点对移动轨迹进行聚类运算。

例如,服务器可以获取该待匹配的移动轨迹上轨迹地点的地理位置标签,以及获取预设数据库中其他用户移动轨迹上的轨迹地点的地理位置标签,然后,根据获取到的地理位置标签对移动轨迹进行聚类运算。

其中,聚类运算的具体算法可根据实际应用的需求进行设置,比如,可以采用划分法、层次法、密度算法、图论聚类法、网格算法、或者模型算法,等等,在此不再赘述。

可选的,为了提高筛选结果的有效性,在进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,然后,才根据该待匹配的移动轨迹上的轨迹地点、以及初步处理后的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。

其中,该预设规则可以根据实际应用的需求进行设置,比如,可以根据实际的需求选择一定期限内的移动轨迹,或者,也可以选择用户出现频率较高的移动轨迹(即常走的路线),等等;例如,具体可以如下:

服务器从预设数据库中所获取的用户的移动轨迹中,选择轨迹生成时间位于预设期限内的移动轨迹,作为初步处理后的移动轨迹;比如,可以选择生成时间在“2014年12月1日至2014年12月30日”之间的移动轨迹,作为初步处理后的移动轨迹,或者,也可以选择某一天,如“2014年12月1日”的移动轨迹,等等。

或者,服务器也可以从预设数据库中所获取的用户的移动轨迹中,选择每个用户出现频率最高的前m条移动轨迹,作为初步处理后的移动轨迹,其中,m为正整数,m具体可以根据实际应用的需求进行设置;比如,以m为2为例,若甲具有5条移动轨迹,其中,出现频率最高的前2条移动轨迹为移动轨迹1和移动轨迹2,则此时,可以将移动轨迹1和移动轨迹2筛选出来,作为甲对应的初步处理后的移动轨迹,以此类推,等等。

206、服务器根据运算结果筛选出与用户a具有相似移动轨迹的其他用户,得到候选用户集;例如,具体可以如下:

服务器根据运算结果分别确定预设数据库中各个用户的移动轨迹与该待匹配的移动轨迹的相似度,将相似度高于预设阈值的用户作为候选用户,添加至候选用户集中。

其中,该预设阈值可根据实际应用的需求进行设置,例如,以该预设阈值具体为95%为例,若用户b移动轨迹与该待匹配的移动轨迹的相似度为96%,用户c移动轨迹与该待匹配的移动轨迹的相似度为95%,用户d移动轨迹与该待匹配的移动轨迹的相似度为98%,用户e移动轨迹与该待匹配的移动轨迹的相似度为85%,用户f移动轨迹与该待匹配的移动轨迹的相似度为60%,则此时,可以将用户b、用户c和用户d作为候选用户,添加至用户a对应的候选用户集中。

207、服务器分别确定候选用户集中每一个候选用户位于该轨迹地点(即该待匹配的移动轨迹上的轨迹地点)时的时间。

其中,本发明所说的时间可以包括年字段、月字段、日字段、时字段、分字段和秒字段,在本实施例中,为了计算方便,将均以忽略“秒字段”为例进行说明。

可选的,还可以分别确定候选用户集中每一个候选用户在预设期限内出现在该轨迹地点的次数。

其中,该预设期限可以根据实际应用的需求进行设置,比如,可以设置为一个月、或一个星期,等等。

例如,以当前用户a的移动轨迹上的轨迹地点包括xx地铁站和某某大厦,候选用户集中包括候选用户b、候选用户c和候选用户d,且该预设期限为一个月(即以当前时间为起点,在过去的一个月内)为例,则此时,可以确定以下信息:

确定候选用户b位于xx地铁站的时间,比如为“2014年12月13日8:03”、以及确定一个月内出现在该xx地铁站的次数,比如为10次;

确定候选用户b位于某某大厦的时间,比如为“2014年12月13日8:20”、以及确定一个月内出现在某某大厦的次数,比如为10次;

确定候选用户c位于xx地铁站的时间,比如为“2014年12月12日23:00”、以及确定一个月内出现在该xx地铁站的次数,比如为1次;

确定候选用户c位于某某大厦的时间,比如为“2014年12月12日23:30”、以及确定一个月内出现在某某大厦的次数,比如为1次;

确定候选用户d位于xx地铁站的时间,比如为“2014年12月13日7:55”、以及确定一个月内出现在该xx地铁站的次数,比如为2次;

确定候选用户d位于某某大厦的时间,比如为“2014年12月13日8:25”、以及确定一个月内出现在某某大厦的次数,比如为2次;

以此类推,等等。

208、服务器将该时间满足预设时间条件的候选用户确定为待推荐用户。

例如,服务器可以获取用户a位于该轨迹地点时的时间,根据用户a位于该轨迹地点时的时间,以及各候选用户位于该轨迹地点时的时间,分别计算各个候选用户与用户a位于同一轨迹地点的时间差,将时间差小于预设时间阈值的候选用户确定为待推荐用户。

其中,该“时间差”,指的是时间中指定字段之差,该指定字段可以根据实际应用的需求进行设置,为了描述方便,在本实施例中,将均以该指定字段为“时字段和分字段”为例进行说明,即在计算时间差时,可以忽略年字段、月字段、日字段和秒字段,比如,若用户a位于xx地铁站的时间为“2014年12月14日8:00”,而用户b位于xx地铁站的时间为“2014年12月13日8:03”,则此时,可以确定用户a位于xx地铁站的时间为“8:00”,而用户b位于xx地铁站的时间为“8:03”,然后,计算“8:00”与“8:03”之间的时间差。需说明的是,为了描述方便,以下在描述各个用户位于轨迹地点的时间时,将均以忽略年字段、月字段、日字段和秒字段为例进行说明(即只表示时字段和分字段)。

还需说明的是,在确定为待推荐用户时,具体可以在轨迹上所有轨迹地点所对应的“时间差”均小于预设时间阈值时,才将该候选用户确定为待推荐用户,或者,也可以设定只要某一轨迹地点对应的“时间差”小于预设时间阈值,即可将相应候选用户确定为待推荐用户,等等,为了描述方便,在本实施例中,将以后者为例进行说明。

其中,可以将用户a位于该轨迹地点的时间与候选用户位于该轨迹地点的时间的差的绝对值,作为该用户a与该候选用户在该轨迹地点的时间差。

比如,如图2b所示,以候选用户包括候选用户b、候选用户c和候选用户d,且预设时间差阈值为12分钟为例,若用户a位于xx地铁站的时间为“8:00”,位于某某大厦的时间为“8:30”;候选用户b位于xx地铁站的时间为“8:03”,位于某某大厦的时间为“8:20”;候选用户c位于xx地铁站的时间为“23:00”,位于某某大厦的时间为“23:30”;候选用户d位于xx地铁站的时间为“7:55”,位于某某大厦的时间为“8:25”,则此时,可以分别计算用户a与各个候选用户位于xx地铁站和某某大厦的时间差,如表一所示:

表一:

可见,用户a与候选用户b、以及用户a与候选用户c在xx地铁站的时间差、以及在某某大厦的时间差均小于预设时间阈值,因此,可以将候选用户b和候选用户c作为待推荐用户。

209、服务器根据待推荐用户确定待推荐社交信息。

例如,服务器可以直接将待推荐用户的信息作为待推荐社交信息,比如,若在步骤208中,将用户b和用户c均作为待推荐用户,则此时,可以分别获取待推荐用户b的信息、以及待推荐用户c的信息,将获取到的信息作为待推荐社交信息。

其中,待推荐用户的信息(如待推荐用户b的信息、以及待推荐用户c的信息等)可以包括待推荐用户的用户标识、性别、年龄、和/或兴趣爱好等用户信息,还可以包括待推荐用户与当前用户(如用户a)的移动轨迹相似度、去过的相同轨迹地点、到访该相同轨迹地点的次数、和/或到访该相同轨迹地点的时间,等等。其中,用户标识可以包括用户名字和/或帐号等。

可选的,除了可以直接将待推荐用户的信息作为待推荐社交信息之外,服务器也可以对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息,比如,若在步骤207中,服务器执行了步骤“分别确定候选用户集中每一个候选用户在预设期限内出现在该轨迹地点的次数”的话,则此时,可以从待推荐用户中选择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。

其中,该预设次数条件可以根据实际应用的需求进行设置,例如,具体可以如下:

将该次数大于预设次数阈值的候选用户的信息确定为待推荐社交信息,以向当前用户进行推荐。

比如,以待推荐用户包括候选用户b和待推荐用户d,且预设次数阈值为5次为例,若待推荐用户b一个月内出现在该xx地铁站的次数为10次,出现在某某大厦的次数为10次;待推荐用户d一个月内出现在该xx地铁站的次数为3次,出现在某某大厦的次数为3次,由于待推荐用户b对应的次数大于预设次数阈值“5次”,因此,可以将待推荐用户b的信息确定为待推荐社交信息,推荐给用户a,而待推荐用户d则不予与推荐。

除此之外,也可以基于该次数对待推荐用户进行排序,根据排序结果将次数最多的n个待推荐用户的信息确定为待推荐社交信息,以向当前用户进行推荐,其中,n为正整数。

比如,以待推荐用户包括待推荐用户b、待推荐用户c和候选用户d,且n为2为例,若待推荐用户b一个月内出现在该xx地铁站的次数为10次,出现在某某大厦的次数为10次;待推荐用户c一个月内出现在该xx地铁站的次数为1次,出现在某某大厦的次数为1次;待推荐用户d一个月内出现在该xx地铁站的次数为3次,出现在某某大厦的次数为3次;则此时,可以基于轨迹地点对这些次数进行排序,比如从大到小进行排序:“xx地铁站:待推荐用户b>待推荐用户d>待推荐用户c”,“某某大厦:待推荐用户b>待推荐用户d>待推荐用户c”,因此,可以将次数较多的待推荐用户b和待推荐用户d的信息确定为待推荐社交信息,推荐给用户a,以此类推,等等。

210、服务器将待推荐社交信息发送给终端a,以向用户a进行推荐。

终端a在接收到该待推荐社交信息后,可以在预设的界面上显示该待推荐社交信息,比如,以该待推荐社交信息为用户b的信息为例,则此时,可以显示用户b的用户标识、性别、年龄、兴趣爱好、用户b与用户a的移动轨迹相似度、去过的相同轨迹地点、到访该相同轨迹地点的次数、和/或到访该相同轨迹地点的时间,等等。

可选的,还可以显示其他的信息,比如,显示该待匹配的移动轨迹,以及显示该待匹配的移动轨迹上各个轨迹地点的地理位置标签,等等。

由上可知,本实施例在获取到当前用户的位置变化信息后,可以根据该位置变化信息生成当前用户的移动轨迹,其中,该移动轨迹包括多个轨迹地点,然后,在预设数据库中筛选与当前用户具有相似移动轨迹的候选用户,从中选择在这些轨迹地点上出现的时间和次数符合预设条件的候选用户的信息作为待推荐社交信息,推荐给当前用户;由于该方案在推荐时,除了可以将当前位置作为考量因素之外,还可以将移动轨迹相似、以及这些用户的其他历史行为数据,比如在这些地点的出现时间、以及次数等也作为考量因素之一,因此,相对于现有只是进行单一匹配的方案而言,可以进行更有效的匹配,大大提高推荐的精确性,以及改善推荐效果。

实施例三、

与实施例二相同的是,本实施例同样以该社交信息推荐装置具体集成在服务器中,当前用户为用户a,且用户a所在的终端为终端a为例进行说明,与实施例二不同的是,本实施例所采用的待匹配移动轨迹是从用户a的历史数据中筛选得到的,即,在实施例二的流程中,可以将步骤201至203替换为如下步骤:

服务器获取用户a在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为用户a待匹配的移动轨迹。

其中,该预设频率条件可以根据实际应用的需求进行设置,比如,具体可以如下:

服务器从获取到的多条历史移动轨迹中选取出现频率最高的历史移动轨迹,作为用户a待匹配的移动轨迹。

或者,服务器从获取到的多条历史移动轨迹中选取出现频率超过预设频率阈值的历史移动轨迹,作为用户a待匹配的移动轨迹。

或者,服务器从获取到的多条历史移动轨迹中选取出现频率最高的前k个历史移动轨迹,作为用户a待匹配的移动轨迹。

其中,k为正整数,具体取值可以实际应用的需求而定,比如,设置k为2、3或5,等等。

其中,该预设时间范围也可以根据实际应用的需求进行设置,比如,以该预设时间范围具体为1个月,且选择出现频率最高的一条历史移动轨迹为例,若用户a在过去一个月内,一共对应有5条移动轨迹,其中,某条移动轨迹如“xx地铁站—>xx大厦——>xx公园”出现了两次,而其他历史移动轨迹均只出现过1次,那么,此时可以确定移动轨迹“xx地铁站—>xx大厦——>xx公园”在过去一个月内的出现频率最高,所以,可以将移动轨迹“xx地铁站—>xx大厦——>xx公园”作为用户a待匹配的移动轨迹。

由于该待匹配的移动轨迹是用户a在过去一个月内出现频率最高的移动轨迹,因此,表明用户a出现在该移动轨迹上的各个地点的可能性最大,所以,如果此时推荐在一定时间差范围内,同样在这移动轨迹附近活动的用户,特别是经常在这附近活动的用户的话,该推荐的用户与用户a建立起社交关系的可能性就会大大增加。

又例如,以该预设时间范围具体为1周,且选择出现频率最高的前2条历史移动轨迹为例,若用户a在过去一周内,一共对应有8条移动轨迹,其中,某条移动轨迹如“xx地铁站—>xx大厦——>xx公园”出现了三次,某条移动轨迹如“xx地铁站—>xx广场——>l大厦”出现了两次,而其他历史移动轨迹均只出现过1次,那么,此时可以确定移动轨迹“xx地铁站—>xx大厦——>xx公园”和“xx地铁站—>xx广场——>l大厦”在过去一周内出现频率排名前2(按出现频率从高至低进行排序),所以,可以将移动轨迹“xx地铁站—>xx大厦——>xx公园”和“xx地铁站—>xx广场——>l大厦”作为用户a待匹配的移动轨迹,后续可以分别对移动轨迹“xx地铁站—>xx大厦——>xx公园”和“xx地铁站—>xx广场——>l大厦”进行匹配和推荐(即执行步骤204~210)。

可选的,为了提高灵活性,除了可以从用户a的历史移动轨迹中筛选出现频率符合预设频率条件的历史移动轨迹,作为用户a的待匹配的移动轨迹之外,还可以指定具体的移动轨迹,来作为用户a的待匹配的移动轨迹;例如,服务器可以接收用户触发的选择指令,然后,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。

比如,如果用户a希望将移动轨迹“xx地铁站—>xx大厦——>xx公园”作为待匹配的移动轨迹,则此时,用户a触发选择指令,通过终端将该选择指令发送给服务器,然后,由服务器根据该选择指令获取该“xx地铁站—>xx大厦——>xx公园”的移动轨迹,以作为用户a的待匹配的移动轨迹。

又比如,如果用户a希望将“2014年12月12日”至“2014年12月14日”期间的移动轨迹作为待匹配的移动轨迹,那么此时,用户a便可以触发选择指令,通过终端将该选择指令发送给服务器,然后,由服务器根据该选择指令中所指示的期间获取相应的移动轨迹(即2014年12月12日至2014年12月14日之间的移动轨迹),以作为用户a的待匹配的移动轨迹。

可见,本实施例除了可以实现实施例二所能实现的有益效果之外,还可以进一步提高推荐的精准性、推荐效果、以及灵活性。

实施例四、

为了更好地实施以上方法,本发明实施例还提供一种社交信息推荐装置,该社交信息推荐装置具体可以集成在服务器,比如业务服务器等设备中。

例如,如图3a所示,该社交信息推荐装置包括获取单元301、筛选单元302、确定单元303、以及推荐单元304,如下:

(1)获取单元301;

获取单元301,用于当前用户待匹配的移动轨迹,该移动轨迹包括至少一个轨迹地点。

其中,该待匹配的移动轨迹可以是实时生成的,即:

该获取单元301,具体可以用于获取当前用户的位置变化信息,根据该位置变化信息生成当前用户的移动轨迹。

例如,该获取单元301,具体可以用于根据该位置变化信息中各地理位置信息的采样点位置、以及采样时间等信息,按照采样时间的先后顺序,依次对采样点位置进行绘制,以构成该当前用户的移动轨迹,然后,将该生成的移动轨迹作为当前用户待匹配的移动轨迹,其中,可以将采样点位置作为轨迹地点。

或者,该待匹配的移动轨迹也可以由用户进行指定,即:

该获取单元301,具体可以用于接收选择指令,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。

或者,该待匹配的移动轨迹也可以是从历史数据中筛选得到,即:

该获取单元301,具体可以用于获取当前用户在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为当前用户的移动轨迹。

其中,该预设频率条件可以根据实际应用的需求进行设置,比如,具体可以如下:

该获取单元301,具体可以用于从获取到的多条历史移动轨迹中选取出现频率最高的历史移动轨迹,作为当前用户待匹配的移动轨迹。

或者,该获取单元301,具体可以用于从获取到的多条历史移动轨迹中选取出现频率超过预设频率阈值的历史移动轨迹,作为当前用户待匹配的移动轨迹。

或者,该获取单元301,具体可以用于从获取到的多条历史移动轨迹中选取出现频率最高的前k个历史移动轨迹,作为当前用户待匹配的移动轨迹,其中,k为正整数,具体取值可以实际应用的需求而定,比如,设置k为2、3或5,等等。

其中,该预设时间范围也可以根据实际应用的需求进行设置,在此不再赘述。

可选的,为了便于后续查看和使用,还可以为移动轨迹上的各个轨迹地点添加地理位置标签,并保存至预设数据库中,即如图3b所示,该社交信息推荐装置还可以包括添加单元305和保存单元306,如下:

该添加单元305,用于为生成的移动轨迹上的轨迹地点添加地理位置标签;

该保存单元306,用于将添加了地理位置标签后的移动轨迹保存至预设数据库中。

其中,该地理位置标签主要用于标识轨迹地点,具体可以采用该轨迹地点上最具有标志性或最为人熟知的地名、建筑、公交站名或地铁站名等等来进行标记,详见前面实施例,在此不再赘述。

(2)筛选单元302;

筛选单元302,用于根据该待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集;

例如,该筛选单元302可以包括获取子单元、运算子单元和筛选子单元,如下:

获取子单元,用于获取预设数据库中所有用户的移动轨迹。

运算子单元,用于根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。

比如,该运算子单元,具体可以用于获取该待匹配的移动轨迹上轨迹地点的地理位置标签,以及获取预设数据库中其他用户的移动轨迹上的轨迹地点的地理位置标签;根据获取到的地理位置标签对移动轨迹进行聚类运算。

筛选子单元,用于根据运算结果筛选出与当前用户具有相似移动轨迹的其他用户,得到候选用户集。

比如,该筛选子单元,具体可以用于根据运算结果分别确定预设数据库中各个用户的移动轨迹与该待匹配的移动轨迹的相似度;将相似度高于预设阈值的用户作为候选用户,添加至候选用户集中。

其中,该预设阈值可根据实际应用的需求进行设置,在此不再赘述。

可选的,为了提高筛选结果的有效性,在进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,然后,才由运算子单元根据该待匹配的移动轨迹上的轨迹地点、以及初步处理后的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。即该筛选单元302还可以包括初处理子单元,如下:

初处理子单元,用于按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理。

则此时,运算子单元,具体可以用于根据所述待匹配的移动轨迹上的轨迹地点、以及初步处理后的移动轨迹上的轨迹地点对移动轨迹进行聚类运算。

其中,该预设规则可以根据实际应用的需求进行设置,比如,可以根据实际的需求选择一定期限内的移动轨迹,或者,也可以选择用户出现频率较高的移动轨迹(即常走的路线),等等;即:

初处理子单元,具体可以用于从预设数据库中所获取的用户的移动轨迹中,选择轨迹生成时间位于预设期限内的移动轨迹,作为初步处理后的移动轨迹。

或者,初处理子单元,具体可以用于从预设数据库中所获取的用户的移动轨迹中,选择每个用户出现频率最高的前m条移动轨迹,作为初步处理后的移动轨迹。

其中,m为正整数,具体取值可以根据实际应用的需求而定。

(3)确定单元303;

确定单元303,用于按照预设策略从该候选用户集中确定待推荐用户。

其中,该预设策略可以根据实际应用的需求进行设置,例如,可以如下:

确定单元303,具体可以用于分别确定候选用户集中每一个候选用户位于该轨迹地点时的时间,将该时间(即确定单元303确定的时间)满足预设时间条件的候选用户确定为待推荐用户。

比如,该确定单元303,具体可以用于获取当前用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间;根据当前用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间,以及各候选用户位于该轨迹地点(即待匹配的移动轨迹上的轨迹地点)时的时间,分别计算各个候选用户与当前用户位于同一轨迹地点的时间差;将时间差小于预设时间阈值的候选用户确定为待推荐用户。

其中,该预设时间条件具体可以根据实际应用的需求进行设置,在此不再赘述。

需说明的是,该时间可以包括年字段、月字段、日字段、时字段、分字段和秒字段,而本发明实施例所说的“时间差”指的是时间中指定字段之差。该指定字段可以根据实际应用的需求进行设置,比如,可以将“时字段”和“分字段作为指定字段,等等,具体可参见前面的方法实施例,在此不再赘述。

(4)推荐单元304;

推荐单元304,用于根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。

例如,推荐单元304,具体可以用于将待推荐用户的信息作为待推荐社交信息。

或者,推荐单元304,具体可以用于对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息。

其中,筛选的策略可以根据实际应用的需求而定,例如,可以从中选择“在轨迹地点出现次数”最多的待推荐用户的信息,作为待推荐社交信息,等等,即:

该确定单元303,还可以用于分别确定候选用户集中每一个候选用户在预设期限内出现在该轨迹地点的次数。

则此时,该推荐单元304,具体可以用于从待推荐用户中选择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。

比如,该推荐单元304,具体可以用于从待推荐用户中选择该次数大于预设次数阈值的用户的信息,作为待推荐社交信息;或,

该推荐单元304,具体可以用于基于该次数对待推荐用户进行排序,根据排序结果将次数最多的n个待推荐用户的信息确定为待推荐社交信息,其中,n为正整数。

其中,该预设期限、预设次数阈值、以及n的取值可以根据实际应用的需求进行设置,比如,可以设置为一个月、或一个星期,等等。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本实施例的社交信息推荐装置的获取单元301可以获取当前用户待匹配的移动轨迹,其中,该移动轨迹包括多个轨迹地点,然后,由筛选单元302在预设数据库中筛选与当前用户具有相似移动轨迹的候选用户,以及由确定单元303从中选择在这些轨迹地点上出现的时间符合预设时间条件的候选用户作为待推荐用户,并根据该待推荐用户确定待推荐社交信息,由推荐单元304推荐给当前用户;由于该方案在推荐时,除了可以当前位置作为考量因素之外,还可以将移动轨迹相似、以及这些用户的其他历史行为数据,比如在这些地点的出现时间等也作为考量因素之一,因此,相对于现有只是进行单一匹配的方案而言,可以进行更有效的匹配,大大提高推荐的精确性,以及改善推荐效果。

实施例五、

相应的,本发明实施例还提供一种社交信息推荐系统,可以包括本发明实施例所提供的任一种社交信息推荐装置,其中,该社交信息推荐装置具体可以集成在服务器。例如,可以如下:

服务器,用于获取当前用户待匹配的移动轨迹,该移动轨迹包括至少一个轨迹地点;根据待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集;按照预设策略从候选用户集中确定待推荐用户,根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。

其中,该预设策略可以根据实际应用的需求进行设置,比如,可以如下:

该服务器,具体可以用于分别确定候选用户集中每一个候选用户位于该轨迹地点时的时间;将该时间满足预设时间条件的候选用户确定为待推荐用户。

其中,筛选与当前用户具有相似移动轨迹的其他用户的方式也可以有多种,例如,可以如下:

该服务器,具体可以获取预设数据库中所有用户的移动轨迹,根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算,根据运算结果筛选出与当前用户具有相似移动轨迹的其他用户,得到候选用户集。

可选的,为了提高筛选结果的有效性,在进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,具体可参见前面的实施例,在此不再赘述。

其中,服务器获取当前用户待匹配的移动轨迹的方式可以有多种,比如,可以如下:

该服务器,具体可以用于获取当前用户的位置变化信息,根据该位置变化信息生成当前用户的移动轨迹,将该生成的移动轨迹作为当前用户待匹配的移动轨迹。

或者,该服务器,具体可以用于接收选择指令,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。

或者,该服务器,具体可以用于获取当前用户在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为当前用户待匹配的移动轨迹。

可选的,在根据待推荐用户确定待推荐社交信息时,除了可以直接将待推荐用户的信息作为待推荐社交信息之外,也可以对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息,比如,可以如下:

服务器,具体可以用于分别确定候选用户集中每一个候选用户在预设期限内出现在所述轨迹地点的次数,从待推荐用户中选择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。

其中,该预设期限可以根据实际应用的需求进行设置,在此不再赘述。

可选的,该社交信息推荐系统还可以包括其他的设备,比如终端等,具体可以如下:

终端,用于接收服务器发送的待推荐社交信息。

该终端,还可以用于获取当前用户的位置变化信息,将该位置变化信息发送给服务器。

以上各个设备的具体实施可参见前面的实施例,在此不再赘述。

由于该社交信息推荐系统可以包括本发明实施例所提供的任一种社交信息推荐装置,因此,可以实现本发明实施例所提供的任一种社交信息推荐装置所能实现的有益效果,详见前面的实施例,在此不再赘述。

实施例六、

本发明实施例还提供一种服务器,如图4所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:

该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。

存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。

服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:

获取当前用户待匹配的移动轨迹,该移动轨迹包括至少一个轨迹地点;根据待匹配的移动轨迹在预设数据库中筛选与当前用户具有相似移动轨迹的其他用户,得到候选用户集,按照预设策略从候选用户集中确定待推荐用户,比如,可以分别确定候选用户集中每一个候选用户位于该轨迹地点时的时间;将该时间满足预设时间条件的候选用户确定为待推荐用户,然后,根据待推荐用户确定待推荐社交信息,并向当前用户进行推荐。

例如,可以获取预设数据库中所有用户的移动轨迹,根据该待匹配的移动轨迹上的轨迹地点、以及预设数据库中所获取的用户的移动轨迹上的轨迹地点对移动轨迹进行聚类运算,根据运算结果筛选出与当前用户具有相似移动轨迹的其他用户,得到候选用户集。

可选的,为了提高筛选结果的有效性,在进行聚类运算之前,还可以按照预设规则对预设数据库中所获取的用户的移动轨迹进行初步处理,具体可参见前面的实施例,在此不再赘述。

可选的,该服务器获取当前用户待匹配的移动轨迹的方式可以有多种,即处理器401还可以运行存储在存储器402中的应用程序,以实现以下功能:

获取当前用户的位置变化信息,根据该位置变化信息生成当前用户的移动轨迹,将该生成的移动轨迹作为当前用户待匹配的移动轨迹。

或者,接收选择指令,根据该选择指令选择相应的移动轨迹作为待匹配的移动轨迹。

或者,获取当前用户在过去预设时间范围内的多条历史移动轨迹,从获取到的多条历史移动轨迹中选取出现频率符合预设频率条件的历史移动轨迹,作为当前用户待匹配的移动轨迹。

可选的,在根据待推荐用户确定待推荐社交信息时,除了可以直接将待推荐用户的信息作为待推荐社交信息之外,也可以对该待推荐用户进行筛选后,将筛选得到的待推荐用户的信息作为待推荐社交信息,即处理器401还可以运行存储在存储器402中的应用程序,以实现以下功能:

分别确定候选用户集中每一个候选用户在预设期限内出现在所述轨迹地点的次数,从待推荐用户中选择该次数满足预设次数条件的用户的信息,作为待推荐社交信息。

其中,该预设期限可以根据实际应用的需求进行设置,在此不再赘述。

以上各项操作的具体实施可参见前面的实施例,在此不再赘述。

由上可知,本实施例的服务器可以获取当前用户待匹配的移动轨迹,其中,该移动轨迹包括多个轨迹地点,然后,在预设数据库中筛选与当前用户具有相似移动轨迹的候选用户,从中选择在这些轨迹地点上出现的时间符合预设时间条件的候选用户作为待推荐用户,并根据该待推荐用户确定待推荐社交信息,推荐给当前用户;由于该方案在推荐时,除了可以将当前位置作为考量因素之外,还将移动轨迹相似、以及这些用户的其他历史行为数据,比如在这些地点的出现时间等也作为考量因素之一,因此,相对于现有只是进行单一匹配的方案而言,可以进行更有效的匹配,大大提高推荐的精确性,以及改善推荐效果。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

以上对本发明实施例所提供的一种社交信息推荐方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1