一种基于双向循环神经网络的个性化推荐系统及方法技术方案

技术编号:19009229 阅读:49 留言:0更新日期:2018-09-22 09:05
本发明专利技术提供一种基于双向循环神经网络的个性化推荐系统及方法,涉及个性化推荐技术领域。该个性化推荐系统及方法,采用双向循环神经网络模型对用户不同行为及行为发生顺序进行建模。在训练集上利用反向传播算法训练该双向循环神经网络模型,在验证集上选择表现最优的双向神经网络模型,然后利用该双向神经网络模型为不同用户生成与其兴趣爱好相对应的个性化推荐列表。本发明专利技术提供的基于双向循环神经网络的个性化推荐系统及方法,所构建的双向循环神经网络模型在训练过程中某一时间步,不仅学习用户过去时间步的行为信息,而且学习用户未来时间步的行为信息,将更全面对用户的行为信息进行建模,进而做出更好的推荐。

A personalized recommendation system and method based on two way recurrent neural network

The invention provides a personalized recommendation system and method based on bidirectional cyclic neural network, and relates to the technical field of personalized recommendation. The personalized recommendation system and method adopt the bi-directional cyclic neural network model to model the user's different behavior and behavior sequence. On the training set, the bi-directional recurrent neural network model is trained by back-propagation algorithm, and the best performance bi-directional neural network model is selected on the verification set. Then the bi-directional neural network model is used to generate personalized recommendation lists corresponding to different users'interests. The invention provides a personalized recommendation system and method based on bidirectional cyclic neural network, and the bidirectional cyclic neural network model constructed by the invention can learn not only the behavior information of the user's past time step but also the behavior information of the user's future time step at a certain time step in the training process, so that the behavior information of the user will be more comprehensive. Modeling and then making better recommendations.

【技术实现步骤摘要】
一种基于双向循环神经网络的个性化推荐系统及方法
本专利技术涉及个性化推荐
,尤其涉及一种基于双向循环神经网络的个性化推荐系统及方法。
技术介绍
当前,网络服务商为用户提供了诸如新闻、商品、图片、视频、音频和文档等(以下统一简称为物品)的在线推荐服务。为更好提供服务追求商业利益最大化,在线推荐服务提供商会记录用户对物品的行为信息,例如记录用户对物品的点击、购买(使用)、转发和评论等。如何根据用户的行为信息为用户提供精准个性化推荐,是个性化推荐系统所面临的重大挑战,其主要表现在:第一、就表达的用户偏好而言,用户的不同行为代表不同的用户偏好。例如,点击、转发物品等行为意味着用户对该物品有兴趣。而用户为物品给予高评分,往往意味着用户喜欢该物品。第二、用户行为发生的时间顺序反映了用户偏好的变化过程。用户行为发生顺序为设计个性化推荐系统时需重点考虑的因素。因此,如何高效利用用户多种行为信息及用户行为发生顺序,为用户提供精准的个性化推荐,是个性化推荐系统设计人员亟待解决的问题。
技术实现思路
针对现有技术的缺陷,本专利技术提供一种基于双向循环神经网络的个性化推荐系统及方法,实现根据用户的行为信息为用户提供精准个性化推荐。一方面,本专利技术提供一种基于双向循环神经网络的个性化推荐系统,包括用户行为收集模块、样本生成模块、权重矩阵确定模块、模型选择模块、模型泛化能力评估模块和个性化推荐列表生成模块;所述用户行为收集模块,收集大量用户对物品的行为信息,并将其发送到样本生成模块;所述样本生成模块,根据用户行为收集模块收集的行为信息,对每一个用户全部行为信息按时间排序并生成相应的样本,并形成样本集,在样本集中抽取96%的样本作为训练集,在样本集剩余的样本抽取50%的样本作为验证集,另外50%的样本作为测试集;所述权重矩阵确定模块,在样本生成模块生成的训练集上训练双向循环神经网络模型,确定双向循环神经网络中的权重矩阵;所述模型选择模块,在样本生成模块生成的验证集上进行双向循环神经网络模型的选择;所述模型泛化能力评估模块,在样本生成模块生成的测试集上评估模型选择模块选中的双向循环神经网络模型的模型泛化能力;所述个性化推荐列表生成模块,利用模型泛化能力评估模块评估的具有泛化能力的双向循环神经网络模型为每一个用户生成个性化推荐列表。另一方面,本专利技术还提供一种采用上述基于双向循环神经网络的个性化推荐系统进行个性化推荐的方法,包括以下步骤:步骤1、用户行为收集模块收集用户对物品的大量行为信息并将其发送到样本生成模块;步骤2、样本生成模块根据用户行为收集模块收集的行为信息,对每一个用户全部行为信息按时间排序并生成相应的样本,集合全部样本形成样本集,在样本集中抽取96%的样本作为训练集,在样本集剩余的样本抽取50%的样本作为验证集,另外50%的样本作为测试集;步骤3、权重矩阵确定模块在样本生成模块生成的训练集上训练双向循环神经网络模型,确定双向循环神经网络中的权重矩阵,具体方法为:步骤3.1、基于在线用户对物品的行为信息及用户信息构建双向循环神经网络模型;所述双向循环神经网络包括输入层、隐藏层以及输出层,其中,所述输入层的输入包括用户个人信息U、用户t时刻的行为信息A(t)以及用户t时刻行为的目标物品信息I(t);所述隐藏层的输出为t时刻隐藏层的输出S(t);所述输出层的输出为t时刻输出层的输出O(t);所述输入层的输入与隐藏层的输出之间存在下列函数关系:其中,为t时刻正向输入隐藏层的输入值,为t时刻反向输入隐藏层的输入值,S(t)是一个h×1的向量,表示t时刻隐藏层的输出,为一个有h个元素输入向量,用于表示t-1时刻正向输入隐藏层的输出,为一个有h个元素输入向量,用于表示t-1时刻正向输入隐藏层的输出,h为隐藏层维数;分别表示输入层A(t)、U连接到正向输入隐藏层的权重矩阵,分别表示输入层A(t)、U连接到反向输入隐藏层的权重矩阵,Wforward为正向输入隐藏层状态的变换权重矩阵,Wbackward为正向输入隐藏层状态的变换权重矩阵,f()为sigmoid函数,所述隐藏层的输出S(t)与输出层的输出O(t)之间存在下列函数关系:O(t)=g(YS(t))其中,Y是隐减层连接到输出层的权重矩阵,g()为softmax函数,步骤3.2、随机生成权重矩阵Wforward和Wbackward;步骤3.3、利用基于梯度下降的反向传播算法(BPTT)训练双向循环神经网络,逐层调整参数权重矩阵,直至模型训练满足收敛条件,即模型训练迭代次数达到上限,或待优化的目标函数的值不再减小;如果满足收敛条件,则确定了双向循环神经网络中的权重矩阵,否则执行步骤3.4;所述迭代次数上限为K≤100,待优化的目标函数采用交叉嫡(Crossentropy),如下公式所示:其中,E为待优化的目标函数,ti是第t时刻的训练样本中的物品编号,s是训练样本总数;步骤3.4、继续在训练集上训练双向循环神经网络;步骤4、模型选择模块在样本生成模块生成的验证集上进行双向循环神经网络模型选择,选择表现最优的双向循环神经网络模型,具体方法为:步骤4.1、通过增加双向循环神经网络模型的隐藏层数、增多模型隐藏层节点数、增加模型训练时间、使用Adam优化算法和神经架构搜索的措施来增加双向循环神经网络模型容量,减小模型偏差,解决模型欠拟合问题;步骤4.2、通过减少双向循环神经网络模型的隐藏层数、减少模型隐藏层节点数、L2正则化、数据集增强、dropout和神经架构搜索的措施来减小双向循环神经网络模型容量,减小模型方差,解决模型过拟合问题;步骤5、模型泛化能力评估模块在样本生成模块生成的测试集上,根据个性化推荐的正确率评估选中的双向循环神经网络模型的泛化能力;步骤6、个性化推荐列表生成模块利用模型泛化能力评估模块评估的具有泛化能力的双向循环神经网络模型为每一个用户生成个性化推荐列表,具体方法为:对每一个用户U及其最后一个训练样本I(tn),A(tn)以及对应的隐藏层S(tn-1),计算输出层的输出O(tn),取O(tn)最大的前k个元素,其编号即为要个性化推荐的物品编号。由上述技术方案可知,本专利技术的有益效果在于:本专利技术提供的一种基于双向循环神经网络的个性化推荐系统及方法,所构建的双向循环神经网络模型在训练过程中某一时间步,不仅学习用户过去时间步的行为信息,而且学习用户未来时间步的行为信息,将更全面对用户的行为信息进行建模,进而做出更好的推荐。同时,本专利技术的个性化推荐系统及方法,无需人工设计个性化推荐系统的所需的特征表示,双向循环神经网络模型将自动从用户信息与某一时刻用户的行为信息中抽取相应的特征表示,这将大大减小人工设计特征表示所需的时间,提高个性化推荐系统的设计效率。随着个性化推荐系统用户量的增多,用户行为信息的增多,在更大用户数据量上再训练的个性化推荐系统也将进一步提升个性化推荐性能,从而形成良性循环。附图说明图1为本专利技术实施例提供的基于双向循环神经网络的个性化推荐系统的结构框图;图2为本专利技术实施例提供的基于双向循环神经网络的个性化推荐方法的流程图;图3为本专利技术实施例提供的双向循环神经网络模型示意图。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步详细描述。以下实施例用于说本文档来自技高网...
一种基于双向循环神经网络的个性化推荐系统及方法

【技术保护点】
1.一种基于双向循环神经网络的个性化推荐系统,包括用户行为收集模块、样本生成模块、权重矩阵确定模块、模型选择模块、模型泛化能力评估模块和个性化推荐列表生成模块;所述用户行为收集模块,收集大量用户对物品的行为信息,并将其发送到样本生成模块;所述样本生成模块,根据用户行为收集模块收集的行为信息,对每一个用户全部行为信息按时间排序并生成相应的样本,并形成样本集,在样本集中抽取96%的样本作为训练集,在样本集剩余的样本抽取50%的样本作为验证集,另外50%的样本作为测试集;所述权重矩阵确定模块,在样本生成模块生成的训练集上训练双向循环神经网络模型,确定双向循环神经网络中的权重矩阵;所述模型选择模块,在样本生成模块生成的验证集上进行双向循环神经网络模型的选择;所述模型泛化能力评估模块,在样本生成模块生成的测试集上评估模型选择模块选中的双向循环神经网络模型的模型泛化能力;所述个性化推荐列表生成模块,利用模型泛化能力评估模块评估的具有泛化能力的双向循环神经网络模型为每一个用户生成个性化推荐列表。

【技术特征摘要】
1.一种基于双向循环神经网络的个性化推荐系统,包括用户行为收集模块、样本生成模块、权重矩阵确定模块、模型选择模块、模型泛化能力评估模块和个性化推荐列表生成模块;所述用户行为收集模块,收集大量用户对物品的行为信息,并将其发送到样本生成模块;所述样本生成模块,根据用户行为收集模块收集的行为信息,对每一个用户全部行为信息按时间排序并生成相应的样本,并形成样本集,在样本集中抽取96%的样本作为训练集,在样本集剩余的样本抽取50%的样本作为验证集,另外50%的样本作为测试集;所述权重矩阵确定模块,在样本生成模块生成的训练集上训练双向循环神经网络模型,确定双向循环神经网络中的权重矩阵;所述模型选择模块,在样本生成模块生成的验证集上进行双向循环神经网络模型的选择;所述模型泛化能力评估模块,在样本生成模块生成的测试集上评估模型选择模块选中的双向循环神经网络模型的模型泛化能力;所述个性化推荐列表生成模块,利用模型泛化能力评估模块评估的具有泛化能力的双向循环神经网络模型为每一个用户生成个性化推荐列表。2.采用权利要求1所述的基于双向循环神经网络的个性化推荐系统进行个性化推荐的方法,其特征在于:包括以下步骤:步骤1、用户行为收集模块收集用户对物品的大量行为信息并将其发送到样本生成模块;步骤2、样本生成模块根据用户行为收集模块收集的行为信息,对每一个用户全部行为信息按时间排序并生成相应的样本,集合全部样本形成样本集,在样本集中抽取96%的样本作为训练集,在样本集剩余的样本抽取50%的样本作为验证集,另外50%的样本作为测试集;步骤3、权重矩阵确定模块在样本生成模块生成的训练集上训练双向循环神经网络模型,确定双向循环神经网络中的权重矩阵;步骤4、模型选择模块在样本生成模块生成的验证集上进行双向循环神经网络模型选择,选择表现最优的双向循环神经网络模型;步骤5、模型泛化能力评估模块在样本生成模块生成的测试集上,根据个性化推荐的正确率评估选中的双向循环神经网络模型的泛化能力;步骤6、个性化推荐列表生成模块利用模型泛化能力评估模块评估的具有泛化能力的双向循环神经网络模型为每一个用户生成个性化推荐列表。3.根据权利要求2所述的基于双向循环神经网络的个性化推荐方法,其特征在于:所述步骤3的具体方法为:步骤3.1、基于在线用户对物品的行为信息及用户信息构建双向循环神经网络模型;所述双向循环神经网络包括输入层、隐藏层以及输出层,其中,所述输入层的输入包括用户个人信息U、用户t时刻的行为信息A(t)以及用户t时刻行为的目标物品信息...

【专利技术属性】
技术研发人员:柴岩林寒啸
申请(专利权)人:辽宁工程技术大学
类型:发明
国别省市:辽宁,21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1