内容的推送方法及装置、计算机存储介质与流程

文档序号:20441718发布日期:2020-04-17 22:27阅读:134来源:国知局
内容的推送方法及装置、计算机存储介质与流程

本申请涉及内容推送技术领域,特别涉及一种内容的推送方法及装置、计算机存储介质。



背景技术:

现今的大多数客户端,都存在有推送功能,以向用户推送各种各样的内容。例如,向用户推荐产品功能,向用户推荐符合用户喜好的视频,以及向用户推送提醒消息、咨询消息、广告等。

现今的推送功能的实现方式,主要由产品经理或运营人员,基于业务逻辑和经验设置不同的推送内容的推送规则,以在不同的场景下为用户推送相应的推送内容,例如当用户的电子设备刚连上无线网络时,即处在无线网络场景下时,固定向用户推送“无线网络加速”的功能。然后再由开发人员编写相应的代码实现所设置的推送规则,从而实现推送功能。

但是这种的方式是通过制定固定规则实现内容推送的,所以会因此存在许多的问题。例如,给用户推送内容过于单一,并且无法在规则之外的场景实现有效的内容推送,因此所推送的内容无法很好满足用户需求,从而无法得到所期望的用户反馈,例如,无法得到较高的点击率等。并且在新增和修改推送内容或者推送规则时,不仅需要新增和修改推送规则,还有相应的新增或修改程序逻辑,非常的繁琐。



技术实现要素:

基于上述现有技术的不足,本申请实施例提供了一种内容的推荐方法,以解决现有技术通过制定固定规则实现内容推送,所带来的适用性以及复用性都相对较差的问题。

为了实现上述目的,本申请提供了以下技术方案:

本申请第一方面提供了一种内容的推送方法,包括:

响应用户的服务请求,获取所述用户的特征数据以及场景属性;

利用所述用户的特征数据,构建用户特征向量;

将所述用户特征向量以及候选推荐列表输入预先训练好的推荐模型中,通过所述推荐模型从所述候选推荐列表中筛选出多条待推送内容,得到初选推荐列表;其中,所述推荐模型预先通过用户画像数据和推送内容画像数据进行训练;

从所述初选推荐列表中筛选出与所述场景属性对应的多条所述待推送内容,得到目标推荐列表;

将所述目标推荐列表中的所述待推送内容推送给所述用户。

可选地,在上述的推送方法中,所述将所述用户特征向量以及候选推荐列表输入预先训练好的推荐模型中,通过所述推荐模型从所述候选推荐列表中筛选出多条待推送内容,得到初选推荐列表之前,还包括:

获取所述用户的历史行为数据;

获取多条符合所述用户的历史行为数据反应的用户兴趣的待推送内容,组成所述候选推荐列表。

可选地,在上述的推送方法中,所述推荐模型的训练方法,包括:

获取在多个时间窗口和多个时间段内的用户信息以及用户对推送内容的反馈数据;

基于所述反馈数据以及所述用户信息,构建多个用户画像数据,以及为每种推送内容构建相应的推送内容画像数据;

通过计算引擎对所述用户画像数据以及所述推送内容画像数据进行特征工程,得到相应的训练特征向量;

将所述训练特征向量以及推荐列表样本输入初始推荐模型中得到推荐结果;

基于所述推荐结果计算所述初始推荐模型的模型评估指标值,并判断所述模型评估指标值是否大于对应的预设阈值;

若判断出所述模型评估指标值不大于对应的预设阈值,则调整所述初始推荐模型的参数,并返回执行将所述训练特征向量以及推荐列表样本输入初始推荐模型中得到推荐结果,直至判断出所述模型评估指标值大于预设阈值;

若判断出所述模型评估指标值大于对应的预设阈值,则确定完成对所述初始推荐模型的线上训练,得到训练好的所述推荐模型。

可选地,在上述的推送方法中,所述通过计算引擎对所述用户画像数据以及所述推送内容画像数据进行特征工程,得到相应的训练特征向量,包括:

分别针对每个所述用户画像数据中的各个特征的数据和每个所述推送内容画像数据中的各个特征的数据,确定所述数据的数据特性对应的特征处理方法,并通过所述特征处理方法对所述特征的数据进行特征处理,得到相应的特征向量;其中,所述特征处理方法通过所述计算引擎实现。

可选地,在上述的推送方法中,所述完成对所述推荐模型的线上训练,得到训练好的所述推荐模型之后,还包括:

将所述推荐模型部署到线上,并通过分组测试对所述推荐模型的目标指标进行评估;其中,所述目标指标包括线上点击率、功能保存率以及主动用户数。

可选地,本申请第二方面提供了一种内容的推送装置,包括:

第一获取单元,用于响应用户的服务请求,获取所述用户的特征数据以及场景属性;

第一构建单元,用于利用所述用户的特征数据,构建用户特征向量;

第一输入单元,用于将所述用户特征向量以及候选推荐列表输入预先训练好的推荐模型中,通过所述推荐模型从所述候选推荐列表中筛选出多条待推送内容,得到初选推荐列表;其中,所述推荐模型预先通过用户画像数据和推送内容画像数据进行训练;

筛选单元,用于从所述初选推荐列表中筛选出与所述场景属性对应的多条所述待推送内容,得到目标推荐列表;

推送单元,用于将所述目标推荐列表中的所述待推送内容推送给所述用户。

可选地,在上述的推送装置中,还包括:

第二获取单元,用于获取所述用户的历史行为数据;

第三获取单元,用于获取多条符合所述用户的历史行为数据反应的用户兴趣的待推送内容,组成所述候选推荐列表。

可选地,在上述的推送装置中,还包括训练单元,所述训练单元,包括:

第四获取单元,用于获取在多个时间窗口和多个时间段内的用户信息以及用户对推送内容的反馈数据;

第二构建单元,用于基于所述反馈数据以及所述用户信息,构建多个用户画像数据,以及为每种推送内容构建相应的推送内容画像数据;

处理单元,用于通过计算引擎对所述用户画像数据以及所述推送内容画像数据进行特征工程,得到相应的训练特征向量;

第二输入单元,用于将所述训练特征向量以及推荐列表样本输入初始推荐模型中得到推荐结果;

线下评估单元,用于基于所述推荐结果计算所述初始推荐模型的模型评估指标值,并判断所述模型评估指标值是否大于对应的预设阈值;

调整单元,用于在所述线下评估单元判断出所述模型评估指标值不大于对应的预设阈值时,调整所述初始推荐模型的参数,并返回执行将所述训练特征向量以及推荐列表样本输入初始推荐模型中得到推荐结果,直至判断出所述模型评估指标值大于预设阈值;

确定单元,用于在所述线下评估单元判断出所述模型评估指标值大于对应的预设阈值时,确定完成对所述初始推荐模型的线上训练,得到训练好的所述推荐模型。

可选地,在上述的推送装置中,所述处理单元,包括:

处理子单元,用于分别针对每个所述用户画像数据中的各个特征的数据和每个所述推送内容画像数据中的各个特征的数据,确定所述数据的数据特性对应的特征处理方法,并通过所述特征处理方法对所述特征的数据进行特征处理,得到相应的特征向量;其中,所述特征处理方法通过所述计算引擎实现。

可选地,在上述的推送装置中,所述训练单元,还包括:

线上评估单元,用于将所述推荐模型部署到线上,并通过分组测试对所述推荐模型的目标指标进行评估;其中,所述目标指标包括线上点击率、功能保存率以及主动用户数。

本申请第三方面提供了一种计算机存储介质,其特征在于,用于存储程序,所述程序被执行时,用于实现如上述任意一项所述的内容的推送方法。

本申请提供的一种内容的推送方法,通过预先构建并通过用户画像数据和推送内容画像数据训练好推荐模型。在用户请求服务时,获取用户的特征数据以及场景属性,并将用户的特征数据构建成用户特征向量,然后与候选推荐列表输入推荐模型中,通过推荐模型从候选推荐列表中筛选出多条待推送内容得到初选推荐列表。通过构建的推荐模型实现了根据用户的特征数据来确定推送内容,而不再是根据特定的推送规则,可以各种场景下为用户提供多条推送内容,不会出现在规则之外的场景无法实现有效的内容推送,并且,在新增推送内容时,也不需要修改程序。在得到初选推荐列表保证有多条待推送内容后,再筛选出与场景属性对应的推送内容,从而得到符合业务需求的推送列表推送给用户,更改推荐策略时也不需要修改程序。从而实现了一种适用性以及复用性都相对较高的内容推送方法。

附图说明

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

图1为本申请实施例提供的一种推荐模型的训练方法的流程示意图;

图2为本申请另一实施例提供的另一种推荐模型的训练过程的流程示意图;

图3为本申请另一实施例提供的一种内容的推送方法的流程示意图;

图4为本申请另一实施例提供的另一种内容的推送方法的流程示意图;

图5为本申请另一实施例提供的一种内容的推送装置的结构示意图;

图6为本申请另一实施例提供的一种训练单元的结构示意图。

具体实施方式

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

在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本申请实施例提供了一种内容的推荐方法,以解决现有技术通过制定固定规则实现内容,所存在的适用性差以及复用性差的问题。

首先需要说明的是,本申请所提供的内容的推荐方法,通过预先训练好的推荐模型来实现。所以需要预先在线下构建推荐模型,并对推荐模型进行训练,再将训练好的构建模型部署到线上使用。可选地,本申请实施例第一方面提供了一种推荐模型的训练方法,如图1所示,具体包括:

s101、获取在多个时间窗口和多个时间段内的用户信息以及用户对推送内容的反馈数据。

首先需要说的是,多个时间窗口具体可以包括有最近半年内、最近三个月内、最近一周、最近三天等,即在本申请实施例中,时间窗口指的是距离当前时间的一个过去的时间区间。多个时间段则可以包括有周末时间、工作时间、节假日时间、活动时间等。

所获取的用户信息指的在设定的时间窗口和时间段内,对推送的被存在反馈行为的用户的信息,具体可以包括有用户标识、年龄、性别,所处地理位置、所使用设备、用户偏好内容等。获取的用户对推送内容的行为反馈数据则值的在设定的时间窗口和时间段内用户对推送内容的反馈行为的数据,具体可以包括各个推送内容的推送次数、总点击次数以及平均的点击通过率(clickthroughrate,ctr)等。可选地,可以将用户对推送内容的反馈数据存储到分布式文件系统(hadoopdistributedfilesystem,hdfs)中,然后定时进行离线统计,得到多个时间窗口和多个时间段内的用户信息以及用户对推送内容的反馈数据。

具体的,将用户在线上请求的日志数据接入hdfs中进行存储。考虑到存储成本和后续计算效率的问题,可以基于数据库工具hivesql对日志数据中的关键信息进行提取,摒弃冗余的数据。然后对存储的数据进行筛选,得到训练时所需要用到的原始特征数据,即得到所需要的各个用户信息和反馈数据,以这种方式来实现原始数据的积累,并可以在积累的原始数据的数量到达预期后,执行步骤s102。

s102、基于行为反馈数据,构建多个用户画像数据,以及为每种推送内容构建相应的推送内容画像数据。

其中,用户画像是指根据用户的属性、用户偏好、生活习惯、用户行为等信息而抽象出来的标签化的用户模型。通俗说就是给创建一个用户,并给用户打上标签,而标签是通过对用户信息分析而来的高度精炼的特征标识。通过打标签可以利用一些高度概括、容易理解的特征来描述用户,可以让人更容易理解用户,并且可以方便计算机处理。所以一个用户画像数据可以简单的理解为是一和标签集合或者数据集合。

具体在本申请实施例中,用户画像数据主要包括用户基础属性、设备基础属性、地理位置数据、行为轨迹偏好、软件使用偏好等多个类型的数据。

同理,推送内容画像数据则是根据推送内容的类目、大小、推送形式等新而抽象出的标签化的推送内容的模型。具体的,在本申请实施例中,主要包括的是推送内容的类目,所以需要对每一种推送内容的进行类目划分,具体可以划分为多级类目,然后基于划分的类目生成推送内容画像数据对应的标签。例如,对于“无线网络安全体检”的功能类推送内容,其类目为:网络体检-网络风险提示-可定位网络问题-可优化网络安全。

同样,所构建的用户画像数据以及推送内容画像数据也可以存储到hdfs中。

s103、通过计算引擎对用户画像数据以及推送内容画像数据进行特征工程,得到相应的训练特征向量。

特征工程可以理解为利用数据领域的相关知识来创建能够使机器学习算法达到最佳性能的特征的过程。简而言之,特征工程就是把原始数据转变成特征的过程,这些特征可以很好的描述这些数据,并且利用它们建立的模型在未知数据上的表现性能可以达到最优。从数学的角度来看,特征工程就是设计输入变量的过程。

由于提取特征的质量影响着模型的准确性,所以可选地,本申请另一实施例中,步骤s103的一种具体实施方式,具体包括:分别针对每个用户画像数据中的各个特征的数据和每个推送内容画像数据中的各个特征的数据,确定数据的数据特性对应的特征处理方法,并通过特征处理方法对所述特征的数据进行特征处理,得到相应的特征向量。

其中,特征处理方法通过相应的计算引擎实现。

由于不同数据的数据特性并不相同,所以采用相同的特征处理方法对所特征的数据进行特征处理,无法保证都到达最优的效果。例如,采用独热编码(one-hotencoding),对地理位置这种包含有多个数据的特征对应数据进行处理时,会得到维度过高的特征向量,当对性别这种包括两种数据或只包括少量据数等的特征,就能快速得到低维度的特征向量。所以在本申请实施例中,根据数据的数据特征选择相应的特征处理方法,对用户画像数据中的各个类型的数据和推送内容画像数据中的各个类型的数据进行处理,以能得到更合适的特征向量。

可选地,在本申请实施例中主要采用六种特征处理方法。具体的,对于像性别、年龄段等数据相对少的数据类型的数据,采用独热编码进行特征处理。通过频数编码(countencoding)对可通频数反应的数据进行特征数据,例如对于用户的无线兴趣点(pointofinterest,poi),可以通过频数编码标识用户和这个poi的兴趣程度。根据数据分析发现,许多数据的特征都存在较强的稀疏性,所以为了避免模型过拟合以及为了提高模型稳定性,采用类别嵌套(categoryembedding)的方法进行处理进行特征处理,以得到低维且稠密的特征向量。对于可能得到存在缺失的特征数据,则采用非数嵌套(nanembedding)的方法进行处理,将特征数据的缺失值,即不完整的特征数据,转化为嵌套的表达方式,以对模型的训练效果带来最大的正向收益。对于可以归纳为同一信息的数据,则可以利用合并编码(consolidationencoding)的方式进行处理。例如,安卓手机的系统版本这一特征的多个数据中包括“4.2”、“4.4”和“5.0”三个,这三个数据可以归纳为“低版本安卓系统”。对于可进行归一化处理的各个特征的数据,则采用特征缩放(featurescaling)的方法进行归一化处理,以消除特征数据之间的量纲差异,使模型更稳定。例如,对于符合或近似符合正态分布的各个特征的数据,可以进行高斯归一化处理。

具体的,可以预先根据各个特征对应数据的数据特性,确定所要采用的特征处理方法,并建立各个特征与特征处理方法的对应关系。在对数据进行特征处理时,可根据数据所述的特征确定对应的特征处理方法,并利用确定出的特征处理方法对数据进行处理。

可选地,本申请实施例采用专为大规模数据处理而设计的快速通用的计算引擎spark,以及应用于实现各类深度学习算法的计算引擎tensorflow来进行特征工程,即上述的各个特征处理方法分别通过这两个引擎来实现,从采用相应的特征处理方法对相应的数据进行处理。具体的,对于非嵌套的常规特征处理方法,即不需要用到深度学习的特征处理方法,则基于计算引擎spark来实现,以对数据进行特征处理,并将处理结果存储到hdfs中。对于嵌套的深度学习特征处理方法,即需要用到深度学习的特征处理方法,则基于计算引擎tensorflow来实现,以对数据进行处理,并同样将处理结果存储到hdfs中。

s104、将训练特征向量以及推荐列表样本输入初始推荐模型中得到推荐结果。

需要说明的是,本申请实施例中初始推荐模型采用联合训练模型deepfm。其中,deepfm模型本质是由因子分解机(factorizationmachines,fm)和深度神经网络(deepneuralnetwork,dnn)融合而成的并行模型。可选地,初始推荐模型可以基于计算引擎tensorflow来构建。

s105、基于推荐结果计算初始推荐模型的模型评估指标值,并判断模型评估指标值是否大于预设阈值。

也就是说,本申请通过对初始推荐模型线下评估,来评估初始推荐模型是否训练完成。

可选地,具体可以采用接受者操作特性曲线(receiveroperatingcharacteristiccurve,roc)下与坐标轴围成的面积(areaundercurve,auc)作为初选推荐模型的模型评估指标值。具体的,基于推荐结果,在二维坐标系上绘制roc曲线,并计算roc曲线下与坐标轴围成的面积,得到auc值。其中,auc值越高说明的模型的训练效果越好。需要说明的是,也可以通过计算其他的模型评估指标值来评估初始推荐模型的训练效果。例如,基尼标准值(gininormalization)评估初始推荐模型的训练效果。也可以同时利用多个模型评估值进行评估。

需要说明的是,若判断出模型评估指标值小于预设阈值,说明对初始推荐模型的训练还未达到预期效果,所以此时执行步骤s106。若判断出模型评估指标值大于预设阈值,则说明对初始推荐模型的训练效果已达到预期效果,所以此时执行步骤s107。

s106、调整初始推荐模型的参数。

可选地,在调整初始推荐模型的参数的同时,还可以调整训练样本数据,以优化训练样本数据,以加快对初始化推荐模型的训练,是初始化推荐模型达到更好的推荐效果。

需要说明的是,在执行步骤s106后返回步骤s104,执行将训练特征向量以及推荐列表样本输入初始推荐模型中得到推荐结果。

s107、确定完成对初始推荐模型的线上训练,得到训练好的推荐模型。

在对初始推荐模型进行线下评估,确定初始推荐模型的效果达到预期后,结束对初始推荐模型的线下训练,得到训练好的推荐模型。

可选地,本申请另一实施例中,同样参见图1,在执行步骤s107后,还可以进一步包括:

s108、将推荐模型部署到线上,并通过分组测试对推荐模型的目标指标进行评估。

其中目标指标包括线上点击率、功能保存率以及主动用户数。

也就是说,在推荐模型通过线下评估后,将推荐模型推导线上进行线上评估。可选地,本申请实施例采用的分组测试(a/btest)的方式,对推荐模型进行线上评估,以评估通过推荐模型进行内容推送时所能达到的业务效果。其中,若通过分组测试(a/btest)进行测试的结构显示各项业务指标正向,则可以接入全部流量,将推荐模型进行线上正式使用。

综上所述,如图2所示,本申请实施例提供的推荐模型的训练方法,主要包括原始数据积累、数据特征工程和模型训练了和评估三个部分。原始数据积累主要就是通过从用户的服务请求的日志获取数据的方式积累原始数据。数据特征工程部分则是对原始数据进行特征工程,以将原始数据处理为推荐模型的输入。主要通过计算引擎spark和计算引擎tensorflow进行处理。模型训练和评估部分,主要包括模型训练、线下评估和线上评估三个部分。

基于上述实施例中训练好的推荐模型,本申请另一实施例提供了一种内容的推送方法,如图3所示,具体包括:

s301、响应用户的服务请求,获取用户的特征数据以及场景属性。

其中,用户的特征数据为用户当前的实时数据,具体可以包括有用户标识、年龄、性别,所处地理位置、所使用设备等信息。场景属性指的是用户当前使用产品功能对应的属性,例如用户在使用无线网络加速功能,其场景数据为:无线网络诉求。

具体的,在用户每次请求服务器时,从键值对数据库中录取用户的特征数据以及场景属性。

s302、利用该用户的特征数据,构建用户特征向量。

需要说明的是,构建用户特征向量的方式可相应地参考上述实施例中,对各个数据进行特征工程时的处理方式,此处不再赘述。

可选地,在本申请另一实施例中,在执行步骤s303之前,还可以包括候选推荐列表的获取,如图4所示,具体包括:

s401、获取用户的历史行为数据。

具体的,用户的历史行为数据可以包括有用户历史点击的推送内容、点击每种推送内容的次数、总的点击次数等,对于推送内容的历史反馈数据。

s402、获取多条符合用户的历史行为数据反应的用户兴趣的待推送内容,组成候选推荐列表。

具体的,可以将业务方提供的多个筛选规则进行加权融合,得到筛选融合规则。然后基于筛选规则,从数据库中存储的所有推荐内容中,筛选出与获取到的用户行为数据反映的用户兴趣对应的待推送内容,组成候选推荐列表。也就是说,为避免输入推荐模型中的候选推荐类比中待推送内容过多,所以预先对用户潜在感兴趣的待推荐内容进行粗召回,即根据用户的历史行为数据筛选出多条用户可能感兴趣的待推送内容,组成候选推荐列表,从而能有效地提高推荐模型得到推荐结果的效率。

s303、将用户特征向量以及候选推荐列表输入预先训练好的推荐模型中,通过推荐模型从候选推荐列表中筛选出多条待推送内容,得到初选推荐列表。

其中,推荐模型预先通过用户画像数据和推送内容画像数据进行训练。

具体的,推荐模型基于输入的用户特征向量,从候选推荐列表中筛选出多条符合当前用户兴趣的推送内容组成初选推荐列表。

s304、从初选推荐列表中筛选出与场景属性对应的多条待推送内容,得到目标推荐列表。

需要说明的是,从推荐模型输入的推荐列表,只是从纯数学的角度筛选出符合当前用户的兴趣的内容,以提高用户对于推送内容的点击率。但是,只是符合用户兴趣的内容,并一定能符合业务目标,所以为了达到业务目标,所推送的内容除了是用户所感兴趣的,还应该能符合业务需求的。

所以需要在特定的场景下强推对应的推送内容,从而能有效的提高投资回报率(returnoninvestment,roi),即对于用户感兴趣程度相同的两个待推送内容,则其点击这两个待推送内容的概率是相同,此时需要优先将roi更高的待推送内容推送给用户。例如,在用户处在无线网络的场景下,对于用户感兴趣程度相同的文本内容和视频内容,希望优先将视频内容推送给用户,以增加用户的停留时间,从而提高roi。所以,可以预先根据业务需求配置业务策略,然后在推荐模型输出初选推荐列表后,根据业务策略从初选推荐列表中筛选出符合业务场景的推送内容,从而得到既符合用户兴趣又符合业务需求的待推送内容组成目标推荐列表。

s305、将目标推荐列表中的待推送内容推送给用户。

可选地,可以将目标推荐列表中的待推送内容依次推送给用户。当然,如果支持同时推送多条待推送内容,也可以将目标推送列表中的部分后待推送内容,同时推送给用户。

本申请实施例提供的内容的推送方法,通过构建并通过用户画像数据和推送内容画像数据训练好推荐模型。在用户请求服务时,将获取用户的特征数据以及场景属性,并将用户的特征数据构建成用户特征向量,然后与候选推荐列表输入推荐模型中,通过推荐模型从候选推荐列表中筛选出多条待推送内容得到初选推荐列表。通过构建的推荐模型实现了根据用户的特征数据来确定推送内容,而不再是根据特定的推送规则,可以各种场景下为用户提供多条推送内容,不会出现在规则之外的场景无法实现有效的内容推送,并且,在新增推送内容时,也不需要需求程序逻辑。在得到初选推荐列表保证有多条待推送内容后,再筛选出与场景属性对应的推送内容,从而得到符合业务需求的推送列表推送给用户。

本申请另一实施例提供了一种内容的推送装置,如图5所示,具体包括:

第一获取单元501,用于响应用户的服务请求,获取用户的特征数据以及场景属性。

第一构建单元502,用于利用用户的特征数据,构建用户特征向量。

第一输入单元503,用于将用户特征向量以及候选推荐列表输入预先训练好的推荐模型中,通过推荐模型从候选推荐列表中筛选出多条待推送内容,得到初选推荐列表。

其中,推荐模型预先通过用户画像数据和推送内容画像数据进行训练。

筛选单元504,用于从初选推荐列表中筛选出与场景属性对应的多条待推送内容,得到目标推荐列表。

推送单元505,用于将目标推荐列表中的待推送内容推送给用户。

需要说明的是,本申请实施例中的各个单元的具体工作过程可相应地参数上述图3所对应的方法实施例中的步骤s301~步骤s305,此处不再赘述。

可选地,本申请另一实施例中的内容的推送装置中,还包括:

第二获取单元,用于获取用户的历史行为数据。

第三获取单元,用于获取多条符合用户的历史行为数据反应的用户兴趣的待推送内容,组成候选推荐列表。

需要说明的是,本申请实施例中的各个单元的具体工作过程可相应地参数上述图4所对应的方法实施例中的步骤s401和步骤s402,此处不再赘述。

可选地,本申请另一实施例中的内容的推送装置中,还包括训练单元。

如图6所示,训练单元包括:

第四获取单元601,用于获取在多个时间窗口和多个时间段内的用户信息以及用户对推送内容的反馈数据。

第二构建单元602,用于基于反馈数据以及用户信息,构建多个用户画像数据,以及为每种推送内容构建相应的推送内容画像数据。

处理单元603,用于通过计算引擎对用户画像数据以及推送内容画像数据进行特征工程,得到相应的训练特征向量。

第二输入单元604,用于将训练特征向量以及推荐列表样本输入初始推荐模型中得到推荐结果。

线下评估单元605,用于基于推荐结果计算初始推荐模型的模型评估指标值,并判断模型评估指标值是否大于对应的预设阈值。

调整单元606,用于在线下评估单元605判断出模型评估指标值不大于对应的预设阈值时,调整初始推荐模型的参数,并返回第二输入单元604执行将训练特征向量以及推荐列表样本输入初始推荐模型中得到推荐结果,直至判断出模型评估指标值大于预设阈值。

确定单元607,用于在线下评估单元605判断出模型评估指标值大于对应的预设阈值时,确定完成对初始推荐模型的线上训练,得到训练好的推荐模型。

需要说明的是,本申请实施例中的各个单元的具体工作过程可相应地参数上述图1所对应的推荐模型的训练方法的实施例中的步骤s101~步骤s107,此处不再赘述。

可选地,本申请另一实施例中的内容的推送装置中,处理单元603,包括:

处理子单元,用于分别针对每个用户画像数据中的各个特征的数据和每个推送内容画像数据中的各个特征的数据,确定数据的数据特性对应的特征处理方法,并通过特征处理方法对特征的数据进行特征处理,得到相应的特征向量;其中,特征处理方法通过计算引擎实现。

可选地,本申请另一实施例中的内容的推送装置中,同样参见图6,训练单元还包括:

线上评估单608,用于将推荐模型部署到线上,并通过分组测试对推荐模型的目标指标进行评估;其中目标指标包括线上点击率、功能保存率以及主动用户数。

需要说明的是,线上评估单608的具体工作过程可相应地参数上述图1所对应的推荐模型的训练方法的实施例中的步骤s108,此处不再赘述。

本申请另一实施例提供了一种计算机存储介质,用于存储程序,程序被执行时,用于实现如上述任意一项实施例中的提供的内容的推送方法。

本申请实施例提供了一种内容的推送装置,通过预先构建并通过训练单元基于用户画像数据和推送内容画像数据训练好推荐模型。在用户请求服务时,第一获取单元获取用户的特征数据以及场景属性,并由第一构建单元将用户的特征数据构建成用户特征向量,然后与候选推荐列表共同输入推荐模型中,通过推荐模型从候选推荐列表中筛选出多条待推送内容得到初选推荐列表。通过构建的推荐模型实现了根据用户的特征数据来确定推送内容,而不再是根据特定的推送规则,可以各种场景下为用户提供多条推送内容,不会出现在规则之外的场景无法实现有效的内容推送,并且,在新增推送内容时,也不需要修改程序。在得到初选推荐列表保证有多条待推送内容后,再筛选出与场景属性对应的推送内容,从而得到符合业务需求的推送列表推送给用户,更改推荐策略时也不需要修改程序。从而实现了一种适用性以及复用性都较高的内容推送装置。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

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