一种基于动态周期神经网络的商品推荐方法

文档序号:10489616阅读:277来源:国知局
一种基于动态周期神经网络的商品推荐方法
【专利摘要】本发明公开一种基于动态周期神经网络的商品推荐方法,该方法将用户历史购买的商品切分到不同篮子;用篮子中每个商品潜在语义向量的表达得到每个篮子的特征表达向量,并得到篮子兴趣表达向量;根据篮子兴趣表达向量得到用户不同时间动态表达向量,并由动态表达向量得到用户不同时间内对商品的初始评分;抽取篮子外商品作为负样本建立优化目标函数;通过求解优化目标函数更新参数得到商品和用户的潜在语义向量表达,并得到用户对商品最终评分并推荐。本发明解决了当前流行的模型只能提取局部特征的问题,运用迭代方法学习用户动态表达,能适用于新数据即时输入及复杂商业场景,能很好地应用于互联网商品推送及各类推荐系统场景。
【专利说明】
一种基于动态周期神经网络的商品推荐方法
技术领域
[0001] 本发明涉及线上线下用户物品交互技术领域,尤其涉及一种基于动态周期神经网 络的商品推荐方法。
【背景技术】
[0002] 随着电子商业井喷式增长,电商平台每天都记录下海量的用户购物数据。用户购 物历史往往是按照时间顺序记录下来,因此可以挖掘这些历史数据中的时序特征。然而在 实际的购物场景中,用户有时会在某一时间点或者较短的时间段内产生较多的购物行为, 由于时间间隔较短,这些购物行为中往往没有明显的时序特征。另一方面,对于用户的拼单 行为,很多购物行为同时发生,这些购物行为就不能按照时间时序进行分析。因此,需要将 用户购物历史数据按照时间顺序切分到不同的篮子,把篮子内的商品当成一个整体,忽略 内部的时间顺序,只研究篮子之间的时间顺序。
[0003] 当前一些较流行的下一个篮子推荐系统模型都是基于马尔科夫链假设,即只研究 相邻的两个篮子之间的联系,忽略其他的联系。然而,在实际的复杂购物场景中,某两个相 邻的篮子之间并没有任何联系,也就是说,某个篮子产生的影响并不是直接作用于紧接着 的下一个篮子,可能是作用于再往后的某些篮子。因此,需要挖掘出这些篮子中所有可能的 联系,包括篮子间的局部联系和全局联系。在上述场景中,现有的基于马尔科夫链假设的下 一个篮子推荐系统模型不能提取篮子间的全局联系。因此,现有的基于马尔科夫链假设的 推荐系统模型不能有效地解决篮子模型中的推荐问题。

【发明内容】

[0004] 本发明目的在于解决上述的技术问题而提出一种基于动态周期神经网络的商品 推荐方法,以解决现有方法不能有效的满足下一个篮子推荐任务的需求的问题。
[0005] 本发明是这样实现的,一种基于动态周期神经网络的商品推荐方法,包括步骤:
[0006] 步骤Sl,将用户历史购买的商品按预设时间间隔切分到不同的篮子;
[0007] 步骤S2,给每一个篮子中的每一个商品初始化一个潜在语义向量表达,应用池化 操作得到每一个篮子的特征表达向量;
[0008] 步骤S3,利用所述篮子的特征表达向量,运用周期神经网络的转移矩阵运算得到 篮子兴趣表达向量;
[0009] 步骤S4,根据不同时间的所述篮子兴趣表达向量,运用周期神经网络中的周期信 号传递矩阵运算得到该用户在不同时间的动态表达向量;
[0010] 步骤S5,对用户在不同时间的动态表达向量通过与商品矩阵的运算,得到用户在 不同时间内对所有商品的初始化评分;
[0011] 步骤S6,随机抽取不在篮子中的商品作为负样本,通过贝叶斯个性化排序算法建 立优化目标函数模型;
[0012] 步骤S7,通过求解该优化目标函数模型并更新模型参数直到模型收敛,得到商品 和用户的潜在语义向量表达以及模型的所有参数;
[0013] 步骤S8,根据所述商品和用户的潜在语义表达向量的点积运算得到用户对所有商 品的最终评分,然后根据最终评分高低进行商品推荐。
[0014] 本发明方法可为每一个用户学习一组随时间变化的动态表达,从而充分地反映不 同时刻用户兴趣及其变化,利用周期神经网络中的周期信号矩阵挖掘商品序列的全局特 征,能够有效提取篮子之间的时间序列特征,即局部和全局的联系,从而学习篮子间全局的 联系;使用户动态兴趣及篮子间的时间序列特征被有效考虑,从而提升了篮子推荐的性能; 采用迭代方法学习用户动态表达,采用周期神经网络提取的时间序列特征赋予用户在不同 时间段的动态表达,并且用户在某一时刻的表达向量可以根据之前时刻的表达向量迭代计 算得到,更加适合于快速更新变化的场景及新数据的加入。
【附图说明】
[0015] 图1是本发明方法的流程示意图;
[0016] 图2是分别采用平均池化和最大池化操作的模型的性能比较结果图。
【具体实施方式】
[0017] 为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照 附图,对本发明进一步详细说明。
[0018] 参见图1所示,一种基于动态周期神经网络的商品推荐方法,包括以下步骤:
[0019] 步骤Sl,收集商业平台上用户购买的商品的历史数据,并按照事先预定好的时间 间隔将物品切分到不同的篮子,每个篮子包括对应时间段内用户所购买的商品。
[0020] 需要说明的是,本发明中,所述篮子内所包含的商品之间是没有时间顺序的,而篮 子之间是有时间顺序的。这种篮子内部无序而篮子之间有序的划分方法更符合实际的电商 购物情景或者其他类似情景。
[0021] 步骤S2,给篮子中的每一个商品初始化一个潜在语义向量的表达,将池化操作应 用到篮子内的所有商品的潜在语义向量,并得到每一个篮子的向量表达;
[0022] 本发明中,由于篮子里面包含很多商品的数据,因而就可以实现将这些商品的潜 在语义向量通过相应的池化操作运算得到一个潜在语义向量作为篮子的向量表达;
[0023] 这种池化运算可以是线性运算或非线性运算。所述的池化操作可以是最大池化操 作或者平均池化操作。
[0024] 步骤S3,对于某一用户所有的篮子表达向量通过周期神经网络中的转移矩阵X 的乘积运算,挖掘出该用户在购买当前篮子内的商品时的购物兴趣,购物兴趣由 对应的篮子兴趣表达向量表示。
[0025] 本发明中,步骤S3具体可以是通过周期神经网络中的转移矩阵X运算,可以将篮子 特征向量空间投影到用户兴趣向量空间,从而得到对应的篮子兴趣表达向量,因此得到用 户购买这些商品时所表现出的兴趣。
[0026]步骤S4,对于某一用户在不同时间的篮子兴趣表达向量,通过周期神经网络中的 周期信号传递矩阵R的运算,得到该用户在不同时间的动态表达向量/if,用户表达向量Zif 能够反映用户在某一时间的购物兴趣,定义为:
[0027]
[0028] 其中,激活函数f为sigmoid函数,即f (X) = 示前一时刻用户的潜 在语义表达向量。
[0029]需要说明的是,本发明,在步骤S4中,主要是通过周期神经网络中的周期信号传递 矩阵运算,用之前各个时间段内用户的购物兴趣的向量表达,来充分刻画出每一个时间段 内用户的动态表达向量的。
[0030] 步骤S5,对于用户在不同时间内的动态表达向量,通过与商品矩阵N的乘积运 算,得到用户在不同时间内对所有商品的初始评分;也就是,通过用户的不同时间内的动态 表达向量与商品向量的点积运算得到不同用户对每一个商品初始化的打分;商品的初始化 评分随着训练的过程不断地优化,得分越高表示用户越有可能购买该商品。评分定义如下:
[0031]
[0032] 步骤S6,随机抽取不在篮子中的商品作为负样本,通过贝叶斯个性化排序算法建 立优化目标函数模型,定义如下:
[0033]
[0034] 其中nv表示第V个商品,rv表示负样本中对应nv的一个商品,?4_为商品向量n v的转 置,的i是用户u在时间t的动态表达向量,激活函数为sigmoid函数,即^为 用户u在时间t所购买的商品的篮子的向量表达。Ω为正则项的参数,即模型的参数,包括周 期神经网络中的转移矩阵和周期信号传递矩阵分别为X,R,以及所有商品向量nv组成的矩 阵N,系数α用于控制优化目标函数中正则项所占的权重比例。
[0035] 步骤S7,通过求解该优化目标函数,更新模型参数直到收敛,得到商品和用户的潜 在语义向量表达以及模型的所有参数;用户的潜在语义表达向量为用户在最后一个时间段 内的动态表达向量
[0036] 具体的,可以是采用时序反向传播的方法求解上述优化目标函数,并且采用随机 态度下降法来更新模型参数直至收敛,得到商品和用户的潜在语义表达向量以及模型的所 有参数。
[0037] 步骤S8:根据商品和用户的潜在语义表达向量的点积运算得到每一个用户在不同 时间内对所有商品的最终评分,然后根据最终评分的高低顺序进行商品的推荐。
[0038]其中,评分越尚表不用户购买该商品的可能性越大,并按此将评分尚的商品排列 在前面进行商品的推荐。
[0039]为了验证本发明的效果,下面以Ta-Feng数据集为例进行说明。该数据集包含了 32,266个用户和23,812个物品,总计有817,741次交易记录。这些交易数据按照时间顺序进 行记录。同时对原数据集进行了适当的筛选的到十核子数据集,即将购买商品数超过10的 用户和被购买次数超过10的商品保留下来,剔除其他小众用户及商品。在该数据集上可以 进行篮子推荐任务。具体步骤如下:
[0040]步骤SI,提取Ta-Feng数据集的十核子数据集,并按照事先预定好的时间间隔将子 数据集中的物品切分到不同的篮子,每个篮子包括对应时间段内用户所购买的商品。
[0041 ]步骤S2,给每一商品初始化一个潜在语义向量的表达,将池化操作应用到篮子内 的所有商品的潜在语义向量,得到每一个篮子的向量表达。
[0042] 步骤S3,对于某一用户所有的篮子表达向量通过周期神经网络中的转移矩阵 X的乘积运算,挖掘出该用户在购买当前篮子内的商品时的购物兴趣x&h通过对应的篮子 兴趣表达向量表示。
[0043] 步骤S4,对于某一用户在不同时间的篮子兴趣表达向量,通过周期神经网络中的 周期信号传递矩阵R的运算,得到该用户在不同时间的动态表达向量fef,其定义为:
[0044]
[0045] 其中,激活函数f为sigmoid函数,即以4 = 1/1+61。耐£_1表示前一时刻用户的潜 在语义表达向量。
[0046] 步骤S5,对于用户在不同时间内的动态表达向量/ig,通过与商品矩阵N的乘积运 算,得到用户在不同时间内对所有商品的初始化评分。评分定义如下:
[0047]
[0048] 步骤S6,随机抽取不在篮子中的商品作为负样本,通过贝叶斯个性化排序算法建 立优化目标函数模型,如下:
[0049]
[0050]步骤S7,令α取值为0.01,采用时序反向传播的方法求解上述优化目标函数模型, 并采用随机态度下降法来更新模型参数,直至收敛,最终得到商品和用户的潜在语义表达 向量以及模型的所有参数。
[0051]步骤S7,根据商品和用户的潜在语义表达向量的点积运算得到每一个用户对所有 商品的最终评分,根据最终评分的高低顺序进行商品推荐。
[0052]图1是分别采用平均池化和最大池化操作的DREAM模型的性能比较结果图,Fl分数 (Fl-score)和归一化折扣增益值(NDCG)越大,模型的推荐效果越好,从图中可以看了同,采 用最大池化操作的DREAM模型(本发明方法的篮子推荐模型)能够得到更高的推荐准确率。 [0053]表1是本发明分别以Fl分数(Fl-score)和归一化折扣增益值(NDCG)为观测指标的 不同模型的性能对比结果。其中TOP为推荐流行物品模型,NMF为非负矩阵分解模型,MC为马 尔科夫链模型,FPMC为分解个性化马尔科夫链模型,HRM为分层表示模型,DREAM为本发明篮 子推荐模型。
[0055] 表1
[0056] 以上所述的具体实施例,对本发明的目的、技术方案和效果进行了进一步详细说 明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本 发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范 围之内。
【主权项】
1. 一种基于动态周期神经网络的商品推荐方法,其特征在于,包括步骤: 步骤S1,将用户历史购买的商品按预设时间间隔切分到不同的篮子; 步骤S2,给每一个篮子中的每一个商品初始化一个潜在语义向量表达,应用池化操作 得到每一个篮子的特征表达向量; 步骤S3,利用所述篮子的特征表达向量,运用周期神经网络的转移矩阵运算得到篮子 兴趣表达向量; 步骤S4,根据不同时间的所述篮子兴趣表达向量,运用周期神经网络中的周期信号传 递矩阵运算得到该用户在不同时间的动态表达向量; 步骤S5,对用户在不同时间的动态表达向量通过与商品矩阵的运算,得到用户在不同 时间内对所有商品的初始化评分; 步骤S6,随机抽取不在篮子中的商品作为负样本,通过贝叶斯个性化排序算法建立优 化目标函数模型; 步骤S7,通过求解该优化目标函数模型并更新模型参数直到模型收敛,得到商品和用 户的潜在语义向量表达W及模型的所有参数; 步骤S8,根据所述商品和用户的潜在语义表达向量的点积运算得到用户对所有商品的 最终评分,然后根据最终评分高低进行商品推荐。2. 根据权利要求1所述的方法,其特征在于,步骤S2中,所述池化操作采用线性运算或 非线性运算,可是最大池化操作或者平均池化操作。3. 根据权利要求1所述的方法,其特征在于,步骤S3中,是通过周期神经网络中的转移 矩阵运算,将篮子特征向量表达空间投影到用户兴趣向量表达空间,从而得到篮子兴趣表 达向量的。4. 根据权利要求1所述的方法,其特征在于,步骤S6中,所述优化目标函数模型表示为:其中,nv表示第V个商品,rv表示负样本中对应nv的一个商品,的为商品向量nv的转置, 辟是用户U在时间t的动态表达,激活函数f为sigmoid函数,邮^) = 1/1+6-、,:解为用户11 在时间t所购买的商品篮子的表达;Ω为正则项的参数,包括周期神经网络中的转移矩阵X 和周期信号传递矩阵RW及所有商品向量nv组成的矩阵N;系数α用于控制优化函数中正则 项所占的权重比例。5. 根据权利要求1-4任一项所述的方法,其特征在于,步骤S7中,采用时序反向传播的 方法求解所述优化目标函数模型,并采用随机态度下降法来更新模型参数直至收敛,最终 得到商品和用户的潜在语义表达向量W及模型的所有参数。
【文档编号】G06Q30/06GK105844508SQ201610166084
【公开日】2016年8月10日
【申请日】2016年3月22日
【发明人】谭铁牛, 王亮, 吴书, 刘强, 余峰
【申请人】天津中科智能识别产业技术研究院有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1