对象推送方法及装置与流程

文档序号:20918643发布日期:2020-05-29 13:51阅读:182来源:国知局
本公开实施例涉及互联网
技术领域
:,尤其涉及一种对象推送方法及装置。
背景技术
::目前,在各种平台上展示有各种各样的信息,当用户希望获取想要的信息时,通常是进入各个平台输入搜索条件进行搜索来实现有效获取。例如,当用户想要买房时,希望获取房源信息,此时用户可以在网站上或者在相应的app上通过搜索感兴趣的房源的关键词来获得对应的房源信息。该方案需要用户每次输入关键词才能获取相应的信息,操作较麻烦。技术实现要素:本公开实施例提供一种对象推送方法及装置,以解决现有方案操作较麻烦的问题。第一方面,本公开实施例提供一种对象推送方法,包括:获取第一用户的历史搜索信息,所述历史搜索信息中包括至少一个搜索条件和每个搜索条件对应的权重值;分别基于每个搜索条件在第一预设数据库中进行对象搜索,得到每个搜索条件对应的第一对象集合;基于每个搜索条件对应的第一对象集合和每个搜索条件对应的权重值,确定向所述第一用户推送的目标对象。在一种可能的实现方式中,所述搜索条件包括至少一个关键词;针对任意一个搜索条件,基于所述搜索条件在所述第一预设数据库中进行对象搜索,得到所述搜索条件对应的第一对象集合,包括:分别基于所述搜索条件中的每个关键词在所述第一预设数据库中进行对象搜索,得到每个关键词对应的第二对象集合;将每个关键词对应的第二对象集合中的对象取交集,得到所述第一对象集合。在一种可能的实现方式中,基于每个搜索条件对应的第一对象集合和每个搜索条件对应的权重值,确定向所述第一用户推送的目标对象,包括:基于每个搜索条件对应的权重值,对每个搜索条件对应的第一对象集合进行合并处理,得到第三对象集合,所述第三对象集合中任意两个对象均不相同;根据所述第三对象集合确定向所述第一用户推送的目标对象,其中,所述目标对象为所述第三对象集合中的一个对象。在一种可能的实现方式中,基于每个搜索条件对应的权重值,对每个搜索条件对应的第一对象集合进行合并处理,得到第三对象集合,包括:基于每个搜索条件对应的权重值,获取搜索条件的比例信息,所述比例信息用于指示所述第三对象集合中每个搜索条件对应的第一对象集合中的对象在所述第三对象集合中的比例;根据所述比例信息对每个搜索条件对应的第一对象集合进行合并处理,得到所述第三对象集合。在一种可能的实现方式中,获取第一用户的历史搜索信息,包括:获取所述第一用户的用户标识;基于所述第一用户的用户标识,在第二预设数据库中获取所述第一用户的历史搜索信息,所述第二预设数据库中包括多个用户标识和每个用户标识对应的历史搜索信息。在一种可能的实现方式中,基于所述第一用户的用户标识,在第二预设数据库中获取所述第一用户的历史搜索信息之前,所述方法还包括:在获取到所述第一用户在预设平台的搜索行为之后,获取所述第一用户在所述预设平台输入的所述搜索行为对应的搜索条件;确定所述搜索条件对应的权重值;将所述搜索条件和所述搜索条件对应的权重值添加至所述第二预设数据库。在一种可能的实现方式中,所述第二预设数据库中还包括每个搜索条件对应的搜索时刻;所述方法还包括:根据所述搜索条件对应的搜索时刻和当前时刻,更新所述搜索条件对应的权重值。在一种可能的实现方式中,所述第一预设数据库中包括多个对象和每个对象对应的至少一个搜索条件,所述搜索条件中包括所述对象的一个或多个对象属性。第二方面,本公开实施例提供一种对象推送装置,包括:获取模块,用于获取第一用户的历史搜索信息,所述历史搜索信息中包括至少一个搜索条件和每个搜索条件对应的权重值;搜索模块,用于分别基于每个搜索条件在第一预设数据库中进行对象搜索,得到每个搜索条件对应的第一对象集合;推送模块,用于基于每个搜索条件对应的第一对象集合和每个搜索条件对应的权重值,确定向所述第一用户推送的目标对象。在一种可能的实现方式中,所述搜索条件包括至少一个关键词;所述搜索模块具体用于,针对任意一个搜索条件:分别基于所述搜索条件中的每个关键词在所述第一预设数据库中进行对象搜索,得到每个关键词对应的第二对象集合;将每个关键词对应的第二对象集合中的对象取交集,得到所述第一对象集合。在一种可能的实现方式中,所述推送模块具体用于:基于每个搜索条件对应的权重值,对每个搜索条件对应的第一对象集合进行合并处理,得到第三对象集合,所述第三对象集合中任意两个对象均不相同;根据所述第三对象集合确定向所述第一用户推送的目标对象,其中,所述目标对象为所述第三对象集合中的一个对象。在一种可能的实现方式中,所述推送模块具体用于:基于每个搜索条件对应的权重值,获取搜索条件的比例信息,所述比例信息用于指示所述第三对象集合中每个搜索条件对应的第一对象结合中的对象在所述第三对象集合中的比例;根据所述比例信息对每个搜索条件对应的第一对象集合进行合并处理,得到所述第三对象集合。在一种可能的实现方式中,所述获取模块具体用于:获取所述第一用户的用户标识;基于所述第一用户的用户标识,在第二预设数据库中获取所述第一用户的历史搜索信息,所述第二预设数据库中包括多个用户标识和每个用户标识对应的历史搜索信息。在一种可能的实现方式中,所述获取模块还用于:在获取到所述第一用户在预设平台的搜索行为之后,获取所述第一用户在所述预设平台输入的所述搜索行为对应的搜索条件;确定所述搜索条件对应的权重值;将所述搜索条件和所述搜索条件对应的权重值添加至所述第二预设数据库。在一种可能的实现方式中,所述第二预设数据库中还包括每个搜索条件对应的搜索时刻;所述获取模块还用于:根据所述搜索条件对应的搜索时刻和当前时刻,更新所述搜索条件对应的权重值。在一种可能的实现方式中,所述第一预设数据库中包括多个对象和每个对象对应的至少一个搜索条件,所述搜索条件中包括所述对象的一个或多个对象属性。第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的对象推送方法。第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的对象推送方法。本公开实施例提供的对象推送方法及装置,首先获取第一用户的历史搜索信息,历史搜索信息中包括至少一个搜索条件和每个搜索条件对应的权重值,搜索条件是根据第一用户在之前的搜索行为中为了获取自身感兴趣的对象而输入的条件,第一用户在之前可能有多次搜索行为,而每次搜索行为输入的搜索条件对应的权重值反映了用户对不同的搜索条件的感兴趣程度。然后,分别基于每个搜索条件在第一预设数据库中进行对象搜索,得到每个搜索条件对应的第一对象集合,最后基于每个搜索条件对应的第一对象集合和每个搜索条件对应的权重值,确定向第一用户推送的目标对象。本公开实施例的方案,通过第一用户的历史搜索行为来进行数据搜集,来得到向第一用户推送的目标对象,无需用户输入新的搜索条件即可获取用户感兴趣的对象,操作方便,且推送的目标对象是根据第一用户的历史搜索信息得到的,第一用户对目标对象的感兴趣的可能性较大,有利于提升用户粘性和用户留存。附图说明为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本公开实施例提供的对象推送方法的应用场景示意图;图2为本公开实施例提供的对象推送方法的流程示意图;图3为本公开又一实施例提供的对象推送方法的流程示意图;图4为本公开实施例提供的房源推送示意图;图5为本公开实施例提供的房源搜索示意图;图6为本公开实施例提供的房源倒排信息建立示意图;图7为本公开实施例提供的对象搜索示意图;图8为本公开实施例提供的房源信息合并处理示意图;图9为本公开实施例提供的推送目标对象的示意图;图10为本公开实施例提供的对象推送装置的结构示意图;图11为本公开实施例提供的电子设备的结构示意图。具体实施方式为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。图1为本公开实施例提供的对象推送方法的应用场景示意图,如图1所示,包括服务器11和终端设备12,服务器11和终端设备12之间通过无线网络连接。用户在终端设备12上输入搜索条件,来获取想要的对象信息。例如,用户在搜索房源时,输入搜索条件“北京市海淀区”,终端设备12上出现多个位于北京市海淀区的房源。用户可以在不同时段输入不同的搜索条件,服务器11在后台获取到用户的历史搜索行为后,根据用户输入的不同的搜索条件,确定一个目标对象,例如一个用户感兴趣的房源推荐给用户,终端设备12上将会出现该房源,该房源的获取是通过终端设备12主动向用户推送的,而无需用户输入搜索条件来获取。需要说明的是,图1所示的应用场景仅是一种示例,本公开实施例提供的对象推送方法还可以应用于更多其他场景中,例如除应用于房源推荐之外,还可以应用于广告推送、商品推送等等,执行操作步骤的装置可以如图1中示例的终端设备,也可以是其他可能的电子设备,本公开实施例不一一列举。下面,通过具体实施例对本公开所示的技术方案进行详细说明。需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。图2为本公开实施例提供的对象推送方法的流程示意图,如图2所示,包括:s21,获取第一用户的历史搜索信息,所述历史搜索信息中包括至少一个搜索条件和每个搜索条件对应的权重值。历史搜索信息为第一用户在之前的一次或多次搜索中的搜索信息,是在进行对象推送之前存在的搜索信息。不同的用户的历史搜索信息可能各不相同,根据不同的用户,推送的对象也可能各不相同。第一用户为不同的多个用户中的一个,推送的目标对象也是针对第一用户的推送。本公开实施例中,不同的用户可以用不同的id来进行区分。可以通过id来确定第一用户,并获取第一用户的历史搜索信息。其中,id例如可以为用户使用的终端设备的id,根据终端设备的id确定第一用户;id例如还可以为用户在后台注册的账号id,根据注册的账号id进行登录,从而确定第一用户。以房源信息推送为例,第一用户可以在一个房源app上进行注册并登录,然后在房源app上输入搜索信息,例如第一用户想要搜索北京市海淀区的房子,相应的搜索条件可以为“北京市-海淀区”。搜索后,该搜索条件以及对应的权重值共同会成为第一用户的历史搜索信息,历史搜索信息中包括至少一个搜索条件和每个搜索条件对应的权重值,搜索条件是第一用户在历史搜索中根据需要获取的对象而输入的,通过第一用户在历史搜索中输入的搜索条件,能够获取第一用户感兴趣的对象,从而根据第一用户感兴趣的对象进行对象推送。本公开实施例中,每个搜索条件都有对应的权重值,权重值反映了第一用户对根据一个搜索条件得到的相关对象的感兴趣程度。例如,第一用户在一个月前输入搜索条件“北京市-海淀区”,想要查找北京市海淀区的房子;在三天前输入搜索条件“北京市-朝阳区”,想要查找北京市朝阳区的房子。给上述两个搜索条件设置相应的权重值,例如,搜索条件“北京市-朝阳区”是第一用户在三天前搜索的,而搜索条件“北京市-海淀区”是第一用户在一个月前搜索的,因此可据此判断第一用户在近期对“北京市-朝阳区”房源信息的感兴趣程度要高于对“北京市-海淀区”房源信息,此时可以将搜索条件“北京市-朝阳区”设置较高的权重值,而将“北京市-海淀区”设置较低的权重值。s22,分别基于每个搜索条件在第一预设数据库中进行对象搜索,得到每个搜索条件对应的第一对象集合。得到一个或多个历史搜索信息的搜索条件后,基于每个搜索条件在第一预设数据库中进行对象搜索,本公开实施例中的第一预设数据库中包括多个对象,这多个对象是与第一用户想要获取的对象相关的对象,但是针对不同的用户,想要获取的对象各不相同,需要在第一预设数据库中的多个对象中进行过滤,来针对不同的用户选择更感兴趣的对象来推荐。例如,用户想要获取房源信息,第一预设数据库中包括不同地区、不同面积、不同户型、不同价位的很多房源。工作在北京的a先生想要获取北京的房源信息,则a先生可能在某个平台或app上搜索北京市的房源,从而被获取到a先生的历史搜索信息,其对应的搜索条件为“北京市”。根据该搜索条件在第一预设数据库中进行对象搜索,会搜索到北京市的房源信息,而将其他区域的房源信息过滤掉,多个北京市的房源信息构成了对应的第一对象集合。本公开实施例中,搜索条件可能有多个,每个搜索条件都有一个对应的第一对象集合,则多个搜索条件会得到多个对应的第一对象集合,每个对象结合里面包括一个或多个对象。s23,基于每个搜索条件对应的第一对象集合和每个搜索条件对应的权重值,确定向所述第一用户推送的目标对象。得到每个搜索条件对应的第一对象集合后,根据每个搜索条件对应的第一对象集合和每个搜索条件对应的权重值来确定向第一用户推送的目标对象。本公开实施例中,对象的推送是无需由用户输入关键字或搜索信息即可完成的,即,是主动向用户发起对象推送的。为了防止过多的打扰用户,推送的频率不能过高,因此在有限的推送次数内,需要找到第一用户最感兴趣的对象来进行推送。本公开实施例中,是根据搜索条件对应的权重值来进行确定的。例如,得到每个搜索条件对应的第一对象集合后,根据每个搜索条件对应的权重值对多个第一对象集合中的对象进行初步筛选,权重值高的搜索条件的第一对象集合中的对象被更多的保留下来,而权重值低的搜索条件的第一对象集合中的对象被更多的去除。最后保留下来的对象中,属于权重值高的搜索条件的第一对象集合中比属于权重值低的搜索条件的第一对象集合中要高。然后,在最后保留下来的对象中,确定一个为目标对象,作为向第一用户推送的目标对象。本公开实施例提供的对象推送方法,首先获取第一用户的历史搜索信息,历史搜索信息中包括至少一个搜索条件和每个搜索条件对应的权重值,搜索条件是根据第一用户在之前的搜索行为中为了获取自身感兴趣的对象而输入的条件,第一用户在之前可能有多次搜索行为,而每次搜索行为输入的搜索条件对应的权重值反映了用户对不同的搜索条件的感兴趣程度。然后,分别基于每个搜索条件在第一预设数据库中进行对象搜索,得到每个搜索条件对应的第一对象集合,最后基于每个搜索条件对应的第一对象集合和每个搜索条件对应的权重值,确定向第一用户推送的目标对象。本公开实施例的方案,通过第一用户的历史搜索行为来进行数据搜集,来得到向第一用户推送的目标对象,无需用户输入新的搜索条件即可获取用户感兴趣的对象,且推送的目标对象是根据第一用户的历史搜索信息得到的,第一用户对目标对象的感兴趣的可能性较大,有利于提升用户粘性和用户留存。在上述实施例的基础上,下面以具体的实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。图3为本公开又一实施例提供的对象推送方法的流程示意图,如图3所示,包括:s31,获取所述第一用户的用户标识。本公开实施例中是针对不同的用户进行的个性化的目标对象的推送,因此需要获取第一用户的用户标识,其中用户标识是用于区分不同的用户的,不同的用户的用户标识不同。例如,用户采用终端设备来获取对象时,每个终端设备都具有一个对应的设备id,根据设备id能确定唯一的终端设备。用户标识除了可以为设备id外,也可以为用户id,例如,用户在平台上进行注册,由平台为每个注册用户分配不同的用户id,根据用户id能唯一确定用户。同时,用户id和设备id也可以进行关联操作,在用户换了使用的终端设备后,根据用户id能够确定该用户,以及该用户正在使用的新的终端设备,从而可以将用户id和之前的设备id解绑,并将用户id和用户正在使用的新的终端设备的设备id进行关联,从而可以避免用户通过换终端设备而造成的信息丢失的问题。s32,基于所述第一用户的用户标识,在第二预设数据库中获取所述第一用户的历史搜索信息,所述第二预设数据库中包括多个用户标识和每个用户标识对应的历史搜索信息。第二预设数据库为根据多个用户标识和每个用户标识对应的历史搜索信息组成的数据库。在第二预设数据库中获取第一用户的历史搜索信息之前,首先需要获取第二预设数据库。本公开实施例中,在获取到第一用户在预设平台的搜索行为之后,获取第一用户在预设平台输入的搜索行为对应的搜索条件。然后确定搜索条件对应的权重值,最后将搜索条件和搜索条件对应的权重值添加至第二预设数据库。从而,第二预设数据库中包括了第一用户的历史搜索信息,可以根据第一用户的用户标识在第二预设数据库中提取到第一用户的历史搜索信息。以个性化房源推送为例,图4为本公开实施例提供的房源推送示意图,如图4所示,主要包括两个部分,分别是离线部分和在线部分。其中包括了用户搜索行为收集以及房源倒排信息建立。针对用户搜索行为的收集,用户在每次搜索的时候,服务端会记录用户此次的搜索条件。针对房源信息的搜集,可能的搜索条件包括城市、区域、价格范围、面积、户型等信息中的一项或者多项。然后,服务端记录用户搜索时输入的搜索条件,构成用户的搜索行为,并保存在以用户id作为主键的第二预设数据库中,并且给每次搜索行为一个根据时间信息的权重。图5为本公开实施例提供的房源搜索示意图,如图5所示,用户在近期想购买房产,因此多次的通过手机来进行房源信息的搜索。在15天前,通过客户端51上的一个房源app进行了第一次搜索,当时输入的搜索条件为“北京市-海淀区-70-90平”。在3天前,通过客户端51上的该房源app进行了第二次搜索,当时输入的搜索条件为“北京市-朝阳区-两室一厅”。服务端获取到用户的这两次搜索行为,并进行记录,保存在与该用户id相关的数据库中。同时,服务端在为用户推送对象之前,会为这两次搜索行为分配相应的权重值,其中服务端对于时间更早的搜索行为的权重值更低,对于时间更晚的搜索行为的权重值更高。例如3天前的搜索行为距离较近,为其分配权重值1,15天前的搜索行为距离较远,为其分配权重值0.5,并以此类推,随着时间距离越来越远,权重越来越小。权重信息表示了用户的兴趣程度,用于在线部分计算的时候控制每个搜索历史信息召回的数量。如上所述,第二预设数据库中除了包括搜索条件外,还包括每个搜索条件对应的搜索时刻,根据搜索条件对应的搜索时刻和当前时刻,能够更新搜索条件对应的权重值。例如,在图5的示例中,3天前的搜索条件的权重值为1,15天前的搜索条件的权重值为0.5。若再过一个月,当前时刻即过来一个月,则上述两次搜索条件对应的搜索时刻和当前时刻之间相差较大,此时应当适当降低这两个搜索条件对应的权重值,并加入距离当前时刻更相近的搜索行为且设置较高的权重值。s33,分别基于每个搜索条件在第一预设数据库中进行对象搜索,得到每个搜索条件对应的第一对象集合。所述第一预设数据库中包括多个对象和每个对象对应的至少一个搜索条件,所述搜索条件中包括所述对象的一个或多个对象属性。本公开实施例中,每个对象包括至少一个对象属性,用户可以通过输入搜索条件来找对象,其中,输入的搜索条件可以包括对象的一个或多个对象属性。当用户输入搜索条件后,可能会出现多个均包括该搜索条件的对象属性的对象。例如,针对对象为一套房子,其对象属性可以为房子的所处区域、房子的面积和房子的价格。若用户输入搜索条件,例如输入“北京市,70-90平”,该搜索条件中包括两个对象属性,分别为房子的所处区域和房子的面积,则服务端会根据输入的搜索条件,在第一预设数据库中寻找位于北京市的且面积在70-90平之间的房子,找寻到的房子即为该搜索条件对应的第一对象集合。在第一对象集合中,可能包括多个房子,这多个房子均位于北京市,面积均在70-90平的区间内,但是这多个房子的其他对象属性可能相同也可能不相同,例如多个房子的户型、价格等等。可以看到,对对象的搜索是基于输入的搜索条件和对象的对象属性来进行的,因此,在进行对象搜索之前,首先要对每个对象建立基本的对象属性信息。仍以房源信息推荐为例,在图4的示例中,离线部分除了包括用户搜索行为的收集外,还包括房源倒排信息的建立,下面将结合图6对该过程进行说明。以对象为房子、对象属性为房子的属性为例,图6为本公开实施例提供的房源倒排信息建立示意图,如图6所示,对于每个房子,可以得到房子的基本属性,包括但不限于城市、区域、价格、面积、户型等信息。本公开实施例中以每套房子的城市、区域、价格、面积和户型五个属性信息为例进行说明。对于房子的不同属性,可以以不同的字段进行保存和记录。例如,每套房子都处于一个城市中,所处的城市设置一个id,城市id为房子的一个属性,根据这个属性能够获知房子所在的城市。同样的,一个城市中包括多个区域,不同区域有不同的id,根据区域id能够获取房子所处的区域。在图6中示出了两个城市,分别是北京和南京,其中北京的id为1364,南京的id为1358。在北京的海淀区对应的区域id为34,在南京的玄武区对应的区域id为21,等等。除了包括城市id和区域id,还可以获知房子的价格、面积、户型等基本属性。一种可能的实施方式是,对于每套房源,根据其基本属性,将其保存在以以下字段作为key值的第一预设数据库中:城市id;城市id+区域id;城市id+f1(价格);城市id+f2(面积);城市id+f3(户型);其中,f1、f2、f3分别是关于价格、面积、户型的函数:f1(价格)=价格向下取整+100000;f2(面积)=面积向下取整+200000;f3(户型)=卧室数*1000+厅数*100+卫生间数*10+厨房数*1。例如,在图6中,有一套位于北京市海淀区的房子,其城市id为1364,区域id为34;该房子价格为93w,向下取整为90w,则价格函数f1=90+100000=100090;面积为89平,向下取整为80平,则面积函数f2=80+200000=200080;户型是三室两厅一厨一卫,户型函数f3=3*1000+2*100+1*10+1*1=3211。得到如图6所示的房子的属性信息,并将被保存在以下第一预设数据库中:1364(城市id);1364:34(城市id+区域id);1364:100090(城市id+f1(价格));1364:200080(城市id+f2(面积));1364:3211(城市id+f3(户型))。在图6中,还有一套位于南京市玄武区的房子,其城市id为1358,区域id为21;房子价格为103w,向下取整为100w,价格函数f1=100+100000=100100;面积为90平,则面积函数f2=90+200000=200090;户型是两室两厅,则户型函数f3=2*1000+2*100=2200。得到如图6所示的房子的属性信息,并将被保存在以下第一预设数据库中:1358(城市id);1358:21(城市id+区域id);1358:100100(城市id+f1(价格));1358:200090(城市id+f2(面积));1358:2200(城市id+f3(户型))。图6中示例了两个房子的基本属性信息,通过上述方式,建立第一预设数据库61,第一预设数据库61中包括多个对象和每个对象对应的至少一个搜索条件,所述搜索条件中包括所述对象的一个或多个对象属性。然后,可以对每个城市保存很多这样的对象信息,以备在线查询的时候使用。通过上述方式,为每个对象(即房子)建立了基本的属性信息,通过任意一个或多个属性信息,均能够找到相应的房子。在得到第一预设数据库后,需要根据第一用户的历史搜索信息中的搜索条件来确定对应的第一对象集合,即图4中的在线部分。本公开实施例中的在线部分主要是当请求到服务器,需要为某个用户根据其搜索历史信息召回房子的时候,根据该用户的id获取用户的搜索历史信息,根据搜索历史信息获取符合各个条件的房子,再将根据各个条件取回的房子做合并并过滤的的过程。首先是用户的历史搜索信息的收集,本公开实施例中,搜索条件包括至少一个关键词,关键词为对象的一个或多个对象属性。例如,针对房子而言,对象属性包括城市、区域、面积、价格等等,搜索条件可以为具体的城市、区域,想要的面积以及接受的价格等等。首先以用户的id为key,在第二预设数据库中获取用户的历史搜索信息,如图4所示,该用户搜索过南京的50-80平的房子,也搜索过南京玄武区100-120万的50-80平的房子,还搜索过南京市鼓楼区三室一厅的房子等等。然后是获取符合条件的房源。针对任意一个搜索条件,基于搜索条件进行对象搜索,得到搜索条件对应的第一对象集合的具体方式可以为:分别基于所述搜索条件中的每个关键词进行对象搜索,得到每个关键词对应的第二对象集合。然后,将每个关键词对应的第二对象集合中的对象取交集,得到第一对象集合。对于之前获得的每条历史搜索信息,取对应的城市id以及搜索条件,根据离线部分key值的构造方法去获取对应的value值。例如,搜索条件为{南京,50-80平},假设南京的城市id是122,在第二预设数据库中获取“122:200050”、“122:200060”、“122:200070”对应的房子,然后将这些房子合并到一起作为符合要求的房子。当有多个搜索条件的,需要将搜索条件拆分,然后将符合各个条件的房子取交集就可以拿到符合每个条件的房子。图7为本公开实施例提供的对象搜索示意图,如图7所示,服务端获取到用户的一次历史搜索信息,该历史搜索信息中的搜索条件为:南京,50-80平。表明用户希望找南京市面积在50-80平的房子。在图7中,根据该搜索条件搜索到了400套满足搜索条件的房子,组成第一对象集合71,第一对象集合71中例如包括房子1、房子2、房子3、房子4、房子5、房子6等等。s34,基于每个搜索条件对应的权重值,对每个搜索条件对应的第一对象集合进行合并处理,得到第三对象集合,所述第三对象集合中任意两个对象均不相同。具体的,基于每个搜索条件对应的权重值,获取搜索条件的比例信息,所述比例信息用于指示所述第三对象集合中每个搜索条件对应的第一对象结合中的对象在所述第三对象集合中的比例;然后,根据所述比例信息对每个搜索条件对应的第一对象集合进行合并处理,得到第三对象集合。每个搜索条件对应的权重值反映了用户对该搜索条件得到的对象的感兴趣程度,权重值越高则感兴趣程度越高,权重值越低则感兴趣程度越低。例如,将用户最近一次的搜索条件的权重值设置为a,在最近一次搜索条件之前的搜索条件的权重值设置为b,且a>b。根据每个搜索条件对应的权重值获取搜索条件的比例信息,例如,可直接设置比例信息为a:b。然后根据该比例信息对第一对象集合进行合并处理。由于比例信息中权重值高的搜索条件所占比例高,因此得到的第三对象集合中来自于权重值高的搜索条件搜索到的对象更多。通过设置根据搜索条件对应的权重值来进行合并过程,能够保证用户更感兴趣的对象在第三对象集合中所占的比例更高。以个性化房源推荐为例,该步骤即为图4中的在线部分对应的房源集合过滤过程,由于用户有多个历史搜索信息,所以需要在这一步符合每个搜索条件的房源做一次合并操作。利用之前保存的每次搜索条件的权重信息,根据权重大小合并每个搜索条件里的房子即可。图8为本公开实施例提供的房源信息合并处理示意图,如图8所示,搜集到第一用户有过两次历史搜索行为,一次搜索行为的时间为三天前,搜索条件为“南京,50-80平”,根据该搜索条件搜索到400套房子,得到第一次搜索行为的第一对象集合81。另一次搜索行为的时间为十五天前,搜索条件为“南京,玄武区,100-120w,50-80平”,根据该搜索条件搜索到100套房子,得到第二次搜索行为的第一对象集合82。根据两次搜索行为的发生时间,设置不同的权重值,其中第一次搜索行为的权重值为5,第二次搜索行为的权重值为1,根据这两个权重值得到比例信息为5:1,然后根据该比例信息对第一次搜索行为的第一对象集合81和第二次搜索行为的第一对象集合82进行过滤,得到第三对象集合83,在第三对象集合83中,包括400套第一房子84以及80套第二房子85,其中,400套第一房子84来自于第一次搜索行为的第一对象集合81,80套第二房子85来自于第二次搜索行为的第一对象集合82,且第一房子84和第二房子85的数量之比与比例信息5:1相同。s35,根据所述第三对象集合确定向所述第一用户推送的目标对象,其中,所述目标对象为所述第三对象集合中的一个对象。得到第三对象集合后,在第三对象集合中确定一个作为目标对象,其中,第三对象集合中确定目标对象的方式有多种,例如,可以在第三对象集合中随机选择一个作为目标对象;例如,可以将第三对象集合中的对象输入预设模型,根据预设模型的输出确定目标对象,其中,预设模型可以是根据用户的历史搜索信息训练得到的,等等。本公开实施例对目标对象的确定方式不作特别限定。图9为本公开实施例提供的推送目标对象的示意图,如图9所述,包括手机91和手机92,其中,手机91和手机92为同一个手机,不同的是,手机91为灭屏状态,手机92为亮屏状态。本公开实施例中,目标对象的推送是主动推送的。在手机91中,处于灭屏状态,根据上述方式确定了目标对象后,通过手机91进行推送,此时如手机92中所示,手机处于亮屏状态,且手机界面上出现了房源推送信息,房源推送信息中包括了目标对象的基本信息:北京市海淀区,70-90平,三室一厅房源。图9中的房源信息仅仅为目标对象的一种举例,并不构成对目标对象的限定。根据上述方式,无需用户输入搜索条件,即可获取感兴趣的目标对象。本公开实施例提供的对象推送方法,首先获取第一用户的历史搜索信息,历史搜索信息中包括至少一个搜索条件和每个搜索条件对应的权重值,搜索条件是根据第一用户在之前的搜索行为中为了获取自身感兴趣的对象而输入的条件,第一用户在之前可能有多次搜索行为,而每次搜索行为输入的搜索条件对应的权重值反映了用户对不同的搜索条件的感兴趣程度。然后,分别基于每个搜索条件在第一预设数据库中进行对象搜索,得到每个搜索条件对应的第一对象集合,最后基于每个搜索条件对应的第一对象集合和每个搜索条件对应的权重值,确定向第一用户推送的目标对象。本公开实施例的方案,通过第一用户的历史搜索行为来进行数据搜集,来得到向第一用户推送的目标对象,无需用户输入新的搜索条件即可获取用户感兴趣的对象,且推送的目标对象是根据第一用户的历史搜索信息得到的,第一用户对目标对象的感兴趣的可能性较大,有利于提升用户粘性和用户留存。图10为本公开实施例提供的对象推送装置的结构示意图,如图10所示,包括获取模块101、搜索模块102和推送模块103,其中:获取模块101用于获取第一用户的历史搜索信息,所述历史搜索信息中包括至少一个搜索条件和每个搜索条件对应的权重值;搜索模块102用于分别基于每个搜索条件在第一预设数据库中进行对象搜索,得到每个搜索条件对应的第一对象集合;推送模块103用于基于每个搜索条件对应的第一对象集合和每个搜索条件对应的权重值,确定向所述第一用户推送的目标对象。在一种可能的实现方式中,所述搜索条件包括至少一个关键词;所述搜索模块102具体用于,针对任意一个搜索条件:分别基于所述搜索条件中的每个关键词在所述第一预设数据库中进行对象搜索,得到每个关键词对应的第二对象集合;将每个关键词对应的第二对象集合中的对象取交集,得到所述第一对象集合。在一种可能的实现方式中,所述推送模块103具体用于:基于每个搜索条件对应的权重值,对每个搜索条件对应的第一对象集合进行合并处理,得到第三对象集合,所述第三对象集合中任意两个对象均不相同;根据所述第三对象集合确定向所述第一用户推送的目标对象,其中,所述目标对象为所述第三对象集合中的一个对象。在一种可能的实现方式中,所述推送模块103具体用于:基于每个搜索条件对应的权重值,获取搜索条件的比例信息,所述比例信息用于指示所述第三对象集合中每个搜索条件对应的第一对象集合中的对象在所述第三对象集合中的比例;根据所述比例信息对每个搜索条件对应的第一对象集合进行合并处理,得到所述第三对象集合。在一种可能的实现方式中,所述获取模块101具体用于:获取所述第一用户的用户标识;基于所述第一用户的用户标识,在第二预设数据库中获取所述第一用户的历史搜索信息,所述第二预设数据库中包括多个用户标识和每个用户标识对应的历史搜索信息。在一种可能的实现方式中,所述获取模块101还用于:在获取到所述第一用户在预设平台的搜索行为之后,获取所述第一用户在所述预设平台输入的所述搜索行为对应的搜索条件;确定所述搜索条件对应的权重值;将所述搜索条件和所述搜索条件对应的权重值添加至所述第二预设数据库。在一种可能的实现方式中,所述第二预设数据库中还包括每个搜索条件对应的搜索时刻;所述获取模块101还用于:根据所述搜索条件对应的搜索时刻和当前时刻,更新所述搜索条件对应的权重值。在一种可能的实现方式中,所述第一预设数据库中包括多个对象和每个对象对应的至少一个搜索条件,所述搜索条件中包括所述对象的一个或多个对象属性。本公开实施例提供的装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。图11为本公开实施例提供的电子设备的结构示意图,参考图11,其示出了适于用来实现本公开实施例的电子设备110的结构示意图,该电子设备110可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(personaldigitalassistant,简称pda)、平板电脑(portableandroiddevice,简称pad)、便携式多媒体播放器(portablemediaplayer,简称pmp)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。如图11所示,电子设备110可以包括处理装置(例如中央处理器、图形处理器等)111,其可以根据存储在只读存储器(readonlymemory,简称rom)112中的程序或者从存储装置118加载到随机访问存储器(randomaccessmemory,简称ram)113中的程序而执行各种适当的动作和处理。在ram113中,还存储有电子设备110操作所需的各种程序和数据。处理装置111、rom112以及ram113通过总线114彼此相连。输入/输出(i/o)接口115也连接至总线114。通常,以下装置可以连接至i/o接口115:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置116;包括例如液晶显示器(liquidcrystaldisplay,简称lcd)、扬声器、振动器等的输出装置117;包括例如磁带、硬盘等的存储装置118;以及通信装置119。通信装置119可以允许电子设备110与其他设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的电子设备110,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置119从网络上被下载和安装,或者从存储装置118被安装,或者从rom112被安装。在该计算机程序被处理装置111执行时,执行本公开实施例的对象推送方法中限定的上述功能。需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork,简称lan)或广域网(wideareanetwork,简称wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。最后应说明的是:以上各实施例仅用以说明本公开实施例的技术方案,而非对其限制;尽管参照前述各实施例对本公开实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开实施例方案的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1