一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于自动特征分组的推荐方法及装置与流程

2021-10-23 00:22:00 来源:中国专利 TAG:人工智能 分组 装置 特征 方法


1.本技术涉及人工智能领域,尤其涉及一种基于自动特征分组的推荐方法及装置。


背景技术:

2.个性化推荐系统通过对用户本身和用户行为信息的分析,达到对用户行为进行准确预 测的目的。良好的推荐系统不仅影响到用户体验,更同时直接影响企业的收益。因此用户 行为预测具有重要的意义。
3.在所有的用户行为预测中,广告点击率预测是用户行为预测的一个重要场景。在广告 点击率预测场景中,推荐系统通过分析用户对广告的点击历史,在广告商提供的候选广告 中预测用户点击每个广告的可能性,并向用户展示点击可能性最高的广告,以此提高广告 点击率。广告点击历史数据通常会包含非常多的信息。这些信息属于不同类别,如用户年 龄、性别,城市,星期,时间,ip地址等。我们将这些具体的信息称为特征,而这些特征 各自的类别称为特征类。不同特征之间存在着复杂的交互关系。如何挖掘特征与特征之间 的联系,就成为了提高个性化推荐系统预测正确率的一个重要挑战。
4.现有模型对于离散特征之间交互的处理方法可以分为三类:
5.方法1、完全忽视特征交互,不在模型中对特征交互进行建模;方法2、对特征交互 使用神经网络等模型进行隐式建模;方法3、对特征交互通过模型结构进行显式建模,其 中,根据每个交互中涉及特征的个数分为以下两种:
6.方法3.1、显式二阶交互模型:枚举所有的两两交互,每个交互仅仅包含2个特征;
7.方法3.2、显式高阶交互模型:枚举所有的高阶交互,每个交互包含多于2个特征。
8.方法1完全忽视了特征之间的交互;方法2使用隐式神经网络建模的做法无法较好的 解释特征之间的交互情况;方法3虽然对于不同阶的特征交互进行了显式建模,但两种方 法3.1和3.2都是简单的枚举出当前阶所有的特征交互,这其中会存在两个问题:其一,并 不是所有的特征交互是有用的,冗余的特征交互需要模型自动鉴别出来,这可能会对模型 的优化产生副作用,从而降低模型的效果;其二,在高阶时,由于其组合个数过多,直接 枚举对带来巨大的训练时间开销和存储开销。


技术实现要素:

9.本技术实施例提供一种基于自动特征分组的推荐方法及装置。在本技术实施例的方案 中,通过对候选推荐对象的关联特征进行自动特征分组和特征交互,能够自动地寻找重要 的高阶交互信息,提高了推荐的精确性。
10.第一方面,本技术实施例提供一种基于自动特征分组的推荐方法,包括:
11.获取多个候选推荐对象及多个候选推荐对象中每个候选推荐对象的多个关联特征;对 多个候选推荐对象中每个候选推荐对象的多个关联特征进行多阶自动特征分组,以得到每 个候选推荐对象的多阶特征交互集合,多个候选推荐对象中每个候选推荐对象的多阶特征 交互集合中的每阶特征交互集合包括一个或多个特征交互组,该一个或多个特
维的特征向量的集合。
26.其中,对于特征向量v的k次方操作(v)
k
定义为先对特征向量的每个数进行k次方的 操作,得到每个数的k次方结果,然后再将所有数的k次方结果相加得到一个实数值。
27.通过上述设计的交互函数使得任何指定特征交互组都能生成给定阶的特征交互, 该交互函数的实现高效和简单,并能够在不同的推荐任务中得到推广。
28.在一个可能的实施例中,根据候选推荐对象的多阶特征交互集合中的特征交互组对应 阶的交互结果计算得到候选推荐对象的交互特性贡献值,包括:
29.根据每个候选推荐对象的多阶特征交互集合中的特征交互组对应阶的交互结果获取交 互特征向量;将候选推荐对象的交互特征向量输入到神经网络模型中进行计算,以得到该 候选推荐对象的交互特性贡献值;其中,神经网络模型是基于全连接神经网络得到的。
30.通过神经网络模型对交互特征向量的进行进一步处理,能够挖掘出关联特征中潜在的 难以发觉的特征交互信息,从而进一步提升推荐的精确性。
31.在一个可能的实施例中,对多个候选推荐对象中每个候选推荐对象的多个关联特征进 行多阶自动特征分组,以得到每个候选推荐对象的多阶特征交互集合,包括:
32.将多个候选推荐对象中每个候选推荐对象的多个关联特征输入到自动特征分组模型中 进行处理,以得到每个候选推荐对象的多阶特征交互集合。
33.进一步地,将多个候选推荐对象中每个候选推荐对象的多个关联特征输入到自动特征 分组模型中进行处理,以得到每个候选推荐对象的多阶特征交互集合
34.对于每个候选推荐对象的第k阶特征交互,获取每个候选推荐对象的多个关联特征中 的每个关联特征的分配概率,该候选推荐对象的多个关联特征中每个关联特征的分配概率 为该关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概率;第j个特征交互 组为第k阶特征交互集合中的任一个特征交互组;根据每个候选推荐对象的多个关联特征 中的每个关联特征的分配概率获取每个候选推荐对象的第k阶特征交互集合。
35.其中,上述关联特征被分配到第k阶特征交互集合中第j个特征交互组中均匀分布、 正态分布或者均方分布等,因此该关联特征的分配概率可以基于均匀分布、正态分布或者 均方分布概率函数得到。
36.在此需要说明的是,由于基于关联特征的分配概率对该关联特征进行分组操作是一个 离散过程,因此为了使该分组操作连续化,对关联特征的分配概率进行处理,得到处理后 的概率,即分配值,再基于该分配值对该关联特征进行分组。
37.具体地,根据候选推荐对象的多个关联特征中的每个关联特征的分配概率获取候选推 荐对象的第k阶特征交互集合,包括:
38.根据候选推荐对象的多个关联特征中的每个关联特征的分配概率确定该关联特征的分 配值,该分配值为每个关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概 率;若该关联特征的分配值大于预设阈值,则将该关联特征分配到k阶特征交互集合中的 第j个特征交互组中;若该关联特征的分配值不大于预设阈值,则不将该关联特征分配到k 阶特征交互集合中的第j个特征交互组中。
39.可选地,对关联特征的分配概率进行处理的方式可以为:gumbel-softmax操作,当然 可以为其他操作。其中,分配值可通过以下来表示:
[0040][0041]
其中,α0表示不将候选推荐对象a的多个关联特征中的第i 个关联特征分到第k阶特征交互集合中的第j个特征交互组中的概率,α0表示将候选推荐 对象a的多个关联特征中的第i个关联特征分到第k阶特征交互集合中的第j个特征交互 组中的概率;g
o
是服从gumbel分布的随机数。根据和的大小关系确定是否将 上述第i个关联特征分配到第k阶特征交互集合中的第j个特征交互组。在和中, 与之和为1,若较大,则选择不将多个关联特征中的第i个关联特征分 配到第k阶特征交互集合中的第j个特征交互组中,若较大,则选择将第i个关联特 征分配到第k阶特征交互集合中的第j个特征交互组中。
[0042]
其中,为上述分配值。可选地,当大于预设阈值时,选择将第i个关联特 征分配到第k阶特征交互集合中的第j个特征交互组中;当不大于预设阈值时,选择 不将第i个关联特征分配到第k阶特征交互集合中的第j个特征交互组中。
[0043]
上述预设阈值可以为0.5,0.6,0.7或者其他值,优先选择0.5。
[0044]
其中,go=-log-logu,其中u可以服从均匀分布,还可以服从均方分布或者正态分布。
[0045]
通过对关联特征进行自动特征分组,能够自动地寻找重要的高阶交互信息,基于该高 阶交互信息进行推荐,可提高推荐对象的精确性。
[0046]
第二方面,本技术实施例提供一种基于预测模型的训练方法,包括:
[0047]
获取训练样本数据,该训练样本数据包括多个候选推荐对象样本及用户点击的推荐对 象样本;并获取多个候选推荐对象样本中每个候选推荐样本的多个关联特征;将多个候选 对象样本中每个候选推荐对象样本的多个关联特征输入到多阶自动特征分组模型中进行自 动特征分组,以得到每个候选推荐对象样本的多阶特征交互集合;多个候选推荐对象样本 中每个候选推荐对象样本的多阶特征交互集合中每阶特征交互集合包括一个或多个特征交 互组,该一个或多个特征交互组中每个特征交互组包括候选推荐对象样本b的多个关联特 征中的至少一个;多阶特征交互集合中的k阶特征交互集合中的每个特征交互组中,参与 非线性数学运算的关联特征的数量为k,k为大于0的整数;将多个候选推荐对象样本中每 个候选推荐对象样本的多阶特征交互集合输入到特征交互模型中进行计算,以得到每个候 选推荐对象样本的交互特征贡献值;根据多个候选推荐对象中每个候选推荐对象的交互特 征贡献值计算得到每个候选推荐对象的预测分数;根据最大预测分数对应的候选推荐对象 样本和用户点击对象样本对自动特征分组模型和特征交互模型中的参数分别进行调整,以 得到调整后的自动特征分组模型和调整后的特征交互模型。
[0048]
可选地,非线性数学运算可以为向量内积、矩阵相乘或者其他形式的非线性数学运算。
[0049]
其中,多个候选推荐对象样本可以是在训练时专用的训练数据,也可以是在进行
历史 推荐时的候选推荐对象样本。
[0050]
通过自动特征分组,能够在训练时自动地寻找重要的高阶交互信息,从而减少训练时 的优化难度,大幅度提升预测模型的精度。
[0051]
在一个可行的实施中,将多个候选推荐对象样本中每个候选推荐对象样本的多阶特征 交互集合输入到特征交互模型中进行计算,以得到每个候选推荐对象样本的交互特征贡献 值,包括:
[0052]
对于每个候选推荐对象样本的多阶特征交互集合,根据第k阶特征交互集合中的每个 特征交互组中的关联特征计算得到该特征交互组第k阶的交互结果;第k阶特征交互集合 为候选推荐对象样本的多阶特征交互集合中的任一阶特征交互集合;根据候选推荐对象样 本的多阶特征交互集合中的特征交互组对应阶的交互结果计算得到候选推荐对象样本的交 互特性贡献值。
[0053]
在一个可行的实施中,根据第k阶特征交互集合中的每个特征交互组中的关联特征计 算得到该特征交互组第k阶的交互结果,包括:
[0054]
对第k阶特征交互集合中的每个特征交互组执行如下步骤:
[0055]
获取每个特征交互组内每个关联特征的特征向量及该特征向量对应的权重;将该特征 交互组内每个关联特征的特征向量与该特征向量对应的权重进行加权求和得到该特征交互 组的特征值;根据该特征交互组内每个关联特征的特征向量及其对应的权重和该特征交互 组的特征值确定该特征交互组第k阶的交互结果。
[0056]
在一个可行的实施中,根据候选推荐对象样本的多阶特征交互集合中的特征交互组对 应阶的交互结果计算得到候选推荐对象样本的交互特性贡献值,包括:
[0057]
根据每个候选推荐对象样本的多阶特征交互集合中的特征交互组对应阶的交互结果获 取交互特征向量;将交互特征向量输入到神经网络模型中进行计算,以得到候选推荐对象 样本的交互特性贡献值,其中,神经网络模型是基于全连接神经网络得到的。
[0058]
通过神经网络模型对交互特征向量的进行进一步处理,能够挖掘出关联特征中潜在的 难以发觉的特征交互信息,从而进一步提升推荐的精确性。
[0059]
在一个可行的实施中,根据最大预测分数对应的候选推荐对象样本和用户点击对象样 本对自动特征分组模型和特征交互模型中的参数分别进行调整,以得到调整后的自动特征 分组模型和调整后的特征交互模型,包括:
[0060]
根据最大预测分数对应的候选推荐对象样本和用户点击对象样本对自动特征分组模型、 特征交互模型中的参数和神经网络中的参数分别进行调整,以得到调整后的自动特征分组 模型、调整后的特征交互模型和调整后的神经网络模型。
[0061]
在一个可行的实施中,将多个候选对象样本中每个候选推荐对象样本的多个关联特征 输入到自动特征分组模型中进行多阶自动特征分组,以得到每个候选推荐对象样本的多阶 特征交互集合,包括:
[0062]
对于每个候选推荐对象样本的第k阶特征交互,获取候选推荐对象样本的多个关联特 征中的每个关联特征的分配概率,候选推荐对象样本的多个关联特征中每个关联特征的分 配概率为该关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概率;第j个特 征交互组为第k阶特征交互集合中的任一个特征交互组;根据候选推荐对象a的多个关联 特征中的每个关联特征的分配概率获取候选推荐对象样本的第k阶特征交互集合。
[0063]
在一个可行的实施中,根据候选推荐对象样本的多个关联特征中的每个关联特征的分 配概率获取候选推荐对象样本的第k阶特征交互集合,包括:
[0064]
根据候选推荐对象样本b的多个关联特征中的每个关联特征的分配概率确定该关联特 征的分配值,该分配值为每个关联特征被分配到第k阶特征交互集合中第j个特征交互组 中的概率;若该关联特征的分配值大于预设阈值,则将该关联特征分配到k阶特征交互集 合中的第j个特征交互组中;若该关联特征的分配值不大于预设阈值,则不将该关联特征 分配到k阶特征交互集合中的第j个特征交互组中。
[0065]
第三方面,本技术实施例提供一种基于自动特征分组的推荐装置,包括:
[0066]
获取单元,用于获取多个候选推荐对象及多个候选推荐对象中每个候选推荐对象的多 个关联特征;
[0067]
自动特征分组单元,用于对多个候选推荐对象中每个候选推荐对象的多个关联特征进 行自动特征分组,以得到每个候选推荐对象的多阶特征交互集合,多个候选推荐对象中每 个候选推荐对象的多阶特征交互集合中的每阶特征交互集合包括一个或多个特征交互组, 一个或多个特征交互组中的每个特征交互组包括该候选推荐对象的多个关联特征中的至少 一个;多阶特征交互集合中的k阶特征交互集合中的每个特征交互组中,参与非线性数学 运算的关联特征的数量为k,k为大于0的整数;
[0068]
计算单元,用于根据多个候选推荐对象中每个候选推荐对象的多阶特征交互集合中的 多个关联特征计算得到每个候选推荐对象的交互特性贡献值;并根据多个候选推荐对象中 每个候选推荐对象的交互特性贡献值计算得到每个候选推荐对象的预测分数;
[0069]
确定单元,用于将多个候选对象中,预测分数较高的一个或多个对应的候选推荐对象 确定为目标推荐对象。
[0070]
在一个可行的实施例中,在根据多个候选推荐对象中每个候选推荐对象的多阶特征交 互集合中的多个关联特征计算得到每个候选推荐对象的交互特性贡献值的方面,计算单元 具体用于:
[0071]
对于多个候选推荐对象中的每个候选推荐对象的多阶特征交互集合:
[0072]
根据k阶特征交互集合中的每个特征交互组中的多个关联特征计算得到该特征交互组 第k阶的交互结果;根据每个候选推荐对象的多阶特征交互集合中的特征交互组对应阶的 交互结果计算得到每个候选推荐对象的交互特性贡献值。
[0073]
在一个可行的实施例中,在根据k阶特征交互集合中的每个特征交互组中的多个关联 特征计算得到该特征交互组第k阶的交互结果的方面,计算单元具体用于:
[0074]
将k阶特征交互集合中的每个特征交互组中的多个关联特征输入到特征交互模型中进 行计算,以得到每个特征交互组第k阶的交互结果。
[0075]
在一个可行的实施例中,在将k阶特征交互集合中的每个特征交互组中的多个关联特 征输入到特征交互模型中进行计算,以得到每个特征交互组第k阶的交互结果的方面,计 算单元用于:
[0076]
对第k阶特征交互集合中每个特征交互组执行如下步骤:
[0077]
获取每个特征交互组内每个关联特征的特征向量及该特征向量对应的权重;将该特征 交互组内每个关联特征的特征向量与其对应的权重进行加权求和得到该特征交互组的特征 值;根据该特征交互组内每个关联特征的特征向量及该特征向量对应的权重和该
特征交互 组的特征值确定该特征交互组第k阶的交互结果。
[0078]
在一个可行的实施例中,在根据候选推荐对象a的多阶特征交互集合中的特征交互组 对应阶的交互结果计算得到候选推荐对象a的交互特性贡献值的方面,计算单元用于:
[0079]
根据每个候选推荐对象的多阶特征交互集合中的特征交互组对应阶的交互结果获取交 互特征向量;将交互特征向量输入到神经网络模型中进行计算,以得到该候选推荐对象的 交互特性贡献值;其中,神经网络模型是基于全连接神经网络得到的。
[0080]
在一个可行的实施例中,自动特征分组单元具体用于:
[0081]
将多个候选推荐对象中每个候选推荐对象的多个关联特征输入到自动特征分组模型中 进行处理,以得到每个候选推荐对象的多阶特征交互集合。
[0082]
具体地,自动特征分组单元具体用于:
[0083]
对于每个候选推荐对象的第k阶特征交互,获取每个候选推荐对象a的多个关联特征 中的每个关联特征的分配概率,该候选推荐对象的多个关联特征中每个关联特征的分配概 率为每个关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概率;第j个特征 交互组为第k阶特征交互集合中的任一个特征交互组;根据每个候选推荐对象的多个关联 特征中的每个关联特征的分配概率获取每个候选推荐对象a的第k阶特征交互集合。
[0084]
进一步地,在根据候选推荐对象的多个关联特征中的每个关联特征的分配概率获取候 选推荐对象a的第k阶特征交互集合的方面,自动特征分组单元具体用于:
[0085]
根据候选推荐对象a的多个关联特征中的每个关联特征的分配概率确定该关联特征的 分配值;该分配值为每个关联特征被分配到第k阶特征交互集合中第j个特征交互组中的 概率;若该关联特征的分配值大于预设阈值,则将该关联特征分配到k阶特征交互集合中 的第j个特征交互组中;若该关联特征的分配值不大于;,则不将该关联特征分配到k阶特 征交互集合中的第j个特征交互组中。
[0086]
可选地,非线性数学运算可以为向量内积、矩阵相乘或者其他非线性数学运算。
[0087]
第四方面,本技术实施例提供一种预测模型训练设备,包括:
[0088]
获取单元,用于获取训练样本数据,该训练样本数据包括多个候选推荐对象样本及用 户点击的推荐对象样本;并获取多个候选推荐对象样本中每个候选推荐样本的多个关联特 征;
[0089]
自动特征分组单元,用于将多个候选对象样本中每个候选推荐对象样本的多个关联特 征输入到多阶自动特征分组模型中进行自动特征分组,以得到每个候选推荐对象样本的多 阶特征交互集合;多个候选推荐对象样本中每个候选推荐对象样本的多阶特征交互集合中 每阶特征交互集合包括一个或多个特征交互组,一个或多个特征交互组中每个特征交互组 包括候选推荐对象样本的多个关联特征中的至少一个;多阶特征交互集合中的k阶特征交 互集合中的每个特征交互组中,参与非线性数学运算的关联特征的数量为k,k为大于0的 整数;
[0090]
计算单元,用于将多个候选推荐对象样本中每个候选推荐对象样本的多阶特征交互集 合输入到特征交互模型中进行计算,以得到每个候选推荐对象样本的交互特征贡献值;并 根据多个候选推荐对象中每个候选推荐对象的交互特征贡献值计算得到每个候选推荐对象 的预测分数;
[0091]
调整单元,用于根据最大预测分数对应的候选推荐对象样本和用户点击对象样本对自 动特征分组模型和特征交互模型中的参数分别进行调整,以得到调整后的自动特征分组模 型和调整后的特征交互模型。
[0092]
可选地,非线性数学运算可以为向量内积、矩阵相乘或者其他非线性数学运算。
[0093]
在一个可行的实施例中,在将多个候选推荐对象样本中每个候选推荐对象样本的多阶 特征交互集合输入到特征交互模型中进行计算,以得到每个候选推荐对象样本的交互特征 贡献值的方面,计算单元具体用于:
[0094]
对于每个候选推荐对象样本的多阶特征交互集合,根据第k阶特征交互集合中的每个 特征交互组中的关联特征计算得到该特征交互组第k阶的交互结果;第k阶特征交互集合 为候选推荐对象样本的多阶特征交互集合中的任一阶特征交互集合;根据候选推荐对象样 本的多阶特征交互集合中的特征交互组对应阶的交互结果计算得到候选推荐对象样本b的 交互特性贡献值。
[0095]
在一个可行的实施例中,在根据第k阶特征交互集合中的每个特征交互组中的关联特 征计算得到该特征交互组第k阶的交互结果的方面,计算单元具体用于:
[0096]
对第k阶特征交互集合中的每个特征交互组执行如下步骤:
[0097]
获取每特征交互组内每个关联特征的特征向量及该特征向量对应的权重;将该特征交 互组内每个关联特征的特征向量与其对应的权重进行加权求和得到该特征交互组的特征值; 根据该特征交互组内每个关联特征的特征向量及该特征向量对应的权重和该特征交互组的 特征值确定该特征交互组第k阶的交互结果。
[0098]
在一个可行的实施例中,在根据候选推荐对象样本的多阶特征交互集合中的特征交互 组对应阶的交互结果计算得到候选推荐对象样本的交互特性贡献值的方面,计算单元具体 用于:
[0099]
根据每个候选推荐对象样本的多阶特征交互集合中的特征交互组对应阶的交互结果获 取交互特征向量;将交互特征向量输入到神经网络模型中进行计算,以得到候选推荐对象 样本的交互特性贡献值,其中,神经网络模型是基于全连接神经网络得到的。
[0100]
在一个可行的实施例中,调整单元具体用于:
[0101]
根据最大预测分数对应的候选推荐对象样本和用户点击对象样本对自动特征分组模型、 特征交互模型中的参数和神经网络中的参数分别进行调整,以得到调整后的自动特征分组 模型、调整后的特征交互模型和调整后的神经网络模型。
[0102]
可选地,自动特征分组单元具体用于:
[0103]
对于每个候选推荐对象样本的第k阶特征交互,获取候选推荐对象样本的多个关联特 征中的每个关联特征的分配概率,候选推荐对象样本的多个关联特征中每个关联特征的分 配概率为该关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概率;第j个特 征交互组为第k阶特征交互集合中的任一个特征交互组;根据候选推荐对象a的多个关联 特征中的每个关联特征的分配概率获取候选推荐对象样本的第k阶特征交互集合。
[0104]
在一个可行的实施例中,根据候选推荐对象样本的多个关联特征中的每个关联特征的 分配概率获取候选推荐对象样本的第k阶特征交互集合的方面,自动特征分组单元具体用 于:
[0105]
根据候选推荐对象样本的多个关联特征中的每个关联特征的分配概率确定该关
联特征 的分配值;该分配值为每个关联特征被分配到第k阶特征交互集合中第j个特征交互组中 的概率;若该关联特征的分配值大于预设阈值,则将该关联特征分配到k阶特征交互集合 中的第j个特征交互组中;若该关联特征的分配值不大于预设阈值,则不将该关联特征分 配到k阶特征交互集合中的第j个特征交互组中。
[0106]
第五方面,本技术实施例提供另一种基于自动特征分组的推荐装置,包括:
[0107]
存储器,用于存储指令;以及
[0108]
至少一台处理器,与所述存储器耦合;
[0109]
其中,当所述至少一台处理器执行所述指令时,所述指令致使所述处理器执行如第一 方面所述的部分或者全部方法。
[0110]
第六方面,本技术实施例提供另一种预测模型的训练设备,包括:
[0111]
存储器,用于存储指令;以及
[0112]
至少一台处理器,与所述存储器耦合;
[0113]
其中,当所述至少一台处理器执行所述指令时,所述指令致使所述处理器执行如第二 方面所述的部分或者全部方法。
[0114]
第七方面,本技术实施例提供一种芯片系统,该芯片系统应用于电子设备;所述芯片 系统包括一个或多个接口电路,以及一个或多个处理器;所述接口电路和所述处理器通过 线路互联;所述接口电路用于从所述电子设备的存储器接收信号,并向所述处理器发送所 述信号,所述信号包括所述存储器中存储的计算机指令;当所述处理器执行所述计算机指 令时,所述电子设备执行如第一方面或者第二方面所述的部分或者全部方法。
[0115]
第八方面,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有计算 机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执 行如第一方面或第二方面所述的部分或者全部方法。
[0116]
第九方面,本技术实施例提供一种计算机程序产品,包括计算机指令,当所述计算机 指令在推荐装置上运行时,使得所述推荐装置执行如第一方面或第二方面所述的部分或者 全部方法。
[0117]
本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
[0118]
为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。
[0119]
图1a为本技术实施例提供的一种推荐系统架构示意图;
[0120]
图1b为本技术实施例提供的另一种推荐系统架构的示意图;
[0121]
图1c为本技术实施例提供的另一种推荐系统架构的示意图;
[0122]
图2为本技术实施例提供的一种基于自动特征分组的推荐方法的流程示意图;
[0123]
图3为一种神经网络模型示意图;
[0124]
图4为本技术实施例提供的一种推荐装置的结构示意图;
[0125]
图5为本技术实施例提供的另一种推荐装置的结构示意图;
[0126]
图6为本技术实施例提供的一种预测模型训练方法的流程示意图;
[0127]
图7为本技术实施例提供的另一种推荐装置的结构示意图;
[0128]
图8为本技术实施例提供的一种预测模型训练设备的结构示意图;
[0129]
图9为本技术实施例提供的另一种推荐装置的结构示意图;
[0130]
图10为本技术实施例提供的另一种预测模型训练设备的结构示意图。
具体实施方式
[0131]
首先需要说明的是,本技术中“对多个对象(比如说m个对象)中的每个对象进行第 一操作”与“对多个对象中的第j个对象进行第一操作,其中,j=1,2,

,m”两者所表达的 意思相同。
[0132]
下面结合附图对本技术的实施例进行描述。
[0133]
参见图1a,图1a为本技术实施例提供的一种推荐系统的架构示意图。如图1a所示, 该推荐系统包括预测模型、学习模块和日志数据库。
[0134]
每当用户触发一个请求,推荐系统会将该请求以及对应的信息输入到预测模型中。预 测模型会根据输入的各个特征对用户行为进行预测,并给出每个行为的预测分数,推荐系 统会根据预测分数找到用户最有可能的行为并进行推荐。同时用户的实际行为(比如点击 推荐对象或者未点击推荐对象)会存入到日志数据库中作为训练数据,通过学习模块不断 更新预测模型的参数,提高模型的预测效果。本技术对应于推荐系统的预测模型部分。
[0135]
比如用户打开手机应用市场就会触发应用市场给出推荐应用,应用市场就会根据用户 历史的下载记录,应用自身特征,时间、地点等环境特征等等信息,预测用户下载给定的 各个候选应用的可能性。根据计算得到的结果可以将用户最可能下载的应用展示出来,以 供用户下载,从而达到提高应用的下载率的效果。而用户的每次点击也会存入日志并通过 学习模块对预测模型的参数进行训练与更新。
[0136]
参见附图1b,本技术实施例提供了另一种推荐系统架构100。数据采集设备150用于 从网络中采集多个训练样本数据和训练样本数据的多个关联特征并存入数据库130,其中, 每个训练样本数据包括多个推荐对象样本及用户点击的推荐对象样本;训练设备120基于 数据库130中维护的训练样本数据及其多个关联特征训练得到预测模型101。计算模块111 根据预测模型101得到候选推荐对象的预测分数,预测分数越高,候选推荐对象被用户点 击的可能性越高;然后基于预测分数判断是否向用户推荐上述候选推荐对象。下面将更详 细地描述训练设备120如何基于训练样本数据及其多个关联特征得到预测模型101。
[0137]
其中,预测模型包括自动特征分组模型、特征交互模型、神经网络模型和预测整合模 型,训练设备120通过自动特征分组模型对多个候选推荐对象样本中的每个候选推荐对象 样本的多个关联特征进行分组,得到该候选推荐对象样本的多阶特征交互集合,多阶特征 交互集合中每阶特征交互集合中包括一个或多个特征交互组,每个特征交互组中包括该候 选推荐对象样本的多个关联特征中的至少一个;训练设备120通过特征交互模型对多个候 选推荐对象样本中的每个候选推荐对象样本对的多阶特征交互集合中的特征交互组内的多 个关联特征进行交互,以得到该候选推荐对象样本的交互特征向量;训练设备120通过神 经网络模型对输入的每个候选推荐对象样本的特征交互向量进行计算得到该候选
推荐对象 样本的交互特性贡献值,训练设备120通过预测整合模型和交互特征贡献值得到上述每个 候选推荐对象样本的预测分数。
[0138]
在训练设备120对预测模型进行训练的过程中,按照上述过程,根据多个候选推荐对 象样本中每个候选推荐对象样本的多个关联特征得到该候选推荐对象样本的预测分数,然 后基于预测分数及用户点击的推荐对象样本调整预测模型中的各个参数,得到调整后的预 测模型;按照上述过程循环往复多次,可得到最终的预测模型。
[0139]
由于是对自动特征分组模型、特征交互模型、神经网络模型和预测整合模型同时进行 训练,上述训练过程可以看成是一个联合训练的过程。
[0140]
训练设备120得到的预测模型101可以应用不同的系统或设备中。在附图1b中,执行 设备110配置有i/o接口112,与外部设备进行数据交互,比如向用户设备140发送目标推 荐对象,“用户”可以通过用户设备140向i/o接口112输出用户的反馈信息,该反馈信息 为用户点击的推荐对象。
[0141]
计算模块111使用预测模型101进行推荐。具体地,计算模块111获取多个推荐对象 及其每个候选推荐对象的多个关联特征后,将每个候选推荐对象的多个关联特征输入到预 测模型中进行计算,以得到该候选推荐对象的预测分数;再将预测分数中较高的一个或多 个对应的候选推荐对象确定为目标推荐对象。
[0142]
最后,若执行设备110确定向用户推荐上述目标推荐对象,则通过i/o接口112将目 标推荐对象返回给用户设备140,以提供给用户。
[0143]
更深层地,训练设备120可以针对不同的目标,基于不同的数据生成相应的预测模型 101,以给用户提供更佳的结果。
[0144]
在附图1b中所示情况下,用户可以在用户设备140查看执行设备110输出的目标推荐 对象,具体的呈现形式可以是显示、声音、动作等具体方式。用户设备140也可以作为数 据采集端将采集到训练样本数据存入数据库130。
[0145]
值得注意的,附图1b仅是本技术实施例提供的一种系统架构的示意图,图中所示设备、 器件、模块等之间的位置关系不构成任何限制。
[0146]
训练设备120从数据库130中获取采样得到一个或多个回合的推荐信息,该推荐信息 包括目标推荐对象和用户反馈信息,并根据该一个或多个回合的推荐信息训练预测模型101。
[0147]
在一个可能的实施例中,上述预测模型101的训练是离线进行的,即训练设备120和 数据库独立于用户设备140和执行设备110;比如训练设备120是一个第三方服务器,在执 行设备110在进行工作之前,从第三方服务器中获取上述预测模型101。
[0148]
在一个可能的实施例中,上述训练设备120与执行设备110集成在一起的,且执行设 备110置于用户设备140中的。
[0149]
参见附图1c,本技术实施例提供了另一种推荐系统架构示意图。如图1c所示,该推荐 系统架构包括用户设备210、推荐装置220和预测装置230。
[0150]
当用户在触发一个推荐指令后,比如用户打开用户设备210上的应用商店,用户设备 210向推荐装置220发送推荐请求。推荐装置220接收到推荐请求后,向预测装置230发 送候选推荐对象,比如各种应用;预测装置230根据预测模型101获取各个应用的预测分 数,并将各个应用的预测分数发送至推荐装置220;推荐装置230根据各个应用的预测分 数
向用户设备210发送推荐的应用。
[0151]
用户设备210记录用户点击的应用,并将该应用通过推荐装置220反馈至预测装置230, 或者直接反馈至预测装置230,预测装置230根据用户点击的应用及该应用的预测分数训 练预测模型。
[0152]
参见图2,图2为本技术实施例提供的一种基于自动特征分组的推荐方法的流程示意 图。如图2所示,该方法包括:
[0153]
s201、获取多个候选推荐对象及多个候选推荐对象中每个候选推荐对象的多个关联特 征。
[0154]
其中,比如候选推荐对象为用户历史点击过的对象,或者是与用户历史点击对象相关 的对象。比如应用市场中,候选推荐对象为用户点击查看过的应用或者用户历史下载过的 应用,或者与用户历史点击下载过的或者点击查看的应用的类型相同的应用。再比如新闻 资讯中,候选推荐对象为用户点击查看的新闻资讯或者与用户点击查看过的新闻资讯的类 型相同的新闻资讯。
[0155]
候选推荐对象的关联特征包括候选推荐对象的属性,比如候选推荐对象为广告,则广 告的属性包括广告类型、广告品牌、广告的展示地点和时间等;候选推荐对象的关联特征 还可以包括用户的属性,比如用户的性别和年龄等信息。当然候选推荐对象的关联特征还 包括其他相关信息,在此不再一一列举。
[0156]
假设候选推荐对象为广告,则广告的关联特征可以包括展示广告的地点、时间和广告 品牌;再比如候选推荐对象为新闻资讯,则新闻资讯的关联特征可以包括展示新闻资讯的 地点、时间、新闻资讯简介、用户类型等。
[0157]
举例说明,以两条简单的广告点击数据为例:
[0158][0159]
北京,周二,17:00,耐克
[0160][0161]
上海,周日,11:20,肯德基
[0162][0163]
北京、耐克等是具体的关联特征,而上海、北京为城市这一特征类下的具体特征。上 述数据分别表示广告展示的地点、星期、时间、广告品牌。因此第二行展示了在周日上午 11:20向上海的一位用户推送了一次肯德基广告。
[0164][0165]
在此需要说明的是,候选推荐对象及其多个关联特征可以是从推荐装置的日志数据库 中获取的,还可以是从用户终端中获取的。
[0166]
采用这些数据按照图1b所述的方式对预测模型进行训练。
[0167]
s202、对多个候选推荐对象的每个候选推荐对象的多个关联特征进行自动特征分组, 以得到该候选推荐对象的多阶特征交互集合。
[0168]
其中,上述多个候选推荐对象中任一个候选推荐对象a的多阶特征交互集合中的每阶 特征交互集合包括一个或多个特征交互组,该一个或多个特征交互组中的每个特征交互组 包括上述候选推荐对象a的多个关联特征中的至少一个。
[0169]
在此需要说明的是,多阶特征交互集合中k阶特征交互集合中的每个特征交互组
中, 参与非线性数学运算的关联特征的数量为k,k为大于0的整数。
[0170]
可选地,在一个可行的实施例中,对多个候选推荐对象中每个候选推荐对象的多个关 联特征进行自动特征分组,以得到该候选推荐对象的多阶特征交互集合,包括:
[0171]
将多个候选推荐对象中每个候选推荐对象的多个关联特征输入到自动特征分组模型中 进行处理,以得到每个候选推荐对象的多阶特征交互集合。
[0172]
具体地,将多个候选推荐对象中每个候选推荐对象的多个关联特征输入到自动特征分 组模型中进行处理,以得到每个候选推荐对象的多阶特征交互集合,具体包括:
[0173]
对于候选推荐对象a的第k阶特征交互,获取候选推荐对象a的多个关联特征中的每 个关联特征的分配概率,候选推荐对象a的多个关联特征中的每个关联特征的分配概率为 该关联特征被分配到第k阶特征交互集合中第j个特征交互中的概率,第j个特征交互组为 第k阶特征交互集合中的任一个特征交互组;根据候选推荐对象a的多个关联特征中的每 个关联特征的分配概率获取候选推荐对象a的第k阶特征交互集合。
[0174]
其中,上述关联特征被分配到第k阶特征交互集合中第j个特征交互组中均匀分布、 正态分布或者均方分布等,因此该关联特征的分配概率可以基于均匀分布、正态分布或者 均方分布概率函数得到。
[0175]
在此需要说明的是,由于基于关联特征的分配概率对该关联特征进行分组操作是一个 离散过程,因此为了使该分组操作连续化,对关联特征的分配概率进行处理,得到处理后 的分配值,再基于分配值对该关联特征进行分组。
[0176]
其中,上述关联特征被分配到第k阶特征交互集合中第j个特征交互组中均匀分布、 正态分布或者均方分布等,因此该关联特征的分配概率可以基于均匀分布、正态分布或者 均方分布概率函数得到。
[0177]
在此需要说明的是,由于基于关联特征的分配概率对该关联特征进行分组操作是一个 离散过程,因此为了使该分组操作连续化,对关联特征的分配概率进行处理,得到处理后 的概率,即分配值,再基于分配值对该关联特征进行分组。
[0178]
可选地,对关联特征的分配概率进行处理的方式可以为:gumbel-softmax操作,当然 可以为其他操作。其中,分配值可通过以下公式来表示:
[0179][0180]
其中,α0表示不将候选推荐对象a的多个关联特征中的第i 个关联特征分到第k阶特征交互集合中的第j个特征交互组中的概率,α1表示将候选推荐 对象a的多个关联特征中的第i个关联特征分到第k阶特征交互集合中的第j个特征交互 组中的概率;g
o
是服从gumbel分布的随机数。在训练过程中可以通过以下公式从均匀分 布u(0,1)进行采样:
[0181]
g
o
=-log-logu
[0182]
其中u服从均匀分布u(0,1),在连续化分组操作后,将根据和的大小关 系确定是否将上述第i个关联特征分配到第k阶特征交互集合中的第j个特征交互组。在 和中,与之和为1,若较大,则选择不将候选推荐对象的 多
个关联特征中的第i个关联特征分配到第k阶特征交互集合中的第j个特征交互组中,若 较大,则选择将上述第i个关联特征分配到第k阶特征交互集合中的第j个特征交互 组中。
[0183]
其中,为上述分配值。可选地,当大于预设阈值时,选择将第i个关联特 征分配到第k阶特征交互集合中的第j个特征交互组中;当不大于预设阈值时,选择 不将第i个关联特征分配到第k阶特征交互集合中的第j个特征交互组中。
[0184]
上述预设阈值可以为0.5,0.6,0.7或者其他值,优先选择0.5。
[0185]
在此需要说明的是,上述公式可以看成自动特征分组模型。
[0186]
经过对候选推荐对象a的多个关联特征进行自动特征分组后,在每一阶得到不同的特 征交互组,如假设候选推荐对象a的多个关联特征包括:年龄,性别,小时,最近看过的 电影,最近下载的视频,喜欢的明星,在第2阶的特征交互集合中,设定3个特征交互组, 可能的分组结果如下所示:
[0187]
特征交互组1:{年龄,性别,喜欢的明星}
[0188]
特征交互组2:{小时,最近下载的视频,最近看过的电影}
[0189]
特征交互组3:{喜欢的明星,最近看过的电影,年龄}。
[0190]
s203、根据多个候选推荐对象中每个候选推荐对象的多阶特征交互集合中的多个关联 特征计算得到该候选推荐对象的交互特征贡献值。
[0191]
具体地,对于候选推荐对象a的多阶特征交互集合,根据多阶特征交互集合中的第k 阶特征交互集合中的每个特征交互组的多个关联特征计算得到每个特征交互组第k阶的交 互结果,所述第k阶特征交互集合为多阶特征交互集合中的任一阶;根据多阶特征交互集 合中的特征交互组对应阶的特征交互结果计算得到交互特征贡献值。
[0192]
可选地,根据多阶特征交互集合中的第k阶特征交互集合中的每个特征交互组的多个 关联特征计算得到每个特征交互组的第k阶的交互结果可以具体包括:
[0193]
将多阶特征交互集合中的第k阶特征交互集合中的每个特征交互组中的多个关联特征 输入到特征交互模型中进行计算,以得到该每个特征交互组的第k阶的交互结果。
[0194]
具体地,将多阶特征交互集合中的第k阶特征交互集合中的每个特征交互组中的多个 关联特征输入到特征交互模型中进行计算,以得到该每个特征交互组第k阶的交互结果, 包括:
[0195]
获取第k阶特征交互集合中的第j个特征交互组内每个关联特征的特征向量及其对应 的权重;第j个特征交互组为所述第k阶特征交互集合中的任一个特征交互组;根据第j 个特征交互组内每个关联特征的特征向量及其对应的权重确定第j个特征交互组的特征值; 根据第j个特征交互组内每个关联特征的特征向量及其对应的权重、和第j个特征交互组的 特征值确定第j个特征交互组第k阶的交互结果。
[0196]
可选地,上述第j个特征交互组第k阶的交互结果可表示为:
[0197]
[0198]
其中,为的特征值,为k阶特征交互集合中第j个特征交互 组,f
i
为候选推荐对象a的多个关联特征中第i个关联特征,e
i
是f
i
对应的维度为m的特征 向量,为e
i
在第k阶特征交互集合的第j个特征交互组的权重,r
m
为关联特征对应的m 维的特征向量的集合。
[0199]
其中,对于特征向量v的k次方操作(v)
k
定义为先对特征向量的每个数进行k次方的 操作,得到每个数的k次方结果,然后再将所有数的k次方结果相加得到一个实数值。
[0200]
对于任意的特征分组,通过上述公式计算特征交互组内部特征的在给定阶的交互关系, 如二阶特征交互集合中的某个特征交互组为{喜欢的明星,最近看过的电影,年龄},该特 征交互组的特征值可表示为:
[0201][0202]
可以看出,上述特征交互组中的参与非线性数学运算的关联特征的个数为2,并且非 线性数学运算为向量内积。
[0203]
再比如,三阶特征交互集合中的某个特征交互组为{年龄,性别,喜欢的明星},则该 特征交互组的特征值可表示为:
[0204][0205]
可以看出,上述特征交互组中的参与非线性数学运算的关联特征的个数为3,并且非 线性数学运算为向量内积。
[0206]
在获取候选推荐对象a的多阶特征交互集合中特征交互组对应阶的交互结果后,根据 多阶特征交互集合中的特征交互组对应阶的交互结果获取候选推荐对象a的交互特征向量; 将候选推荐对象a的交互特征向量输入到神经网络模型中进行计算,以得到交互特性贡献 值;其中该神经网络模型是基于全连接神经网络得到的。
[0207]
比如,候选推荐对象a有3阶特征交互集合,每阶特征交互集合包括2个特征交互组, 其中1阶特征交互集合中2个特征交互组的特征值分别为和2阶特征交互集合中2个 特征交互组的特征值分别为和3阶特征交互集合中2个特征交互组的特征值分别为和则3阶特征交互集合对应的交互特征向量为然后再将该交互特征 向量输入到上述神经网络模型中进行计算,以得到候选推荐对象a的交 互特性贡献值。
[0208]
在获取候选推荐对象a的交互特性向量后,将该交互特性向量作为上述神经网络模型 的输入,通过逐层计算各个神经元节点的数值,最终神经网络模型输出的为上述候选推荐 对象的交互特性贡献值。
[0209]
如图3所示,神经网络的输入层是整个网络的最底层,输出层是最上层。神经网络中 每层神经元与相邻层的一个或者多个神经元相连,每条连边均包含一个权重和偏置。在计 算时,神经网络从输入层开始从底层向上层计算,每个神经元由与之相连接的下一层神
regression, lr)技术,梯度提升决策树(gradient boosting decision tree,gbdt)技术,fm,ffm, afm,deepfm,ipnn,pin,xdeepfm,fgcnn)。使用了三个公开数据集:criteo数据集, avazu数据集,ipinyou数据集。criteo数据集包含了一个月的广告点击纪录,在本次实验 中,选择了第6天的数据到作为训练集,第13天数据作为测试集,同时对负例进行降采样, 使最终数据集中正负样本比为1:1;对于avazu数据集,随机选取了公开数据集80%的数据 作为训练集,剩下的20%为测试集,同时删除了数据样本中出现次数少于20的类别;ipinyou 数据集本身较小且提供了训练集与测试集,因此在本次实验中可直接使用。选取业界公认 的测试指标auc和logloss。经过测试,得到以下几个结论:
[0222]
1、本技术在多个真实数据集上都取得了最好的实验结果,相比第二的fgcnn模型在 auc上均有0.07%-0.5%的提升。
[0223]
2、从特征建模的角度进行分析,本技术的预测模型相比xdeepfm,pin,fgcnn等业 界最好的模型,能够自动从数据中选择重要的高阶特征组合,而非进行枚举,使得预测模 型在训练和使用时能够专注优化选择的特征交互,提高模型的性能。同时本技术的预测模 型相比其他模型在训练时能够缓和过拟合的现象。
[0224]
可以看出,在本技术的方案中,通过自动特征分组,能够自动的寻找关联特征中重要 的高阶交互信息,提高了推荐的精确性;通过设计的交互函数,使得任何指定分组都能生 成给定阶的特征交互,该交互函数的实现高效和简单,并能够在不同的推荐任务中得到推 广;通过神经网络对交互特征向量进行进一步处理,能够挖掘出关联特征中潜在的难以发 掘的特征交互信息,进一步提升推荐的精确性。
[0225]
在此需要指出的是,针对不同的推荐场景,比如新闻资讯,app应用商店等,自动特 征分组能够通过不同的技术方案进行实现,以实现特定的模型需求,提高模型的可拓展性。
[0226]
参见图4,图4为本技术实施例提供的一种预测模型的训练方法的流程示意图。如图4 所示,该方法包括:
[0227]
s401、获取训练样本数据,该训练样本数据包括多个候选推荐对象样本及用户点击的 推荐对象样本;并获取多个候选推荐对象样本中每个候选推荐样本的多个关联特征。
[0228]
s402、将多个候选对象样本中每个候选推荐对象样本的多个关联特征输入到多阶自动 特征分组模型中进行自动特征分组,以得到每个候选推荐对象样本的多阶特征交互集合。
[0229]
其中,多个候选推荐对象样本中任一个候选推荐对象样本b的多阶特征交互集合中每 阶特征交互集合包括一个或多个特征交互组,该一个或多个特征交互组中每个特征交互组 包括候选推荐对象样本b的多个关联特征中的至少一个;多阶特征交互集合中的k阶特征 交互集合中的每个特征交互组中,参与非线性数学运算的关联特征的数量为k,k为大于0 的整数。
[0230]
可选地,非线性数学运算可以为向量内积、矩阵相乘或者其他形式的非线性数学运算。
[0231]
其中,多个候选推荐对象样本可以是在训练时专用的训练数据,也可以是在进行历史 推荐时的候选推荐对象样本。
[0232]
可选地,将多个候选对象样本中每个候选推荐对象样本的多个关联特征输入到自动特 征分组模型中进行多阶自动特征分组,以得到每个候选推荐对象样本的多阶特征交
互集合, 包括:
[0233]
对于候选推荐对象样本b的第k阶特征交互,获取候选推荐对象样本b的多个关联特 征中的每个关联特征的分配概率,候选推荐对象样本b的多个关联特征中每个关联特征的 分配概率为该关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概率;第j 个特征交互组为第k阶特征交互集合中的任一个特征交互组;根据候选推荐对象a的多个 关联特征中的每个关联特征的分配概率获取候选推荐对象样本b的第k阶特征交互集合。
[0234]
进一步地,根据候选推荐对象样本b的多个关联特征中的每个关联特征的分配概率获 取候选推荐对象样本b的第k阶特征交互集合,包括:
[0235]
根据候选推荐对象样本b的多个关联特征中的每个关联特征的分配概率确定该关联特 征的分配值,该分配值为每个关联特征被分配到第k阶特征交互集合中第j个特征交互组 中的概率;若该关联特征的分配值大于预设阈值,则将该关联特征分配到k阶特征交互集 合中的第j个特征交互组中;若该关联特征的分配值不大于预设阈值,则不将该关联特征 分配到k阶特征交互集合中的第j个特征交互组中。
[0236]
s403、将多个候选推荐对象样本中每个候选推荐对象样本的多阶特征交互集合输入到 特征交互模型中进行计算,以得到每个候选推荐对象样本的交互特征贡献值。
[0237]
可选地,在一个可行的实施中,将多个候选推荐对象样本中每个候选推荐对象样本的 多阶特征交互集合输入到特征交互模型中进行计算,以得到每个候选推荐对象样本的交互 特征贡献值,包括:
[0238]
对于候选推荐对象样本b的多阶特征交互集合,根据第k阶特征交互集合中的每个特 征交互组中的关联特征计算得到该特征交互组第k阶的交互结果;第k阶特征交互集合为 候选推荐对象样本b的多阶特征交互集合中的任一阶特征交互集合;根据候选推荐对象样 本b的多阶特征交互集合中的特征交互组对应阶的交互结果计算得到候选推荐对象样本b 的交互特性贡献值。
[0239]
可选地,根据第k阶特征交互集合中的每个特征交互组中的关联特征计算得到该特征 交互组第k阶的交互结果,包括:
[0240]
获取第k阶特征交互集合中的第j个特征交互组内每个关联特征的特征向量及其对应 的权重;第j个特征交互组为第k阶特征交互集合中的任一个特征交互组;将第j个特征交 互组内每个关联特征的特征向量与其对应的权重进行加权求和得到第j个特征交互组的特 征值;根据第j个特征交互组内每个关联特征的特征向量及其对应的权重和第j个特征交互 组的特征值确定第j个特征交互组第k阶的交互结果。
[0241]
可选地,根据候选推荐对象样本b的多阶特征交互集合中的特征交互组对应阶的交互 结果计算得到候选推荐对象样本b的交互特性贡献值,包括:
[0242]
根据候选推荐对象样本b的多阶特征交互集合中的特征交互组对应阶的交互结果获取 交互特征向量;将交互特征向量输入到神经网络模型中进行计算,以得到候选推荐对象样 本b的交互特性贡献值,其中,神经网络模型是基于全连接神经网络得到的。
[0243]
s404、根据多个候选推荐对象中每个候选推荐对象的交互特征贡献值计算得到每个候 选推荐对象的预测分数。
[0244]
s405、根据最大预测分数对应的候选推荐对象样本和用户点击对象样本对自动特征分 组模型和特征交互模型中的参数分别进行调整,以得到调整后的自动特征分组模型
交互组的特征值得到交互特性向量。
[0258]
在此需要说明的是,特征交互模块503的具体执行步骤可参见上述步骤s202和s203 的相关描述,在此不再叙述。
[0259]
神经网络模型504,将特征交互模块503输出的交互特性向量输入到训练好的多层神 经网络进行计算,以得到交互特征贡献值。该神经网络模型是基于全连接神经网络得到的。
[0260]
预测结果整合模块505,根据权重对宽度模型模块502输出的一阶贡献值和神经网络 模块504输出的特征交互贡献值进行加权求和,以得到预测分数。
[0261]
在一个具体的应用场景中,以推荐广告为例进行说明。
[0262]
为了简化场景,将候选推荐对象的关联特征的数量减少到5个,分别是广告、广告类 别、用户、城市以及时间,而本技术的输出就是用户点击广告行为的预测分数,该预测分 越高时,则向用户推荐该广告的可能性越高。
[0263]
假定广告特征对应的id为7,广告类别对应的id为12,用户对应的id为35,城市 对应的id为48,,时间对应的id为8,则经过数据生成模块501之后,生成的id序列为 7,12,35,48,8。
[0264]
宽度模型模块502根据得到的id序列,首先从存储数据中索引出广告id为7、广告 类型id为12、用户id为35、城市id为48以及时间id为8分别对应的贡献值c
0,7
,c
1,12
,c
2,35
, c
3,48
以及c
4,8
。这里的下标第一位表示特征的类别,即特征在id序列中的位置,而第二位 则表示特征在具体特征类别中的id号。不同类别的特征可以有相同的id号,相同类别的 不同特征id则互不相同且唯一。除了每个特征对应的贡献值以外,宽度模型模块502还存 储着基准贡献值c
g
。最终宽度模型模块502的输出(即一阶贡献值)为:
[0265]
out
502
=c
0,7
c
1,12
c
2,35
c
3,48
c
4,8
[0266]
特征交互模块503处理过程:首先根据将5个关联特征,将其分到每一阶的不同的特 征交互组中,如下:
[0267]
·
一阶的特征交互组为{广告,广告类型},{用户,城市}
[0268]
·
二阶的特征交互组为{广告,广告类型,用户},{城市,广告};
[0269]
·
三阶的特征交互组为:{广告,广告类型,用户},{广告,用户,城市}。
[0270]
在得到分组后,从存储数据中索引出广告id为7、广告类型id为12、用户id为35、 城市id为48以及时间id为8的特征对应的特征向量e
0,7
,e
1,12
,e
2,35
,e
3,48
和e
4,8
。这里的 下标含义与宽度模型模块502中类似。随后,将特征向量,映射到对应每一阶的特征分组 中:
[0271]
·
一阶:{e
0,7
,e
1,12
},{e
2,35
,e
3,48
}
[0272]
·
二阶:{e
0,7
,e
1,12
,e
2,35
},{e
3,48
,e
0,7
};
[0273]
·
三阶:{e
0,7
,e
1,12
,e
2,35
},{e
0,7
,e
2,35
,e
3,48
}。
[0274]
根据以下公式计算得到每一阶的不同特征交互组的交互结果:
[0275][0276]
其中,为第k阶的第j个特征交互组的交互结果,为第k阶的第j个特征交互组
的 特征值,为第k阶特征交互集合中的第j个特征交互组,f
i
为上述5个关联特征中的第i 个特征,e
i
为f
i
对应的维度为m的向量,为e
i
在中的权重。
[0277]
按照上述公式,可得到每一阶中每个特征交互组的交互结果,比如第一阶的第1个特 征交互组的交互结果为:第二阶的第1个特征交互组的交互结果为: 第三阶的第1个特征交互组的交 互结果为;
[0278]
在此需要说明的是,对于一阶的特征交互组,其交互结果是一个向量,而对于二阶及 更高阶的特征交互组,其对应的交互结果是一个值。
[0279]
最终特征交互模块503将不同阶的特征交互组的交互结果拼接成一个向量:
[0280][0281]
向量v
feature
可称为交互特征向量。在得到交互特性向量v
feature
之后,将该向量输入到 神经网络模型模块504中;
[0282]
神经网络模块504会根据训练得到的神经网络模型对交互特性向量进行计算,以得到 特征交互贡献值。具体地,训练好的神经网络模型是指训练的神经网络中的权重和偏置, 根据训练好的权重和偏置逐层计算,最终计算得到输出层的神经元数值为特征交互贡献值。
[0283]
如果用r
h
来表示第h层的神经元,w
h
为第h层神经元与第h 1层神经元连边的权重, b
h
为对应连边的偏置,a为激活函数,那么神经网络第h层的神经元计算公式如下:
[0284]
r
h 1
=(w
h
r
h

h
)
[0285]
如果神经网络共有h层,那么最终输出层的神经元数值就是特征交互贡献值,也就是 神经网络模块504的输出:
[0286]
out
504
=r
h
=(w
h-1
r
h-1
b
h-1
)
[0287]
预测结果整合模块505处理过程:在获取宽度模型模块502的输出结果out
502
以及神经 网络模块504的输出结果out
504
后,根据预先训练得到的权重k
502
,k
504
对两个模块的输出结 果进行加权求和,得到对城市48的用户35在时刻8对广告类型12的广告7的点击的预测 分数:
[0288]
p=ut
502
*
502

504
*
504
[0289]
最后可根据预测分数确定是否向用户推荐广告类型12的广告7,或者根据预测分数确 定是否向城市48的用户35在时刻8推荐广告类型12的广告7。
[0290]
参见图7,图7为本技术实施例提供的另一种基于自动特征分组的推荐装置的结构示 意图。如图7所示,该推荐装置700包括:
[0291]
获取单元701,用于获取多个候选推荐对象及多个候选推荐对象中每个候选推荐对象 的多个关联特征;
[0292]
自动特征分组单元702,用于对多个候选推荐对象中每个候选推荐对象的多个关联特 征进行自动特征分组,以得到每个候选推荐对象的多阶特征交互集合,多个候选推荐对象 中任一个候选推荐对象a的多阶特征交互集合中的每阶特征交互集合包括一个或多个特征 交互组,一个或多个特征交互组中的每个特征交互组包括候选推荐对象a的多个关
联特征 中的至少一个;多阶特征交互集合中的k阶特征交互集合中的每个特征交互组中,参与非 线性数学运算的关联特征的数量为k,k为大于0的整数;
[0293]
计算单元703,用于根据多个候选推荐对象中每个候选推荐对象的多阶特征交互集合 中的多个关联特征计算得到每个候选推荐对象的交互特性贡献值;并根据多个候选推荐对 象中每个候选推荐对象的交互特性贡献值计算得到每个候选推荐对象的预测分数;
[0294]
确定单元704,用于将多个候选对象中,预测分数较高的一个或多个对应的候选推荐 对象确定为目标推荐对象。
[0295]
在一个可行的实施例中,在根据多个候选推荐对象中每个候选推荐对象的多阶特征交 互集合中的多个关联特征计算得到每个候选推荐对象的交互特性贡献值的方面,计算单元 703具体用于:
[0296]
对于候选推荐对象a的多阶特征交互集合,根据k阶特征交互集合中的每个特征交互 组中的多个关联特征计算得到该特征交互组第k阶的交互结果;根据多阶特征交互集合中 的特征交互组对应阶的交互结果计算得到候选推荐对象a的交互特性贡献值。
[0297]
在一个可行的实施例中,在根据k阶特征交互集合中的每个特征交互组中的多个关联 特征计算得到该特征交互组第k阶的交互结果的方面,计算单元703具体用于:
[0298]
将k阶特征交互集合中的每个特征交互组中的多个关联特征输入到特征交互模型中进 行计算,以得到每个特征交互组第k阶的交互结果。
[0299]
在一个可行的实施例中,在将k阶特征交互集合中的每个特征交互组中的多个关联特 征输入到特征交互模型中进行计算,以得到每个特征交互组第k阶的交互结果的方面,计 算单元703用于:
[0300]
获取第k阶特征交互集合中的第j个特征交互组内每个关联特征的特征向量及其对应 的权重;第j个特征交互组为第k阶特征交互集合中的任一个特征交互组;将第j个特征交 互组内每个关联特征的特征向量与其对应的权重进行加权求和得到第j个特征交互组的特 征值;根据第j个特征交互组内每个关联特征的特征向量及其对应的权重、和第j个特征交 互组的特征值确定第j个特征交互组第k阶的交互结果。
[0301]
在一个可行的实施例中,在根据候选推荐对象a的多阶特征交互集合中的特征交互组 对应阶的交互结果计算得到候选推荐对象a的交互特性贡献值的方面,计算单元703用于:
[0302]
根据候选推荐对象a的多阶特征交互集合中的特征交互组对应阶的交互结果获取交互 特征向量;将交互特征向量输入到神经网络模型中进行计算,以得到候选推荐对象a的交 互特性贡献值;其中,神经网络模型是基于全连接神经网络得到的。
[0303]
在一个可行的实施例中,自动特征分组单元702具体用于:
[0304]
将多个候选推荐对象中每个候选推荐对象的多个关联特征输入到自动特征分组模型中 进行处理,以得到每个候选推荐对象的多阶特征交互集合。
[0305]
具体地,自动特征分组单元702具体用于:
[0306]
对于候选推荐对象a的第k阶特征交互,获取候选推荐对象a的多个关联特征中的每 个关联特征的分配概率,候选推荐对象a的多个关联特征中每个关联特征的分配概率为每 个关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概率;第j个特征交互
组 为第k阶特征交互集合中的任一个特征交互组;根据候选推荐对象a的多个关联特征中的 每个关联特征的分配概率获取候选推荐对象a的第k阶特征交互集合。
[0307]
进一步地,在根据候选推荐对象a的多个关联特征中的每个关联特征的分配概率获取 候选推荐对象a的第k阶特征交互集合的方面,自动特征分组单元702具体用于:
[0308]
根据候选推荐对象a的多个关联特征中的每个关联特征的分配概率确定该关联特征的 分配值,该分配值为每个关联特征被分配到第k阶特征交互集合中第j个特征交互组中的 概率;若该关联特征的分配值大于预设阈值,则将该关联特征分配到k阶特征交互集合中 的第j个特征交互组中;若该关联特征的分配值不大于预设阈值,则不将该关联特征分配 到k阶特征交互集合中的第j个特征交互组中。
[0309]
可选地,非线性数学运算可以为向量内积、矩阵相乘或者其他非线性数学运算。
[0310]
需要说明的是,上述各单元(获取单元701、自动特征分组单元702、计算单元703和 确定单元704)用于执行上述步骤s201-s204所示方法的相关内容。
[0311]
在本实施例中,推荐装置700是以单元的形式来呈现。这里的“单元”可以指特定专用 集成电路(application-specific integrated circuit,asic),执行一个或多个软件或固件程序的 处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上推荐装 置700中的获取单元701、自动特征分组单元702、计算单元703和确定单元704可通过图 9所示的推荐装置的处理器900来实现。
[0312]
参见图8,图8为本技术实施例提供的一种预测模型的训练设备的结构示意图。如图8 所示,该训练设备800包括:
[0313]
获取单元801,用于获取训练样本数据,该训练样本数据包括多个候选推荐对象样本 及用户点击的推荐对象样本;并获取多个候选推荐对象样本中每个候选推荐样本的多个关 联特征;
[0314]
自动特征分组单元802,用于将多个候选对象样本中每个候选推荐对象样本的多个关 联特征输入到多阶自动特征分组模型中进行自动特征分组,以得到每个候选推荐对象样本 的多阶特征交互集合;多个候选推荐对象样本中任一个候选推荐对象样本b的多阶特征交 互集合中每阶特征交互集合包括一个或多个特征交互组,一个或多个特征交互组中每个特 征交互组包括候选推荐对象样本b的多个关联特征中的至少一个;多阶特征交互集合中的 k阶特征交互集合中的每个特征交互组中,参与非线性数学运算的关联特征的数量为k,k 为大于0的整数;
[0315]
计算单元803,用于将多个候选推荐对象样本中每个候选推荐对象样本的多阶特征交 互集合输入到特征交互模型中进行计算,以得到每个候选推荐对象样本的交互特征贡献值; 并根据多个候选推荐对象中每个候选推荐对象的交互特征贡献值计算得到每个候选推荐对 象的预测分数;
[0316]
调整单元804,用于根据最大预测分数对应的候选推荐对象样本和用户点击对象样本 对自动特征分组模型和特征交互模型中的参数分别进行调整,以得到调整后的自动特征分 组模型和调整后的特征交互模型。
[0317]
可选地,非线性数学运算可以为向量内积、矩阵相乘或者其他非线性数学运算。
[0318]
在一个可行的实施例中,在将多个候选推荐对象样本中每个候选推荐对象样本的多阶 特征交互集合输入到特征交互模型中进行计算,以得到每个候选推荐对象样本的交
互特征 贡献值的方面,计算单元803具体用于:
[0319]
对于候选推荐对象样本b的多阶特征交互集合,根据第k阶特征交互集合中的每个特 征交互组中的关联特征计算得到该特征交互组第k阶的交互结果;第k阶特征交互集合为 候选推荐对象样本b的多阶特征交互集合中的任一阶特征交互集合;根据候选推荐对象样 本b的多阶特征交互集合中的特征交互组对应阶的交互结果计算得到候选推荐对象样本b 的交互特性贡献值。
[0320]
在一个可行的实施例中,在根据第k阶特征交互集合中的每个特征交互组中的关联特 征计算得到该特征交互组第k阶的交互结果的方面,计算单元803具体用于:
[0321]
获取第k阶特征交互集合中的第j个特征交互组内每个关联特征的特征向量及其对应 的权重;第j个特征交互组为第k阶特征交互集合中的任一个特征交互组;将第j个特征交 互组内每个关联特征的特征向量与其对应的权重进行加权求和得到第j个特征交互组的特 征值;根据第j个特征交互组内每个关联特征的特征向量及其对应的权重、和第j个特征交 互组的特征值确定第j个特征交互组第k阶的交互结果。
[0322]
在一个可行的实施例中,在根据候选推荐对象样本b的多阶特征交互集合中的特征交 互组对应阶的交互结果计算得到候选推荐对象样本b的交互特性贡献值的方面,计算单元 803具体用于:
[0323]
根据候选推荐对象样本b的多阶特征交互集合中的特征交互组对应阶的交互结果获取 交互特征向量;将交互特征向量输入到神经网络模型中进行计算,以得到候选推荐对象样 本b的交互特性贡献值,其中,神经网络模型是基于全连接神经网络得到的。
[0324]
在一个可行的实施例中,调整单元804具体用于:
[0325]
根据最大预测分数对应的候选推荐对象样本和用户点击对象样本对自动特征分组模型、 特征交互模型中的参数和神经网络中的参数分别进行调整,以得到调整后的自动特征分组 模型、调整后的特征交互模型和调整后的神经网络模型。
[0326]
可选地,自动特征分组单元802具体用于:
[0327]
对于候选推荐对象样本b的第k阶特征交互,获取候选推荐对象样本b的多个关联特 征中的每个关联特征的分配概率,候选推荐对象样本b的多个关联特征中每个关联特征的 分配概率为该关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概率;第j 个特征交互组为第k阶特征交互集合中的任一个特征交互组;根据候选推荐对象a的多个 关联特征中的每个关联特征的分配概率获取候选推荐对象样本b的第k阶特征交互集合。
[0328]
在一个可行的实施例中,根据候选推荐对象样本b的多个关联特征中的每个关联特征 的分配概率获取候选推荐对象样本b的第k阶特征交互集合的方面,自动特征分组单元802 具体用于:
[0329]
根据候选推荐对象样本b的多个关联特征中的每个关联特征的分配概率确定该关联特 征的分配值,该分配值为每个关联特征被分配到第k阶特征交互集合中第j个特征交互组 中的概率;若该关联特征的分配值大于预设阈值,则将该关联特征分配到k阶特征交互集 合中的第j个特征交互组中;若该关联特征的分配值不大于预设阈值,则不将该关联特征 分配到k阶特征交互集合中的第j个特征交互组中。
[0330]
需要说明的是,上述各单元(获取单元801、自动特征分组单元802、计算单元803和 调整单元804)用于执行上述步骤s401-s405所示方法的相关内容。
[0331]
在本实施例中,训练设备700是以单元的形式来呈现。这里的“单元”可以指特定专用 集成电路(application-specific integrated circuit,asic),执行一个或多个软件或固件程序的 处理器和存储器,集成逻辑电路,和/或其他可以提供上述功能的器件。此外,以上训练设 备700中的获取单元801、自动特征分组单元802、计算单元803和调整单元804可通过图 10所示的训练设备的处理器1000来实现。
[0332]
如图9所示的推荐装置可以以图9中的结构来实现,该推荐装置包括至少一个处理器 901,至少一个存储器902以及至少一个通信接口903。处理器901、存储902和通信接口 903通过通信总线连接并完成相互间的通信。
[0333]
通信接口903,用于与其他设备或通信网络通信,如以太网,无线接入网(radio accessnetwork,ran),无线局域网(wireless local area networks,wlan)等。
[0334]
存储器902可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的 其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信 息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,eeprom)、只读光盘(compact disc read-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通 用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有 指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。 存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
[0335]
其中,所述存储器902用于存储执行以上方案的应用程序代码,并由处理器901来控 制执行。所述处理器901用于执行所述存储器902中存储的应用程序代码。
[0336]
存储器902存储的代码可执行以上提供的一种基于自动特征分组的推荐方法。
[0337]
处理器901还可以采用或者一个或多个集成电路,用于执行相关程序,以实现本技术 实施例的基于自动特征分组的推荐方法。
[0338]
处理器901还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申 请的推荐方法的各个步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指 令完成。在实现过程中,本技术的状态生成模型和选择策略的训练方法的各个步骤可以通 过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901还可 以是通用处理器、数字信号处理器(digital signal processing,dsp)、asic、现成可编程门 阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管 逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤及模 块框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本 申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处 理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储 器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。 该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成本申 请实施例的推荐方法或模型训练方法。
[0339]
通信接口903使用例如但不限于收发器一类的收发装置,来实现推荐装置或训练装置 与其他设备或通信网络之间的通信。例如,可以通过通信接口903获取推荐相关数据
或训 练数据,或者向用户设备发送推荐对象及接收用户针对推荐对象的反馈信息。
[0340]
总线可包括在装置各个部件(例如,存储器902、处理器901、通信接口903)之间传 送信息的通路。在一种可能的实施例中,处理器901具体执行以下步骤:
[0341]
获取多个候选推荐对象及多个候选推荐对象中每个候选推荐对象的多个关联特征;对 多个候选推荐对象中每个候选推荐对象的多个关联特征进行自动特征分组,以得到每个候 选推荐对象的多阶特征交互集合,多个候选推荐对象中任一个候选推荐对象a的多阶特征 交互集合中的每阶特征交互集合包括一个或多个特征交互组,一个或多个特征交互组中的 每个特征交互组包括候选推荐对象a的多个关联特征中的至少一个;多阶特征交互集合中 的k阶特征交互集合中的每个特征交互组中,参与非线性数学运算的关联特征的数量为k, k为大于0的整数;根据多个候选推荐对象中每个候选推荐对象的多阶特征交互集合中的 多个关联特征计算得到每个候选推荐对象的交互特性贡献值;并根据多个候选推荐对象中 每个候选推荐对象的交互特性贡献值计算得到每个候选推荐对象的预测分数;将多个候选 对象中,预测分数较高的一个或多个对应的候选推荐对象确定为目标推荐对象。
[0342]
在一个可行的实施例中,在根据多个候选推荐对象中每个候选推荐对象的多阶特征交 互集合中的多个关联特征计算得到每个候选推荐对象的交互特性贡献值的方面,处理器901 具体执行以下步骤:
[0343]
对于候选推荐对象a的多阶特征交互集合,根据k阶特征交互集合中的每个特征交互 组中的多个关联特征计算得到该特征交互组第k阶的交互结果;根据多阶特征交互集合中 的特征交互组对应阶的交互结果计算得到候选推荐对象a的交互特性贡献值。
[0344]
在一个可行的实施例中,在根据k阶特征交互集合中的每个特征交互组中的多个关联 特征计算得到该特征交互组第k阶的交互结果的方面,处理器901具体执行以下步骤:
[0345]
将k阶特征交互集合中的每个特征交互组中的多个关联特征输入到特征交互模型中进 行计算,以得到每个特征交互组第k阶的交互结果。
[0346]
在一个可行的实施例中,在将k阶特征交互集合中的每个特征交互组中的多个关联特 征输入到特征交互模型中进行计算,以得到每个特征交互组第k阶的交互结果的方面,处 理器901具体执行以下步骤:
[0347]
获取第k阶特征交互集合中的第j个特征交互组内每个关联特征的特征向量及其对应 的权重;第j个特征交互组为第k阶特征交互集合中的任一个特征交互组;将第j个特征交 互组内每个关联特征的特征向量与其对应的权重进行加权求和得到第j个特征交互组的特 征值;根据第j个特征交互组内每个关联特征的特征向量及其对应的权重、和第j个特征交 互组的特征值确定第j个特征交互组第k阶的交互结果。
[0348]
在一个可行的实施例中,在根据候选推荐对象a的多阶特征交互集合中的特征交互组 对应阶的交互结果计算得到候选推荐对象a的交互特性贡献值的方面,处理器901具体执 行以下步骤:
[0349]
根据候选推荐对象a的多阶特征交互集合中的特征交互组对应阶的交互结果获取交互 特征向量;将交互特征向量输入到神经网络模型中进行计算,以得到候选推荐对象a的交 互特性贡献值;其中,神经网络模型是基于全连接神经网络得到的。
[0350]
在一个可行的实施例中,自动特征分组单元具体用于:
[0351]
将多个候选推荐对象中每个候选推荐对象的多个关联特征输入到自动特征分组模型中 进行处理,以得到每个候选推荐对象的多阶特征交互集合。
[0352]
具体地,在将多个候选推荐对象中每个候选推荐对象的多个关联特征输入到自动特征 分组模型中进行处理,以得到每个候选推荐对象的多阶特征交互集合的方面,处理器901 具体执行以下步骤:
[0353]
对于候选推荐对象a的第k阶特征交互,获取候选推荐对象a的多个关联特征中的每 个关联特征的分配概率,候选推荐对象a的多个关联特征中每个关联特征的分配概率为每 个关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概率;第j个特征交互组 为第k阶特征交互集合中的任一个特征交互组;根据候选推荐对象a的多个关联特征中的 每个关联特征的分配概率获取候选推荐对象a的第k阶特征交互集合。
[0354]
进一步地,在根据候选推荐对象a的多个关联特征中的每个关联特征的分配概率获取 候选推荐对象a的第k阶特征交互集合的方面,处理器901具体执行以下步骤:
[0355]
根据候选推荐对象a的多个关联特征中的每个关联特征的分配概率确定该关联特征的 分配值,该分配值为每个关联特征被分配到第k阶特征交互集合中第j个特征交互组中的 概率;若该关联特征的分配值大于预设阈值,则将该关联特征分配到k阶特征交互集合中 的第j个特征交互组中;若该关联特征的分配值不大于预设阈值,则不将该关联特征分配 到k阶特征交互集合中的第j个特征交互组中。
[0356]
可选地,非线性数学运算可以为向量内积、矩阵相乘或者其他非线性数学运算。
[0357]
如图10所示的训练设备可以以图10中的结构来实现,该训练设备包括至少一个处理 器1001,至少一个存储器1002以及至少一个通信接口1003。处理器1001、存储1002和 通信接口1003通过通信总线连接并完成相互间的通信。
[0358]
通信接口1003,用于与其他设备或通信网络通信,如以太网,无线接入网(radio accessnetwork,ran),无线局域网(wireless local area networks,wlan)等。
[0359]
存储器1002可以是只读存储器(read-only memory,rom)或可存储静态信息和指令 的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储 信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,eeprom)、只读光盘(compact disc read-onlymemory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通 用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有 指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。 存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
[0360]
其中,所述存储器1002用于存储执行以上方案的应用程序代码,并由处理器1001来 控制执行。所述处理器1001用于执行所述存储器1002中存储的应用程序代码。
[0361]
存储器1002存储的代码可执行以上提供的一种预测模型的训练方法。
[0362]
处理器1001还可以采用或者一个或多个集成电路,用于执行相关程序,以实现本技术 实施例的基于自动特征分组的推荐方法。
[0363]
处理器1001还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申 请的推荐方法的各个步骤可以通过处理器1001中的硬件的集成逻辑电路或者软件形式
的 指令完成。在实现过程中,本技术的状态生成模型和选择策略的训练方法的各个步骤可以 通过处理器1001中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1001 还可以是通用处理器、数字信号处理器(digital signal processing,dsp)、asic、现成可编 程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶 体管逻辑器件、分立硬件组件。可以实现或者执行本技术实施例中的公开的各方法、步骤 及模块框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结 合本技术实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译 码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读 存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质 中。该存储介质位于存储器1002,处理器1001读取存储器1002中的信息,结合其硬件完 成本技术实施例的推荐方法或模型训练方法。
[0364]
通信接口1003使用例如但不限于收发器一类的收发装置,来实现推荐装置或训练装置 与其他设备或通信网络之间的通信。例如,可以通过通信接口1003获取推荐相关数据或训 练数据,或者向用户设备发送推荐对象及接收用户针对推荐对象的反馈信息。
[0365]
总线可包括在装置各个部件(例如,存储器1002、处理器1001、通信接口1003)之 间传送信息的通路。在一种可能的实施例中,处理器1001具体执行以下步骤:
[0366]
获取训练样本数据,该训练样本数据包括多个候选推荐对象样本及用户点击的推荐对 象样本;并获取多个候选推荐对象样本中每个候选推荐样本的多个关联特征;
[0367]
将多个候选对象样本中每个候选推荐对象样本的多个关联特征输入到多阶自动特征分 组模型中进行自动特征分组,以得到每个候选推荐对象样本的多阶特征交互集合;多个候 选推荐对象样本中任一个候选推荐对象样本b的多阶特征交互集合中每阶特征交互集合包 括一个或多个特征交互组,一个或多个特征交互组中每个特征交互组包括候选推荐对象样 本b的多个关联特征中的至少一个;多阶特征交互集合中的k阶特征交互集合中的每个特 征交互组中,参与非线性数学运算的关联特征的数量为k,k为大于0的整数;
[0368]
将多个候选推荐对象样本中每个候选推荐对象样本的多阶特征交互集合输入到特征交 互模型中进行计算,以得到每个候选推荐对象样本的交互特征贡献值;并根据多个候选推 荐对象中每个候选推荐对象的交互特征贡献值计算得到每个候选推荐对象的预测分数;
[0369]
根据最大预测分数对应的候选推荐对象样本和用户点击对象样本对自动特征分组模型 和特征交互模型中的参数分别进行调整,以得到调整后的自动特征分组模型和调整后的特 征交互模型。
[0370]
可选地,非线性数学运算可以为向量内积、矩阵相乘或者其他非线性数学运算。
[0371]
在一个可行的实施例中,在将多个候选推荐对象样本中每个候选推荐对象样本的多阶 特征交互集合输入到特征交互模型中进行计算,以得到每个候选推荐对象样本的交互特征 贡献值的方面,处理器1001具体执行以下步骤:
[0372]
对于候选推荐对象样本b的多阶特征交互集合,根据第k阶特征交互集合中的每个特 征交互组中的关联特征计算得到该特征交互组第k阶的交互结果;第k阶特征交互集合为 候选推荐对象样本b的多阶特征交互集合中的任一阶特征交互集合;根据候选推荐对象样 本b的多阶特征交互集合中的特征交互组对应阶的交互结果计算得到候选推荐对象样
本b 的交互特性贡献值。
[0373]
在一个可行的实施例中,在根据第k阶特征交互集合中的每个特征交互组中的关联特 征计算得到该特征交互组第k阶的交互结果的方面,处理器1001具体执行以下步骤:
[0374]
获取第k阶特征交互集合中的第j个特征交互组内每个关联特征的特征向量及其对应 的权重;第j个特征交互组为第k阶特征交互集合中的任一个特征交互组;将第j个特征交 互组内每个关联特征的特征向量与其对应的权重进行加权求和得到第j个特征交互组的特 征值;根据第j个特征交互组内每个关联特征的特征向量及其对应的权重、和第j个特征交 互组的特征值确定第j个特征交互组第k阶的交互结果。
[0375]
在一个可行的实施例中,在根据候选推荐对象样本b的多阶特征交互集合中的特征交 互组对应阶的交互结果计算得到候选推荐对象样本b的交互特性贡献值的方面,1001具体 执行以下步骤:
[0376]
根据候选推荐对象样本b的多阶特征交互集合中的特征交互组对应阶的交互结果获取 交互特征向量;将交互特征向量输入到神经网络模型中进行计算,以得到候选推荐对象样 本b的交互特性贡献值,其中,神经网络模型是基于全连接神经网络得到的。
[0377]
在一个可行的实施例中,在根据最大预测分数对应的候选推荐对象样本和用户点击对 象样本对自动特征分组模型和特征交互模型中的参数分别进行调整,以得到调整后的自动 特征分组模型和调整后的特征交互模型的方面,处理器1001具体执行以下步骤:
[0378]
根据最大预测分数对应的候选推荐对象样本和用户点击对象样本对自动特征分组模型、 特征交互模型中的参数和神经网络中的参数分别进行调整,以得到调整后的自动特征分组 模型、调整后的特征交互模型和调整后的神经网络模型。
[0379]
可选地,在将多个候选对象样本中每个候选推荐对象样本的多个关联特征输入到多阶 自动特征分组模型中进行自动特征分组,以得到每个候选推荐对象样本的多阶特征交互集 合的方面,处理器1001具体执行以下步骤:
[0380]
对于候选推荐对象样本b的第k阶特征交互,获取候选推荐对象样本b的多个关联特 征中的每个关联特征的分配概率,候选推荐对象样本b的多个关联特征中每个关联特征的 分配概率为该关联特征被分配到第k阶特征交互集合中第j个特征交互组中的概率;第j 个特征交互组为第k阶特征交互集合中的任一个特征交互组;根据候选推荐对象a的多个 关联特征中的每个关联特征的分配概率获取候选推荐对象样本b的第k阶特征交互集合。
[0381]
在一个可行的实施例中,根据候选推荐对象样本b的多个关联特征中的每个关联特征 的分配概率获取候选推荐对象样本b的第k阶特征交互集合的方面,处理器1001具体执行 以下步骤:
[0382]
根据候选推荐对象样本b的多个关联特征中的每个关联特征的分配概率确定该关联特 征的第一分配值和第二分配值;若该关联特征的第一分配值大于第二分配值,则将该关联 特征分配到k阶特征交互集合中的第j个特征交互组中;若该关联特征的第一分配值不大 于第二分配值,则不将该关联特征分配到k阶特征交互集合中的第j个特征交互组中。
[0383]
本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所 述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述方法 实施例中记载的任何一种推荐方法或者预测模型训练方法的部分或全部步骤。
[0384]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列
的 动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为 依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知 悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本技术 所必须的。
[0385]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分, 可以参见其他实施例的相关描述。
[0386]
在本技术所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实 现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种 逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可 以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之 间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接, 可以是电性或其它的形式。
[0387]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0388]
另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既 可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0389]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可 以存储在一个计算机可读取存储器中。基于这样的理解,本技术的技术方案本质上或者说 对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来, 该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个 人计算机、服务器或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。 而前述的存储器包括:u盘、rom、ram、移动硬盘、磁碟或者光盘等各种可以存储程序 代码的介质。
[0390]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过 程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包 括:闪存盘、rom、ram、磁盘或光盘等。
[0391]
以上对本技术实施例进行了详细介绍,本文中应用了具体个例对本技术的原理及实施 方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思想;同时, 对于本领域的一般技术人员,依据本技术的思想,在具体实施方式及应用范围上均会有改 变之处,综上上述,本说明书内容不应理解为对本技术的限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜