本发明涉及数据处理
技术领域:
:,尤其涉及一种消息推送方法、装置、电子设备及计算机可读存储介质。
背景技术:
::消息推送中除了要解决推送什么内容之外,还有一个很重要的问题就是解决推送时机的问题。目前,消息推送方式主要采用通投或定投,而通投和定投通常都是选择统一的推送时机,因此,现有技术中存在消息推送的灵活性较差的问题。技术实现要素:本发明实施例提供一种消息推送方法、装置、电子设备及计算机可读存储介质,以解决现有技术中存在推送消息的灵活性较差的问题。第一方面,本发明实施例提供了一种消息推送方法,所述方法包括:获取待推送用户的账户信息;基于预先训练的推送时机模型,确定当前时机是否为所述账户信息对应的目标推送时机;其中,所述推送时机模型为基于所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志进行训练获得的模型,所述目标推送时机为所述待推送用户针对所述历史推送日志的历史点击概率大于预设阈值的推送时机;在存在所述账户信息对应的待推送消息的情况下,若当前时机为所述目标推送时机,则向所述待推送用户推送所述待推送消息。第二方面,本发明实施例还提供一种消息推送装置,所述装置包括:获取待推送用户的账户信息;基于预先训练的推送时机模型,确定当前时机是否为所述账户信息对应的目标推送时机;其中,所述推送时机模型为基于所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志进行训练获得的模型,所述目标推送时机为所述待推送用户针对所述历史推送日志的历史点击概率大于预设阈值的推送时机;在存在所述账户信息对应的待推送消息的情况下,若当前时机为所述目标推送时机,则向所述待推送用户推送所述待推送消息。第三方面,本发明实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述消息推送方法的步骤。第四方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现上述消息推送方法的步骤。本发明实施例中,通过基于待推送用户的历史推送日志和针对所述历史推送日志的点击日志进行训练获得的推送时机模型,来确定当前时机是否为所述账户信息对应的目标推送时机,所述目标推送时机为所述待推送用户针对所述历史推送日志的历史点击概率大于预设阈值的推送时机。在存在所述账户信息对应的待推送消息的情况下,若当前时机为所述目标推送时机,则向所述待推送用户推送所述待推送消息。也就是说,本发明实施例可以通过预先训练的推送时机模型,来确定当前时机是否为所述待推送用户针对历史推送日志的历史点击概率高的推送时机,若是,则向所述待推送用户推送所述待推送消息。相比于通投或定投,在推送消息时能够针对每个待推送用户的账户信息,为每个待推送用户决定个性化的推送时机,从而可以提高消息推送的灵活性。并且,针对每个待推送用户,在所述待推送用户针对历史推送日志的历史点击概率高的推送时机进行消息推送,可以提高推送消息的点击率,从而可以提高推送消息的利用率和价值。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例提供的消息推送方法的流程图;图2是本发明实施例提供的消息推送装置的结构图之一;图3是本发明实施例提供的消息推送装置中第一确定模块的细化结构图;图4是本发明实施例提供的消息推送装置的结构图之二;图5是本发明实施例提供的消息推送装置的结构图之三;图6是本发明实施例提供的消息推送装置的结构图之四;图7是本发明实施提供的电子设备的结构图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。首先,对本发明实施例提供的消息推送方法进行说明。需要说明的是,本发明实施例提供的消息推送方法可以应用于电子设备,所述电子设备可以为服务器,用于基于预先训练的推送时机模型,确定当前时机是否为待推送用户的账户信息对应的目标推送时机,以在所述目标推送时机即所述待推送用户针对所述历史推送日志的历史点击概率高的推送时机,来进行所述待推送用户的消息推送,从而达到提高消息推送灵活性的目的。以下实施例中,所述电子设备将以服务器为例进行详细说明。参见图1,图1是本发明实施例提供的消息推送方法的流程图,如图1所示,包括以下步骤:步骤101,获取待推送用户的账户信息;步骤102,基于预先训练的推送时机模型,确定当前时机是否为所述账户信息对应的目标推送时机;其中,所述推送时机模型为基于所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志进行训练获得的模型,所述目标推送时机为所述待推送用户针对所述历史推送日志的历史点击概率大于预设阈值的推送时机;步骤103,在存在所述账户信息对应的待推送消息的情况下,若当前时机为所述目标推送时机,则向所述待推送用户推送所述待推送消息。在步骤101中,所述待推送用户可以理解为某用户在终端设备的app上注册登录时所使用的账户名称,而所述账户信息可以理解为所述待推送用户的账户id。其中,所述终端设备可以为手机、平板电脑(tabletpersonalcomputer)、膝上型电脑(laptopcomputer)、个人数字助理(personaldigitalassistant,简称pda)、移动上网装置(mobileinternetdevice,mid)或可穿戴式设备(wearabledevice)等。终端设备可以在注册登录时将待推送用户的账户信息上报给服务器,相应的,服务器即可以获取待推送用户的账户信息。在步骤102中,所述推送时机模型可以与所述待推送用户的账户信息对应,电子设备可以将待推送用户的账户信息与其推送时机模型进行关联存储。相应的,电子设备在对所述待推送用户进行消息推送时,可以获取与所述账户信息对应的推送时机模型,然后,基于该推送时机模型,确定当前时机是否为目标推送时机。获取待推送用户的账户信息之前,可以基于所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志进行训练,获得两种不同的推送时机模型。在模型训练时,可以以所述待推送用户的历史推送日志、针对所述历史推送日志的点击日志、训练时的当前时机以及当前时机是否为目标推送时机的判断结果作为模型训练样本,对第一预设模型进行训练,获得第一种推送时机模型。具体的,可以以所述待推送用户的历史推送日志、针对所述历史推送日志的点击日志和训练时的当前时机作为输入,以当前时机是否为目标推送时机的判断结果作为输出,对第一预设模型进行训练,获得第一种推送时机模型。在模型应用时,所述推送时机模型可以以当前时机作为输入,相应输出所述当前时机是否为所述账户信息对应的目标推送时机。在模型训练时,也可以基于所述待推送用户的历史推送日志、针对所述历史推送日志的点击日志、基于所述历史推送日志和点击日志计算获得的推送时机集合作为模型训练样本,对第二预设模型进行训练,获得第二种推送时机模型。具体的,可以以所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志作为输入,以基于所述历史推送日志和点击日志计算获得的推送时机集合作为输出,对第二预设模型进行训练,获得第二种推送时机模型。在模型应用时,电子设备可以实时或周期调用该推送时机模型相应输出所述账户信息匹配的推送时机集合。所述推送时机集合中包括至少一个推送时机,电子设备可以在所述至少一个推送时机中的任一推送时机向待推送用户进行消息的推送。即电子设备会确定当前时机是否为所述至少一个推送时机中的任一推送时机,在确定当前时机为所述至少一个推送时机中任一推送时机的情况下,向待推送用户进行消息的推送。所述目标推送时机为所述待推送用户针对所述历史推送日志的历史点击概率大于预设阈值的推送时机,所述预设阈值可以根据实际情况进行设置,比如,所述预设阈值可以根据电子设备向待推送用户进行推送的消息数量上限进行设置。比如,电子设备在一天内向待推送用户仅推送一条消息,则预设阈值应该设置的比较大,以在所述待推送用户针对所述历史推送日志的最高历史点击概率的时机将该条消息进行推送。又比如,电子设备在一天内可以向待推送用户推送6条消息,则预设阈值可以设置的比仅推送一条消息时的阈值相对小一点,保证在一天内可以以相对高的历史点击概率确定多个不同时机,并在这些时机将这6条消息分别进行推送。需要说明的是,电子设备可以周期对所述账户信息对应的推送时机模型进行更新,比如,电子设备可以间隔1个月或半年对所述账户信息对应的推送时机模型进行更新。如此,使推送时机模型更加符合待推送用户最近时间内对推送消息的点击特征,提高推送消息的点击率。在步骤103中,在存在所述账户信息对应的待推送消息的情况下,若当前时机为所述目标推送时机,则向所述待推送用户推送所述待推送消息。也就是说,若推送时机模型的输出结果为是,则当前时机为所述目标推送时机,相应的,在当前时机向所述待推送用户推送所述待推送消息。本实施例中,通过基于待推送用户的历史推送日志和针对所述历史推送日志的点击日志进行训练获得的推送时机模型,来确定当前时机是否为所述账户信息对应的目标推送时机,所述目标推送时机为所述待推送用户针对所述历史推送日志的历史点击概率大于预设阈值的推送时机。在存在所述账户信息对应的待推送消息的情况下,若当前时机为所述目标推送时机,则向所述待推送用户推送所述待推送消息。也就是说,本实施例可以通过预先训练的推送时机模型,来确定当前时机是否为所述待推送用户针对历史推送日志的历史点击概率高的推送时机,若是,则向所述待推送用户推送所述待推送消息。相比于通投或定投,在推送消息时能够针对每个待推送用户的账户信息,为每个待推送用户决定个性化的推送时机,从而可以提高消息推送的灵活性。并且,针对每个待推送用户,在所述待推送用户针对历史推送日志的历史点击概率高的推送时机进行消息推送,可以提高推送消息的点击率,从而可以提高推送消息的利用率和价值。可选的,基于实施例一,所述步骤102具体包括:基于预先训练的推送时机模型,确定所述账户信息所匹配的推送时机集合;其中,所述推送时机集合包括n个推送时机,所述n个推送时机为所述待推送用户的候选时机集合中,按照各候选时机对应的历史点击概率从高到低排列的前n个候选时机,所述历史点击概率为所述待推送用户针对历史推送日志的点击概率,所述n为大于或等于1的正整数;确定当前时机是否为所述账户信息对应的目标推送时机;其中,所述目标推送时间为所述n个推送时机中任一推送时机。本实施例中,所述推送时机模型为上述实施例所述的第二种推送时机模型,可以基于推送时机模型,确定所述账户信息所匹配的推送时机集合,所述推送时机模型可以预先训练,以下实施例将对其进行详细说明。另外,所述推送时机模型可以为贝叶斯分类器f,如下式(1)所示:t0=argmaxf(u,t)(1)具体的,在获取所述待推送用户的账户信息之后,可以获取所述账户信息对应的推送时机模型,并在当前时机调用所述推送时机模型,输出所述账户信息所匹配的推送时机集合。所述推送时机集合可以包括至少一个推送时机,且推送时机的个数可以根据实际情况进行设置。具体的,可以通过设定待推送用户每天可接收的推送消息的上限个数,并基于该上限个数,确定所述账户信息所匹配的推送时机集合中推送时机的个数。比如,设定待推送用户每天可接收的推送消息的上限个数为6,则可以基于所述推送时机模型,选择所述待推送用户的候选时机集合中,按照各候选时机对应的历史点击概率从高到低排列的前6个候选时机,作为推送时机。需要说明的是,所述候选时机集合中候选时机和所述推送时机集合中推送时机可以理解为一个时间段的概念,比如,将上午7点至上午8点之间的时间段定义为一候选时机,而该候选时机对应的历史点击概率从高到低排列在前6,则可以将该候选时机作为一推送时机。另外,针对每个待推送用户,所述候选时机集合可以不同,也可以相同,这里不做具体限制。进一步的,待推送用户的候选时机集合可以基于待推送用户的历史使用时间日志确定,具体的,通过统计待推送用户近半年使用app的日志,分析得到待推送用户使用app的时间通常是在上午7点至下午11点,基于推送消息不打扰用户的原则,因此该待推送用户的候选时机集合可以为从上午7点至下午11点之间的每个小时的时间段的集合,其中,从上午7点至下午11点之间的每个小时的时间段即为该待推送用户的候选时机集合中的候选时机。也就是说,从上午7点至下午11点之间的每个小时的时间段的集合中总共包括16个小时的时间段,即包括16个候选时机。服务器还可以结合日期属性,如工作日和假日两种日期属性,基于待推送用户近半年使用app的日志,分析得到在当前时机对应的日期属性下所述待推送用户的候选时机集合,进而基于所述待推送用户的候选时机集合,得到在当前时机对应的日期属性下所述账户信息所匹配的推送时机集合。比如,在当前日期属性为工作日的情况下,统计待推送用户近半年在工作日使用app的日志,得到工作日下所述待推送用户的候选时机集合,进而基于工作日下所述待推送用户的候选时机集合,得到工作日下所述账户信息所匹配的推送时机集合。在确定所述账户信息所匹配的推送时机集合之后,确定当前时机是否为所述n个推送时机中任一推送时机。并在当前时机为所述n个推送时机中任一推送时机时,向所述待推送用户推送所述待推送消息。其中,当前时机可以理解为一个时刻的概念,即终端设备上系统当前时间,比如,当前时机可以为上午7:30。当然,若服务器结合日期属性分析待推送用户的候选时机集合,当前时机还可以结合日期属性,比如,当前时机可以为星期一(工作日)上午7:30。举个例子来说,当前时机为上午7:30,所述n个推送时机分别为上午7:00至上午8:00的时间段,上午8:00至上午9:00的时间段,下午3:00至下午4:00的时间段等。此时,当前时机处于所述n个推送时机中上午7:00至上午8:00的时间段,则可以向所述待推送用户推送所述待推送消息。本实施例中,基于预先训练的推送时机模型,在待推送用户的候选时机集合中选择所述待推送用户的账户信息所匹配的推送时机集合,也就是说,在待推送用户的候选时机集合中,选择所述待推送用户针对历史推送日志的点击概率高的候选时机作为推送时机;并按照选择的推送时机向所述待推送用户推送对应的待推送消息。相比于通投或定投,在推送消息时能够针对每个待推送用户的账户信息,为每个待推送用户决定个性化的推送时机,从而可以提高消息推送的灵活性。并且,针对每个待推送用户,按照所述待推送用户针对历史推送日志的点击概率从高至低的排列,选择历史点击概率高的候选时机作为推送时机,从而可以提高推送消息的点击率,进而提高推送消息的利用率和价值。并且,通过确定当前时机是否处于所述待推送用户的推送时机,在当前时机处于所述待推送用户的推送时机的情况下,向待推送用户推送所述待推送消息。这样,不仅能够减少对待推送用户的打扰,同时,还可以提高推送消息的点击率,从而提高推送消息的利用率和价值。同时,在待推送用户的账户信息所匹配的推送时机向所述待推送用户进行消息推送,也可以降低对所述待推送用户的打扰。并且,相比于通投和定投,还可以避免将流量完全集中在一个推送时机,从而还可以降低整体的系统负载压力。可选的,所述确定当前时机是否为所述账户信息对应的目标推送时机之后,所述方法还包括:在存在所述账户信息对应的待推送消息的情况下,若当前时机不处于所述n个推送时机中任一推送时机,且在所述n个推送时机中还存在所述当前时机之后的推送时机,则在所述n个推送时机中所述当前时机之后的推送时机向所述待推送用户推送所述待推送消息。在服务器基于推送策略生成新的推送消息作为所述待推送用户的待推送消息,且当前时机处于所述n个推送时机中的任一推送时机的情况下,向所述待推送用户推送所述待推送消息。否则,不向所述待推送用户进行消息推送或者将该待推送消息延迟至所述n个推送时机中所述当前时机之后的推送时机进行推送。或者,若当前时机不处于所述n个推送时机中任一推送时机,且在所述n个推送时机中不存在所述当前时机之后的推送时机,则可以过滤所述待推送消息,即不推送所述待推送消息。举个例子来说,当前时机为下午2:30,所述n个推送时机分别为上午7:00至上午8:00的时间段,上午8:00至上午9:00的时间段,下午3:00至下午4:00的时间段等。此时,当前时机不处于所述n个推送时机中任一推送时机,且在当前时机之后,还存在下午3:00至下午4:00的时间段,则将待推送消息延迟至下午3:00至下午4:00的时间段进行推送给所述待推送用户。本实施例中,通过确定当前时机是否处于所述待推送用户的推送时机,在当前时机不处于所述待推送用户的推送时机的情况下,将所述待推送消息延迟推送或不推送给待推送用户。这样,能够减少对待推送用户的打扰。可选的,在进行消息推送之前,还需要训练生成推送时机模型,所述步骤101之前,所述方法还包括:获取所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志;针对每个所述候选时机,将所述点击日志中所述候选时机的点击记录数量除以所述历史推送日志中所述候选时机的历史推送记录数量,获得所述候选时机对应的历史点击概率;获取模型训练样本;其中,所述模型训练样本为按照所述各候选时机对应的历史点击概率从高到低排列的前m个候选时机、所述前m个候选时机的历史推送日志和所述前m个候选时机的点击日志;基于所述模型训练样本对预设模型进行训练,生成所述推送时机模型;其中,所述m大于或等于n。所述历史推送日志可以包括多条历史推送记录,每条历史推送记录可以为所述待推送用户近半年的推送记录。所述点击日志也可以包括所述待推送用户近半年针对历史推送日志的点击记录,所述点击记录可由终端设备上报给服务器,相应的,服务器即可以接收终端设备发送的点击记录。针对每个所述候选时机,将所述点击日志中所述候选时机的点击记录数量除以所述历史推送日志中所述候选时机的历史推送记录数量,获得所述候选时机对应的历史点击概率。比如,在一候选时机,历史推送日志包括100条历史推送记录,而针对所述历史推送日志的点击日志包括50条点击记录,则在该候选时机,其对应的历史点击概率为50/100,即50%。对各候选时机对应的历史点击概率从高至低进行排序,并选择前m个候选时机、所述前m个候选时机的历史推送日志和所述前m个候选时机的点击日志作为模型训练样本,对第二预设模型进行训练,最终得到推送时机模型。具体的,以所述前m个候选时机的历史推送日志和所述前m个候选时机的点击日志作为训练输入样本,将前m个候选时机作为训练输出样本,对第二预设模型进行训练,最终得到推送时机模型。得到推送时机模型之后,通过ab测试验证并校正所述推送时机模型参数。具体的,基于推送时机模型确定的推送时机集合对待推送用户进行消息推送,获取第一测试样本;其中,第一测试样本包括待推送用户在一段时间内的第一推送日志和针对所述第一推送日志的第一点击日志。同时,基于定投方式对待推送用户进行消息推送,获取第二测试样本;其中,第二测试样本包括待推送用户在相同时间内的第二推送日志和针对所述第二推送日志的第二点击日志。基于第一测试样本计算各推送时机的第一点击概率,基于第二测试样本计算各推送时机的第二点击概率,比较各推送时机的第一点击概率和第二点击概率,获得比较结果,基于比较结果,验证并校正所述推送时机模型参数。比如,若比较结果表明在一推送时机,第一点击概率小于第二点击概率,此时,可以调整所述推送时机模型参数,以使第一点击概率大于第二点击概率。可选的,所述获取待推送用户的账户信息之前,所述方法还包括:获取所述待推送用户的历史使用时间日志;基于所述待推送用户的历史使用时间日志,确定所述待推送用户的候选时机集合。其中,所述历史使用时间日志可以包括所述待推送用户针对app的历史使用时间记录。如此,充分考虑了用户的使用情景,为待推送用户决定个性化的推送时机,从而可以进一步提高消息推送的灵活性。为了更好的理解整个过程,以下将详细介绍本发明实施例中消息推送方法的整个流程,如下:首先,获取待推送用户的历史使用时间日志、历史推送日志和针对所述历史推送日志的点击日志;然后,基于所述待推送用户的历史使用时间日志,确定所述待推送用户的候选时机集合;接着,基于所述历史推送日志和点击日志,计算所述各候选时机对应的历史点击概率;接着,对所述各候选时机对应的历史点击概率从高到低进行排列;接着,选择前m个候选时机,与所述前m个候选时机的历史推送日志和所述前m个候选时机的点击日志一起作为模型训练样本,对预设模型进行训练,生成推送时机模型;接着,通过ab测试验证并校正所述推送时机模型参数;接着,获取待推送用户的账户信息;接着,基于推送时机模型,确定所述账户信息所匹配的推送时机集合;其中,所述推送时机集合包括n个推送时机,所述n个推送时机为所述待推送用户的候选时机集合中,按照各候选时机对应的历史点击概率从高到低排列的前n个候选时机,所述历史点击概率为所述待推送用户针对历史推送日志的点击概率,所述n为大于或等于1的正整数;最后,在存在所述待推送消息的情况下,若当前时机处于所述n个推送时机中第一推送时机,则向所述待推送用户推送所述待推送消息;其中,所述第一推送时机为所述n个推送时机中的任一推送时机;在存在所述待推送消息的情况下,若当前时机不处于所述n个推送时机中任一推送时机,且在所述n个推送时机中还存在所述当前时机之后的第二推送时机,则在所述第二推送时机向所述待推送用户推送所述待推送消息。参见图2,图2是本发明实施例提供的消息推送装置的结构图之一,能实现上述消息推送方法的细节,并达到相同的效果。如图2所示,消息推送装置200包括:第一获取模块201,用于获取待推送用户的账户信息;第一确定模块202,用于基于预先训练的推送时机模型,确定当前时机是否为所述账户信息对应的目标推送时机;其中,所述推送时机模型为基于所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志进行训练获得的模型,所述目标推送时机为所述待推送用户针对所述历史推送日志的历史点击概率大于预设阈值的推送时机;第一推送模块203,用于在存在所述账户信息对应的待推送消息的情况下,若当前时机为所述目标推送时机,则向所述待推送用户推送所述待推送消息。可选的,图3是本发明实施例提供的消息推送装置中第一确定模块的细化结构图,参见图3,第一确定模块202包括:第一确定单元2021,用于基于预先训练的推送时机模型,确定所述账户信息所匹配的推送时机集合;其中,所述推送时机集合包括n个推送时机,所述n个推送时机为所述待推送用户的候选时机集合中,按照各候选时机对应的历史点击概率从高到低排列的前n个候选时机,所述历史点击概率为所述待推送用户针对历史推送日志的点击概率,所述n为大于或等于1的正整数;第二确定单元2022,用于确定当前时机是否为所述账户信息对应的目标推送时机;其中,所述目标推送时间为所述n个推送时机中任一推送时机。可选的,参见图4,图4是本发明实施例提供的消息推送装置的结构图之二,基于图2所示的装置实施例,消息推送装置200还包括:第二推送模块204,用于在存在所述账户信息对应的待推送消息的情况下,若当前时机不处于所述n个推送时机中任一推送时机,且在所述n个推送时机中还存在所述当前时机之后的推送时机,则在所述n个推送时机中所述当前时机之后的推送时机向所述待推送用户推送所述待推送消息。可选的,参见图5,图5是本发明实施例提供的消息推送装置的结构图之三,如图5所示,消息推送装置200还包括:第二获取模块205,用于获取所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志;计算模块206,用于针对每个所述候选时机,将所述点击日志中所述候选时机的点击记录数量除以所述历史推送日志中所述候选时机的历史推送记录数量,获得所述候选时机对应的历史点击概率;第三获取模块207,用于获取模型训练样本;其中,所述模型训练样本包括按照所述各候选时机对应的历史点击概率从高到低排列的前m个候选时机、所述前m个候选时机的历史推送日志和所述前m个候选时机的点击日志;训练模块208,用于基于所述模型训练样本对预设模型进行训练,生成所述推送时机模型;其中,所述m大于或等于n。可选的,参见图6,图6是本发明实施例提供的消息推送装置的结构图之四,如图6所示,消息推送装置200还包括::第四获取模块209,用于获取所述待推送用户的历史使用时间日志;第二确定模块210,用于基于所述待推送用户的历史使用时间日志,确定所述待推送用户的候选时机集合。上述消息推送装置200能实现上述消息推送方法实施例中电子设备实现的各个过程,并能达到相同的技术效果,为避免重复,这里不再赘述。参见图7,图7是本发明实施提供的电子设备的结构图,如图7所示的电子设备包括:处理器701、存储器702及存储在所述存储器702上并可在所述处理器上运行的计算机程序,电子设备中的各个组件通过总线接口703耦合在一起,所述计算机程序被所述处理器701执行时实现如下步骤:获取待推送用户的账户信息;基于预先训练的推送时机模型,确定当前时机是否为所述账户信息对应的目标推送时机;其中,所述推送时机模型为基于所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志进行训练获得的模型,所述目标推送时机为所述待推送用户针对所述历史推送日志的历史点击概率大于预设阈值的推送时机;在存在所述账户信息对应的待推送消息的情况下,若当前时机为所述目标推送时机,则向所述待推送用户推送所述待推送消息。可选的,所述处理器701,具体用于:基于预先训练的推送时机模型,确定所述账户信息所匹配的推送时机集合;其中,所述推送时机集合包括n个推送时机,所述n个推送时机为所述待推送用户的候选时机集合中,按照各候选时机对应的历史点击概率从高到低排列的前n个候选时机,所述历史点击概率为所述待推送用户针对历史推送日志的点击概率,所述n为大于或等于1的正整数;确定当前时机是否为所述账户信息对应的目标推送时机;其中,所述目标推送时间为所述n个推送时机中任一推送时机。可选的,所述处理器701,还用于:在存在所述账户信息对应的待推送消息的情况下,若当前时机不处于所述n个推送时机中任一推送时机,且在所述n个推送时机中还存在所述当前时机之后的推送时机,则在所述n个推送时机中所述当前时机之后的推送时机向所述待推送用户推送所述待推送消息。可选的,所述处理器701,还用于:获取所述待推送用户的历史推送日志和针对所述历史推送日志的点击日志;针对每个所述候选时机,将所述点击日志中所述候选时机的点击记录数量除以所述历史推送日志中所述候选时机的历史推送记录数量,获得所述候选时机对应的历史点击概率;获取模型训练样本;其中,所述模型训练样本包括按照所述各候选时机对应的历史点击概率从高到低排列的前m个候选时机、所述前m个候选时机的历史推送日志和所述前m个候选时机的点击日志;基于所述模型训练样本对预设模型进行训练,生成所述推送时机模型;其中,所述m大于或等于n。可选的,所述处理器701,还用于:获取所述待推送用户的历史使用时间日志;基于所述待推送用户的历史使用时间日志,确定所述待推送用户的候选时机集合。优选的,本发明实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述任一方法实施例的消息推送方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述消息推送方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域:
:的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12当前第1页12