论文部分内容阅读
在目前的个性化推荐算法中,协同过滤推荐算法最为经典,是很多推荐算法的理论基础,但仍然存在一些像数据稀疏性、冷启动、可扩展性等干扰推荐效果的问题。其中由于系统中用户和项目数量过多,不是所有项目都被用户所接触,因此会带来数据稀疏性的问题;当新用户加入系统时,由于系统数据库中没有此用户相关的历史数据,无法对用户进行个性化推荐,只能按照某种规则进行推荐,从而产生用户冷启动问题。本文主要针对协同过滤推荐算法中面临的数据稀疏性与冷启动问题导致的推荐效果不精确,提出了一种优化缺失的数据填充方式和相似度求解的方法。首先根据用户的平均评分将用户划分为三种不同用户群体,对用户进行层次聚类,将用户基本特征如年龄进行编码后初步计算用户之间的距离相似度,并与共同评分项所占比值相乘作为填充值权重的一部分得到用户相似度,利用Slope-one算法计算前K个相似用户的填充值,加入相似度的权重以获得最终填充值,对数据填充方式进行初步改进;其次计算相似度寻找近邻集时,将用户基本属性作为相似度权重,并且引入Sigmoid函数来添加时间戳对相似度的影响,对寻找近邻用户用到的相似度求解方法做出初步优化;最后加入用户ID和项目标签特征,对ID类特征进行One-hot编码之后输入分类或者回归的神经网络进行参数计算,训练得到对应的权重,把权重向量作为ID和标签的Embedding向量,并计算Embedding距离相似性作为相似度权重的一部分,进一步改进协同过滤推荐算法中的数据填充方式和相似度计算方法。本文用Movielens数据集对应提出的优化方法做了相应的实验,实验结果表明,推荐精度得到了显著提高,数据稀疏性与冷启动问题得到了改善,证明了本文提出的改进算法的有效性。