5.1数据集 尽管本文的研究内容建立在己有的用户-主题兴趣的数值矩阵之上,然而我们在真实的数据集上却无法直接获得这一量化的兴趣指数.因而在实验中我们需要建立用户兴趣指数的一个度量,尽管这与本文所描述的算法内容是无关的,但是为了表现实验的效果,这项工作是必要的.其中,P(R)为阅读到主题R的概率,P(R|r)为用户转发、评论的内容来自于主题R的概率,以上两个概率可以用对实验数据集的统计结果近似.在接下来的讨论中,都以这一兴趣值度量为基础. 我们通过新浪微博的开放平台API抓取实验数据.由于社交网络中存在海量的用户和信息,简单随机地抓取节点会造成实验数据过于稀疏,也不能体现弱关系社交网络中的结构特征.因此,我们通过以种子用户为起始逐步在新浪微博的网络中生成兴趣图的方式来模拟基于弱关系的网络社区的形成过程,从而得到具有异构社交网络特征的局部样本.主要过程为:①以5?10个相邻或相近的用户节点作为种子节点.②对每一次迭代,采用深度优先的方式,抓取与当前用户相邻的用户节点;或者采用广度优先的方式,抓取当前用户所关注的主题节点.③根据统计得到的用户关注对象中用户节点和主题节点的平均比值,来调整迭代中进行两种抓取的比例.④根据抓取到的用户集合和主题集合,获取详细的关注、转发、评论的数据,根据前文的公式,计算“用户期望转评率”,从而得到最终的用户-主题兴趣矩阵. 在本实验中,我们抓取了多组各不相同的用户-兴趣关注矩阵,最终的实验结果为各种实验数据的平均值.其中每一组均包含约500个用户、50个主题和近2万条微博内容. 实验参照算法为:(1)基于Top-K相似的协同过滤推荐算法(Collaborative-Filtering,CF);(2)基于主题内容相似度(Content-based)的K近邻推荐算法.实验参照算法基于开源的机器学习库ApacheMahout而实现.其中Collaborative-Filtering算法为基于用户的协同过滤,用户相似度的计算采用皮尔森相关系数,最终的推荐结果使用T〇p-K推荐.Content-based算法中主题之间的相似度采用汉语句子相似度来计算[13].实验中,我们将用户的一半主题作为训练集,将另一半主题作为测试集进行实验. 5.2推荐效果 我们在实验中观察到,几种算法在面对稀疏数据集的情况下,其产生推荐结果的能力是不同的,表1显示了不同数据稀疏度情况下,几种算法所能产生的最大推荐结果数量的对比(本实验中我们限制最大推荐数量不超过测试集的非零兴趣值数量). 显然,在数据极端稀疏的情况下,无论是CF还是基于内容的方法,都不能产生足够的推荐结果,而GCCR方法的推荐能力受数据稀疏性的影响非常小. 接着,我们对比几种算法在最优参数下的准确率和召回率.我们总是取推荐个数等于训练集中的关注个数,而对于CF和Content-based算法,我们取Top4个数为10个.准确率可表示为推荐命中的数量与总推荐数量的比值,召回率可表示为推荐命中数量与测试集中总关注数量的比值.图5(a)显示了在不同数据稀疏程度下各算法的推荐准确率. 可以看到,在极端数据稀疏的情况下(密度低于10%),协同过滤算法具有最差的准确性,在密度超过10%时逐渐提升.而基于内容的推荐方法对于数据的稀疏性并不敏感,然而准确率维持在不高的水平.GCCR算法在数据极端稀疏的情况下仍能保持较高的推荐准确率,并且随着数据密集度增大也能逐步提升,这与本算法在图摘要过程中实现了数据的密集化有关.因而,在微博类异构社交网络的场景下,由于普遍存在的数据稀疏性(常常低于10%),GCCR相比传统方法具有显著的提升. 可以看到,GCCR算法在稀疏数据集中,召回率保持在稳定的较高的水平.而CF和Content-based的方法,受数据稀疏性的影响较大,产生的推荐数量和质量都比较差,其中Content-based的方法由于产生推荐结果的数量较少而使得召回率非常低. 为了更好地比较算法的推荐质量,我们引入了Fmeasure和MAP(MeanAveragePrecision)两项指数.其中,Fm6asu?为准确率和召回率的调和平均值,该值越高则表明推荐算法的综合性能越好,同时,对一个用户群体产生的推荐结果的MAP可定义为对每个用户推荐结果的AP(AveragePrecision)值的平均值,该值越高,则表明推荐算法的总体推荐而AP值表示对某个用户推荐结果的平均准确率. 5.3多样性 我们通过人工标注,将50个主题分为文字、时尚、笑话、资讯等16个类别.由于在冷启动场景下,新加入的用户通常关注的主题有限,因而其兴趣范围可能仅体现在几个类别的主题之中,而推荐算法为了避免过快地收敛,我们希望能产生一定范围内更多样的推荐结果,从而提高跨类别推荐的可能性.我们将训练集中不存在对某类别主题的关注而产生对该类别主题的推荐定义为“跨类别推荐”,同时对于此类推荐结果在测试集中的命中称为“跨类别命中”.在实验中,我们通过针对性地删除在训练数据集中每个用户对于于某一类或几类主题的关注信息,来模拟冷启动场景下的数据特点,以此来测试算. 可见GCCR算法在模拟冷启动的场景下,产生跨类推荐的数量和质量都明显较好.在图6中,我们采用产生的推荐结果中跨类推荐的值和总体推荐结果的值的乘积来衡量推荐的多样性.可以看到,相比传统基于内容的推荐方法,GCCR可以产生更高质量的跨类别推荐结果,这来自于GCCR中产生的聚类模糊性.而基于内容的方法在主题类别缺失较多的情况下,具有极低的推荐多样性,导致推荐结果过快收敛. |