一种基于协同过滤模型的混合神经网络推荐系统技术方案

技术编号:21159587 阅读:27 留言:0更新日期:2019-05-22 08:04
本发明专利技术公开了一种基于协同过滤模型的混合神经网络推荐系统,包括数据预处理模块、混合神经协同过滤模块、评分预测模块,推荐模块和数据库,其中,数据预处理模块从数据库中获取原始数据,并将原始数据转化成矩阵的形式;混合神经协同过滤模块通过对多模型同时训练的方式,获得对用户评分的概率值;评分预测模块利用混合神经协同过滤模块与广义矩阵分解组合输出最终的评分预测值,最后将评分预测值作为评分预测结果存储在数据库中;推荐模块利用评分预测模块计算得到的评分预测结果,经过对评测指标的排序向用户进行推荐。本发明专利技术利用不同的结构混合神经网络,使用了更多的神经网络层,预测准确性得到了显著提升并且获得的信息也更加多样化。

A Hybrid Neural Network Recommendation System Based on Collaborative Filtering Model

The invention discloses a hybrid neural network recommendation system based on collaborative filtering model, which includes data preprocessing module, hybrid neural collaborative filtering module, score prediction module, recommendation module and database, in which the data preprocessing module obtains raw data from the database and converts the original data into matrix form; and the hybrid neural collaborative filtering module passes through multiple channels. The model trains at the same time to obtain the probability value of the user's score; the score prediction module outputs the final score prediction value by combining the hybrid neural collaborative filtering module and the generalized matrix decomposition, and finally stores the score prediction value as the score prediction result in the database; the recommendation module uses the score prediction module to calculate the score prediction result, and then carries on the evaluation index. Sort to recommend to users. The present invention utilizes hybrid neural networks with different structures, uses more neural network layers, improves prediction accuracy significantly and obtains more diversified information.

【技术实现步骤摘要】
一种基于协同过滤模型的混合神经网络推荐系统
本专利技术属于机器学习领域中的推荐系统研究领域,是一种基于混合神经网络通过协同过滤挖掘用户兴趣偏好来进行推荐的推荐系统。
技术介绍
随着互联网的快速发展与普及,人们面临着琳琅满目的在线内容(如电影、书籍和音乐),导致用户寻找到自己想要的信息需要耗费大量时间,即说到的信息过载现象。为了解决这种现象,推荐系统应运而生。目前,推荐系统已经被广泛地应用于如淘宝、Netflix、亚马逊和YouTube等国内外电商平台。据报道,80%用户使用Netflix的推荐引擎观看电影,YouTube的主页推荐超过60%的视频点击。推荐系统在更加方便地服务客户的同时,也大幅度地提高了公司的利润。推荐系统中最重要的挑战之一就是如何提高算法的准确性。解决这个问题的关键在于需要建一个精确的模型来表示用户与商品之间的关系。例如矩阵分解(matrixfactorization,MF)是分别对用户和商品联合映射到一个潜在空间中,潜在空间中每一个向量代表一个用户或商品,通过潜在因子(隐因子)内积运算预测某一用户对某一商品的兴趣程度。内积运算方法实际上是一个线性模型,而线性方法对用户和商品之间的关系进行建模是不完全的,因为也存在非线性关系。由此,提出了神经协同过滤(NeuralCollaborativeFiltering,NCF),它利用多层感知器(Multi-LayerPerceptron,MLP)来学习用户和商品之前的非线性关系。NCF采用塔型的多层感知器,其中每个神经层的节点数是下一个神经层的两倍,当神经网络的深度增加时,算法呈指数级增长,这就造成了神经网络的层数不能太大。而节点数相同的多层感知器可以基本解决这个问题,其中每个神经网络的层数都有相同的节点。但是,对于这种结构而言,可能会出现退化问题,即算法的准确性不会随着神经网络的深度增加而提高,这就使得一个神经网络若是层数加深可能会危及算法的准确性。
技术实现思路
本专利技术的专利技术目的在于:针对上述存在的问题,提供一种由全局神经块和局部神经块组成的混合神经协同过滤的推荐系统,以提升推荐性能。为实现上述专利技术目的,本专利技术使用混合神经协同过滤推荐系统,系统包括以下几个模块:数据预处理模块:从系统数据库中提取用户对商品的评分信息,并过滤掉对商品的评分数少于预设阈值(例如20)的用户,即通过一个评分商品数阈值将用户分为两类:活跃用户和非活跃用户,仅基于活跃用户构建用户-商品评分矩阵表;并设置用户对商品是否存在评分的标识符,若存在评分,则将该标识符设置1;否则设置为0;即在该模块中将显反馈的评分转换为隐反馈,如果用户对商品进行了评分,相应的条目将被标记为1,反之,则将条目被标记为0。再基于用户对商品的标识符构建用户-商品评分矩阵表并存入数据库中,其每一行代表的是一位用户的信息,即用户特征向量(vu);每一列代表了一件商品的信息,即商品特征向量(oi),表中数值代表了对应用户对该商品有无评分。混合神经协同过滤模块,包括嵌入层、全局神经块和局部神经块构成的混合神经网络;所述全局神经块采用塔式的多层神经网络,每一层神经网络即为一层全局神经网络层;全局神经网络层从前往后的网络层节点数递减,前一层全局神经网络层的节点数是后一层全局神经网络层的2倍;即全局神经块通过塔式的多层感知器对用户-商品之间的交互(即评分yui,其中下标u表示用户,i表示商品)进行建模;同时,在相邻两个全局神经网络层中插入一定数量的堆叠的神经网络层,构成两个相邻的全局神经网络层之间的局部神经块;混合神经协同过滤模块从数据库中读取用户特征向量和商品特征向量,并输入嵌入层;所述嵌入层基于其上设置的隐向量,分别将户特征向量和商品特征向量映射为稠密向量后,再输出至第一层全局神经网络层;通过对混合神经网络的训练,获取混合神经网络的层间权重信息;并基于训练好的层间权重信息的得到当前输入的用户特征向量和商品特征向量在混合神经网络的输出信息;即初始化嵌入层的隐向量,通过全连接将稀疏的用户特征向量和商品特征向量变为稠密向量,再将其通过全局神经块及局部神经块对用户-商品的权重wui进行设置,之后通过训练输出混合神经协同过滤模块的最后一层。优选的,局部神经块采用深度残差神经网络。深度残差网络可以解决退化的问题,其中潜在映射为去拟合一些堆叠层,堆叠层可以近似表示为评分预测模块:将混合神经协同过滤模块与广义矩阵分解(GeneralizedMatrixFactorization,GMF)组合在一起,用他们各自最后一层的隐藏层进行全连接,输出用户对商品的预测评分其中下标u表示用户,i表示商品。并基于输出的预测评分构建用户-商品评分预测表并存入到数据库中。由于输入的数据是隐反馈,所以输出的预测评分值则代表用户是否选择了该商品的概率,即1代表用户选择了该商品,反之则没有选择该商品。其中用户-商品评分预测表中每一行代表的是一位用户对所有商品的评分预测信息,每一列代表了一件商品的信息,表中数值的大小在0和1之间,表示用户对商品的预测评分的概率,越接近1则代表用户选择该商品的机会大一些,反之则小。推荐模块:从数据库中读取用户-商品评分预测表,除开用户已经购买过的商品外,随机抽取一定数量的商品(例如100个商品),在用户未购买的商品中通过评价排序指标按照从高到低的顺序对预测评分进行排序,对于每一位用户而言,选择排序最前的前(例如10)件商品作为当前用户的推荐数据表并予以推荐;同时将用户当前的推荐数据表存储在数据库中。其中推荐数据表中的每一行表示对一位用户的推荐信息,每一列表示商品被推荐的情况。本专利技术的专利技术目的是这样实现的:本专利技术用混合神经系统过滤推荐系统,由数据预处理模块、混合神经协同过滤模块、评分预测模块,推荐模块组成。数据预处理模块从数据库中获取原始数据,并将原始数据转化成矩阵的形式;混合神经协同过滤模块通过对多模型同时训练的方式,获得对用户评分的概率值;评分预测模块利用混合神经协同过滤模块与广义矩阵分解组合输出最终的评分预测值,最后将评分预测值作为评分预测结果存储在数据库中;推荐模块利用评分预测模块计算得到的评分预测结果,经过对评测指标的排序向用户进行推荐。综上所述,由于采用了上述技术方案,本专利技术的有益效果是:(1)本专利技术考虑到用户与商品之间非线性关系的情况下,没有额外信息(如评分时间,用户关系等),使得推荐更加个性化。(2)本专利技术在局部神经块加入深度残差网络神来增加全局塔型多层感知机的深度,一定程度上缓解了退化问题并且算法的复杂度也没有显著提高。(3)本专利技术使用的算法在用户评分较少的稀疏矩阵中也能有非常不错的推荐效果,可以有效地解决数据稀疏性的问题。(4)本专利技术利用不同的结构混合神经网络,使用了更多的神经网络层,预测准确性得到了显著提升并且获得的信息也更加多样化。(5)本专利技术方法运用领域广泛,如可用于书籍推荐,音乐推荐,电影推荐等推荐领域。附图说明图1是本专利技术基于混合神经协同过滤的推荐系统各模块协作流程图;图2是本专利技术架构图,以深度残差神经网络为例的示意图;图3是节点数相同的多层感知机构建的局部神经块的示意图;图4是塔型的多层感知机构建的局部神经块示意图;图5是深度残差网络的多层感知机构建的局部神经块的示意图;图6是混合神本文档来自技高网
...

【技术保护点】
1.一种基于协同过滤模型的混合神经网络推荐系统,其特征在于,包括数据预处理模块、混合神经协同过滤模块、评分预测模块、推荐模块和数据库;其中,数据预处理模块,用于从数据库中提取用户对商品的评分信息,并过滤掉对商品的评分数少于预设阈值的用户;并设置用户对商品的评分标识符,若存在评分,则将评分标识符设置1;否则设置为0;然后基于用户对商品的评分标识符构建用户‑商品评分矩阵并存入数据库中,用户‑商品评分矩阵的每一行代表的是一位用户的信息,即用户特征向量;每一列代表一件商品的信息,即商品特征向量,表中数值代表评分标识符;混合神经协同过滤模块,包括嵌入层、全局神经块和局部神经块构成的混合神经网络;所述全局神经块采用塔式的多层神经网络,每一层神经网络即为一层全局神经网络层;全局神经网络层从前往后的网络层节点数递减,前一层全局神经网络层的节点数是后一层全局神经网络层的2倍;同时,在相邻两个全局神经网络层中插入一定数量的堆叠的神经网络层,构成两个相邻的全局神经网络层之间的局部神经块;混合神经协同过滤模块从数据库中读取用户特征向量和商品特征向量,并输入嵌入层;所述嵌入层基于其上设置的隐向量,分别将户特征向量和商品特征向量映射为稠密向量后,再输出至第一层全局神经网络层;通过对混合神经网络的训练,获取混合神经网络的层间权重信息;并基于训练好的层间权重信息的得到当前输入的用户特征向量和商品特征向量在混合神经网络的输出信息;评分预测模块,对混合神经协同过滤模块的混合神经网络和实现广义矩阵分解的神经网络的最后一层的隐藏层进行全连接,输出用户对商品的预测评分...

【技术特征摘要】
1.一种基于协同过滤模型的混合神经网络推荐系统,其特征在于,包括数据预处理模块、混合神经协同过滤模块、评分预测模块、推荐模块和数据库;其中,数据预处理模块,用于从数据库中提取用户对商品的评分信息,并过滤掉对商品的评分数少于预设阈值的用户;并设置用户对商品的评分标识符,若存在评分,则将评分标识符设置1;否则设置为0;然后基于用户对商品的评分标识符构建用户-商品评分矩阵并存入数据库中,用户-商品评分矩阵的每一行代表的是一位用户的信息,即用户特征向量;每一列代表一件商品的信息,即商品特征向量,表中数值代表评分标识符;混合神经协同过滤模块,包括嵌入层、全局神经块和局部神经块构成的混合神经网络;所述全局神经块采用塔式的多层神经网络,每一层神经网络即为一层全局神经网络层;全局神经网络层从前往后的网络层节点数递减,前一层全局神经网络层的节点数是后一层全局神经网络层的2倍;同时,在相邻两个全局神经网络层中插入一定数量的堆叠的神经网络层,构成两个相邻的全局神经网络层之间的局部神经块;混合神经协同过滤模块从数据库中读取用户特征向量和商品特征向量,并输入嵌入层;所述嵌入层基于其上设置的隐向量,分别将户特征向量和商品特征向量映射为稠密向量后,再输出至第一层全局神经网络层;通过对混合神经网络的训练,获取混合神经网络的层间权重信息;并基于训练好的层间权重信...

【专利技术属性】
技术研发人员:曾伟汪韦怡樊哿
申请(专利权)人:电子科技大学
类型:发明
国别省市:四川,51

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

1