论文部分内容阅读
互联网的内容已经进入富信息时代,网络上的数据、知识、商品、好友关系、甚至是微博或者带有用户信息的移动智能手机都囊括了大量的可用信息,而对于用户个体来说,却很难在海量的信息中找到对自己有价值的。在这样的大背景下,推荐系统应运而生,其目的就是从海量的数据中利用已有的选择打分等过程或者相似性关系挖掘出个性化的对用户有价值的信息,其本质是信息过滤。在日常生产生活中,也常常有推荐系统伴随在身边,比如电商网站上面的产品推荐,或者微博上面的好友推荐等等。但这些推荐系统在工程上对时间以及复杂度进行了妥协,所以可以看到推荐的结果有时候并不尽如人意,对用户来说仅仅是一个参考。在推荐系统研究领域,原始的信息可以分为用户对产品的评价信息、产品本身的内容信息、用户本身的标签信息等等。用户本身的标签信息往往很难得到,所以一般的推荐系统算法会用到前面提到的两类原始信息。诸如经典的协同过滤算法,用到的就是用户对产品的评价信息,在深入研究中,发现协同过滤基于相同口味的用户会喜欢同一类商品这一假设,看上去似乎很有道理,但推荐系统有一个目的就是个性化,该假设只会推荐热门的商品,而冷门的优质商品将越来越得不到推荐,所以以上的假设大部分时间是适用的,但不能解决所有的问题。而在另一些推荐算法中,有使用产品本身内容信息的,其思想是用户对某一类产品感兴趣,那用户对这一类中其他商品也会感兴趣,同样,思想是正确的,但在解决所有的问题上并不能完全适用。针对这些问题,本文想到了联合已有的原始信息,组合起来并以一个数据模型来表示,再在模型上使用推荐系统算法,从而能够联合现有的经典假设,完成各种情况下的推荐。本文共实验了两个推荐算法,分别是重启随机游走算法和逻辑回归算法,通过算法自然选择用户的各种喜好情况,从而完成推荐。本文使用了CiteULike网站上的数据集,其网站是一个论文查询引用网站,并保存有用户的引用论文,从而很好的匹配了本文需要的实验数据。在推荐结果评估算法上,本文使用了Top N的Precision、Recall,以及整体的MAP,从实验结果中可以得到,本文实验的两种方法比起经典的协同过滤等算法都有所提高。在时间复杂度上,重启随机游走在合理的时间复杂度增加下提高了Precision、Recall等,是可以接受的,逻辑回归的结果可以看成是一个分类器,所以在时间复杂度方面更加适用于实际生产中。