论文部分内容阅读
随着互联网技术的飞速发展,社会进入了信息时代,这给人们的生活带来了极大的便利,但同时也带来了一些问题,“信息过载”就是困扰人们生活的问题之一。互联网上的数据是以指数级的速度增长的,数据爆炸式的增长使得人们想要在这庞大的数据中找到自己所需的信息变得十分困难,而推荐系统是解决“信息过载”问题的重要工具,所以成为当前的一大研究热点。推荐系统的推荐原理是基于用户的历史数据,然后为用户创建兴趣爱好模型,最后为用户推荐其可能感兴趣的内容,而不需要用户输入自己的需求,有效的解决了“信息过载“问题。但是推荐系统也存在一些问题,比如冷启动、推荐准确度低等问题。推荐系统的关键就在于算法的设计,为了产生令人满意的推荐效果,就需要设计好的推荐算法。协同过滤算法是经典的推荐算法,其基于用户历史数据计算相似度的算法思想以及良好的推荐效果使其在推荐系统领域得到了广泛的应用。本文针对协同过滤推荐算法进行了研究,以期改善推荐系统的性能。具体的研究工作如下:首先,对协同过滤推荐算法中的Slope One算法进行改进,提出了一种基于物品相似度的Slope One算法。在传统的Slope One算法的基础上加入了物品相似度信息,根据物品之间的相似度信息确定物品偏差的权重。物品相似度信息体现了不同物品与目标物品之间的偏差在评分预测时的重要程度。实验仿真结果表明,本文提出的算法相较于传统的Slope One算法有更高的预测准确率。然后,针对协同过滤算法存在的用户冷启动问题,本文提出了一种使用用户的人口统计学信息解决用户冷启动问题的方案。首先利用原有数据库中的用户行为数据计算用户相似度,然后根据用户的相似度信息计算用户各统计学特征的权重,再以用户各特征的权重寻找与目标用户相似的用户,最后为其提供推荐。仿真结果表明该方案能在一定程度上解决用户冷启动问题。最后,本文针对协同过滤算法中的SVD(Singular Value Decomposition)算法,研究了一种利用神经网络进行特征提取的SVD算法。使用MovieLens 1M数据集中的用户信息和电影信息来提取用户和电影的特征向量。对用户特征提取采用三层神经网络,对电影名称特征中的文本信息使用两层CNN(Convolutional Neural Networks)进行处理。实验结果显示,与传统的SVD算法相比,利用神经网络进行特征提取的SVD算法具有更高的预测准确率。