目 录
摘要 1
ABSTRACT 1
1引言 2
1.1研究背景 2
1.2现有成果 2
2相关技术简介 3
2.1协同过滤算法 3
2.1.1基于相似度的算法 3
2.1.2基于模型的算法 3
2.2相似度计算 4
3需求分析 4
3.1SERENDIPITY 的定义 4
3.2SERENDIPITY 能解决的问题 4
3.3SERENDIPITY 的衡量标准 5
3.3.1意向不到的度量 5
3.3.2有效性 5
3.3.3新颖性 5
4详细设计和实现 5
4.1算法流程 5
4.1.1利用协同过滤算法得出 RS 6
4.1.2原始推荐算法模型 PM 6
4.1.3得出用户意想不到的物品集 UNEXPECT 6
4.1.4利用有效性得出 USEFUL 6
4.1.5结合物品内容得出 SERENDIP(t) 6
4.2PYTHON 和 NUMPY 8
4.2.1工具的选择 8
4.2.2代码实现 8
5测试与结果 9
5.1输入文件 9
5.2代码测试 10
5.2.1初步预测 10
5.2.2得出 UNEXPECT 11
5.2.3得出 USEFUL 12
5.2.4得出 SERENDIP(t) 12
5.3结果测试 13
5.3.1GENRE 比较 13
5.3.2用户测试 14
6 总结 15
6.1整体评估 15
6.2存在的限制 15
6.3未来工作 16
致谢 16
参考文献 16
在推荐系统中引入 Serendipity 的算法研究
摘要:现今广泛使用的推荐算法所推荐的项目,往往出自于一个相对固定和狭窄的特征集合,
因此忽略了用户兴趣的改变和对新鲜感的诉求。为了让用户有更好的用户体验,推荐系统应该考虑在准确率之外更加重要的衡量尺度,比如说新颖度、惊喜度、覆盖率、有效性等。这篇论文的核心是如何将推荐系统结合 serendipity 这个尺度。Serendipity 的定义是在一种轻松愉快的氛围中偶然发现让自己意想不到的物品,因此算法中融合了商品的属性特征 genre,评分越高的 genre 往往有着越低的 serendipity。算法代码是用带有科学计算包 numpy 的 pyhon 语言写成,并且在 100K
MovieLens 数据集上进行测试,可以鉴别出在利用协同过滤算法推荐给用户的项目中,serendipity 较低的项目,进而提升推荐系统的用户体验。
关键词:推荐系统;协同过滤;Serendipity
Research on Serendipity Algorithm in Recommendation System
Abstract:Nowadays, the items recommended by widely used recommendation algorithms often come from a relatively fixed and narrow set of features, thus ignoring the changes of user’s interests and the demands of freshness. Therefore, recommendation system should consider other more important metrics outside of accuracy such as novelty, serendipity, coverage, usefulness in order to provide a better user experience. The core of this thesis is how to incorporate serendipity into a recommendation. Serendipity is
defined as finding something good by accident in a relaxed and delighted atmosphere, hence the algorithm considers items’ genre feature. Usually higher ratings correspond to lower serendipity. The algorithm implemented using Python in conjunction with the scientific computing package Numpy and tested on the 100K MovieLens dataset is shown to be capable of identifying less serendipitous items in the item set recommended to users by algorithm based on collaborative filtering, thereby improving user experience of the recommendation system.
Key words:Recommendation System;Collaborative Filtering;Serendipity