一种推荐模型的训练方法及装置、一种推荐方法及装置与流程

文档序号:18219010发布日期:2019-07-19 22:51阅读:145来源:国知局
一种推荐模型的训练方法及装置、一种推荐方法及装置与流程
本申请涉及计算机
技术领域
,特别涉及一种推荐模型的训练方法及装置、一种推荐方法及装置、一种计算设备及计算机可读存储介质。
背景技术
:在一些互联网产品中,为了便于用户快速找到自己想要的商品(例如:app),需要进行个性化推荐,将用户最可能点击购买的商品推荐给待推荐用户。目前,一些平台在进行商品推荐的时候简单的根据用户及app的标签使用传统的机器学习模型(例如:lr或gbdt模型)进行推荐,这种利用标签进行推荐的方式需要花费大量人力来建立标签体系,并且容易给用户推荐不适合的app(例如:黄赌毒的app)。技术实现要素:有鉴于此,本说明书实施例提供了一种推荐模型的训练方法及装置、一种推荐方法及装置、一种计算设备及计算机可读存储介质,以解决现有技术中存在的技术缺陷。第一方面,本说明书实施例公开了一种推荐模型的训练方法,包括:获取至少两个样本用户的用户特征以及至少两个样本应用程序的属性特征;基于用户特征、属性特征生成样本用户对曝光的样本应用程序点击的正样本以及样本用户对曝光的样本应用程序未点击的负样本;基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练,得到所述推荐模型,所述推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率。可选地,基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练之前,还包括:基于预设筛选规则将所述样本集合筛选为包括至少一个正样本和负样本的训练样本集合以及包括至少一个正样本和负样本的测试样本集合。可选地,基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练包括:基于所述包括至少一个正样本和负样本的训练样本集合对推荐模型进行训练。可选地,基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练之后,还包括:基于包括至少一个正样本和负样本的测试样本集合对所述推荐模型进行测试。可选地,所述推荐模型包括deepfm模型。可选地,所述用户特征和所述属性特征均包括离线特征和实时特征,其中,所述离线特征包括采集的所述样本用户以及所述样本应用程序的历史特征,所述实时特征包括采集的所述样本用户以及所述样本应用程序在事件发生时的特征。第二方面,本说明书一实施例还提供了一种推荐方法,包括:接收待推荐用户对曝光的应用程序的推荐请求,其中,所述待推荐用户携带有用户标识;基于所述用户标识确定与所述待推荐用户匹配的至少两个待推荐应用程序;提取所述待推荐用户的用户特征以及所述至少两个待推荐应用程序的属性特征;将所述用户特征和所述属性特征输入到预先训练的推荐模型中,得到所述待推荐用户对每个匹配的待推荐应用程序的点击率;基于所述点击率将所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。可选地,接收待推荐用户对曝光的应用程序的推荐请求之前,还包括:获取多个携带有标识的应用程序;基于第一预设条件对所述多个应用程序进行筛选,确定至少两个待推荐应用程序。可选地,确定至少两个待推荐应用程序之后,还包括:基于预设匹配规则将待推荐用户与所述至少两个待推荐应用程序进行匹配,其中,所述待推荐用户携带有用户标识。可选地,所述推荐模型包括deepfm模型。可选地,基于所述点击率将所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户包括:基于所述点击率对所述至少两个待推荐应用程序进行排序;基于预设推荐条件选择所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。可选地,基于所述点击率对所述至少两个待推荐应用程序进行排序之后,还包括:基于所述第二预设条件对所述至少两个待推荐应用程序进行筛选;基于预设推荐条件选择所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户包括:基于预设推荐条件选择筛选后的所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光应用程序推荐给待推荐用户。可选地,所述用户特征和所述属性特征均包括离线特征和实时特征,其中,所述离线特征包括采集的所述待推荐用户以及所述待推荐应用程序的历史特征,所述实时特征包括采集的所述待推荐用户以及所述待推荐应用程序在当前时刻的特征。第三方面,本说明书一实施例还提供了一种推荐模型的训练装置,包括:第一获取模块,被配置为获取至少两个样本用户的用户特征以及至少两个样本应用程序的属性特征;生成模块,被配置为基于用户特征、属性特征生成样本用户对曝光的样本应用程序点击的正样本以及样本用户对曝光的样本应用程序未点击的负样本;训练模块,被配置为基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练,得到所述推荐模型,所述推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率。可选地,所述装置还包括:第一筛选模块,被配置为基于预设筛选规则将所述样本集合筛选为包括至少一个正样本和负样本的训练样本集合以及包括至少一个正样本和负样本的测试样本集合。可选地,所述训练模块,进一步被配置为:基于所述包括至少一个正样本和负样本的训练样本集合对推荐模型进行训练。可选地,所述装置还包括:测试模块,被配置为基于包括至少一个正样本和负样本的测试样本集合对所述推荐模型进行测试。可选地,所述推荐模型包括deepfm模型。可选地,所述用户特征和所述属性特征均包括离线特征和实时特征,其中,所述离线特征包括采集的所述样本用户以及所述样本应用程序的历史特征,所述实时特征包括采集的所述样本用户以及所述样本应用程序在事件发生时的特征。第四方面,本说明书一实施例还提供了一种推荐装置,包括:接收模块,被配置为接收待推荐用户对曝光的应用程序的推荐请求,其中,所述待推荐用户携带有用户标识;确定模块,被配置为基于所述用户标识确定与所述待推荐用户匹配的至少两个待推荐应用程序;提取模块,被配置为提取所述待推荐用户的用户特征以及所述至少两个待推荐应用程序的属性特征;输出模块,被配置为将所述用户特征和所述属性特征输入到预先训练的推荐模型中,得到所述待推荐用户对每个匹配的待推荐应用程序的点击率;推荐模块,被配置为基于所述点击率将所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。可选地,所述装置还包括:第二获取模块,被配置为获取多个携带有标识的应用程序;第二筛选模块,被配置为基于第一预设条件对所述多个应用程序进行筛选,确定至少两个待推荐应用程序。可选地,所述装置还包括:匹配模块,被配置为基于预设匹配规则将待推荐用户与所述至少两个待推荐应用程序进行匹配,其中,所述待推荐用户携带有用户标识。可选地,所述推荐模型包括deepfm模型。可选地,所述提取模块包括:排序子模块,被配置为基于所述点击率对所述至少两个待推荐应用程序进行排序;第三推荐子模块,被配置为基于预设推荐条件选择所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。可选地,所述装置还包括:第三筛选模块,被配置为基于所述第二预设条件对所述至少两个待推荐应用程序进行筛选;第三推荐子模块,进一步被配置为:基于预设推荐条件选择筛选后的所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光应用程序推荐给待推荐用户。可选地,所述用户特征和所述属性特征均包括离线特征和实时特征,其中,所述离线特征包括采集的所述待推荐用户以及所述待推荐应用程序的历史特征,所述实时特征包括采集的所述待推荐用户以及所述待推荐应用程序在当前时刻的特征。第五方面,本说明书实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述推荐模型的训练方法或所述推荐方法的步骤。第六方面,本说明书实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述推荐模型的训练方法或所述推荐方法的步骤。本申请提供的一种推荐模型的训练方法及装置、一种推荐方法及装置、一种计算设备及计算机可读存储介质,其中,所述推荐方法包括接收待推荐用户对曝光的应用程序的推荐请求,其中,所述待推荐用户携带有用户标识;基于所述用户标识确定与所述待推荐用户匹配的至少两个待推荐应用程序;提取所述待推荐用户的用户特征以及所述至少两个待推荐应用程序的属性特征;将所述用户特征和所述属性特征输入到预先训练的推荐模型中,得到所述待推荐用户对每个匹配的待推荐应用程序的点击率;基于所述点击率将所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。采用预先训练的推荐模型为用户匹配的应用程序进行点击率预测,根据该点击率为用户进行应用程序的实时推荐,有效的利用了用户特征和属性特征,极大的提升了推荐效果。附图说明图1是本说明书一个或多个实施例提供的一种计算设备的结构框图;图2是本说明书一个或多个实施例提供的一种推荐模型的训练方法的流程图;图3是本说明书一个或多个实施例提供的deepfm模型网络结构示意图;图4是本说明书一个或多个实施例提供的一种推荐方法的流程图;图5是本说明书一个或多个实施例提供的一种推荐模型的训练装置的结构示意图;图6是本说明书一个或多个实施例提供的一种推荐装置的结构示意图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。首先,对本发明一个或多个实施例涉及的名词术语进行解释。fm:英文全称:factorizationmachines,中文全称为:因子分解机,是由steffenrendle提出的一种基于矩阵分解的机器学习算法,它可对任意的实值向量进行预测。其主要优点包括:1)可用于高度稀疏数据场景;2)具有线性的计算复杂度。本申请中主要目标是解决数据稀疏的情况下,特征怎样组合的问题。dnn:英文全称:deepneuralnetwork,中文全称为:深度神经网络,从dnn按不同层的位置划分,dnn内部的神经网络层可以分为三类,输入层,隐藏层和输出层。deepfm模型:一种深度学习模型,是一个集成了fm和dnn的神经网络框架,其结合了dnn和fm的优点,能够同时提取低阶和高阶的组合特征。ctr:英文全称:click-through-rate,中文全称:点击率。lr:英文全称:logisticsregression,中文全称:逻辑回归。gbdt:英文全称:gradientboostingdecisiontree,中文全称:梯度提升决策树。odps:英文全称:opendataprocessingservice,中文全称:开放数据处理服务,是基于飞天分布式平台,一种海量数据离线处理服务。odps以restfulapi的形式提供针对pb级别数据的、实时性要求不高的批量结构化数据存储和计算能力。在本申请中,提供了一种推荐模型的训练方法及装置、一种推荐方法及装置、一种计算设备及计算机可读存储介质,在下面的实施例中逐一进行详细说明。图1是示出了根据本说明书一实施例的计算设备100的结构框图。该计算设备100的部件包括但不限于存储器110和处理器120。处理器120与存储器110通过总线130相连接,数据库150用于保存数据。计算设备100还包括接入设备140,接入设备140使得计算设备100能够经由一个或多个网络160通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备140可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。在本说明书的一个实施例中,计算设备100的上述部件以及图1中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图1所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。计算设备100可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备100还可以是移动式或静止式的服务器。其中,处理器120可以执行图2所示方法中的步骤。图2示出了根据本说明书一实施例的一种推荐模型的训练方法的示意性流程图,包括步骤202至步骤206。步骤202:获取至少两个样本用户的用户特征以及至少两个样本应用程序的属性特征。例如可以获取预设时长内至少两个样本用户的用户特征以及至少两个样本应用程序的属性特征,所述预设时长可以包括60天、120天等等,根据实际需求进行设置,本申请对此不作任何限定。实际应用中,样本用户以及样本应用程序可以携带有用户标识和应用程序标识,其中,所述标识为用于区分每个样本用户和每个样本应用程序的唯一标识信息,例如为每个样本用户或每个样本应用程序设置的起标识作用的唯一特殊字符串或者是特殊的标志等。所述样本用户为被推荐样本应用程序的样本用户,所述样本应用程序包括但不限于办公类、游戏类、娱乐类的样本应用程序。所述用户特征和所述属性特征均包括离线特征和实时特征,其中,所述离线特征包括采集的所述样本用户以及所述样本应用程序的历史特征,所述实时特征包括采集的所述样本用户以及所述样本应用程序在事件发生时的特征。其中,所述用户特征的离线特征包括但不限于用户的基础画像类特征,例如用户的年龄、性别、星座、职业、教育水平和人生阶段等;用户的财富类特征,例如用户的收入、购买力、有房的概率和有车的概率等;用户的位置特征,例如用户的出生地、工作地、家庭所在地和常驻地等;用户行为特征,例如用户对应用程序的曝光数、点击数和点击率等以及其他特征,例如用户的兴趣偏好特征、搜索问题即query特征、活跃度特征、历史交易特征和实时红包特征等。所述用户特征的实时特征包括但不限于:用户的场景特征,例如用户渠道来源等,即实际应用中可以根据样本用户的跳转渠道来源确定样本用户喜欢的样本应用程序。所述属性特征的离线特征包括但不限于应用程序的基础属性特征,例如应用程序的分类、价格、评分、评论数、排名、语言等、应用程序的统计类特征,例如应用程序近1/3/7/15/30/90天的曝光pv(pageview,曝光量)、曝光uv(uniquevisitor,曝光人数)、点击pv(点击量)、点击uv(点击人数)、pv点击率、uv点击率(点击人数/曝光人数)等。所述属性特征的实时特征包括但不限于:场景特征,例如应用程序的当前小时及星期等,即实际应用中可以根据当前时间及星期确定样本用户喜欢的样本应用程序。实际应用中,所述样本应用程序可以从odps(opendataprocessingservice)中获取,odps中存储有原始全量的应用程序。步骤204:基于用户特征、属性特征生成样本用户对曝光的样本应用程序点击的正样本以及样本用户对曝光的样本应用程序未点击的负样本。其中,所述曝光的样本应用程序为展示给样本用户的样本应用程序。为了预估每个样本用户对每个曝光的样本应用程序的点击率,可以获取60天的样本用户以及针对该样本用户曝光后点击或不点击的样本应用程序,然后根据样本用户的用户特征和曝光的样本应用程序的属性特征进行解析,形成曝光后点击正负样本(label),然后拼接上用户特征和属性特征后,生成包括至少一个正样本和负样本的样本集合,其中,所述样本集合中的每一条正负样本数据可表示成(features,label)。实际应用中,还可以结合样本用户的用户标识(user_id)和样本应用程序的应用程序标识(item_id)生成曝光后点击正负样本(label),若样本应用程序曝光且样本用户点击则作为曝光点击正样本(y1=1),若样本应用程序曝光但是样本用户未点击则作为曝光点击负样本(y1=0),可表示为(user_id,item_id,y1)的形式。然后根据user_id和item_id拼接上用户特征和属性特征后,生成包括至少一个正样本和负样本的样本集合,其中,所述样本集合中的每一条正负样本数据可表示成(user_id,item_id,features,label)。步骤206:基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练,得到所述推荐模型,所述推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率。本说明书一个或多个实施例中,基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练之前,还包括:基于预设筛选规则将所述样本集合筛选为包括至少一个正样本和负样本的训练样本集合以及包括至少一个正样本和负样本的测试样本集合。其中,预设筛选规则包括但不限于从生成的样本集合中选取预设时长内预定个数的正负样本数据作为测试样本集合,其余的作为训练样本集合。例如预设筛选规则可以包括从生成的1.4亿样本集合中抽取近一天的正负样本数据中的20万个正负样本数据作为测试样本集合,其余的正负样本数据作为训练样本集合。基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练,得到所述推荐模型,所述推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率,即基于所述包括至少一个正样本和负样本的训练样本集合对推荐模型进行训练,得到所述推荐模型,所述推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率,然后基于所述推荐模型输出的点击率和真实的点击率之间计算一个损失,依据该损失采用梯度下降法对所述推荐模型参数进行迭代优化,使得训练得到的所述推荐模型的输出结果更加精确。实际应用中,基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练之后,还包括:基于包括至少一个正样本和负样本的测试样本集合对所述推荐模型进行测试。其中,基于包括至少一个正样本和负样本的测试样本集合对所述推荐模型进行测试,即是将所述测试样本集合输入至所述推荐模型,使得所述推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率。然后将所述推荐模型输出的点击率与真实的点击与否的label进行对比,计算在测试数据上的auc指标。实际应用中,所述推荐模型是在深度学习平台上进行训练的,所述推荐模型在测试样本数据上的auc≈0.70,auc为roc曲线(受试者工作特征曲线,receiveroperatingcharacteristiccurve,简称roc曲线)下与坐标轴围成的面积。所述推荐模型包括但不限于deepfm模型,本说明书一个或多个实施例中,均以所述推荐模型为deepfm模型为例,进行介绍。所述deepfm模型结合了dnn和fm的优点,能够同时提取低阶和高阶的组合特征。其中,fm部分提取低阶组合特征,包括:一阶特征的线性组合(权值与特征点积),二阶交叉特征(隐向量内积)。deep部分提取高阶组合特征。同时,fm和deep共享输入和embedding向量。具体地,deepfm模型的预测结果如公式(1)表示:其中,fm的输出公式如公式(2)表示:dnn的输出公式如公式(3)表示:ydnn=σ(w|h|+1·ah+b|h|+1)(3)如图3所示,提供了所述deepfm模型的网络结构,首先将deepfm模型分为deep神经网络部分和fm因子分解机部分,所述deep神经网络部分可以采用全连接的前馈神经网络dnn,所述dnn和fm将输入的用户特征和属性特征分为多个特征组,每个特征组对应一个嵌入(embedding)向量,其中,deep神经网络部分的特征拼接层(concat)对所有embedding向量进行拼接,再增加两层的全连接层(fc(relu)),实现高阶特征的组合;fm因子分解机对输入的用户特征和属性特征等原始特征输入进行加权求和(addition),并通过对于每一维的embedding向量内积来提取特征组合,实现低阶特征的组合;最后将deep神经网络和fm因子分解机两部分的输出进行结合得到预测结果(sigmoid),即点击率预测结果。本说明书一个或多个实施例提供的一种推荐模型的训练方法,包括获取至少两个样本用户的用户特征以及至少两个样本应用程序的属性特征;基于用户特征、属性特征生成样本用户对曝光的样本应用程序点击的正样本以及样本用户对曝光的样本应用程序未点击的负样本;基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练,得到所述推荐模型,所述推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率。所述推荐模型deepfm从样本用户、样本应用程序以及场景等多个维度选取了离线特征及实时特征,极大的提高了deepfm推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率的准确性。所述处理器120还可以执行图4所示方法中的步骤。图4示出了根据本说明书一实施例的一种推荐方法的示意性流程图,包括步骤402至步骤410。步骤402:接收待推荐用户对曝光的应用程序的推荐请求,其中,所述待推荐用户携带有用户标识。其中,待推荐用户为待推荐曝光的应用程序的用户;曝光的应用程序为被展示并推荐给待推荐用户的应用程序。所述用户标识为用于区分每个待推荐用户的唯一标识信息,例如为每个待推荐用户设置的起标识作用的唯一特殊字符串或者是特殊的标志等。本说明书一个或多个实施例中,接收待推荐用户对曝光的应用程序的推荐请求之前,还包括:获取多个携带有标识的应用程序;基于第一预设条件对所述多个应用程序进行筛选,确定至少两个待推荐应用程序。其中,所述待推荐应用程序为等待推荐给用户的应用程序。所述第一预设条件包括但不限于选取预设区间内的应用程序,例如预设区间为1到200,则所述第一预设条件可以为选取价格在1元到200元区间内的应用程序。所述第一预设条件还可以包括剔除黄赌毒相关的应用程序或者质量较差的应用程序等,其中,所述质量较差的应用程序可以通过应用程序的评分和评论数来确定,例如设置评分和评论数的下限值,将评分小于3分和评分数小于200条的应用程序认定为质量较差的应用程序。所述第一预设条件可以根据实际需求进行设置,本申请对此不作任何限定。经过所述第一预设条件对多个应用程序进行筛选后,多个应用程序的数量会有所下降,在降低后续工作量的同时保证了应用程序的推荐质量。以所述第一预设条件为选取价格在1元到200元区间内的应用程序为例,基于第一预设条件对所述多个应用程序进行筛选,确定至少两个待推荐应用程序,即筛选出价格在1元到200元区间内的应用程序作为待推荐应用程序。实际应用中,所有的应用程序均放置在odps中,能够更快速的解决用户海量数据计算问题,实现从多个应用程序中快速的选取多个待推荐应用程序,可以有效降低企业成本,并保障数据安全。步骤404:基于所述用户标识确定与所述待推荐用户匹配的至少两个待推荐应用程序。其中,所述待推荐应用程序可以看作是初始的展示给用户的应用程序,在后续进行推荐模型预测时,会得到每个待推荐应用程序的曝光转化率。具体地,基于第一预设条件对所述多个应用程序进行筛选,确定至少两个待推荐应用程序之后,还包括:基于预设匹配规则将待推荐用户与所述至少两个待推荐应用程序进行匹配,其中,所述待推荐用户携带有用户标识。所述预设匹配规则包括但不限于推荐每个类目下排名靠前的热门待推荐应用程序(记为hot)、根据每个用户对淘宝类目的偏好推荐待推荐应用程序(记为u2c2i)、根据性别/年龄/城市/购买力/兴趣标签对用户进行分组,推荐同组用户点击的待推荐应用程序(记为u2g2i)和/或推荐与用户曾经点击的应用程序相似的待推荐应用程序(记为item-cf)。以所述预设匹配规则为推荐每个类目下排名靠前的热门应用程序为例,基于预设匹配规则将待推荐用户与所述至少两个待推荐应用程序进行匹配;即基于所述用户标识和所述应用程序的标识为待推荐用户推荐游戏类目下排名靠前十的热门应用程序为待推荐应用程序,使其该待推荐用户与推荐的待推荐应用程序相匹配。经过上述预设匹配规则匹配后,每个待推荐用户对应有数十个或数百个待推荐应用程序,然后基于每个待推荐用户的用户标识和待推荐应用程序的标识将每个待推荐用户匹配的待推荐应用程序记录在数据库中,例如hbase数据库。在接收到待推荐用户的曝光应用程序的推荐请求后,基于该待推荐用户的用户标识即可以在hbase数据库中查询到与之匹配的待推荐应用程序。步骤406:提取所述待推荐用户的用户特征以及所述至少两个待推荐应用程序的属性特征。所述用户特征和所述属性特征均包括离线特征和实时特征,其中,所述离线特征包括采集的所述待推荐用户以及所述待推荐应用程序的历史特征,所述实时特征包括采集的所述待推荐用户以及所述待推荐应用程序在当前时刻的特征。提取的所述用户特征和所述属性特征可以参见上述实施例,在此不做赘述。步骤408:将所述用户特征和所述属性特征输入到预先训练的推荐模型中,得到所述待推荐用户对每个匹配的待推荐应用程序的点击率。其中,所述推荐模型包括deepfm模型。实际应用中,提取的所述用户特征和所述属性特征的离线特征会同步到hbase数据库中,所述推荐模型预测所述待推荐用户对每个匹配的待推荐应用程序的点击率时,可以直接实时从hbase数据库中抽取待推荐用户的用户特征和每个匹配的待推荐应用程序的离线特征,再结合实时抽取的实时特征进行点击率预测,而采用推荐模型对所述待推荐用户对每个匹配的待推荐应用程序的点击率进行预测时候,会将所述属性特征进行记录形成特征日志并回流到odps中,然后再基于所述特征日志离线训练推荐模型,将训练好的推荐模型进行更新,实现所述推荐模型的不断优化。步骤410:基于所述点击率将所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。本说明书一个或多个实施例中,基于所述点击率将所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户包括:基于所述点击率对所述至少两个待推荐应用程序进行排序;基于预设推荐条件选择所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。所述排序包括但不限于降序排序,所述预设推荐条件包括但不限于选择排名前30的待推荐应用程序。实际应用中,基于所述点击率对所述至少两个待推荐应用程序进行排序;基于预设推荐条件选择所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。即可以为基于所述点击率对所述至少两个待推荐应用程序进行降序排序,然后将排名前30的待推荐应用程序作为曝光的应用程序推荐给待推荐用户,而该排名前30的待推荐应用程序即为真实曝光以及推荐给用户的应用程序。另一种实现方式中,基于所述点击率对所述至少两个待推荐应用程序进行排序之后,还包括:基于所述第二预设条件对所述至少两个待推荐应用程序进行筛选。其中,所述第二预设条件可以包括但不限于对预设黑名单中的应用程序进行选择并剔除。在基于所述第二预设条件对所述至少两个待推荐应用程序进行筛选的情况下,基于预设推荐条件选择所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户包括:基于预设推荐条件选择筛选后的所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光应用程序推荐给待推荐用户。即基于所述点击率对所述至少两个待推荐应用程序进行降序排序,然后将降序排序后的所述至少两个待推荐应用程序与预设黑名单中的应用程序进行匹配,若有匹配上的待推荐应用程序,则将该待推荐应用程序从降序排列的队列中剔除后,再选择点击率最高的前30个或前20个待推荐应用程序作为曝光的应用程序推荐给待推荐用户,以实现将最优的待推荐应用程序作为曝光的应用程序推荐给待推荐用户,提高用户体验。本说明书一个或多个实施例提供的一种推荐方法,首先将获取到的应用程序进行筛选即选品过滤,筛选出高质量的待推荐应用程序,然后利用hot/u2c2i/u2g2i/item-cf等策略将用户与待推荐应用程序进行匹配,避免花费大量人力来建立标签体系,并且多种匹配策略,更能覆盖到用户可能点击的待推荐应用程序,并且采用深度学习推荐模型deepfm根据待推荐用户和匹配的待推荐应用程序进行在线实时点击率预测,通过点击率为待推荐用户推荐合适的待推荐应用程序作为最终曝光的应用程序,有效的利用了实时特征,提升了推荐效果。实际应用中,还需要将本说明书中训练好的推荐模型部署到线上服务器进行应用程序的在线实时打分。一般采用的是arks平台,该平台提供了高性能在线排序和实时预估服务,高可用,且实现了负载均衡、异地容灾等诸多功能。当有用户请求应用程序推荐时,首先需要由检索模块依据用户标识user_id从hbase检索出先前在匹配阶段为该用户匹配的数百个候选应用程序即待推荐应用程序。并将该用户及待推荐应用程序的离线以及实时特征给推荐模型进行实时打分,得到该用户对每个待推荐应用程序的点击率。最后再根据待推荐应用程序的点击率进行降序排序,将排在最靠前的30个待推荐应用程序作为最终曝光的应用程序推荐展示给用户。此外,为避免给用户推荐一些不适合的曝光的应用程序,还可以设置黑名单过滤机制,将一些badcase的曝光的应用程序紧急过滤掉。参见图5,本说明书一个或多个实施例提供了一种推荐模型的训练装置,包括:第一获取模块502,被配置为获取至少两个样本用户的用户特征以及至少两个样本应用程序的属性特征;生成模块504,被配置为基于用户特征、属性特征生成样本用户对曝光的样本应用程序点击的正样本以及样本用户对曝光的样本应用程序未点击的负样本;训练模块506,被配置为基于包括至少一个正样本和负样本的样本集合对推荐模型进行训练,得到所述推荐模型,所述推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率。可选地,所述装置还包括:第一筛选模块,被配置为基于预设筛选规则将所述样本集合筛选为包括至少一个正样本和负样本的训练样本集合以及包括至少一个正样本和负样本的测试样本集合。可选地,所述训练模块506,进一步被配置为:基于所述包括至少一个正样本和负样本的训练样本集合对推荐模型进行训练。可选地,所述装置还包括:测试模块,被配置为基于包括至少一个正样本和负样本的测试样本集合对所述推荐模型进行测试。可选地,所述推荐模型包括deepfm模型。可选地,所述用户特征和所述属性特征均包括离线特征和实时特征,其中,所述离线特征包括采集的所述样本用户以及所述样本应用程序的历史特征,所述实时特征包括采集的所述样本用户以及所述样本应用程序在事件发生时的特征。本说明书一个或多个实施例提供的一种推荐模型的训练装置,包括第一获取模块502、生成模块504和训练模块506。使得训练得到的所述推荐模型deepfm从样本用户、样本应用程序以及场景等多个维度选取了离线特征及实时特征,极大的提高了deepfm推荐模型输出每个样本用户对每个曝光的样本应用程序的点击率的准确性。上述为本实施例的一种推荐模型的训练装置的示意性方案。需要说明的是,该推荐模型的训练装置的技术方案与上述的推荐模型的训练方法的技术方案属于同一构思,推荐模型的训练装置的技术方案未详细描述的细节内容,均可以参见上述推荐模型的训练方法的技术方案的描述。参见图6,本说明书一个或多个实施例还提供了一种推荐装置,包括:接收模块602,被配置为接收待推荐用户对曝光的应用程序的推荐请求,其中,所述待推荐用户携带有用户标识;确定模块604,被配置为基于所述用户标识确定与所述待推荐用户匹配的至少两个待推荐应用程序;提取模块606,被配置为提取所述待推荐用户的用户特征以及所述至少两个待推荐应用程序的属性特征;输出模块608,被配置为将所述用户特征和所述属性特征输入到预先训练的推荐模型中,得到所述待推荐用户对每个匹配的待推荐应用程序的点击率;推荐模块610,被配置为基于所述点击率将所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。可选地,所述装置还包括:第二获取模块,被配置为获取多个携带有标识的应用程序;第二筛选模块,被配置为基于第一预设条件对所述多个应用程序进行筛选,确定至少两个待推荐应用程序。可选地,所述装置还包括:匹配模块,被配置为基于预设匹配规则将待推荐用户与所述至少两个待推荐应用程序进行匹配,其中,所述待推荐用户携带有用户标识。可选地,所述推荐模型包括deepfm模型。可选地,所述提取模块606包括:排序子模块,被配置为基于所述点击率对所述至少两个待推荐应用程序进行排序;第三推荐子模块,被配置为基于预设推荐条件选择所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光的应用程序推荐给待推荐用户。可选地,所述装置还包括:第三筛选模块,被配置为基于所述第二预设条件对所述至少两个待推荐应用程序进行筛选;第三推荐子模块,进一步被配置为:基于预设推荐条件选择筛选后的所述至少两个待推荐应用程序中的至少一个待推荐应用程序作为曝光应用程序推荐给待推荐用户。可选地,所述用户特征和所述属性特征均包括离线特征和实时特征,其中,所述离线特征包括采集的所述待推荐用户以及所述待推荐应用程序的历史特征,所述实时特征包括采集的所述待推荐用户以及所述待推荐应用程序在当前时刻的特征。本说明书一个或多个实施例提供的一种推荐装置,首先将获取到的应用程序进行筛选即选品过滤,筛选出高质量的待推荐应用程序,然后利用hot/u2c2i/u2g2i/item-cf等策略将用户与待推荐应用程序进行匹配,避免花费大量人力来建立标签体系,并且多种匹配策略,更能覆盖到用户可能点击的待推荐应用程序,并且采用深度学习推荐模型deepfm根据待推荐用户和匹配的待推荐应用程序进行在线实时点击率预测,通过点击率为待推荐用户推荐合适的待推荐应用程序作为最终曝光的应用程序,有效的利用了实时特征,提升了推荐效果。上述为本实施例的一种推荐装置的示意性方案。需要说明的是,该推荐装置的技术方案与上述的推荐方法的技术方案属于同一构思,推荐装置的技术方案未详细描述的细节内容,均可以参见上述推荐方法的技术方案的描述。利用“达尔文”实验室的ab测试平台对本说明书中提供的匹配规则、用户特征以及采用deepfm模型的推荐模型进行了线上对比实验。得出如下对比为结果,主要对比指标:uv点击率(点击人数/曝光人数)。1、匹配规则实验a)hot和u2c2i共同匹配比只用hot匹配,uv点击率提升9.93%(15.11%-->16.61%)。b)hot、u2c2i、u2g2i和item-cf共同匹配相比hot与u2c2i共同匹配,uv点击率提升10.86%(28.18%-->31.25%)。实验充分的说明,采用多个匹配规则进行匹配,能够显著的提升uv点击率。2、模型实验对deepfm模型以及推荐系统用得比较多的现有的wide&deep模型、attentionfm模型进行了线上对比实验,模型训练的输入特征及样本数据完全一样。实验结果见下表1,以wide&deep作为基准,可以看出attentionfm和deepfm在uv点击率优于wide&deep模型,且deepfm在uv点击率上是最优的。表1uv点击率相对提升wide&deep29.57%-attentionfm30.34%2.58%deepfm30.37%2.69%本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述推荐模型的训练方法或所述推荐方法的步骤。上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的推荐模型的训练方法或所述推荐方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述推荐模型的训练方法或所述推荐方法的技术方案的描述。上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属
技术领域
技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1