论文部分内容阅读
随着科学技术和商业应用的快速进步,互联网已经进入了人们日常生活的各个角落。迅速普及的互联网给人们的生活带来了许多便利,与此同时对于如何利用互联网中庞大的数据更好的为人们服务的研究也从未停下脚步。推荐系统正是诞生于这样一个互联网数据爆炸的时代。推荐系统通过分析用户属性、用户历史行为以及被推荐项目的属性与内容等信息,发掘用户的兴趣,分析不同用户以及不同项目的特征,主动的向用户提供用户可能感兴趣的内容。对于用户而言,推荐系统是一种有效的发现内容的工具,其能够主动的提供用户感兴趣的内容却不需要额外的操作;对商家而言,推荐系统是一种有效的内容分发工具,可以将最合适的内容分发给最需要它的用户。在本文中,详细介绍了推荐系统的诞生与发展,对于多种当下热门的推荐算法的基本原理和实现过程进行了一个总结和归纳,比较了不同推荐算法的适用环境和他们的优缺点。其中基于协同过滤的推荐算法作为当前研究最多应用最广的推荐算法之一,在本文中做了详细介绍,并在后续的内容中针对协同过滤推荐算法存在的问题进行了深入研究并提出改进算法。不断地提高推荐精度和个性化程度是推荐系统研究的一个重要方向。本文在深入分析协同过滤推荐算法的原理和流程的基础上,针对传统的协同过滤推荐算法中相似度计算不够准确的问题进行改进。提出了结合用户评分与属性兴趣的协同过滤推荐算法(RACF)。首先判断用户之间共同评分项目数量,当两个用户共同评分数量过少的时候,传统的相似度计算将难以得到准确的值。在本文中,将用户对项目的评分映射到用户对项目属性的感兴趣程度,生成属性兴趣特征向量来计算用户的相似度。当两个共同评分数量足够时,基于用户之间的评分数据离散程度来比较两个用户的评分习惯,基于评分习惯优化用户之间的相似度。最后在Movielens-100k数据集上进行仿真实验,证明RACF算法提高了推荐精度和推荐结果的多样性。虽然RACF算法提高了推荐精度和推荐结果的多样性,但是相似度最高的用户并不一定是对推荐最有帮助的用户。于是本文在RACF算法的基础上对邻居集合的生成进行了进一步改进优化,提出了结合用户评分与属性兴趣的协同过滤算法改进(IRACF)。该算法一方面考虑到虽然有些用户与目标用户的相似度高,但是其评分过的项目与目标用户评分过的项目高度重合,对目标用户推荐能力较弱。于是本文提出了可用度的指标,通过可用度降低了那些相似度虽然高但是对推荐帮助较小的用户成为最近邻居用户的概率。另一方面,考虑到与目标用户在相似度接近-1的用户与其对项目评分往往与目标用户呈现相反的趋势。因此本文提出了负邻居的概念,利用相似度为负的用户组成负邻居从反面预测目标用户的评分,再将最近邻居和负邻居的预测评分给予不同的权重得到最终的预测评分。最后在Movielens-100k数据集上进行仿真实验,证明IRACF算法进一步提高了推荐精度和推荐结果的多样性。