(1)数据集
为了评估改进算法的推荐质量,我们采用博文的推荐来进行测试。用网络爬虫工具从互联网中下载博文563篇,人工将其分为五类:社会、财经、IT、生活、娱乐。每类文章均有约100篇。本实验中考察的情境因素是时间段和周以及阅读目的。实验的测试者为8人,均是19~25岁学生。实验分为训练集准备和推荐效果评估两个阶段。在准备训练集阶段,我们让每位用户为20篇文章提供评分信息和阅读情境选择。其中每个测试者看到的文章列表相互之间我们通过系统设置保证有20%的重复。对于每篇文章,我们要求测试者提供倾向于在何种情形下阅读,例如周末、上午、休闲的时候。在推荐效果评估阶段,我们首先让测试者选择一个情境如工作日、下午、休闲的时候,系统按照7.3.1中所述的步骤生成一组符合用户所选情境的推荐,用户对此推荐列表进行反馈如喜欢或不喜欢,本实验中我们为每个用户提供了多个情境组合,对于不同情境组合系统推荐的资源不同,均需测试者提供相应的反馈,这里通过计算推荐准确率来衡量推荐质量。
(2)实验设计与结果
个性化推荐的目的是帮助用户更快更好地找到感兴趣的资源,而MAE(Mean Absolute Error)反映的是预测评分与实际评分的差异,评分的差异并不能完全反映推荐的质量。因此,本节采用准确率(Precision)作为改进算法即情境感知协同过滤(Context-aware Collaborative Filtering,CACF)推荐质量的衡量标准,并将其与传统的基于用户的协同过滤(Collaborative Filtering,CF)的算法进行比较。所谓准确率是指推荐列表中被用户标注为喜欢的项占该列表项总数的比例。用公式表示如下:(www.xing528.com)
其中,A、B分别表示用户标注为喜欢的项目集合和推荐列表中的项目集合,|A∩B|表示推荐列表中符合用户偏好的项的数量,表示推荐列表中项的总数。改进的协同过滤算法和传统协同过滤关于推荐的准确率对比如图7-5所示。因为每个测试者对多种情境的推荐列表进行评价,因此,图7-5中的推荐准确率是多种情境推荐准确率的均值。最后一组数据是前八组数据的均值,从该组数据中不难看出,情境感知协同过滤的算法一定程度上提高了推荐的准确率。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。