一种消息推送方法、装置、服务器和计算机可读存储介质与流程

文档序号:14940935发布日期:2018-07-13 20:45阅读:114来源:国知局

本申请涉及计算机技术领域,具体地,涉及数据挖掘技术领域,更具体地,涉及一种消息推送方法、装置、服务器和计算机可读存储介质。



背景技术:

随着移动互联网技术的高速发展,互联网数据信息进入爆炸时代。在用户使用互联网的过程中,无可避免的接收到一些被推送的无用的消息,这不仅使得用户对网站或者用户端软件的使用体验较差,还使得用户需要花费较多时间在众多消息中搜索所需要的信息。大量推送用户认为无用的信息可能导致用户的流失。因此,从海量的数据信息中精确预测用户的需求是至关重要的。

目前,采用基于rss(简易信息聚合,reallysimplesyndication)/atomd的信息聚合服务模式,对网络中的数据进行聚合以挖掘用户可能需要的消息。但是由于rss获取的信息主体分散度高,相关度低,前后数据关联性不强。因此,采用基于rss的信息聚合服务模式获取信息的速度不能满足用户的需求。



技术实现要素:

有鉴于此,本申请公开了一种消息推送方法、装置、服务器和计算机可读存储介质,以提高数据处理的效率和准确度,将用户所需要的消息准确快速地推送给用户端。

根据本申请的第一方面,提供一种消息推送方法,包括:

根据第一训练模型对采集数据进行聚类以获取聚类后的数据;

根据第二训练模型对特定用户的行为进行模拟以从所述聚类后的数据中获取所述特定用户的关联数据;

根据所述特定用户的关联数据获取待推送消息;

向所述特定用户的用户端推送所述待推送消息。

根据本申请的第二方面,提供一种消息推送装置,包括:

数据聚类单元,被配置为根据第一训练模型对采集数据进行聚类以获取聚类后的数据;

数据获取单元,被配置为根据第二训练模型对特定用户的行为进行模拟以从所述聚类后的数据中获取所述特定用户的关联数据;

消息生成单元,被配置为根据所述特定用户的关联数据获取待推送消息;

消息推送单元,被配置为向所述特定用户的用户端推送所述待推送消息。

根据本申请的第三方面,提供一种服务器,包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述方法的步骤。

根据本申请的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行以实现上述方法的步骤。

本申请实施例通过采用第一训练模型进行数据聚类提高了数据分类操作的效率和准确度,并且通过第二训练模型预测用户行为,从而可以准确获得将用户所需要的消息,进而准确快速地推送给用户端,提高了消息推送的精确度。

附图说明

通过以下参照附图对本申请实施例的描述,本申请的上述以及其它目的、特征和优点将更为清楚,在附图中:

图1是本申请实施例的消息推送方法的流程图;

图2是本申请实施例的获取第一训练模型的方法流程图;

图3是本申请实施例的获取第二训练模型的方法流程图;

图4是本申请实施例的消息推送装置的示意图;

图5是循环神经网络的示意图;

图6是本申请实施例的服务器的结构示意图。

具体实施方式

以下基于实施例对本申请进行描述,但是本申请并不仅仅限于这些实施例。在下文对本申请的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本申请。为了避免混淆本申请的实质,公知的方法、过程、流程、元件和电路并没有详细叙述。

此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。

除非上下文明确要求,否则整个说明书和权利要求书中的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。

在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。

图1是本申请实施例的消息推送方法的流程图。如图1所示,在步骤s100,根据第一训练模型对采集数据进行聚类以获取聚类后的数据。具体地,从海量的互联网数据中采样数据,通过第一训练模型将采集数据进行分类,并将每类数据聚合在一起。例如,根据第一训练模型将采集数据分为食品、礼物、休闲娱乐和药品等类别的数据。其中,第一训练模型是预先根据深度学习训练获得的聚类模型。第一训练模型能够将输入的采样数据进行分类,并将每类数据集合后分别输出。

在步骤s200,根据第二训练模型对特定用户的行为进行模拟以从聚类后的数据中获取特定用户的关联数据。其中,第二训练模型是预先根据深度学习训练获得的预测用户行为的模型。第二训练模型能够根据输入的特定用户行为数据预测该特定用户的行为。

具体地,采集该特定用户在互联网中的行为数据,采用第二训练模型根据该特定用户在互联网中的行为数据对该特定用户的行为进行模拟。然后从步骤s100中的聚类后的数据中获取与该特定用户的关联数据。

在步骤s300,根据该特定用户的关联数据获取待推送消息。具体地,从该特定用户的关联数据中筛选出可以被推送的消息作为待推送消息。例如,该特定用户的关联数据包括该特定用户喜欢吃a类的菜品,将具有a类菜品的商家的消息作为待推送消息。该特定用户的关联数据中还包括该特定用户不喜欢吃b类的菜品,则具有b类菜品的商家的消息不作为待推送消息。

在步骤s400,向特定用户的用户端推送待推送消息。

优选地,用户行为数据中包括用户行为的时间信息。本申请实施例的消息推送方法的步骤s200包括步骤s210,在步骤s210,根据第二训练模型预测特定用户在当前时间段的行为以从聚类后的数据中获取该特定用户的关联数据。

具体地,选择该特定用户在当前时间段在互联网中的行为数据,例如,当前时间段为“中午11:00-下午14:00”,也即采集该特定用户在之前一周(或一月等)内每天“中午11:00-下午14:00”的行为数据,采用第二训练模型根据该时间段(中午11:00-下午14:00)内的行为数据对该特定用户在该时间段的行为进行模拟,然后从聚类后的数据中获取该时间段内与该特定用户的关联数据。这实现了根据时间段来划分用户感兴趣的消息,使得向用户端推送的消息更加准确。例如,x用户早餐喜欢吃a类食品,午餐喜欢吃b类食品,则可实现在早上向x用户的用户端推送与a类食品相关的消息,在中午向x用户的用户端推送与b类食品相关的消息。避免了在早上向x用户的用户端推送与a类食品相关的消息和与b类食品相关的消息(b类食品在早上是不必要的消息)。这提高了推送消息的准确度。应理解,当前时间段可根据实际情况还可以为一个星期或者“春夏秋冬”一个季节等。

优选地,本申请实施例的消息推送方法的步骤s300包括步骤s310,在步骤s310,获取特定用户的用户端的位置信息,从该特定用户的关联数据中选择与该特定用户的用户端的位置信息对应的消息作为待推送消息。

具体地,获取特定用户的用户端的位置信息,假若该特定用户的用户端未打开位置信息,则获取该特定用户的默认收货地址等与位置信息相关的信息。从该特定用户的关联数据中筛选出可以被推送的消息(也即该特定用户感兴趣的消息),在这些可以被推送的消息中选择与该特定用户的用户端的位置信息相距不超过预定距离的消息(该消息中包括的位置信息与用户端的位置信息相距不超过预定距离)。也就是说,选择在该特定用户的预定距离范围内的该特定用户感兴趣的消息作为待推送消息。这可以提高推送消息的准确度。

进一步地,用户行为数据中包括用户行为的时间信息。通过获取该特定用户的用户端的位置信息,可以选择在该特定用户的预定距离范围内的该特定用户在当前时间段感兴趣的消息作为待推送消息。这提高了推送消息的准确度。

综上所述,本申请实施例根据第一训练模型对采集数据进行数据聚类;根据第二训练模型模拟特定用户的行为以从聚类后的数据中获取特定用户的关联数据;并根据特定用户的关联数据获取待推送消息以推送给该特定用户的用户端。所述方法通过采用训练模型进行数据处理提高了数据处理的效率和准确度,并且通过预测用户行为将用户所需要的消息准确快速地推送给用户端,提高了消息推送的准确度。

图2是本申请实施例的获取第一训练模型的方法流程图。本申请实施例中的消息推送方法还包括步骤s500。在步骤s500,通过对预先处理的第一样本数据进行深度学习训练以获取第一训练模型。

具体地,如图2所示,在步骤s510,采集第一样本数据。

在步骤s520,对第一样本数据进行预处理。具体地,将第一样本数据转换为可被预定的数学算法学习的样本数据。例如,当预定的数学算法为循环神经网络算法时,将每条输入数据转换为数据序列。

在步骤s530,根据预定的数学算法对预处理后的第一样本数据进行深度学习训练以获取第一训练模型。

其中,预定的数学算法为卷积神经网络算法或循环神经网络算法。

cnn(convolutionalneuralnetwork,卷积神经网络算法)是一种前馈神经网络,是深度学习的一种。它的人工神经元可以响应一部分覆盖范围内的周围单元,适于处理大数据。在典型的cnn中,开始几层通常是卷积层和下采样层的交替,在靠近输出层的最后几层网络通常是全连接网络。cnn的训练过程主要是学习卷积层的卷积核参数和层间连接权重等网络参数,预测过程主要是基于输入数据和网络参数计算类别标签。cnn降低了网络模型的复杂度,减少了权值的数量。

cnn的基本结构包括两层,其一为特征提取层,每个神经元的输入与前一层的局部接受域相连,并提取该局部的特征。一旦该局部特征被提取后,它与其它特征间的位置关系也随之确定下来。其二是特征映射层,网络的每个计算层由多个特征映射组成,每个特征映射是一个平面,平面上所有神经元的权值相等。特征映射结构采用影响函数核小的sigmoid函数作为卷积网络的激活函数,使得特征映射具有位移不变性。此外,由于一个映射面上的神经元共享权值,因而减少了网络自由参数的个数。卷积神经网络中的每一个卷积层都紧跟着一个用来求局部平均与二次提取的计算层,这种特有的两次特征提取结构减小了特征分辨率。

sigmoid函数是一个在生物学中常见的s型的函数,也称为s型生长曲线。在信息科学中,由于其单增以及反函数单增等性质,sigmoid函数常被用作神经网络的阈值函数,将变量映射到(0,1)。

rnn(recurrentneuralnetwork,循环神经网络)是一种节点定向连接成环的人工神经网络。rnn网络在处理单元之间既有内部的反馈连接又有前馈连接。从系统观点来看,rnn是一个反馈动力系统,在计算过程中体现动态特性。同时,rnn可以利用内部的记忆来处理任意时序的输入序列。

循环神经网络的示意图如图4所示,在输入序列x=(x1,x1,…,xt,…)时,循环神经网络通过下面的公式更新带反馈边的隐藏层的神经元状态ht:

也就是说隐藏层的神经元状态ht不仅和当前时刻的输入相关,还和上一时刻的隐藏层的神经元状态相关。

根据上述神经网络的原理介绍,可以得出,采用深度学习神经网络算法能够获得较准确的分类训练模型和行为预测训练模型。例如,在王华丽、邹俊中等提出了一种基于深度卷积神经网络的快速图像分类方法。该方法利用深度卷积神经网络自动学习特征的优势来解决手工设计特征普适性差等问题,不仅大幅度缩短了训练时间,同时加快了图像的分类速度,而且进一步降低了图像分类的错误率。(“基于深度卷积神经网络的快速图像分类算法”,王华丽、邹俊中等,《计算机工程与应用》,第53卷第13期,第181-188页,2017年)。

周洲在硕士论文的第四章基于深度学习的个性化推荐中,提出了通过人工神经网络进行深度学习训练获取训练模型,并根据训练模型预测用户行为进而给用户进行个性化推荐的方法。(“基于深度学习的个性化推荐系统”,周洲,东南大学,硕士学位论文,2014年)。

综上所述,在本申请实施例中,使用人工神经网络算法(卷积神经网络或循环神经网络等)进行模型的训练都能够获得较为准确地训练模型。

图3是本申请实施例的获取第二训练模型的方法流程图。本申请实施例中的消息推送方法还包括步骤s600。在步骤s600,通过对从用户行为数据中采集的第二样本数据进行深度学习训练以获取所述第二训练模型。

具体地,如图3所示,在步骤s610,在互联网中收集大量用户的行为数据。

在步骤s620,从用户行为数据中采集第二样本数据并进行预处理。其中,对第二样本数据进行预处理为将第二样本数据转换为可被预定的数学算法学习的样本数据。例如,当预定的数学算法为循环神经网络算法时,将每条输入数据转换为数据序列。

在步骤s630,根据预定的数学算法对预处理后的第二样本数据进行深度学习训练以获取第二训练模型。

其中,预定的数学算法为卷积神经网络算法或循环神经网络算法。

在本申请实施例中,通过采用卷积神经网络算法或循环神经网络算法对预处理后的样本数据进行深度学习获得较为准确的训练模型,使得在预测特定用户的行为时更为准确,进而选取与特定用户匹配的消息推送给该特定用户的用户端。这提高了推送消息的准确度。

图5是本申请实施例的消息推送装置的示意图。如图5所示,消息推送装置5包括数据聚类单元51,数据获取单元52,消息生成单元53和消息推送单元54。

其中,数据聚类单元51被配置为根据第一训练模型对采集数据进行聚类以获取聚类后的数据。具体地,数据聚类单元51从海量的互联网数据中采样数据,并通过第一训练模型将采集数据进行分类,将每类数据聚合在一起。例如,根据第一训练模型将采集数据分为食品、礼物、休闲娱乐和药品等类别的数据。

数据获取单元52被配置为根据第二训练模型对特定用户的行为进行模拟以从聚类后的数据中获取特定用户的关联数据。

具体地,数据获取单元52采集该特定用户在互联网中的行为数据,并采用第二训练模型根据该特定用户在互联网中的行为数据对该特定用户的行为进行模拟。然后从聚类后的数据中获取与该特定用户的关联数据。

消息生成单元53被配置为根据该特定用户的关联数据获取待推送消息。具体地,消息生成单元53从该特定用户的关联数据中筛选出可以被推送的消息作为待推送消息。

消息推送单元54被配置为向特定用户的用户端推送待推送消息。

优选地,用户行为数据中包括用户行为的时间信息。数据获取单元52包括预测行为子单元521。预测行为子单元521被配置为根据第二训练模型预测特定用户在当前时间段的行为以从聚类后的数据中获取该特定用户的关联数据。

具体地,预测行为子单元521选择该特定用户在当前时间段在互联网中的行为数据,例如,当前时间段为“中午11:00-下午14:00”,也即采集该特定用户在之前一周(或一月等)内每天“中午11:00-下午14:00”的行为数据,采用第二训练模型根据该时间段(中午11:00-下午14:00)内的行为数据对该特定用户在该时间段的行为进行模拟,然后从聚类后的数据中获取该时间段内与该特定用户的关联数据。这实现了根据时间段来划分用户可能感兴趣的消息,使得向用户端推送消息更加准确。

优选地,消息生成单元53包括消息生成子单元531。消息生成子单元531被配置为获取特定用户的用户端的位置信息,从该特定用户的关联数据中选择与该特定用户的用户端的位置信息对应的消息作为待推送消息。

具体地,消息生成子单元531获取特定用户的用户端的位置信息,假若该特定用户的用户端为打开位置信息,则获取该特定用户的默认收货地址等与位置信息相关的信息。从该特定用户的关联数据中筛选出可以被推送的消息(也即该特定用户感兴趣的消息),在这些可以被推送的消息中选择与该特定用户的用户端的位置信息相距不超过预定距离的消息(该消息中包括的位置信息与用户端的位置信息相距不超过预定距离)。也就是说,选择在该特定用户的预定距离范围内的该特定用户感兴趣的消息作为待推送消息。这提高了推送消息的准确度。

进一步地,用户行为数据中包括用户行为的时间信息。通过获取该特定用户的用户端的位置信息,可以选择在该特定用户的预定距离范围内的该特定用户在当前时间段感兴趣的消息作为待推送消息。这提高了推送消息的准确度。

综上所述,本申请实施例根据第一训练模型对采集数据进行数据聚类;根据第二训练模型模拟特定用户的行为以从聚类后的数据中获取特定用户的关联数据;并根据特定用户的关联数据获取待推送消息以推送给该特定用户的用户端。所述方法通过采用训练模型进行数据处理提高了数据处理的效率和准确度,并且通过预测用户行为将用户所需要的消息准确快速地推送给用户端。

进一步地,消息推送装置5还包括第一训练单元55和第二训练单元56。第一训练单元55被配置为通过对预先处理的第一样本数据进行深度学习训练以获取第一训练模型。

具体地,第一训练单元55从互联网数据中采集第一样本数据,将第一样本数据转换为可被预定的数学算法学习的样本数据,然后根据预定的数学算法对预处理后的第一样本数据进行深度学习训练以获取第一训练模型。其中,预定的数学算法为卷积神经网络算法或循环神经网络算法。

第二训练单元56被配置为通过对从用户行为数据中采集的第二样本数据进行深度学习训练以获取所述第二训练模型。

具体地,第二训练单元56在互联网中收集大量用户的行为数据。从用户行为数据中采集二样本数据并进行预处理。然后根据预定的数学算法对预处理后的第二样本数据进行深度学习训练以获取第二训练模型。其中,对第二样本数据进行预处理为将第二样本数据转换为可被预定的数学算法学习的样本数据。其中,预定的数学算法为卷积神经网络算法或循环神经网络算法。

在本申请实施例中,通过采用卷积神经网络算法或循环神经网络算法对预处理后的样本数据进行深度学习获得较为准确的训练模型,使得在预测特定用户的行为时更为准确,进而选取与特定用户匹配的消息推送给该特定用户的用户端。这提高了推送消息的准确度。

图6是本申请实施例的服务器的结构示意图。图6所示的服务器为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器61和存储器62。处理器61和存储器62通过总线63连接。存储器62适于存储处理器61可执行的指令或程序。处理器61可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器61通过执行存储器62所存储的指令,从而执行如上所述的本申请实施例的方法流程实现对于数据的处理和对于其它装置的控制。总线63将上述多个组件连接在一起,同时将上述组件连接到显示控制器64和显示装置以及输入/输出(i/o)装置65。输入/输出(i/o)装置65可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置65通过输入/输出(i/o)控制器66与系统相连。

本领域的技术人员应明白,本申请的实施例可提供为方法、装置(设备)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品。

本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。

这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。

也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。

以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域技术人员而言,本申请可以有各种改动和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

本申请实施例公开了a1、一种消息推送方法,其中,所述方法包括:

根据第一训练模型对采集数据进行聚类以获取聚类后的数据;

根据第二训练模型对特定用户的行为进行模拟以从所述聚类后的数据中获取所述特定用户的关联数据;

根据所述特定用户的关联数据获取待推送消息;

向所述特定用户的用户端推送所述待推送消息。

a2、根据a1所述的消息推送方法,其中,所述方法还包括:

通过对预先处理的第一样本数据进行深度学习训练获取第一训练模型。

a3、根据a1所述的消息推送方法,其中,所述方法还包括:

通过对从用户行为数据中采集的第二样本数据进行深度学习训练获取所述第二训练模型。

a4、根据a3所述的消息推送方法,其中,所述用户行为数据包括用户行为的时间信息;

根据第二训练模型对特定用户的行为进行模拟以从所述聚类后的数据中获取所述特定用户的关联数据包括:

根据第二训练模型预测所述特定用户在当前时间段的行为以从所述聚类后的数据中获取所述特定用户的关联数据。

a5、根据a1所述的消息推送方法,其中,根据所述特定用户的关联数据获取待推送消息包括:

获取所述特定用户的用户端的位置信息,从所述特定用户的关联数据中选择与所述特定用户的用户端的位置信息对应的消息作为待推送消息。

本申请实施例还公开了b1、一种消息推送装置,其中,所述装置包括:

数据聚类单元,被配置为根据第一训练模型对采集数据进行聚类以获取聚类后的数据;

数据获取单元,被配置为根据第二训练模型对特定用户的行为进行模拟以从所述聚类后的数据中获取所述特定用户的关联数据;

消息生成单元,被配置为根据所述特定用户的关联数据获取待推送消息;

消息推送单元,被配置为向所述特定用户的用户端推送所述待推送消息。

b2、根据b1所述的消息推送装置,其中,所述装置还包括:

第一训练单元,被配置为对预先处理的第一样本数据进行深度学习训练以获取第一训练模型。

b3、根据b1所述的消息推送装置,其中,所述装置还包括:

第二训练单元,被配置为对从用户行为数据中采集的第二样本数据进行深度学习训练以获取所述第二训练模型。

b4、根据b3所述的消息推送装置,其中,所述用户行为数据包括用户行为的时间信息;

所述数据获取单元包括:

预测行为子单元,被配置为根据第二训练模型预测所述特定用户在当前时间段的行为以从所述聚类后的数据中获取所述特定用户的关联数据。

b5、根据b1所述的消息推送装置,其中,所述消息生成单元包括:

消息生成子单元,被配置为获取所述特定用户的用户端的位置信息,从所述特定用户的关联数据中选择与所述特定用户的用户端的位置信息对应的消息作为待推送消息。

本申请实施例还公开了c1、一种服务器,其中,所述服务器包括存储器和处理器,其中,所述存储器用于存储一条或多条计算机指令,所述一条或多条计算机指令被所述处理器执行以实现a1-a5中任一项所述方法的步骤。

本申请实施例还公开了d1、一种计算机可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行以a1-a5中任一项所述方法的步骤。

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