基于离散分解机的个性化推荐方法、系统及存储介质与流程

文档序号:15964023发布日期:2018-11-16 23:04阅读:175来源:国知局

本发明涉及基于离散分解机的个性化推荐方法、系统及存储介质。

背景技术

个性化推荐在今天的网络世界中无处不在-几乎每一项网络活动都可以被视为推荐,如新闻或音乐推送,汽车或餐厅预订以及在线购物。因此,准确的推荐系统不仅对关系到服务质量,而且对服务提供商的利润也是至关重要的。在现如今的电子商务门户网站中,存在着数百万的商品,然而其中只有很小的一部分能够吸引用户的注意。为此,工业界通常将个性化推荐划分成两个阶段:候选集的产生阶段和候选集的排列阶段。举例来说,其中的候选集的产生阶段是从100万商品中挑选出1000个商品作为针对个人用户的候选集;而候选集的排序阶段,是把候选集中的1000个商品按照用户的喜好程度进一步排列,之后将排名前10的商品推荐给个人用户,以此获得更好的兑换率和点击率。

目前,工业界通常在候选集的产生阶段采用协同过滤(矩阵分解)算法和k近邻算法等一些传统的方法,在候选集的排序阶段采用可以实现精确推荐的新式算法(如分解机factorizationmachines)。主要原因是候选集的产生阶段需要处理大规模量级的商品(从100万个中选出1000个),而这些传统算法计算消耗小,效率较高,适用于这种情境。候选集的排序阶段处理的商品数量相对较小(从1000个中选出前10个),一些计算复杂的推荐算法被用在此阶段,从而保证排序的准确性。

然而,目前工业界的这种个性化推荐并不能严格保证候选集的产生过程的精度。一种不好的情况就是,由于传统算法准确性较差,很多用户喜好程度较高的商品都未能在第一阶段进入候选集,即使第二阶段的推荐算法性能再好,最后的推荐结果都是很差的。

我们的发明要解决的问题,就是要进一步提高上述个性化推荐中,候选集的产生阶段的精度,从根本上优化最终的推荐的结果。以此增加电子商务平台的获益。



技术实现要素:

为了解决现有技术的不足,本发明提供了基于离散分解机的个性化推荐方法、系统及存储介质,其具有筛选速度快和筛选精度准的效果;

作为本发明的第一方面,提供了基于离散分解机的个性化推荐方法;

基于离散分解机的个性化推荐方法,包括:

步骤(1):将用户对一类商品的历史交易数据输入到预先建立的协同过滤模型中,对预先建立的协同过滤模型进行训练,得到训练好的协同过滤模型;针对所有的商品数据,采用训练好的协同过滤模型产生第一候选集;

步骤(2):将用户的历史交易数据输入到预先建立的离散分解机dfm模型中,对预先建立的离散分解机dfm模型进行训练,得到训练好的离散分解机dfm模型;对第一候选集采用训练好的离散分解机dfm模型进行过滤得到第二候选集;

步骤(3):采用用户的历史交易数据对预先建立的基于特征的推荐模型进行训练,得到训练好的基于特征的推荐模型,利用训练好的基于特征的推荐模型对第二候选集进行排序;

步骤(4):从排序结果中选择排序靠前的设定个数的商品作为最终的推荐结果。

所述用户对一类商品的历史交易数据,是指当前用户对已购买的同一种类不同商品的评分。

作为本发明的进一步改进,所述步骤(2)的离散分解机dfm模型为:

x表示商品的特征;xi∈x,xj∈x;xi表示第i个特征的特征值;xj表示第j个特征的特征值;dfm(x)表示离散分解机dfm模型;w0表示全局偏差;wi表示特征偏差;wi∈w;是偏差参数;bi,bj均为矩阵b的列向量,每一个向量内积<bi,bj>模拟第i个特征和第j个特征之间的交互;bi表示第i个特征的特征值xi对应的特征向量;bj表示第j个特征的特征值xj对应的特征向量;b∈{±1}k×n是特征的二进制编码向量;

对离散分解机dfm模型的参数进行优化,参数优化目标函数为:

β是一个可调节的超参数,y表示训练样例中的标记值,即当前用户对已购买商品的评分;v表示训练集;α表示正则化超参数;tr(btd)表示此矩阵的迹;bt表示矩阵b转置;d表示矩阵集合中的元素;表示一个矩阵的集合;表示实数集合;表示k×n的实数矩阵;d1表示矩阵d乘求和向量;dt表示矩阵d转置;n表示特征向量的维度;i表示单位矩阵;

利用离散分解机dfm模型的参数优化目标函数,对离散分解机dfm模型的参数进行优化,采用交替优化的策略依次优化并更新参数b、d、w;

在更新参数b时,固定参数d、w不变,依次更新b的每一列向量;在更新列向量时,使用坐标下降法,依次更新当前列向量的每一维比特元素;

在更新参数d时,固定参数b、w不变,通过最大化tr(btd)的值,更新参数d;

在更新参数w时,固定参数b、d不变,使用坐标下降法更新参数w。

所述商品如果是电影,那么商品的特征,包括:搞笑特征、动作特征、科幻特征、电影浏览次数;

特征值,包括:搞笑特征百分比、动作特征百分比、科幻特征百分比、电影浏览次数百分比;

所述搞笑特征百分比=当前电影的电影评论中搞笑二字的词频;

所述动作特征百分比=当前电影的电影评论中动作二字的词频;

所述科幻特征百分比=当前电影的电影评论中科幻二字的词频;

所述电影浏览次数百分比=设定时间范围内用户浏览当前电影的次数与上一年度用户浏览所有电影次数的比值。

作为本发明的进一步改进,所述步骤(3)的步骤为:

基于特征的推荐模型,包括:分解机factorizationmachines。

例如:分解机(factorizationmachines)为例,分解机是一种流行的基于特征的推荐模型,可以利用用户和商品的丰富特征从而提高推荐的准确性。分解机将辅助特征串接到高维、稀疏的特征向量中,为每一维特征学习出一个潜在向量,这些潜在向量的内积被用来模拟特征之间的交互。

基于特征的推荐模型,例如:增强分解机boostedfactorizationmachines,使用分解机的快速上下文感知推荐fastcontext-awarerecommendationwithfactorizationmachines,神经分解机neuralfactorizationmachines,分解机的原始实现libfm。

作为本发明的第二方面,提供了基于离散分解机的个性化推荐系统;

基于离散分解机的个性化推荐系统,包括:存储器、处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述任一方法所述的步骤。

作为本发明的第三方面,提供了一种计算机可读存储介质;

一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器运行时,完成上述任一方法所述的步骤。

与现有技术相比,本发明的有益效果是:

我们在真实的电子商务数据集上进行了关于dfm推荐表现和计算效率的实验。实验结果证明了dfm有很好的推荐表现并且能够进行快速的推荐,因此将dfm用在候选集的产生和排列两阶段之间作为候选集得过滤层,既不会影响推荐的效率,又能提高最终推荐的表现。可见,使用候选集的产生阶段,dfm过滤阶段,候选集的排列阶段的三阶段的推荐模式,能够很好地解决原有模式中可能存在的,由于候选集精度较低所带来的一系列问题。

附图说明

构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。

图1为本发明的流程图。

具体实施方式

应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。

作为本发明的第一个实施例,如图1所示,基于离散分解机的个性化推荐方法,包括:

步骤(1):将用户对一类商品的历史交易数据输入到预先建立的协同过滤模型中,对预先建立的协同过滤模型进行训练,得到训练好的协同过滤模型;针对所有的商品数据,采用训练好的协同过滤模型产生第一候选集;

步骤(2):将用户的历史交易数据输入到预先建立的离散分解机dfm模型中,对预先建立的离散分解机dfm模型进行训练,得到训练好的离散分解机dfm模型;对第一候选集采用训练好的离散分解机dfm模型进行过滤得到第二候选集;

步骤(3):采用用户的历史交易数据对预先建立的基于特征的推荐模型进行训练,得到训练好的基于特征的推荐模型,利用训练好的基于特征的推荐模型对第二候选集进行排序;

步骤(4):从排序结果中选择排序靠前的设定个数的商品作为最终的推荐结果。

所述用户对一类商品的历史交易数据,是指当前用户对已购买的同一种类不同商品的评分。

作为本发明的进一步改进,所述步骤(2)的离散分解机dfm模型为:

x表示商品的特征;xi∈x,xj∈x;xi表示第i个特征的特征值;xj表示第j个特征的特征值;dfm(x)表示离散分解机dfm模型;w0表示全局偏差;wi表示特征偏差;wi∈w;是偏差参数;bi,bj均为矩阵b的列向量,每一个向量内积<bi,bj>模拟第i个特征和第j个特征之间的交互;bi表示第i个特征的特征值xi对应的特征向量;bj表示第j个特征的特征值xj对应的特征向量;b∈{±1}k×n是特征的二进制编码向量;

对离散分解机dfm模型的参数进行优化,参数优化目标函数为:

β是一个可调节的超参数,y表示训练样例中的标记值,即当前用户对已购买商品的评分;v表示训练集;α表示正则化超参数;tr(btd)表示此矩阵的迹;bt表示矩阵b转置;d表示矩阵集合中的元素;表示一个矩阵的集合;表示实数集合;表示k×n的实数矩阵;d1表示矩阵d乘求和向量;dt表示矩阵d转置;n表示特征向量的维度;i表示单位矩阵;

利用离散分解机dfm模型的参数优化目标函数,对离散分解机dfm模型的参数进行优化,采用交替优化的策略依次优化并更新参数b、d、w;

在更新参数b时,固定参数d、w不变,依次更新b的每一列向量;在更新列向量时,使用坐标下降法,依次更新当前列向量的每一维比特元素;

在更新参数d时,固定参数b、w不变,通过最大化tr(btd)的值,更新参数d;

在更新参数w时,固定参数b、d不变,使用坐标下降法更新参数w。

所述商品如果是电影,那么商品的特征,包括:搞笑特征、动作特征、科幻特征、电影浏览次数;

特征值,包括:搞笑特征百分比、动作特征百分比、科幻特征百分比、电影浏览次数百分比;

所述搞笑特征百分比=当前电影的电影评论中搞笑二字的词频;

所述动作特征百分比=当前电影的电影评论中动作二字的词频;

所述科幻特征百分比=当前电影的电影评论中科幻二字的词频;

所述电影浏览次数百分比=设定时间范围内用户浏览当前电影的次数与上一年度用户浏览所有电影次数的比值。

作为本发明的进一步改进,所述步骤(3)的步骤为:

基于特征的推荐模型,包括:分解机factorizationmachines。

例如:分解机(factorizationmachines)为例,分解机是一种流行的基于特征的推荐模型,可以利用用户和商品的丰富特征从而提高推荐的准确性。分解机将辅助特征串接到高维、稀疏的特征向量中,为每一维特征学习出一个潜在向量,这些潜在向量的内积被用来模拟特征之间的交互。

基于特征的推荐模型,例如:增强分解机boostedfactorizationmachines,使用分解机的快速上下文感知推荐fastcontext-awarerecommendationwithfactorizationmachines,神经分解机neuralfactorizationmachines,分解机的原始实现libfm。

作为本发明的第二个实施例,提供了基于离散分解机的个性化推荐系统;

基于离散分解机的个性化推荐系统,包括:存储器、处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成上述任一方法所述的步骤。

作为本发明的第三个实施例,提供了一种计算机可读存储介质;

一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器运行时,完成上述任一方法所述的步骤。

为了提高个性化推荐中,候选集的产生阶段的精度,从根本上优化最终的推荐的结果。我们采用如下方法:扩大原来候选集的产生阶段中,生成的候选集的数量(例如,将原来从100万个商品中选出1000个商品作为候选集,扩大到选出1万个商品作为候选集)。之后,加入一个新的阶段,dfm过滤阶段。这一阶段的作用,是对上一阶段扩大的候选集进行过滤,使得提供给排列阶段的候选集的数量保持不变,同时提高被提供的候选集的精度。因此,我们提出一种新型的三阶段的个性化推荐模式,依次为:候选集的产生阶段,dfm过滤阶段,候选集的排列阶段。由于第一和第三阶段采用的方法和两阶段模式相同,因此不再赘述。以下主要介绍dfm过滤阶段。

dfm全称:离散分解机(discretefactorizationmachines),是一种兼顾特征的多样性和计算效率的推荐模型。其本质上是一种预测一对用户-商品的分数的函数。公式化这个模型如下:

是一个高维的特征向量,包含着丰富的边信息,由one-hot的用户id、商品id以及用户和商品的其他特征串接而成。是模型的bias参数。b∈{±1}k×n是特征的二进制编码向量,每一个向量内积<bi,bj>模拟第i个和第j个特征之间的交互。

因为编码矩阵b的存在,使得dfm可以捕捉更丰富的边信息间的交互,成为一种基于特征的有效的推荐模型。这也让dfm相比于协同过滤、矩阵分解等传统算法在推荐结果上有了更好的表现。dfm模型的另外两大优势就是计算效率高且可存储。在dfm中,特征之间的交互无需大量的计算,可以容易地按位进行异或操作来计算<bi,bj>的值,这种离散值的编码使得计算速度相比于连续值的情况提速了十多倍,满足快速推荐的需求。存储离散值矩阵相比于存储连续值矩阵,需要更小的存储空间,这使得dfm能够更轻易地部署在一些移动设备上。

关于dfm模型的优化问题,我们采用当下最先进的针对离散值参数的优化方法,即直接离散优化得到dfm的重要参数,编码矩阵b。我们把一组(x,y)作为一个训练实例,其中x代表dfm的特征向量而y代表这个训练实例中用户对商品的分数。我们整合了整个训练集,dfm的优化问题可以用以下公式表示:

为了让二进制编码能够更紧凑并携带更多的信息,我们对dfm中的编码施加了平衡性约束和去相关性约束。为了使施加了约束后的优化问题在计算上可解,我们采用了frobenius范数来实现以上两种约束。新的优化目标函数如下:

上面公式中的β是一个可调节的超参数,用来控制平衡性约束和去相关性约束的强度。我们采用交替优化的策略来解决dfm的优化问题,即依次优化并更新参数b、d、w,更新的过程中保持其余的参数不变。这种直接优化的方法使得优化出的结果具有最小的量子化损失。

我们在真实的电子商务数据集上进行了关于dfm推荐表现和计算效率的实验。实验结果证明了dfm有很好的推荐表现并且能够进行快速的推荐,因此将dfm用在候选集的产生和排列两阶段之间作为候选集得过滤层,既不会影响推荐的效率,又能提高最终推荐的表现。可见,使用候选集的产生阶段,dfm过滤阶段,候选集的排列阶段的三阶段的推荐模式,能够很好地解决原有模式中可能存在的,由于候选集精度较低所带来的一系列问题。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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