论文部分内容阅读
随着信息技术和Web2.0的快速发展,信息的爆炸式增长造成了信息过载的现象。推荐系统是克服信息过载问题的有效工具,它通过分析用户的历史行为挖掘用户兴趣,从而主动给用户推荐能够满足他们兴趣和需求的信息。大数据时代,推荐系统待处理的数据规模越来越大,个性化推荐技术面临着新的挑战。其中,冷启动问题、数据稀疏性问题、大数据处理与增量技术等问题表现的较为显著。 现阶段的协同过滤算法只利用了用户对项目的浅层打分数据,使得推荐性能深受冷启动和数据稀疏性的影响。目前关于这方面的研究主要集中于增加额外的数据源和充分利用有限行为数据。但是如何从横向融合多源异构信息与纵向深挖有限信息来进一步提高推荐性能是一个值得深入研究的方向。本文在深入研究多源数据融合和用户隐式反馈行为的基础上,提出了两个个性化推荐算法,在一定程度上缓解数据稀疏、冷启动和扩展性问题,具体工作包括: (1)提出一种新颖的融合信任关系和有用性评价的矩阵分解推荐方法(DualSocTrust)。DualSocTrust算法从增加额外数据源方面着手,在对评分矩阵概率分解的基础上,加入用户信任关系和有用性评价信息。采用交替最小二乘法训练模型参数。基于Epinions和Ciao数据集上的实验表明,与近三年来多个流行的算法(如PMF算法,DualRec算法)相比,DualSocTrust算法在推荐结果的RMSE和MAE上具有比较大的提高,有效缓解了个性化推荐系统中面临的数据稀疏和冷启动问题带来的负面影响。 (2)提出一种融合用户间好友关系和社会化标签的协同过滤算法(FT-CF)。FT-CF算法从深挖有限行为数据方面着手,首先借助于网络资源分配算法来对社交网络的结构信息提取特征;利用IF-IDF构建合理的社会化标签模型。然后,利用线性模型融合两方面的信息,从而实现推荐。基于Lastfm和Delicious数据集的实验表明,与近三年来多个流行的算法(PRT-CF算法、CRAUST算法)相比,FT-CF算法在准确率和召回率上都具有较大提高,有效缓解了个性化推荐中的数据稀疏性问题。 (3)完成了本文提出的融合信任关系和有用性评价的矩阵分解推荐方法的分布式实现。通过DualSocTrust模型的设计,将预测评分转化为最优化求解问题。对比分析了几种常用的最优化求解方法。为了评测该算法在大规模数据集上的计算性能,本文设计并实现了基于迭代式计算的Apache Spark上的分布式算法。