论文部分内容阅读
近年来,随着信息技术和Web 2.0的发展,信息的爆炸式增长造成了信息过载(Information Overload)的现象。推荐系统(Recommender Systems)是克服信息过载问题的有效工具,它通过分析用户的历史行为挖掘用户兴趣,从而主动给用户推荐能够满足他们兴趣和需求的信息。目前,推荐系统已经广泛应用于各大在线网站并取得了巨大的商业价值,例如Amazon的商品推荐、Netflix和YouTube的视频推荐。在学术界,很多不同类型的推荐算法被提出,其中,协同过滤(Collaborative Filtering, CF)凭借其优势成为最受欢迎的一类推荐算法。尽管协同过滤在个性化推荐方面取得较大成功,但本身存在的一些关键问题制约着其进一步发展。本文以国家自然科学基金项目为依托,结合已有工作,针对协同过滤推荐算法存在的数据稀疏性、可扩展性和Top-n推荐这三个关键问题展开了系列研究工作。论文的主要工作和创新性可以归纳为以下几个方面:(1)本文提出了一种结合Linked Data的协同过滤推荐算法。由于推荐系统中的数据稀疏性问题,传统的基于矩阵分解的CF推荐算法将不能准确地学习到用户和项目(item)的潜在特征。本文利用Linked Data中的高质量数据,来缓解数据稀疏性问题对矩阵分解推荐算法的影响。我们利用Linked Data中关于项目的显式结构化属性信息定义项目之间的相似度,并提出了两种项目相似度敏感的矩阵分解推荐算法。我们假设项目显式属性比较相似的项目在矩阵分解之后得到的潜在特征向量也应该是近似的,因此打破了矩阵分解中项目的独立性。实验结果表明,本文的推荐算法能够很好地应对数据稀疏性问题,尤其对只有极少打分信息的项目来说仍然能够做出高准确度的推荐。(2)本文提出了一种基于用户组的二部图推荐算法。该方法从二部图推荐算法存在的数据稀疏性和可扩展性问题出发,将聚类技术应用到用户聚类中。具体来说,我们首先利用奇异值分解(SVD)将打分信息进行降维获得用户的特征空间。考虑到用户兴趣的多样性,我们使用模糊c-means聚类算法将用户划分成多个用户组,每个用户组代表有相似兴趣的用户群体,其中每个用户可以属于多个用户组。基于用户组将原始的二部图拆分为多个比较稠密的并且规模更小的子图,在子图上的推荐大大减少了计算量。实验表明,与以往以损失推荐准确度来提高推荐效率的方法不同,本文的方法在提高可扩展性的同时保证了推荐的准确度。(3)本文提出了一种基于信息融合的混合多组联合聚类推荐方法。在推荐系统领域,以往的聚类方法只利用了用户和项目的打分信息来将用户或者项目聚成多个组。但是,由于打分数据的稀疏性不能保证聚类结果的有效性。为了解决上述问题,我们融合了用户-项目打分信息、用户-用户社交关系和项目-项目关联信息并基于三种类型信息定义了一种新的混合多组联合聚类方法。该聚类方法能够将用户和项目同时聚类,并且用户和项目可以出现在多个组中。然后,基于聚类结果将原始打分矩阵划分成多个子矩阵。在子矩阵中利用CF推荐算法产生中间推荐结果。最后,我们将多个子矩阵的中间推荐结果进行聚合产生最终推荐列表。实验结果表明基于我们的聚类方法比以往一些聚类方法能够产生更高的推荐准确率,同时缓解了数据稀疏性和可扩展性问题。(4)本文提出了一种基于Listwise排序的协同过滤推荐算法。该算法针对Top-n推荐问题,省略了评分预测步骤,直接预测项目排序。首先,我们利用Plackett-Luce模型将用户打分转化为项目集合上排列的概率分布,基于Kullback-Leibler (KL)距离衡量每对用户之间对项目排序的相似度。然后,基于用户相似度定义加权的交叉熵损失函数,通过梯度下降方法最小化损失函数预测目标用户的项目排序,并产生Top-n推荐。为了提高算法的实用性和运算效率,我们随后提出了算法在计算用户相似度时的增量更新方法,大大缩减了运算时间。通过在三个标准数据集上的实验表明,我们的方法比基于Pairwise排序的协同过滤推荐算法具有更高的推荐效率,而且与当前主流推荐算法相比具有更高的Top-n推荐准确度。