优选业务确定方法及装置
技术领域
本公开一般涉及互联网技术领域,尤其涉及优选业务确定方法及装置。
背景技术
机器学习模型接收输入数据并且基于所接收的输入来生成输出数据,例如,预测输出。一些机器学习模型是深度模型,采用多层模型来为接收到的输入数据生成输出数据。
机器学习模型可被应用于数据的预测。例如,在互联网领域,机器学习模型可被用来预测网络广告(例如,图片广告、文字广告、视频广告等)的点击率CTR(Click ThroughRate)。
发明内容
本发明的一方面提供了一种获取预测数据的方法,包括:
获取多个特征;
对所述多个特征进行分组以生成多组特征;
对所述多组特征进行嵌入处理以生成多个嵌入输出向量集合,其中每一组特征被输入多个嵌入单元中的一个嵌入单元进行嵌入处理以产生对应的嵌入输出向量集合,每个嵌入输出向量集合中的向量的维度相同;
在FM层对所述多个嵌入输出向量集合执行处理以生成FM输出,其中每一个嵌入输出向量集合被输入多个FM单元中的一个FM单元进行处理;以及
使用全连接层对所述FM输出进行处理以获取预测数据。
可任选地,该方法进一步包括:
对组合特征执行嵌入处理以生成组合向量集合;以及
使用所述全连接层对所述组合向量集合和所述FM输出进行处理以获取所述预测数据,
其中所述组合特征包括至少一个业务的业务特征和用户的用户特征的组合,其中所述至少一个业务是与用户的历史行为相关的业务。
可任选地,该方法进一步包括,
将所述组合向量集合输入到深度神经网络进行处理以生成深度神经网络输出;以及
使用所述全连接层处理所述深度神经网络输出以用于获取预测数据。
可任选地,所述历史行为包括所述用户对所述业务的点击和/或购买行为。
可任选地,该方法进一步包括,
将所述多个嵌入输出向量集合输入到深度神经网络进行处理以生成深度神经网络输出;以及
使用所述全连接层处理所述深度神经网络输出以用于获取预测数据。
可任选地,所述对所述多个特征进行分组包括:按照所述多个特征的表示的位数对所述多个特征进行分组。
可任选地,所述对所述多个特征进行分组包括:按照所述多个特征的类型对所述多个特征进行分组。
可任选地,所述FM单元包括二阶单元,并且在FM层对所述多个嵌入输出向量集合执行处理以生成FM输出包括:
将每一个嵌入输出向量集合中的向量输入多个二阶单元中的一个二阶单元以进行点积处理。
可任选地,所述FM单元包括一阶单元,并且在FM层对所述多个嵌入输出向量集合执行处理以生成FM输出进一步包括:
将每一个嵌入输出向量集合中的向量输入多个一阶单元中的一个一阶单元以进行相加处理。
可任选地,所述多个特征包括用户的用户特征和一个或多个业务的业务特征,所述预测数据是所述用户关于所述至少一个业务的点击率,并且所述方法进一步包括:
对所述至少一个业务的点击率进行排序以确定一个或多个优选业务。
本公开的另一方面提供了一种获取预测数据的装置,包括:
用于获取多个特征的模块;
用于对所述多个特征进行分组以生成多组特征的模块;
用于对所述多组特征进行嵌入处理以生成多个嵌入输出向量集合的模块,其中每一组特征被输入多个嵌入单元中的一个嵌入单元进行嵌入处理以产生对应的嵌入输出向量集合,每个嵌入输出向量集合中的向量的维度相同;
用于在FM层对所述多个嵌入输出向量集合执行处理以生成FM输出的模块,其中每一个嵌入输出向量集合被输入多个FM单元中的一个FM单元进行处理;以及
用于使用全连接层对所述FM输出进行处理以获取预测数据的模块。
可任选地,该装置进一步包括:
用于对组合特征执行嵌入处理以生成组合向量集合的模块;以及
用于使用所述全连接层对所述组合向量集合和所述FM输出进行处理以获取所述预测数据的模块,
其中所述组合特征包括至少一个业务的业务特征和用户的用户特征的组合,其中所述至少一个业务是与用户的历史行为相关的业务。
可任选地,该方法进一步包括,
用于将所述组合向量集合输入到深度神经网络进行处理以生成深度神经网络输出的模块;以及
用于使用所述全连接层处理所述深度神经网络输出以用于获取预测数据的模块。
可任选地,所述历史行为包括所述用户对所述业务的点击和/或购买行为。
可任选地,该装置进一步包括,
用于将所述多个嵌入输出向量集合输入到深度神经网络进行处理以生成深度神经网络输出的模块;以及
用于使用所述全连接层处理所述深度神经网络输出以用于获取预测数据的模块。
可任选地,所述用于对所述多个特征进行分组的模块包括:用于按照所述多个特征的表示的位数对所述多个特征进行分组的模块。
可任选地,所述用于对所述多个特征进行分组的模块包括:用于按照所述多个特征的类型对所述多个特征进行分组的模块。
可任选地,所述FM单元包括二阶单元,并且用于在FM层对所述多个嵌入输出向量集合执行处理以生成FM输出的模块包括:
用于将每一个嵌入输出向量集合中的向量输入多个二阶单元中的一个二阶单元以进行点积处理的模块。
可任选地,所述FM单元包括一阶单元,并且用于在FM层对所述多个嵌入输出向量集合执行处理以生成FM输出的模块进一步包括:
用于将每一个嵌入输出向量集合中的向量输入多个一阶单元中的一个一阶单元以进行相加处理的模块。
可任选地,所述多个特征包括用户的用户特征和一个或多个业务的业务特征,所述预测数据是所述用户关于所述至少一个业务的点击率,并且所述装置进一步包括:
用于对所述至少一个业务的点击率进行排序以确定一个或多个优选业务的模块。
本公开的进一步方面提供了一种计算机设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行以下操作:
获取多个特征;
对所述多个特征进行分组以生成多组特征;
对所述多组特征进行嵌入处理以生成多个嵌入输出向量集合,其中每一组特征被输入多个嵌入单元中的一个嵌入单元进行嵌入处理以产生对应的嵌入输出向量集合,每个嵌入输出向量集合中的向量的维度相同;
在FM层对所述多个嵌入输出向量集合执行处理以生成FM输出,其中每一个嵌入输出向量集合被输入多个FM单元中的一个FM单元进行处理;以及
使用全连接层对所述FM输出进行处理以获取预测数据。
附图说明
图1是根据本公开的各方面的数据预测系统的示意图。
图2是DeepFM模型的示意图。
图3是根据本公开的一方面的经改进的DeepFM模型的示意图。
图4是根据本公开的一方面的分组嵌入层和分组FM层的示意图。
图5是根据本公开的另一方面的经改进的DeepFM模型的示意图。
图6是根据本公开的一方面的获取预测数据的方法的流程图。
图7是根据本公开的另一方面的获取预测数据的方法的流程图。
图8是根据本公开的各方面的获取优选业务组合的流程图。
图9示出了保险广告的显示的示例。
图10是根据本公开的各方面的用于获取预测数据的装置的示图。
具体实施方式
为让本公开的上述目的、特征和优点能更明显易懂,以下结合附图对本公开的具体实施方式作详细说明。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但是本公开还可以采用其它不同于在此描述的其它方式来实施,因此本公开不受下面公开的具体实施例的限制。
本公开提供了一种使用经优化的DeepFM(深度因子分解机)模型来获取优选业务的方法。具体而言,可以使用经优化的DeepFM模型来预测用户关于多个业务的点击率(click through rate,CTR),进而根据使用该多个业务的点击率来从中选择优选业务。点击率是指在一个统计周期内,业务(例如,广告)被点击的次数除以该业务被展示的总数。替换地,也可以使用经优化的DeepFM模型来预测用户关于多个业务的其它统计行为数据,例如,转化率(conversion rate,CVR)等。转化率是指在一个统计周期内,业务被购买的次数除以该业务被点击的次数。
DeepFM模型是集成了DNN(Deep Neural Network,深度神经网络)和FM(Factorization Machine,因子分解机)的神经网络框架。FM是一种基于矩阵分解的机器学习算法,其使用特征向量来变换因子分解模型,通过低阶关系之间的点积表示为因子之间的交互关系,FM具有自动组合特征的优点,从而可以大量减少特征工程的工作。DNN可以同时兼顾高阶特征组合和低阶特征组合。
本公开的技术方案对向FM层提供输入向量的嵌入(embedding)层和FM层中的一阶部分和二阶部分都进行分组实现,由此降低了计算量,提高了预测效率。本公开的技术方案还在模型的预测中添加了广度特征(wide feature),由此可以提高预测的准确度。以下具体描述本公开的获取优选业务的方案。
图1是根据本公开的各方面的数据预测系统100的示意图。
如图1所示,本公开的数据预测系统100可包括用户终端101、服务器102以及数据库103。
服务器102可存储预设DeepFM模型。预设DeepFM模型可通过历史特征对DeepFM模型的训练以设置模型中的参数来得到。
数据库103可存储特征数据。特征数据可包括用户的特征数据和业务的特征数据。
用户终端101在进行相关操作时,可向服务器102发送推荐请求。例如,用户终端101在打开特定APP(例如,支付宝的蚂蚁保险)或者在网页的搜索栏中输入关键词时,可向服务器102发送推荐请求,服务器102响应于推荐请求而从数据库103获取相关数据,例如,用户终端101的用户特征以及一个或多个业务的特征。
服务器102随后可使用DeepFM模型对从数据库103获取的特征数据进行处理以生成预测数据(例如,用户终端101关于该一个或多个业务的预测点击率),根据预测数据来确定用户终端101的优选业务,并且将优选业务推送给用户终端101。服务器102可选择预测点击率最高的一个优选业务推送给用户终端101,也可以选择预测点击率排名靠前的数个优选业务,按照顺序推送给用户终端101,例如,在用户终端101的屏幕上按照排序依次显示该数个优选业务,或者在屏幕的不同部分显示该数个优选业务,排名较高的业务在屏幕的中心处。
在业务点击率预测的示例中,特征数据可包括用户的特征数据和业务的特征数据。
用户的特征可包括用户的性别、年龄、年龄段、学历(初中、高中、本科、硕士、博士)、职业<高管、白领、工程师、老师、医生>、星座、是否已婚、职业、是否有房、有房概率、是否有车、有车概率、交通方式(例如,步行、公交、地铁、共享单车、飞机、火车等等)、支付宝信用分值、运动偏好(例如,跑步、足球、篮球等等)、旅行偏好(例如,周边游、国内、国际、东南亚、欧美等等),等等。
业务可以是广告,图9示出了保险广告的一个示例。业务的特征可包括业务ID、类别(例如,健康险、养老险等)、业务点击量(一个统计周期内广告被点击的次数)、点击率(一个统计周期内广告被点击的次数除以该广告被展示的总数)、转化率(一个统计周期内广告被投保的次数除以该广告被点击的总数)、曝光量(一个统计周期内广告展示的次数)、业务的图片特征、文本特征、关键词(例如,第二桶金、养老金、80后、白金会员等)等等。
图2是DeepFM模型的示意图。
如图2所示,DeepFM模型包括嵌入层、DNN部分、FM部分和全连接层。输入特征经过嵌入层处理后输入到DNN和FM,DNN和FM的输出被输入到全连接层。DNN和FM其分别负责高阶特征的提取和低阶特征的提取。FM提取低阶(例如,一阶和二阶)组合特征,DNN提取高阶组合特征。FM和DNN共享输入和嵌入层。
如图2所示,DeepFM模型的输入可包括多个特征。特征一般可分为离散特征(也称为分类型特征)和连续特征(也称为数值型特征)。
举例而言,在以上提到的特征的示例中,用户的性别(男、女)、学历(初中、高中、本科、硕士、博士)、是否已婚(是、否)、交通方式(步行、公交、地铁、共享单车、飞机、火车)属于离散特征。用户收入、用户登录天数、有房概率、有车概率、支付宝信用分值、广告曝光次数属于连续特征。
DeepFM模型可将相同类型的特征分到一个Field(字段)中。例如,Field0可包括用户ID,Field1可包括用户性别,Field2可包括用户年龄段,等等。
在DeepFM模型中,嵌入层接收输入特征,根据模型参数对接收到的特征应用变换,将特征映射到向量以供后续处理。
特征经过嵌入层处理后可产生向量集合。嵌入层可将字词用向量表示出来,也称为词嵌入层。嵌入层是与特定自然语言处理上的神经网络模型联合学习的单词嵌入,该嵌入方法将清理好的文本中的字词进行one hot(独热)编码,向量空间的大小或维度被指定为模型的一部分,例如,32、64、或128维。
作为一个示例,对于特征由单个词块组成的类型,嵌入层可将单个词块映射到浮点向量(即,浮点值的向量)。例如,对于用户的性别特征,嵌入层可基于当前参数值将词块“男”映射到向量[0.1,0.2,0.3,0.1],并将词块“女”映射到向量[0.5,0.4,0.0,0.2]。
作为另一示例,对于特征由两个或更多词块组成的特征类型,嵌入层可以包括并行嵌入功能。并行嵌入功能将词块组合中的每个词块映射到相应的浮点向量,并且输出单个向量,输出的单个向量是相应浮点向量的级联。例如,对于词块组合{本科,步行},并行嵌入功能可将“本科”映射到向量[0.1,0.2,0.3,0.4],并且将“步行”映射到向量[0.5,0.4,0.0,0.3],随后输出向量[0.1,0.2,0.3,0.4,0.5,0.4,0.0,0.3]。
作为又一示例,对于特征由两个或更多词块组成的特征类型,嵌入层可以包括组合嵌入功能。组合嵌入功能将词块组合中的每个词块映射到相应的浮点向量,并且将相应的浮点向量合并到单个向量中。例如,组合嵌入功能可以使用线性函数(例如,相应浮点向量的求和、平均、或加权线性组合)或非线性函数(例如,max函数、范数约束线性组合)来合并相应的浮点向量。例如,对于词块组合{本科,步行},组合嵌入功能可将“本科”映射到向量[0.1,0.2,0.3,0.4],并且将“步行”映射到向量[0.5,0.4,0.0,0.3],随后输出两个向量的和[0.6,0.6,0.3,0.7]。
作为进一步示例,对于特征由两个或更多词块组成的特征类型,嵌入层可以包括混合嵌入功能。混合嵌入功能将词块组合中的每个词块映射到相应的浮点向量,并且生成作为相应的浮点向量的级联的初始向量。混合嵌入公共然后将相应的浮点向量合并到合并向量中,并且将合并向量与初始向量级联。例如,对于词块组合{本科,步行},混合嵌入功能可以输出由并行嵌入功能和组合嵌入功能所输出的向量的级联,即[0.1,0.2,0.3,0.4,0.5,0.4,0.0,0.3,0.6,0.6,0.3,0.7]。
以上列出了嵌入层操作的若干示例,但本公开并不限于此,本领域技术人员能够构想到其它嵌入操作也适用于本公开的方案。
如图2所示,嵌入层输出的向量集合可被输入到DNN和FM层。
DNN包括输入层、一个或多个隐藏层和输出层,层和层之间是全连接的,即,第i层的任意一个神经元与第i+1层的任意一个神经元相连。DNN可预设相关模型参数,例如,神经元之间的连接的权重。给定训练数据集(例如,历史数据),DNN的模型参数可以通过学习得到。在预设了参数之后,可使用DNN对输入进行处理,从而得到预测输出。
FM层可解决稀疏数据的特征组合问题。FM层可包括一阶部分和二阶部分。一阶部分可执行向量的相加操作,二阶部分可执行向量的点积操作。FM也可预设相关模型参数,模型参数可通过对训练数据集的学习来得到。
以二阶多项式模型为例,FM模型的表达式如下:
其中n表示样本的特征数量,xi是第i个特征的值,ω0、ωi和ωij为模型参数。从上式可见,FM层的操作包括一阶操作(例如,相加)和二阶操作(例如,点积)。
FM层和DNN的输出被输入到全连接层以生成DeepFM的最终输出。例如,DeepFM的预测结果可以写为:
y=sigmoid(yFM+yDNN)
其中,yFM和yDNN分别为FM层和DNN的输出。
通常,在DeepFM模型的FM部分中,所有特征都被输入到嵌入层中一起处理,得到的向量被输入FM层。虽然输入各个Field的特征的长度不同,但嵌入处理得到的向量的维度需要相同以供FM层处理。而各种用户特征和业务特征的维度往往是不同的,例如,用户ID(标识符)特征的维度(亿级别)和性别(男、女)特征的维度(二维)不同,将用户ID特征和性别特征嵌入成相同的维度需要相当大的计算量。
图3是根据本公开的一方面的经优化的DeepFM模型的示意图。
在一方面,本公开的DeepFM模型对FM进行了改进,将嵌入层和FM层进行了分组处理。
如图3所示,本公开可将DeepFM模型的输入分为稀疏特征(sparse feature)和密集特征(dense feature)。
稀疏特征可包括离散特征和连续特征,密集特征可包括连续特征。在本公开的DeepFM模型中,稀疏特征被分组后输入到嵌入层进行分组嵌入操作,每一组嵌入操作生成一个稀疏向量集合。嵌入层生成的多个稀疏向量集合被输入到FM层进行分组FM处理,包括一阶处理(例如,向量的相加)和二阶处理(例如,向量的点积)。
可任选地,稀疏向量集合还可被输入到DNN。
密集特征经过嵌入处理后产生密集向量集合,密集向量集合可被输入到DNN。
本公开在FM嵌入层和FM层中均进行分组处理。图4是根据本公开的各方面的分组FM嵌入层和分组FM层的示图。如图4所示,FM嵌入层被划分为多个嵌入单元;FM层中的一阶部分被分成多个一阶单元,并且二阶部分被分成多个二阶单元。输入特征被分组后输入各个嵌入单元,每个嵌入单元输出的向量集合(在本文被称为嵌入输出向量集合)中的各向量的维度相同,并且每个嵌入单元输出的向量集合可被输入对应的一阶单元和二阶单元。
在一个示例中,输入特征的分组可以按照特征的类型进行分组。例如,多个样本的用户ID可被分为一组,年龄段可被分为一组,学历可被分为一组,广告点击率可被分为一组,等等。
在另一示例中,也可按照特征的表示的位数进行分组。例如,可将每个特征用二进制表示。举例而言,性别可用1位二进制表示(男:0,女:1);星座可用4位二进制表示;用户ID则需要较多位(例如,10位)的二进制表示。本领域技术人员将领会,虽然以上以二进制表示作为示例进行解说,但其它表示也是可以的,例如八进制、十六进制。
可以将表示的位数相同的特征分为一组。替换地,可将表示的位数相近(位数在一定范围内)的特征分为一组。例如,可将位数为1-5的特征分为一组,将位数为6-10的特征分为一组,依此类推。
通过将位数相同或相近的特征分组进行嵌入处理,嵌入处理的复杂度得以降低,提高了嵌入处理的效率。
在特征被嵌入层处理之后,每个嵌入单元产生的输出向量集合可被输入到FM层中的对应一阶单元和二阶单元。
一阶部分涉及向量的一阶操作,例如,相加、求平均、拼接等。例如,向量x=(a1,a2,……,an)和向量y=(b1,b2,……,bn)的相加结果为向量z=(a1+b1,a2+b2,……,an+bn)。
一阶部分可包括多个一阶单元,其中每个一阶单元可对应于一个嵌入单元。具体而言,每个一阶单元可接收对应嵌入单元的嵌入输出向量集合,根据模型参数选择该嵌入输出向量集合中的多对向量进行一阶操作。
二阶部分向量进行二阶操作,例如,点积。例如,向量x=(a1,a2,……,an)和向量y=(b1,b2,……,bn)的点积结果为向量f=(a1*b1,a2*b2,……,an*bn)。
二阶部分可包括多个二阶单元,其中每个二阶单元也可对应于一个嵌入单元。具体而言,每个二阶单元接收对应嵌入单元的嵌入输出向量集合,根据模型参数选择嵌入输出向量集合中的多对向量进行二阶操作。
通过嵌入层和FM层的分组,每个嵌入单元得到的嵌入向量集合的维度相同并且被输入对应的一阶单元和二阶单元进行处理,本公开的方案的计算量得以减少,提高了模型预测效率。
图5是根据本公开的另一方面的经优化的DeepFM模型的示意图。
本公开的经优化的DeepFM模型的另一个改进在于在预测过程中还可添加广度特征,如图5所示。广度特征(组合特征)可包括历史特征组合,或即出现过的特征的组合(例如,模型训练期间学习的特征的组合)。该特征的组合可包括用户特征和业务特征的组合、用户特征和用户特征的组合、以及业务特征和业务特征的组合。换言之,广度特征从训练数据中学习出现过的共现,即,学习出现过的用户特征和/或业务特征的组合。
举例而言,如果用户点击过一广告和/或购买过一广告的产品,则该用户的一个或多个用户特征和该广告的一个或多个业务特征可被组合构成广度特征以输入到全连接层进行预测处理。
系统可以根据业务的特性预先设置广度特征的特征组合形式。例如,业务特征和用户特征的组合(<业务特征、用户特征……>)、用户特征的组合(<用户特征1、用户特征2、……>)、和/或业务特征的组合(<业务特征1、业务特征2、……>)中的一者或多者。特征组合的形式可以是特征的拼接。
例如,如果用户点击过一广告,则可以组成以下广度特征:<广告ID、用户职业>、<用户年龄、用户职业>、<广告点击率、广告转化率>,等等。
请注意,以上关于特征组合的描述仅仅是示例性的,特征组合中的特征数量可不限于两个,也可以是更多个。
广度特征的使用可以在预测过程中直接使用出现过的特征组合,使得预测结果更为精确并且提高了预测效率。
广度嵌入层对广度特征进行嵌入处理以生成广度向量集合。
广度向量集合、密集向量集合和稀疏向量集合可被输入到DNN中进行处理。广度向量集合、DNN输出和FM输出可被输入到全连接层以产生预测输出。
图5中的FM嵌入层和FM层可以是图3和图4中所示的分组结构。
以上描述了本发明的优选实施例,但本领域技术人员将领会,以上优选实施例中的各个技术特征的组合、替换、删减也在本公开的构想中。
例如,在一个实施例中,广度向量集合可仅被输入到全连接层,而不被输入到DNN,即,DNN的输入可以仅包括密集向量集合和稀疏向量集合。
图6是根据本公开的一方面的获取预测数据的方法的流程图。
获取预测数据的方法可通过经优化的DeepFM模型(例如,如图3-5所示的DeepFM模型)对多个输入特征进行处理以生成预测数据。在广告点击率预测的示例中,可通过DeepFM模型对用户的特征和业务的特征进行处理以生成广告的预测点击率和转化率。
如图6所示,该方法可包括在步骤602,获取多个特征。
该特征可以从如图1所示的数据库103中获取。
该多个特征可包括用户的特征和一个或多个业务的特征。用户的特征可包括用户的性别、年龄、年龄段、学历、职业、星座、是否已婚、职业、是否有房、有房概率、是否有车、有车概率、交通方式、支付宝信用分值、运动偏好、旅行偏好,等等。业务的特征可包括业务ID、类别、点击量、点击率、转化率、曝光量、业务的图片特征、文本特征、关键词等等。
该多个特征可以是DeepFM模型中的稀疏特征。
在步骤604,对该多个特征进行分组以生成多组特征。
对特征的分组可以按照特征的类型进行分组。替换地,也可按照特征的大小进行分组。例如,可按照特征的表示(例如,二进制表示)的位数进行分组。可以将特征表示的位数相同的特征分为一组。替换地,可将特征表示的位数相近(例如,位数在特定范围内)的特征分为一组。
在步骤606,对步骤604生成的多组特征分别进行嵌入处理以产生对应的多个嵌入输出向量集合,其中每个嵌入输出向量集合中的各向量的维度相同。
具体而言,嵌入层(例如,图3中的FM嵌入层)可接收经分组的输入特征,根据模型参数对接收到的特征应用变换,将特征映射到向量以供后续处理。
例如,嵌入层可被划分为多个嵌入单元,每组特征被一个嵌入单元处理,从而生成一个嵌入输出向量集合。每个嵌入输出向量集合中的向量的维度相同。
该嵌入输出向量集合可对应于上述稀疏向量集合。
在步骤608,在因子分解机(FM)层对多个嵌入输出向量集合执行处理以产生FM输出,其中每一个嵌入输出向量集合被输入多个FM单元中的一个FM单元进行处理。
FM层可包括一阶部分和二阶部分。一阶部分可被划分为多个一阶单元,并且二阶部分可被划分为多个二阶单元。FM单元可包括一阶单元和/或二阶单元。
每个一阶单元接收来自一个嵌入单元的嵌入输出向量集合并进行相应的一阶处理,例如,相加。
每个二阶单元接收来自一个嵌入单元的嵌入输出向量集合并进行相应的二阶处理,例如,点积。
一阶部分和二阶部分的结果可被用来生成FM输出。
在步骤610,使用全连接层对FM输出进行处理以获取预测数据。
在优选实施例中,全连接层的输入还可包括上述广度向量集合。广度向量集合(也称为组合向量集合)是使用广度特征生成的,广度特征包括出现过的特征组合,该特征组合可包括至少一个业务的业务特征和用户的多个用户特征的组合,其中该至少一个业务是与用户的历史行为相关的业务。该历史行为可包括用户对业务的点击行为和/或购买行为。
在另一方面,还可将组合向量集合和/或嵌入输出向量集合输入DNN进行深度学习,进一步将DNN输入全连接层以用于获取预测数据。
全连接层的输入还可包括DNN输出。DNN可对稀疏向量集合、密集向量集合、和广度向量进行处理。
图7是根据本公开的另一方面的获取预测数据的方法的流程图。
在步骤702,可获取历史特征集合。该历史特征集合可包括用户历史特征和业务历史特征。
可以通过收集众多用户的信息和众多业务的信息,从这些用户信息和业务信息中提取历史特征数据以用于模型的训练。例如,可以收集一时间段内相关用户集合的历史特征和相关业务集合的历史特征,并将其存储在数据库中以供后续使用。
在步骤704,可对模型进行训练以生成预设DeepFM模型。
可以使用在步骤702获取的用户历史特征和业务历史特征作为训练特征集合来训练DeepFM模型(例如,图3或图5所示的DeepFM模型),从而预设模型参数以生成预设DeepFM模型。
在本公开的一方面,可以从用户历史特征和业务历史特征中提取历史特征组合来构成广度特征。例如,如果用户点击过一广告,则该用户的一个或多个用户特征和该广告的一个或多个业务特征可被组合构成广度特征。广度特征的形式可以是特征的拼接。广度特征可在后续生成预测数据中使用。
在步骤706,获取用于生成预测数据的实时特征。
DeepFM模型可以每次预测一用户关于一个或多个业务的点击率和/或转化率。例如,可以响应于来自用户终端的推荐请求来发起预测用户关于一个或多个业务的点击率和/或转化率。
实时特征可包括预测所针对的用户的特征以及与该用户相关联的一个或多个业务的特征。例如,与用户相关联的一个或多个业务可包括向该用户展示过、该用户点击过或购买过、该用户可能点击或购买的业务。
在本公开的一方面,实时特征还可包括与该用户和该一个或多个业务相关的广度特征。
在步骤708,使用预设DeepFM模型来处理实时特征以生成预测数据。
可以使用预设DeepFM模型来处理实时特征以生成用户关于一个或多个特征的预测数据,例如,预测点击率、预测转化率等。
图8是根据本公开的各方面的为用户获取优选业务的流程图。
步骤802,获取用户的多个用户特征以及一个或多个业务的多个业务特征。
用户可以是目标用户集合中的特定用户。可以为该特定用户获取优选业务进行推送。
业务特征可以包括业务ID、类别(例如,健康险、养老险等)、点击量(一个统计周期内广告被点击的次数)、点击率(一个统计周期内广告被点击的次数除以该广告被展示的总数)、转化率(一个统计周期内广告被投保的次数除以该广告被点击的总数)、曝光量(一个统计周期内广告展示的次数),等等。
用户特征是从用户行为提取的特征,例如,年龄、性别、星座、地域、会员信息、保险折扣,等等。
在步骤804,使用DeepFM模型对用户特征和业务特征进行处理以获取用户关于一个或多个业务的预测行为数据。
具体而言,可以使用经优化的DeepFM模型对该用户的多个用户特征和该一个或多个业务的多个业务特征进行处理以例如预测该用户关于该一个或多个业务的预测行为数据(例如,点击率和/或转化率)。
如图3和5所示,经优化的DeepFM模型可使用全连接层将DNN输出、FM输出以及可任选地广度向量集合进行组合以产生用户关于一个或多个业务的预测行为数据。
在步骤806,对用户关于该一个或多个业务的预测行为数据进行排序以推送给用户。
例如,可以选择排名前N位的业务,按照顺序推送给用户。例如,排名靠前的业务呈现在用户屏幕上更突出的位置。
图10是根据本公开的各方面的用于获取预测数据的装置1000的示图。
如图10所示,装置1000可包括特征获取模块1002、分组模块1004、分组嵌入模块1006、分组FM模块1008、全连接模块1010以及可任选的组合特征模块1012。
特征获取模块1002可获取多个特征。
该多个特征可包括用户的特征和一个或多个业务的特征。用户的特征可包括用户的性别、年龄、年龄段、学历、职业、星座、是否已婚、职业、是否有房、有房概率、是否有车、有车概率、交通方式、支付宝信用分值、运动偏好、旅行偏好,等等。业务的特征可包括业务ID、类别、点击量、点击率、转化率、曝光量、业务的图片特征、文本特征、关键词等等。
该多个特征可以是DeepFM模型中的稀疏特征。
分组模块1004可对该多个特征进行分组以生成多组特征。
对特征的分组可以按照特征的类型进行分组。替换地,也可按照特征的大小进行分组。例如,可按照特征的表示(例如,二进制表示)的位数进行分组。可以将特征表示的位数相同的特征分为一组。替换地,可将特征表示的位数相近(例如,位数在特定范围内)的特征分为一组。
分组嵌入模块1006可对分组模块1004生成的多组特征分别进行嵌入处理以产生对应的多个嵌入输出向量集合,其中每个嵌入输出向量集合中的各向量的维度相同。
例如,分组嵌入模块1006可被划分为多个嵌入单元,每组特征被一个嵌入单元处理,从而生成一个嵌入输出向量集合。每个嵌入输出向量集合中的向量的维度相同。
分组FM模块1008可对多个嵌入输出向量集合执行分组处理以产生FM输出。例如,分组FM模块1008可被划分为多个FM单元,每一个嵌入输出向量集合被输入多个FM单元中的一个FM单元进行处理。
分组FM模块1008可包括一阶部分和二阶部分。一阶部分可被划分为多个一阶单元,并且二阶部分可被划分为多个二阶单元。FM单元可包括一阶单元和/或二阶单元。
每个一阶单元接收来自一个嵌入单元的嵌入输出向量集合并进行相应的一阶处理,例如,相加。
每个二阶单元接收来自一个嵌入单元的嵌入输出向量集合并进行相应的二阶处理,例如,点积。
一阶部分和二阶部分的结果可被用来生成FM输出。
全连接模块1010可对FM输出进行处理以获取预测数据。
可任选地,装置1000还可包括组合特征模块1012。组合特征模块1012获取出现过的特征组合的集合(上述广度特征的集合)。该特征组合可包括至少一个业务的业务特征和用户的多个用户特征的组合,其中该至少一个业务是与用户的历史行为相关的业务。该历史行为可包括用户对业务的点击行为和/或购买行为。
组合特征模块1012对特征组合集合进行嵌入处理以生成组合向量集合。组合向量集合可被输入全连接模块1010进行处理以获取预测数据。
本文结合附图阐述的说明描述了示例配置而不代表可被实现或者落在权利要求的范围内的所有示例。本文所使用的术语“示例性”意指“用作示例、实例或解说”,而并不意指“优于”或“胜过其他示例”。本详细描述包括具体细节以提供对所描述的技术的理解。然而,可以在没有这些具体细节的情况下实践这些技术。在一些实例中,众所周知的结构和设备以框图形式示出以避免模糊所描述的示例的概念。
在附图中,类似组件或特征可具有相同的附图标记。此外,相同类型的各个组件可通过在附图标记后跟随短划线以及在类似组件之间进行区分的第二标记来加以区分。如果在说明书中仅使用第一附图标记,则该描述可应用于具有相同的第一附图标记的类似组件中的任何一个组件而不论第二附图标记如何。
结合本文中的公开描述的各种解说性框以及模块可以用设计成执行本文中描述的功能的通用处理器、DSP、ASIC、FPGA或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可被实现为计算设备的组合(例如,DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器,或者任何其他此类配置)。
本文中所描述的功能可以在硬件、由处理器执行的软件、固件、或其任何组合中实现。如果在由处理器执行的软件中实现,则各功能可以作为一条或多条指令或代码存储在计算机可读介质上或藉其进行传送。其他示例和实现落在本公开及所附权利要求的范围内。例如,由于软件的本质,以上描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或其任何组合来实现。实现功能的特征也可物理地位于各种位置,包括被分布以使得功能的各部分在不同的物理位置处实现。另外,如本文(包括权利要求中)所使用的,在项目列举(例如,以附有诸如“中的至少一个”或“中的一个或多个”之类的措辞的项目列举)中使用的“或”指示包含性列举,以使得例如A、B或C中的至少一个的列举意指A或B或C或AB或AC或BC或ABC(即,A和B和C)。同样,如本文所使用的,短语“基于”不应被解读为引述封闭条件集。例如,被描述为“基于条件A”的示例性步骤可基于条件A和条件B两者而不脱离本公开的范围。换言之,如本文所使用的,短语“基于”应当以与短语“至少部分地基于”相同的方式来解读。
计算机可读介质包括非瞬态计算机存储介质和通信介质两者,其包括促成计算机程序从一地向另一地转移的任何介质。非瞬态存储介质可以是能被通用或专用计算机访问的任何可用介质。作为示例而非限定,非瞬态计算机可读介质可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、压缩盘(CD)ROM或其他光盘存储、磁盘存储或其他磁存储设备、或能被用来携带或存储指令或数据结构形式的期望程序代码手段且能被通用或专用计算机、或者通用或专用处理器访问的任何其他非瞬态介质。任何连接也被正当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术从web网站、服务器、或其它远程源传送而来的,则该同轴电缆、光纤电缆、双绞线、数字订户线(DSL)、或诸如红外、无线电、以及微波之类的无线技术就被包括在介质的定义之中。如本文所使用的盘(disk)和碟(disc)包括CD、激光碟、光碟、数字通用碟(DVD)、软盘和蓝光碟,其中盘常常磁性地再现数据而碟用激光来光学地再现数据。以上介质的组合也被包括在计算机可读介质的范围内。
提供本文的描述是为了使得本领域技术人员能够制作或使用本公开。对本公开的各种修改对于本领域技术人员将是显而易见的,并且本文中定义的普适原理可被应用于其他变形而不会脱离本公开的范围。由此,本公开并非被限定于本文所描述的示例和设计,而是应被授予与本文所公开的原理和新颖特征相一致的最广范围。