一种基于递归神经网络的推荐方法及系统的制作方法

文档序号:9597915阅读:452来源:国知局
一种基于递归神经网络的推荐方法及系统的制作方法
【技术领域】
[0001] 本发明涉及系统推荐技术领域,具体涉及一种基于递归神经网络的推荐方法及系 统。
【背景技术】
[0002] 当前,网络服务商为用户提供了诸如新闻、商品、图片、视频、音频、文档等(以下 统一简称为物品)的在线服务。为了更好的为用户提供服务,服务提供商会记录用户的历 史行为,例如记录用户购买(使用)过哪些物品、对物品的评价、点击、转发、评论等。根据 用户的历史行为,为用户提供准确的推荐,是推荐系统面临的重大挑战,其主要表现在:
[0003] 第一,虽然用户历史行为对了解用户偏好,进而为用户推荐物品,提供了重要信 息。但是多样的用户行为具有诸多不同的含义。例如,要根据评论的内容才能知道用户是 否喜欢一个物品。此特点给有效利用多种用户行为带来了困难。
[0004] 第二,就表达的用户偏好而言,用户行为表现出巨大的不确定性。例如,点击、转发 等行为不能很明确的说明用户是否喜欢该物品。而用户给予较高评分的物品,多数情况下 是用户比较喜欢的。
[0005] 第三,用户行为发生的时间顺序反映了用户偏好的变化过程,也是推荐系统需要 考虑的重要因素,需要加以合理利用。
[0006] 因此,如何有效的利用记录的多种用户行为,为用户提供准确的推荐,是本领域人 员急待解决的问题。

【发明内容】

[0007] 有鉴于此,有必要提供一种能够有效的利用记录的多种用户行为从而为用户提供 准确的推荐的推荐方法及系统。
[0008] -种基于递归神经网络的推荐方法,所述基于递归神经网络的推荐方法包括以 下步骤:
[0009] S1、收集用户对物品的历史行为,并建立递归神经网络;
[0010] S2、按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一 个用户生成相应的训练样本;
[0011] S3、根据训练样本对递归神经网络进行训练,确定递归神经网络中的权重矩阵;
[0012] S4、根据训练后的递归神经网络为每一个用户生成推荐列表。
[0013] -种基于递归神经网络的推荐系统,所述基于递归神经网络的推荐系统包括以下 功能t吴块:
[0014] 用户行为收集模块,用于收集用户对物品的历史行为,并建立递归神经网络;
[0015] 训练样本生成模块,用于按照行为发生时间对每一个用户记录的历史行为进行先 后排序;并针对每一个用户生成相应的训练样本;
[0016] 权重矩阵确定模块,用于根据训练样本对递归神经网络进行训练,确定递归神经 网络中的权重矩阵;
[0017] 推荐列表生成模块,用于根据训练后的递归神经网络为每一个用户生成推荐列 表。
[0018] 本发明提供基于递归神经网络的推荐方法和系统,其采用递归神经网络模型对用 户行为建模并用于推荐系统,通过结合BP算法原理和本发明的神经网络结构,构建针对推 荐系统的递归神经网络模型学习方法,根据推荐系统的特点对递归神经网络进行训练,建 立独有神经网络结构,从而根据新的神经网络结构为不同用户生成与其兴趣爱好相对应的 推荐列表。所述推荐方法和系统通过采用递归神经网络从用户历史行为中学习用户偏好, 并据此为用户提供推荐服务。通过递归神经网络特有的递归结构,能够基于时间序列对不 同类型的用户行为进行统一表示;且递归神经网络在时间上展开后形成一个深度神经网络 结构,能够更精确的表示具有较大随机性的用户行为。
【附图说明】
[0019] 图1是本发明所述基于递归神经网络的推荐方法的流程图;
[0020] 图2是本发明所述基于递归神经网络的推荐方法的递归神经网络推荐模型;
[0021] 图3是图1中步骤S3的子流程图;
[0022] 图4为图1中步骤S33的子流程图;
[0023] 图5是本发明所述基于递归神经网络的推荐系统的结构框图;
[0024] 图6是图5中权重矩阵确定模块的子结构框图;
[0025] 图7是图5中网络训练子模块的子结构框图。
【具体实施方式】
[0026] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明,应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。
[0027] 如图1所示,本发明实施例提供一种基于递归神经网络的推荐方法,所述基于递 归神经网络的推荐方法包括以下步骤:
[0028] S1、收集用户对物品的历史行为,并建立递归神经网络;
[0029] S2、按照行为发生时间对每一个用户记录的历史行为进行先后排序;并针对每一 个用户生成相应的训练样本;
[0030] S3、根据训练样本对递归神经网络进行训练,确定递归神经网络中的权重矩阵;
[0031] S4、根据训练后的递归神经网络为每一个用户生成推荐列表。
[0032] 其中,所述递归神经网络包括输入层、隐藏层以及输出层,所述输入层的输入包括 用户信息U、用户t时刻的行为信息A(t)以及用户t时刻行为的目标物品信息I (t),所述 隐藏层的输出包括t时刻隐藏层的输出S (t)以及t-Ι时刻隐藏层的输出S (t-1),所述输出 层的输出包括t时刻输出层的输出0(t)。
[0033] 具体的,在一个网络推荐系统中,设U为递归神经网络输入层的一个输入向量,用 于表示用户信息,对于有m个用户的推荐系统,设第i个用户有m个元素,其中第i个元素 为1,其它元素为0 ;
[0034] A (t)为输入层的一个输入向量,用于表示用户t时刻的行为,对于能够处理1种用 户行为的推荐系统,第j种用户行为表示为一个有1个元素的向量,其中第j个元素为1,其 它元素为〇 ;
[0035] I(t)是输入层的一个输入向量,用于表示用户t时刻行为的目标物品,对于有η个 物品的推荐系统,第k个物品表示为一个有η个元素的向量,其中第k个元素为1,其它元 素为〇 ;
[0036] S(t-l)是输入层的一个有h个元素输入向量,用于表不t-Ι时刻隐藏层的输出,h 为隐藏层维数;优选的,隐藏层维数h取值为[50,200]中的整数。
[0037] S(t)是一个hX 1的向量,表不t时刻隐藏层的输出。
[0038] 进一步的,所述输入层的输入与隐藏层的输出之间存在下列函数关系:
[0039] S(t) = f (VI(t)+ffA(t)+XS(t-l)+TU)
[0040] 其中,V,W,X,T分别表示输入层I (t)、A(t)、S(t-l)、U连接到隐藏层的权重矩阵; 函数f是sigma函数
[0041] 所述隐藏层的输出S(t)与输出层的输出0(t)之间存在下列函数关系:

[0043] 其中,Y是隐藏层连接到输出层的权重矩阵,g是softmax函数,
[0044] 其中,如图3所示,步骤S3包括以下分步骤:
[0045] 331、随机生成权重矩阵1\¥、¥3、¥、2;
[0046] S32、检查收敛条件,即检查迭代次数是否达到上限;或目标函数的值是否不再减 小;如果不满足收敛条件,则进入步骤S33 ;反之则确定了递归神经网络中的权重矩阵;
[0047] S33、根据每一个用户的训练样本对递归神经网络进行训练;
[0048] 所述迭代次数上限为K彡100。
[0049] 并采用交叉熵(Cross entropy)做为待优化的目标函数,即:
[0051] 其中,E为目标函数,h是第t时刻的训练样本中的物品编号,s是训练样本数量;
[0052] 步骤S3中采用BP(back propagation)算法学习图1中的递归神经网络,从而确定 特征1-4中的权重矩阵T,V,W,X和特征1-5中的权重矩阵Y ;如图4所示,具体步骤如下:
[0053] S331、计算输出层梯度
[0054] 计算输出层的梯度E0(t) = I (t)-〇(t);
[0055] S332、更新隐藏层到输出层的权重矩阵
[0056] 更新权重矩阵Y义』(t+1) = Yi』(t) + a Sj (t) EOi⑴-β Yi j⑴
[0057] 其中,α是学习率,β是正规化参数。且优选的,学习率α的取值为0.001,正规 化参数β的取值为le 6;
[0058] S333、计算隐藏层梯度
[0059] 计算隐藏层的梯度 ES(t) = YE0(t) Θ (S(t) (l-S(t)))
[0060] S334、更新输入层到隐藏层的权重矩阵
[0061 ] 更新权重矩阵T,V,W,X
[0066] 步骤S4、根据训练后的递归神经网络为每一个用户生成推荐列表。
[0067] 具体的,对每一个用户U及其最后一个训练样本I (tn),A (tn),以及对应的隐藏层 S(tn_l),计算0(〇。取0(tn)最大的前k个元素,其编号即为要推荐的物品编号。
[0068] 基于上述基于递归神经网络的推荐方法,本发明还提供一种基于递归神经网络的 推荐系统,如图5所示,所述基于递归神经网络的推荐系统包括以下功能模块:
[0069] 用户行为收集模块,用于收集用户对物品的历史行为,并建立递归神经网络;
[0070] 训练样本生成模块,用于按照行为发生时间对每一个用户记录的历史行为进行先 后排序;并针对每一个用户生成相应的训练样本;
[0071] 权重矩阵确定模块,用于根据训练样本对递归神经网络进行训练,确定递归神经 网络中的权重矩阵;<
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1