具体实施方式
本说明书的实施例提出一种新的营销产品的推荐方法,分别采用用户特征和产品特征来对用户和营销产品进行描述,以用户特征、产品特征、以及由用户特征和产品特征生成的交叉特征来构建点击率评估模型,以点击率评估模型输出的点击率评估值来预测某个营销产品和某个用户的匹配程度,并依据点击率评估值来确定向该用户推荐的营销产品,使得营销产品相对于用户更加有针对性,提高了营销的效率和成功率,并且大大降低了无效营销信息对用户的打扰。
本说明书的实施例可以运行在任何具有计算和存储能力的设备上,如手机、平板电脑、PC(Personal Computer,个人电脑)、笔记本、服务器等设备;还可以由运行在两个或两个以上设备的逻辑节点来实现本说明书实施例中的各项功能。
本说明书的实施例运行在网络服务提供商的服务端,当用户在自己的终端上访问服务端时,服务端在若干个营销产品中选择M(M为自然数)个推荐给用户。其中,营销产品可以是任何企业希望向用户推广的商品、服务、活动等的相关信息;营销产品的表现形式不做限定,可以是带有链接的文字、图片、动画等;营销产品的推广形式也不做限定,可以是页面上的广告位、向用户终端的消息推送、搜索结果中的优先排位等。
本说明书的实施例中,采用用户特征、产品特征和交叉特征来建立机器学习模型,本说明书中称之点击率评估模型,用来对营销产品与用户之间的匹配程度进行评估。
其中,用户特征可以是任何能够体现用户个性化特点的信息,可以将某个具体应用场景中反映对营销产品的兴趣和需求的用户个性化信息作为该应用场景中的用户特征,本说明书的实施例不做限定。
在一个例子中,可以将用户的背景特征和/或用户的行为特征来作为用户特征。其中,用户的背景特征根据用户个人信息生成,是基于静态数据刻画的用户固有特性;用户的行为特征根据用户的历史行为记录生成,是通过用户互联网行为数据构建的动态特性。用户的背景特征可以基于用户在网络服务提供商的服务端的注册信息、以及用户在其它关联站点留存的静态数据来构建;背景特征可以是:用户的性别、年龄、受教育年限、最高学历、家庭住址、毕业院校等中的一项到多项。用户的历史行为记录可以包括用户在访问网络服务提供商的服务端时对营销产品相关服务的展示、点击浏览、购买等行为,也可以包括用户在访问和使用其他服务提供商时对上述服务的展示、点击浏览、购买等行为;可以采用这些动态的历史行为记录来构建出与营销产品相关的行为特征,例如对金融消费类的营销产品,行为特征可以是:购买力、品牌偏好、风险偏好、投资经验、偏好理财类型等中的一项到多项。
产品特征可以是任何体现营销产品特性的信息,可以将某个具体应用场景中可能影响用户的兴趣和需求的营销产品特性,用来作为该应用场景中的产品特征,不做限定。例如,可以将营销产品的产品属性和/或营销属性来作为产品特征,其中,产品属性用来描述营销产品本身的产品特点,可以是产品类型、产品好评度、产品销量等中的一项到多项;产品属性用来描述营销产品的营销特点,可以是营销新颖度、折扣程度等中的一项到多项。
交叉特征是将用户特征和产品特征进行交叉组合形成组合类特征,每个交叉特征由至少一个用户特征和至少一个产品特征组合而成,该交叉特征的值也由组合该交叉特征的各个用户特征和产品特征的取值来确定。可以根据实际应用场景的需要,来确定交叉特征的数量、各个交叉特征由哪些用户特征和哪些产品特征进行交叉组合、以及如何得出交叉特征的取值,本说明书的实施例均不做限定。以下以两种实现方式为例说明。
在第一种实现方式中,交叉特征由部分用户特征和部分产品特征组合而成。可以在服务端预置在点击率评估模型中使用的每个交叉特征的取值计算方式,即:在点击率评估模型中使用了哪些交叉特征、以及如何通过组合某个交叉特征的用户特征和产品特征的值来得出该交叉特征的值。这样,在已知点击率评估模型中的用户特征取值、产品特征取值的前提下,即可计算得出每个交叉特征的取值。例如,某个点击率评估模型中使用了2个交叉特征,在服务端预置的交叉特征计算方式如表1所示:
交叉特征1 |
(用户特征a+用户特征b)/产品特征c |
交叉特征2 |
用户特征d∨产品特征e |
表1
在第二种实现方式中,用户特征和产品特征中包括连续型特征(即用户特征或产品特征的取值是连续的)和离散型特征(即用户特征或产品特征的取值是离散的),交叉特征由离散型的用户特征和离散型的产品特征组合而成,交叉特征的取值由组合该交叉特征的用户特征和产品特征进行预定的逻辑运算来确定。例如,假设一个应用场景中用户特征包括S(S为自然数)项离散型特征,产品特征包括T(T为自然数)项离散型特征,所有离散型特征的取值均为0或1;该应用场景的点击率评估模型中使用了S◇T项交叉特征,分别由每项离散型用户特征和每项离散型产品特征进行交叉组合而成,每项交叉特征的取值为组合该交叉特征的离散型用户特征取值和离散型产品特征取值的逻辑与运算结果。
点击率评估模型可以是采用任意算法的机器学习模型,所采用的算法可以根据实际应用场景的特点来选择,不做限定。例如,可以是基于支持向量机的机器学习模型,如SVC(Support Vector Machine,支持向量机)等;可以是基于树型的机器学习模型,如GBDT(Gradient Boosting Decision Tree,梯度提升决策树)等;可以是线性模型,如LR(Logistic Regression,逻辑回归)等;也可以是神经网络模型,如DNN(Deep NeuralNetworks,深度神经网络)、RNN(Recurrent Neural Networks,循环神经网络)、CNN(Convolutional Neural Networks,卷积神经网络)等。
在一种实现方式中,采用Wide and Deep(深度和广度)模型来建立点击率评估模型。Wide and Deep模型包括线性子模型和深度神经网络子模型,采用将深度神经网络子模型与浅层线性子模型相结合的训练模式。通过结合线性子模型的记忆能力(memorization)和深度神经网络子模型的泛化能力(generalization),并且采用联合训练(jointtraining),将整体模型的训练误差同时反馈到线性子模型和深度神经网络子模型中进行参数更新,同时优化2个子模型的参数,从而达到整体Wide and Deep模型的预测能力最优。可以根据实际应用场景的需要来确定将用户特征、产品特征和交叉特征中的哪些作为线性子模型的输入、哪些作为深度神经网络子模型,本说明书的实施例不做限定。例如,可以将用户特征、产品特征和交叉特征中的离散型特征作为线性子模型的输入,将连续型特征作为深度神经网络子模型的输入。
点击率评估模型的输入包括用户特征、产品特征和交叉特征,输出为点击率评估值。点击率评估模型采用已知点击率的用户特征和营销产品特征样本进行训练,即点击率评估模型的训练样本中已知的数据包括每个样本的用户特征、产品特征和作为输出的点击率,作为输入的交叉特征可以由用户特征和产品特征自动计算得出。
一个训练样本中的已知点击率可以根据具有该样本中用户特征的用户对具有该样本中产品特征的营销产品做出的行为来确定。在一个例子中,可以根据展示数和点击综合数来确定已知点击率,其中,展示数是在预定时间段内向该用户展示该营销产品的次数;点击综合数用来衡量该用户对该营销产品的综合反应,根据预定时间段内该用户针对该营销产品所进行的行为以及行为的次数确定,用户针对该营销产品所进行的行为可以是主动浏览、收藏、评论、预订、购买等行为中的一项到多项。
可以为用户对营销产品所进行的各种行为设置预定的权重,以各种行为次数的加权和来作为用户的点击综合数。假设某个应用场景中以用户对营销产品的点击浏览行为(即在向用户展示营销产品后,用户以点击或者以其他方式主动获取营销产品信息的行为)和购买行为来计算点击综合数,则已知点击率可以根据以下方式确定:将预定时间段内用户购买营销产品的次数按预定比例折算为点击数,以预定时间段内用户点击浏览营销产品的次数与折算后的点击数之和作为点击综合数,将点击综合数相对于展示数的比例作为已知点击率。
在点击率评估模型训练完成后,即可通过模型输出的点击率评估值来衡量某个用户对某个营销产品的兴趣和需求程度,或者说用来预测该用户与该营销产品的匹配程度。在点击率评估模型中采用交叉模型作为输入,可以使点击率评估模型获得较好的泛化能力,从而更为准确的预测用户与营销产品的匹配程度。
本说明书的实施例中,营销产品的推荐方法的流程如图1所示。
步骤110,在收到用户对营销产品数据的请求后,获取该用户的用户特征和每个营销产品的产品特征。
在用户使用网络服务商提供的服务时,通过自己的终端访问网络服务提供商的服务端,向服务端发起请求。本说明书的实施例中,当服务端响应用户发起的请求时,需要向用户的终端返回营销产品数据时,该用户发起的请求即是对营销产品数据的请求;例如,用户对营销产品数据的请求可以是对要展示营销产品的网页数据的请求,也可以是对用来展示营销产品的某个广告位的数据请求。
服务端可以在收到用户对营销产品数据的请求后,生成发起请求的用户的用户特征;通常而言,为了加快响应速度,服务端会预先生成各个用户的用户特征并保存,在收到请求后进行查询即可。营销产品的产品特征可以由网络管理人员在服务端手动配置,也可以由服务端根据营销产品的相关信息自动生成,不做限定。
在一些营销产品数量比较大的应用场景中,可以先对营销产品进行预先筛选,在获取筛选出的营销产品的产品特征。具体而言,在收到用户对营销产品数据的请求后,根据该用户的偏好从所有营销产品中筛选出N(N为不小于M的自然数)个营销产品,获取该用户的用户特征和筛选出的N个营销产品的产品特征。其中,M是最终向用户推荐的营销产品的个数,N可以是一个预设的不小于M的数值,也可以是一个在满足不小于M的条件下的可变数值。预先按照用户的偏好筛选出的这N个营销产品,将作为应用本说明书实施例的全部营销产品,来在其中最终确定M个营销产品推荐给用户。另外,根据用户的偏好对营销产品进行筛选的具体方式可参照现有技术实现,不再赘述。
步骤120,基于用户特征和产品特征生成交叉特征。
在网络服务提供商的服务端得到用户特征和产品特征后,采用用户特征的取值和各个产品特征的取值,生成作为点击率评估模型输入的各个营销产品的交叉特征的值。
可以按照具体应用场景中在构建点击率评估模型时所采用的交叉特征、以及交叉特征的值的确定方式,来得到各个交叉特征的取值。
步骤130,将用户特征、产品特征和交叉特征输入点击率评估模型,得到该用户对每个营销产品的点击率评估值。
将用户特征、每个营销产品的产品特征、用户特征和该营销产品的产品特征生成的交叉特征分别输入训练完毕的点击率评估模型后,得到该用户对该营销产品的点击率评估值,来预测该用户与该营销产品的匹配程度。
步骤140,根据点击率评估值确定M个营销产品,向用户返回的该M个营销产品的数据。
基于该用户对各个营销产品的点击率评估值,服务端选择与该用户匹配程度最高的M个营销产品,将这M个营销产品的数据返回给该用户,供该用户的终端向用户展示这M个营销产品。
可见,本说明书的实施例中,分别采用用户特征和产品特征来对用户和营销产品进行描述,以用户特征、营销产品特征、以及用户特征和产品特征生成的交叉特征来构建点击率评估模型,利用训练完成的点击率评估模型来得出各个营销产品对某个用户的点击率评估值,来预测某个营销产品和某个用户的匹配程度,并依据点击率评估值来确定向该用户推荐的营销产品,能够更为准确的衡量用户与营销产品的匹配程度,使得营销产品相对于用户更加有针对性,减少了无效的营销信息对用户造成的干扰。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的一个应用示例中,第三方支付平台的用户通过其终端上安装的客户端App(应用程序)使用第三方支付平台的支付服务。在App页面的广告位上,第三方支付平台可以向用户推荐各种营销产品。由于营销产品数量众多而广告位相当有限,第三方支付平台的服务端要决定向用户推荐哪些营销产品。
第三方支付平台采用用户特征来刻画用户的行为和背景,全面细致的描绘出用户的画像。用户特征包括用户的背景特征和或用户的行为特征,分别从静态和动态两个维度,刻画用户的固有特性和实时动态行为特征。其中,用户的背景特征通过用户在第三方支付平台的注册信息、以及用户在其它关联服务提供方留存的个人信息来构建,包括:用户性别(U2)、年龄(U5)、受教育年限(U6);用户的行为特征基于用户在App内的行为数据(如对各种服务的展示、点击浏览、购买等)行为数据、以及用户在其他关联服务提供方的行为数据(如商品购买、广告点击、视频浏览等)、还可以参考用户的其他信息(如使用的手机品牌、房产信息等)来生成,包括购买力(U1)、风险偏好(U3)、投资经验(U4)。用户特征中,U1、U2、和U3为离散型特征,取值为0或1;U4、U5、和U6为连续型特征。
第三方支付平台采用产品特征来刻画可以推荐给用户的各个营销产品。产品特征由描述产品本身的产品属性和描述营销特点的营销属性组成,产品属性包括产品类型(C1)、产品好评度(C2)、产品销量(C4),营销属性包括营销新颖度(C3)。产品特征中,C1、C2、和C3为离散型特征,取值为0或1;C4为连续型特征。
第三方支付平台定期预先提取相关数据,生成每个用户的用户特征并保存。类似的,营销产品的产品特征管理该营销产品的人员配置或由服务端提取相关数据自动生成后保存。
第三方支付平台构建点击率评估模型,点击率评估模型的输入为用户的用户特征、营销产品的产品特征、以及由用户特征和产品特征生成的交叉特征,输出为点击率评估值。交叉特征由每项离散型用户特征和每项离散型产品特征进行交叉组合而成,由用户特征U1、U2、U3和产品特征C1、C2、C3可以组合为9个交叉特征:U1-C1、U1-C2、U1-C3、U2-C1、U2-C2、U2-C3、U3-C1、U3-C2、U3-C3。
交叉特征的取值为组合该交叉特征的离散型用户特征取值和离散型产品特征取值的逻辑与运算结果。假设用户1的用户特征U1、U2、U3的取值分别是:[U1_1 1][U2_1 0][U3_1 1],营销产品1的产品特征C1、C2、C3的取值分别是:[C1_1 0][C2_1 1][C3_1 1],则用户1与营销产品1的9个交叉特征的取值分别是:[U1_1-C1_1 0][U1_1-C2_1 1][U1_1-C3_1 1][U2_1-C1_1 0][U2_1-C2_1 0][U2_1-C3_1 0][U3_1-C1_1 0][U3_1-C2_1 1][U3_1-C3_1 1]。
点击率评估模型采用如图2所示的Wide and Deep模型。其中,深度神经网络子模型的输入为连续型特征,包括用户特征U4、U5、U6和产品特征C4。线性子模型的输入为离散型特征,包括用户特征U1、U2、U3、产品特征C1、C2、C3、以及9个交叉特征。深度神经网络子模型采用DNN算法,线性子模型采用LR(logistic regression,逻辑回归)算法,即:深度神经网络子模型为DNN模型,线性子模型为LR模型。线性子模型的输出和深度神经网络子模型的输出经LR Loss(逻辑回归损失)层神经元进行处理后,得到Wide and Deep模型的输出。
由于在采用交叉特征后,点击率评估模型的输入特征数量通常比较大,可以通过L1范数对线性LR子模型进行约束,从而起到特征筛选的作用。
在采用样本数据训练点击率评估模型时,每个训练样本在点击率评估模型的输出(即该样本的已知点击率)由预定时间段内用户在App上的展示、点击浏览以及购买行为的次数确定。以预定时间段内某个营销产品在App中展示给用户的次数作为展示数PV,以预定时间段内用户点击App中展示的该营销产品的次数作为点击浏览次数Click,以预定时间段内用户在App中购买该营销产品的次数作为购买数Trans,则该用户对该营销产品的已知点击率为:
(Click+ω×Trans)/PV
上式中,每次对营销产品的购买行为折算为ω次对营销产品的点击浏览行为。ω可以根据经验来设置,例如10。
在采用样本数据对点击率评估模型完成训练后,即可用点击率评估模型来对某个用户和某个营销产品的匹配程度进行预测。
当用户在其终端上使用第三方支付平台的App时,在打开带有M个营销产品展示位的页面时,App向服务端发起对营销产品数据的请求。
服务端在收到该请求后,查询该App登录用户的偏好。该用户的偏好可以由服务端根据该用户的历史行为(例如发生过某个交易事件,历史上使用过某种类型服务等)预先确定。
服务端从所有可以推荐给该用户的营销产品中,按照用户的偏好筛选出其中的N个营销产品。
服务端查询该用户的用户特征和筛选出的N个营销产品的产品特征,根据用户特征U1、U2、U3和每个营销产品的产品特征C1、C2、C3的值,计算出每个营销产品的9个交叉特征的取值。
服务端分N次,将6个用户特征、每个营销产品的4个产品特征和9个交叉特征输入Wide and Deep点击率评估模型,得到对应于N个营销产品的点击率评估值。
服务端按照N个点击率评估值,选择与该用户最为匹配的M个营销产品,将M个营销产品的数据返回给App,由App展示给该用户。
与上述流程实现对应,本说明书的实施例还提供了一种营销产品的推荐装置。该装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为逻辑意义上的装置,是通过所在设备的CPU(Central Process Unit,中央处理器)将对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,除了图3所示的CPU、内存以及存储器之外,营销产品的推荐装置所在的设备通常还包括用于进行无线信号收发的芯片等其他硬件,和/或用于实现网络通信功能的板卡等其他硬件。
图4所示为本说明书实施例提供的一种营销产品的推荐装置,包括特征获取单元、交叉特征单元、点击率评估单元和营销产品单元,其中:特征获取单元用于在收到用户对营销产品数据的请求后,获取所述用户的用户特征和每个营销产品的产品特征;交叉特征单元用于基于用户特征和产品特征生成交叉特征;点击率评估单元用于将用户特征、产品特征和交叉特征输入点击率评估模型,得到所述用户对每个营销产品的点击率评估值;所述点击率评估模型为机器学习模型,采用已知点击率的用户特征和营销产品特征样本进行训练;营销产品单元用于根据所述点击率评估值确定M个营销产品,向用户返回的所述M个营销产品的数据;M为自然数。
可选的,所述用户特征包括以下至少一项:根据用户个人信息生成的背景特征、根据用户的历史行为记录生成的行为特征;所述背景特征包括以下的一项到多项:性别、年龄、受教育年限、最高学历、家庭住址、毕业院校;所述行为特征包括以下的一项到多项:购买力、品牌偏好、风险偏好、投资经验、偏好理财类型。
可选的,所述产品特征包括以下至少一项:用于描述产品特点的产品属性、用于描述营销特点的营销属性;所述产品属性包括以下的一项到多项:产品类型、产品好评度、产品销量;所述营销属性包括以下的一项到多项:营销新颖度、折扣程度。
可选的,所述用户特征包括S项离散型特征,所述产品特征包括T项离散型特征,每项离散型用户特征和离散型产品特征的取值为0或1;S、T为自然数;所述交叉特征单元具体用于:将每项离散型用户特征和每项离散型产品特征分别组合为S◇T项交叉特征,以离散型用户特征取值和离散型产品特征取值的逻辑与运算结果作为交叉特征的取值。
一个例子中,所述已知点击率根据展示数和点击综合数确定;所述展示数为预定时间段内向用户展示营销产品的次数;所述点击综合数根据预定时间段内用户针对所述营销产品所进行的行为以及行为的次数确定,用户针对所述营销产品所进行的行为包括以下至少一项:主动浏览、收藏、评论、预订、购买所述营销产品的行为。
上述例子中,所述已知点击率根据以下方式确定:将预定时间段内用户购买所述营销产品的次数按预定比例折算为点击数,以预定时间段内用户点击浏览所述营销产品的次数与折算后的点击数之和作为点击综合数,将点击综合数相对于展示数的比例作为已知点击率。
一种实现方式中,所述点击率评估模型为深度和广度Wide and Deep模型,所述Wide and Deep模型包括线性子模型和深度神经网络子模型,以离散型特征作为线性子模型的输入,以连续型特征作为深度神经网络子模型的输入。
上述实现方式中,所述线性子模型为通过L1范数进行约束的逻辑回归LR模型。
可选的,所述特征获取单元具体用于:在收到用户对营销产品数据的请求后,根据所述用户的偏好从所有营销产品中筛选出N个营销产品,获取所述用户的用户特征和筛选出的N个营销产品的产品特征;N为不小于M的自然数。
本说明书的实施例提供了一种计算机设备,该计算机设备包括存储器和处理器。其中,存储器上存储有能够由处理器运行的计算机程序;处理器在运行存储的计算机程序时,执行本说明书实施例中营销产品的推荐方法的各个步骤。对营销产品的推荐方法的各个步骤的详细描述请参见之前的内容,不再重复。
本说明书的实施例提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,这些计算机程序在被处理器运行时,执行本说明书实施例中营销产品的推荐方法的各个步骤。对营销产品的推荐方法的各个步骤的详细描述请参见之前的内容,不再重复。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书的实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书的实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。