Top Banner
Author xlvector, Copyrights belong to CASIA 推荐系统(Recommender System)是帮助用户发现内容,克服信息过载的重 要工具。它通过分析用户的行为,对用户兴趣建模,从而预测用户的兴趣并给 用户做推荐。推荐系统的早期研究主要集中在静态用户行为分析领域,即不考 虑用户行为发生的时间,而仅仅研究用户行为中与时间无关的静态模式。近 年,随着Netflix推荐比赛的推动以及大量包含时间信息的数据集的公开,很多 研究人员转向研究推荐系统的动态特性,主要包括用户兴趣变化的动态模型, 基于时间上下文的推荐等等问题。但这个领域中还存在很多关键技术需要解 决。 本文基于大量公开的用户行为数据集对推荐系统动态特性进行了深入的研 究,包括评分预测问题中用户兴趣的动态模型,Top-N推荐问题中用户兴趣的 动态模型,以及系统时效性对用户兴趣预测的影响等。本文的主要工作和贡献 如下: 1 提出了评分预测问题中用户兴趣预测的动态模型:评分预测问题是推荐 系统中研究最多的问题之一,它的主要任务是通过分析用户对物品的评 分数据,预测给定用户对给定物品的评分。本文将时间信息引入到这个 问题中,通过矩阵分解模型对四种不同的时间效应进行建模,提出了一 个动态的用户兴趣模型。同时,本文还利用级联模型对季节效应进行建 模。实验方法表明该方法相对于静态用户兴趣模型,能够显著的提高评 分预测的精度。 2 提出了Top-N推荐问题中用户兴趣预测的动态模型:Top-N推荐问题是实 际推荐系统中最常见的问题,它的主要任务是通过分析用户的日志数据, 给用户兴趣建模,并根据用户兴趣模型给用户推荐N 个他最可能喜欢的 物品。本文将时间信息引入到这个问题中,通过在传统的用户物品二分 图上引入用户时间节点来对用户的长期兴趣和短期兴趣建模,从而让用 户的推荐结果能够同时反映他们的长期兴趣和短期兴趣。同时,本文还 提出了一个基于图模型的路径融合算法,该算法能够有效的从图模型中 计算出物品相对于每个用户的个性化排名。实验方法表明引入用户时间
122

Phd. Thesis : Temporal Recommendation

Nov 02, 2014

Download

Technology

Liang Xiang

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

摘摘摘 要要要

推荐系统(Recommender System)是帮助用户发现内容,克服信息过载的重

要工具。它通过分析用户的行为,对用户兴趣建模,从而预测用户的兴趣并给

用户做推荐。推荐系统的早期研究主要集中在静态用户行为分析领域,即不考

虑用户行为发生的时间,而仅仅研究用户行为中与时间无关的静态模式。近

年,随着Netflix推荐比赛的推动以及大量包含时间信息的数据集的公开,很多

研究人员转向研究推荐系统的动态特性,主要包括用户兴趣变化的动态模型,

基于时间上下文的推荐等等问题。但这个领域中还存在很多关键技术需要解

决。

本文基于大量公开的用户行为数据集对推荐系统动态特性进行了深入的研

究,包括评分预测问题中用户兴趣的动态模型,Top-N推荐问题中用户兴趣的

动态模型,以及系统时效性对用户兴趣预测的影响等。本文的主要工作和贡献

如下:

1 提出了评分预测问题中用户兴趣预测的动态模型:评分预测问题是推荐

系统中研究最多的问题之一,它的主要任务是通过分析用户对物品的评

分数据,预测给定用户对给定物品的评分。本文将时间信息引入到这个

问题中,通过矩阵分解模型对四种不同的时间效应进行建模,提出了一

个动态的用户兴趣模型。同时,本文还利用级联模型对季节效应进行建

模。实验方法表明该方法相对于静态用户兴趣模型,能够显著的提高评

分预测的精度。

2 提出了Top-N推荐问题中用户兴趣预测的动态模型:Top-N推荐问题是实

际推荐系统中最常见的问题,它的主要任务是通过分析用户的日志数据,

给用户兴趣建模,并根据用户兴趣模型给用户推荐N个他最可能喜欢的

物品。本文将时间信息引入到这个问题中,通过在传统的用户物品二分

图上引入用户时间节点来对用户的长期兴趣和短期兴趣建模,从而让用

户的推荐结果能够同时反映他们的长期兴趣和短期兴趣。同时,本文还

提出了一个基于图模型的路径融合算法,该算法能够有效的从图模型中

计算出物品相对于每个用户的个性化排名。实验方法表明引入用户时间

Page 2: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

ii 动态推荐系统关键技术研究

节点后的图模型相对于时间无关的静态模型,能够显著的提高Top-N推荐

的准确度,同时路径融合算法相对于其他基于图的排名算法,在推荐准

确度上也有较大的优势。

3 系统地研究了时效性对推荐系统的影响,并提出了在不同时效性网站中

都具有较高推荐精度的推荐算法:用户的行为和兴趣同时受到社会因素

和个人因素的影响。但在不同时效性的网站中,这两种因素对用户行为

的影响程度不同。时效性快的网站中,用户更容易受到社会因素的影响,

而在时效性慢的网站中,用户更容易受到个人因素的影响。为了能在不

同时效性的网站中都做出准确的推荐,本文提出了时间的图模型,该模

型通过引入两种新的节点来对社会因素和个人因素分别建模,并通过调

整这两种节点的权重来调整推荐系统的精度。实验表明该方法能够在不

同时效性的数据集中都取得较高的推荐准确率。

4 设计了动态推荐系统的原型系统:论文在总结前几章工作的基础上设计

了动态推荐系统的原型系统。该系统能够实时响应用户的最新行为,并

根据用户行为的变化来实时的调整推荐结果,从而不断改善用户在推荐

系统中的体验。

关键词:推荐系统,个性化,协同过滤,时间效应,季节效应,推荐系统动态

特性

Page 3: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

Abstract

Recommender System is an important tool for users to discovery information

of their interest, it is also an important tool to overcome information overload

problem. The main idea of recommender system is to make recommendation by

analyzing users’ historical behaviors. Early researches on recommender system

always neglect temporal information, and most of them are focused on the anal-

ysis of users’ static behaviors. In recent years, because of Netflix Prize, more and

more data sets including temporal information are released, and more and more

researchers are studying on temporal recommendation problem. However, there

are many problems left in this research area.

This paper investigate the temporal recommendation problem by analyzing

many public released data sets. Following are main contributions of this paper:

1 Temporal recommendation for rating prediction problem: Rating predic-

tion problem is the most famous problem in recommender system, its main

task is to predict a given user’s rating on a given item by analyzing her his-

torical rating on other items. In this paper, we incorporate temporal infor-

mation into this problem, and propose a latent factor model to model four

different temporal effects. Furthermore, we also proposed a cascade model

to model seasonal effects. Experimental results show that our method can

achieve higher accuracy in rating prediction problem than non-temporal

methods.

2 Temporal recommendation for top-N recommendation problem: Top-N rec-

ommendation problem is the most important problem in real recommender

system, its main task is to recommend N items to every user which will be

of their interests by analyzing users’ historical behaviors. In this paper, we

introduce a new type of node, session node, into user-item bipartite graph

to model users’ long term and short term interests. Furthermore, we also

proposed a new graph-based personal ranking method called PathFusion to

Page 4: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

iv 动态推荐系统关键技术研究

make recommendation by the new graph model. Experimental results show

that our method can make higher accuracy than non-temporal methods and

other temporal recommendation methods in top-N recommendation prob-

lem.

3 Influence of system update rate on recommender system: User behavior is

influenced by social factor and personal factor. However, in the websites

with different update rates, these two factors will have different influence.

In fast updating sites, users are more influenced by social factor while in

slow updating sites, users are more influenced by personal factor. In this

way, we need different recommender systems in web sites with different

update rates. We proposed a session graph model which introduce two new

types of nodes into user-item bipartite graph to model social factor and

personal factor. By controlling the weight of these two new types of nodes,

the recommendation algorithm can control the influence of social factor

and personal factor on final recommendation results. Experimental results

show that our method can achieve high accuracy in systems with different

update rate.

4 Prototype of temporal recommender system: We design a prototype of

temporal recommender system. This system can return real-time recom-

mendation to users after they have new behavior, and can tune the ranking

of results by user feedback. In this way, this system can improve user

experience in real time by their feedback.

Keywords: recommender systems, personalization, collaborative fltering, tem-

poral effects, seasonal effects, temporal dynamics in recommender systems

Page 5: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

目目目 录录录

摘要 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · i

Abstract · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · iii

目录 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · v

第一章 引言 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1

1.1 研究背景与意义 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1

1.2 动态推荐系统的定义 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 6

1.2.1 术语与记号 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 6

1.3 研究内容 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 7

1.4 数据集介绍 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 7

1.4.1 Netflix 电影评分数据集 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 8

1.4.2 MovieLens 电影评分数据集 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 8

1.4.3 CiteULike 论文书签数据集 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 8

1.4.4 Delicious 书签数据集 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 9

1.5 论文结构 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 9

第二章 推荐系统相关研究综述 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 11

2.1 引言 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 11

2.2 推荐系统的商业应用 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 12

2.3 推荐系统的主要方法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 14

2.3.1 协同过滤 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 15

2.3.2 基于人口统计学的过滤 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 17

2.3.3 内容过滤 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 18

2.3.4 社会化过滤 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 20

Page 6: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

vi 动态推荐系统关键技术研究

2.3.5 基于位置的过滤 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 22

2.4 推荐系统动态特性的研究现状 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 23

2.5 推荐系统评测 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 25

2.5.1 准确度 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 26

2.5.2 覆盖度 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 27

2.5.3 多样性 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 27

2.5.4 新颖性和惊喜度 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 28

2.6 本章小结 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 28

第三章 评分预测问题中用户兴趣预测的动态模型 · · · · · · · · · · · · · · · · · · · · · · · 31

3.1 引言 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 31

3.2 任务定义 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 32

3.3 推荐系统的矩阵分解模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 33

3.4 显性反馈系统中用户兴趣的动态模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · 36

3.4.1 社会兴趣随时间变化 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 36

3.4.2 用户偏好随时间的变化 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 37

3.4.3 物品受欢迎程度随时间的变化 · · · · · · · · · · · · · · · · · · · · · · · · · · · · 38

3.4.4 用户兴趣随时间的变化 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 39

3.4.5 模型的优化 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 40

3.5 季节效应模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 42

3.5.1 整体评分的周期性建模 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 43

3.5.2 用户行为周期性的模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 43

3.5.3 物品周期性的模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 44

3.6 实验与分析 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 44

3.6.1 实验数据 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 44

3.6.2 评测方法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 45

3.6.3 TRSVD的实验结果 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 45

3.6.4 季节效应的实验结果 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 47

3.7 本章小结 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 48

Page 7: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

目录 vii

第四章 Top-N推荐中用户兴趣预测的动态模型 · · · · · · · · · · · · · · · · · · · · · · · · · 49

4.1 引言 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 49

4.2 问题定义与方法概述 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 50

4.3 协同过滤的二分图模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 51

4.3.1 基于随机游走的算法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 52

4.3.2 路径融合算法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 53

4.4 隐反馈数据的动态变化 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 56

4.4.1 用户的长期兴趣和短期兴趣 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 56

4.4.2 基于SGM的推荐算法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 58

4.5 实验结果 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 60

4.5.1 数据集 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 60

4.5.2 评测指标 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 61

4.5.3 对比的算法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 61

4.5.4 时间无关推荐的实验结果 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 62

4.5.5 时间相关推荐的实验结果 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 64

4.6 本章小结 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 66

第五章 时效性对推荐系统的影响 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 69

5.1 引言 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 69

5.2 在线系统的变化速率 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 70

5.2.1 物品的生存周期 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 70

5.2.2 物品流行度的变化率 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 73

5.3 不同变化率系统中的推荐模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 74

5.3.1 图模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 75

5.3.2 时间段图模型中的推荐算法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 76

5.3.3 时间段图模型的理解 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 76

5.4 实验与分析 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 77

5.4.1 实验数据 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 77

5.4.2 实验设置与评测方法 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 78

Page 8: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

viii 动态推荐系统关键技术研究

5.4.3 和其他算法的比较 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 79

5.4.4 实验结果 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 80

5.5 本章小结 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 83

第六章 动态推荐系统原型设计与实现 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 87

6.1 引言 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 87

6.2 推荐引擎在线系统 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 88

6.2.1 用户行为提取和分析模块 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 88

6.2.2 相关推荐模块 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 89

6.2.3 推荐解释模块 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 90

6.2.4 过滤和排名模块 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 90

6.3 离线系统 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 91

6.3.1 用户行为权重计算模块 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 92

6.3.2 相似度矩阵计算模块 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 92

6.3.3 用户反馈模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 92

6.4 本章小结 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 93

第七章 结束语 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 95

7.1 研究工作总结 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 95

7.2 对未来工作的展望 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 96

参考文献 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 99

发表文章目录 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 111

致谢 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 113

Page 9: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

表表表 格格格

1.1 著名的使用推荐系统的网站以及他们的使用领域 · · · · · · · · · · · · · · · · · 5

1.2 动态推荐系统中的术语记号定义与说明 · · · · · · · · · · · · · · · · · · · · · · · · · · 6

3.1 TRSVD和RSVD模型在Probe测试集上的RMSE的比较 · · · · · · · · · · · 46

3.2 TRSVD和RSVD模型在Quiz数据集上的RMSE的比较 · · · · · · · · · · · · 46

3.3 TRSVD和RSVD对不同类型用户的预测精度比较 · · · · · · · · · · · · · · · · 47

3.4 Netflix Proble数据集上使用不同季节效应对预测精度的影响 · · · · · · 48

4.1 CiteULike和Delicious两个数据集上构建的SGM的基本信息 · · · · · · · 64

4.2 各种算法在CiteULike数据集上的命中率 · · · · · · · · · · · · · · · · · · · · · · · · · 67

4.3 各种算法在Delicious数据集上的命中率 · · · · · · · · · · · · · · · · · · · · · · · · · · 67

5.1 5个不同数据集上的Ψ(1),Ψ(30) · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 75

5.2 5个不同网站的数据集的详细信息 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 78

5.3 用于抽取目标网页的正则表达式 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 78

5.4 8种算法在5个数据集上的召回率 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 80

5.5 Pop在5个数据集上相对于UserCF/ItemCF的召回率的提高比例 · · · 81

5.6 5个数据集上SGM相对USGM和ISGM的精度提高倍数 · · · · · · · · · · · · 82

Page 10: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

Page 11: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

插插插 图图图

2.1 著名商用推荐系统的用户界面 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 13

2.2 著名的个性化电台和电视台的用户界面 · · · · · · · · · · · · · · · · · · · · · · · · · · 14

2.3 Amazon推荐系统的用户解释 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 16

2.4 IMDB中不同美剧的男女分布 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 18

2.5 Jinni给功夫熊猫编辑的内容属性 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 20

2.6 Amazon利用Facebook Connector做出的社会化推荐 · · · · · · · · · · · · · · 21

2.7 Facebook的好友推荐系统 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 22

2.8 MappyFriends的基于位置的旅游推荐系统 · · · · · · · · · · · · · · · · · · · · · · · 23

2.9 美国用户对于5个不同汽车品牌的关注度随时间变化的曲线 · · · · · · · 24

2.10 GetGlue的推荐结果反馈界面 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 27

3.1 不同网站中收集用户显性反馈的界面设计 · · · · · · · · · · · · · · · · · · · · · · · · 32

3.2 一个简单的用户物品评分矩阵的例子 · · · · · · · · · · · · · · · · · · · · · · · · · · · · 34

3.3 Netflix数据集中总平均分随时间的变化曲线 · · · · · · · · · · · · · · · · · · · · · · 37

3.4 Netflix数据集中用户不同时间段的平均分rut随时间变化的曲线 · · · 39

3.5 Netflix数据集中物品的平均分随物品在线时间变化的曲线 · · · · · · · · 40

3.6 Google Trend中电影相关四个搜索词从2004年以来在美国的搜索

量变化曲线 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 42

4.1 用户-物品关系的二分图表示 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 52

4.2 路径融合算法三条准则的图示 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 54

4.3 一个简单的时间段图模型 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 58

4.4 在SGM上利用路径融合算法给用户A在2时段做出推荐的例子 · · · · · 60

4.5 CiteULike数据集上算法的HitRatio随ρ变化的曲线 · · · · · · · · · · · · · · · · 63

4.6 Delicious数据集上算法的HitRatio随ρ变化的曲线 · · · · · · · · · · · · · · · · · 63

4.7 CiteULike数据集上所有算法的HitRatio随β变化的曲线 · · · · · · · · · · · 65

Page 12: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

xii 动态推荐系统关键技术研究

4.8 Delicious数据集上所有算法的HitRatio随β变化的曲线 · · · · · · · · · · · · 66

5.1 物品生存周期的分布曲线(对数图) · · · · · · · · · · · · · · · · · · · · · · · · · · · · 71

5.2 五个网站中物品生存周期和流行度之间的关系曲线 · · · · · · · · · · · · · · · 72

5.3 5个网站中Ψ(τ)(Y轴)随τ(X轴)变化的曲线。 · · · · · · · · · · · · · · · · · · · · · 74

5.4 不同算法法在Wikipedia数据集中推荐结果的准确率/召回率曲线 · 83

5.5 不同算法法在Sourceforge数据集中推荐结果的准确率/召回率曲线 84

5.6 不同算法法在NYTimes数据集中推荐结果的准确率/召回率曲线 · · 84

5.7 不同算法法在Blogspot数据集中推荐结果的准确率/召回率曲线 · · · 85

5.8 不同算法法在Youtube数据集中推荐结果的准确率/召回率曲线 · · · 85

6.1 完整推荐系统的三个组成部分 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 87

6.2 推荐引擎的设计框图 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 88

Page 13: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第第第一一一章章章 引引引言言言

1.1 研研研究究究背背背景景景与与与意意意义义义

随着信息技术和互联网的发展,人们逐渐从信息匮乏的时代走入了信息过

载(Information overload)的时代。在这个时代,无论是作为信息消费者的普通

用户,还是作为信息生产者的内容提供商或者产品提供商都遇到了很大的挑

战。作为用户,如何从大量的信息中找到自己感兴趣的信息是一件非常困难

的事情。而作为提供商,如何让自己生产的信息脱颖而出,受到广大用户的

欢迎,也是一件非常困难的事情。因此,很多研究人员和公司开发了推荐系

统(Recommender System)来解决这一矛盾。推荐系统的任务就是联系用户和信

息,一方面帮助用户发现对自己有价值的信息,而另一方面让信息能够展现在

对它有兴趣的用户面前,从而实现信息消费者和信息生产者的双赢。

从用户的角度出发,自互联网诞生以来,随着网络信息的逐渐增多,用户

寻找信息的方法经历了几个重要阶段。早期用户主要靠直接记住感兴趣网站的

网址来寻找内容,后来Yahoo!提出了分类目录系统,将网站分门别类,方便用

户查询。著名的目录网站还有DMOZ1。但随着信息越来越多,分类目录也只

能记录少量的网站,于是产生了搜索引擎。

以Google为代表的搜索引擎可以让用户通过关键词找到自己需要的信息。

但是,搜索引擎需要用户主动的提供关键词来寻找信息,因此它不能解决用户

的很多其他需求,比如当用户无法找到准确描述自己需求的关键词时,搜索引

擎就无能为力了。和搜索引擎一样,推荐系统也是一种帮助用户快速发现有用

信息的工具。和搜索引擎不同的是,推荐系统不需要用户提供明确的需求,而

是通过分析用户的历史行为来给用户的兴趣建模从而主动给用户推荐出能够满

足他们兴趣和需求的信息。因此,从某种意义上说,推荐系统和搜索引擎对用

户来说是两个互补的工具。搜索引擎满足了用户有明确目的时主动查找的需

求,而推荐系统能够在用户没有明确目的的时候帮助他们发现让他们感兴趣的

新内容。

从信息的角度出发,推荐系统可以更好的发掘信息的长尾(The Long Tail)。

1http://www.dmoz.org/

Page 14: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

2 动态推荐系统关键技术研究

长尾理论[3]指出,电子商务网站相对于传统零售超市的优点是电子商务网站可

以给用户提供更多的选择。因为电子商务网站没有货架的成本,增加一个商品

只需要在计算机中添加一条记录。但同时长尾的出现也给电子商务网站带来了

新的挑战,即如何将大量的商品展现给潜在消费用户。

社会学领域有一个著名的马太效应[62]问题。信息科学领域也有同样的问

题。马太效应指的是好的越好,坏的越坏,多的越多,少的越少的现象。比如

一个电子商务网站可以提供如下的方式让用户找到信息。第一种是热门商品

列表,该列表包含了网站一段时间内最热门的商品。热门商品列表的长度是有

限的,因此只有最热门的商品才会进入列表。如果用户依赖于这个列表寻找商

品,那么进入到这个列表中的商品就会越来越热门,而进入不了这个列表中的

商品就会越来越不热门,从而也越来越不容易进入这个列表。这就是一种马太

效应。搜索引擎也有马太效应的问题[20],在热门搜索词排名靠前的网页会越

来越热门,能够获得越来越多的外链,从而在PageRank算法中排名越来越高,

也就更容易在热门搜索词的搜索结果中获得比较高的排名。推荐系统作为一种

帮助用户寻找信息的重要工具,也面临马太效应的挑战[27]。但是,因为推荐

系统是一个主动给用户展现信息的系统,因此推荐系统能够更好的控制每个商

品的展现次数,让长尾中的商品能够在需要他们的用户面前得到充分的展示。

一个好的推荐系统不仅应该能够帮助用户发现有用的信息,而且需要更好的发

掘长尾,让有用的信息能够提供给需要他的用户。

推荐系统的研究已经有了20多年的历史。推荐系统最早的研究起始于美

国明尼苏达大学GroupLens 研究小组对一个叫MovieLens 的电影推荐系统的

研究。该系统首先让用户对自己喜欢的电影评分,然后通过分析用户的评

分数据预测用户的兴趣,给用户推荐他们没有评分但可能会喜欢的电影。后

来Amazon将推荐系统应用到电子商务中,他们通过分析用户的购买、浏览行

为,预测用户可能对什么商品感兴趣,从而通过推荐系统成功的将销售额提

高了30% [3]。近年,推荐系统在学术界和工业界都有了很大的发展。在学术

界,ACM从2008年开始主办了专门的推荐系统国际会议(ACM Conference on

Recommender System),很多公司也公开了它们的数据集供大家研究,其中比

较有名的是Netflix举办的推荐系统大赛。在工业界,一方面出现了很多独立的

推荐系统网站,比如Pandora,Jinni,另一方面,推荐系统成为了很多网站的

重要功能。比如Facebook和Twitter通过推荐系统给用户推荐好友,Google利用

推荐系统给用户推荐新闻,Youtube,Netflix通过推荐系统推荐视频。表1.1列

Page 15: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第一章 引言 3

出了不同领域著名的推荐系统。

推荐系统的主要任务,是找到用户可能会感兴趣的物品,然后以一定的形

式推送给用户。因此,推荐系统的两个主要问题就是:1)如何找到用户感兴趣

的东西;2)以什么形式告诉用户。前一个问题的解决主要依赖于数据挖掘和机

器学习的算法,而后一个问题的解决主要依靠人机交互界面的设计。本文主要

研究前一个问题,即如何预测用户的兴趣。

通过多年的研究,研究人员提出了很多预测用户兴趣的方法。内容过

滤(Content Filtering) [6, 13, 61] 算法认为用户会喜欢和他以前喜欢的物品在内

容上相似的物品。比如用户买了一本数据挖掘的书,那么内容过滤算法会给

他推荐另一本相似的数据挖掘的书。内容过滤算法主要利用了物品的内容数

据,比如一本书的作者,标题,内容,关键词,出版商等信息,或者一首歌曲

的歌手,曲风,流派,音频等信息。和内容过滤不同,协同过滤(Collaborative

Filtering) [33, 53, 71] 不依赖于用户的属性信息和物品的内容信息,而仅仅通

过分析大量的用户对物品的行为数据,从中找出特定的行为模式,据此来预测

用户的兴趣并给用户做出推荐。近年,随着以Facebook和Twitter为代表的社会

网络的兴起,社会化过滤(Social Filtering)逐渐成为推荐领域的研究热点。社会

化过滤算法[24, 39, 43],认为用户的兴趣和他的好友的兴趣会有共同点,从而

可以通过分析用户好友的兴趣来预测给定用户的兴趣。除了上面说的算法,还

有利用用户年龄,性别,职业等属性(Demographics)做出的推荐,也有基于用

户地理位置(Location)的推荐算法等等。

任何在线系统都是一个动态变化的系统,每天都会有大量的新用户加

入,老用户离开,也会有大量的新内容加入,旧内容消失。同时,用户的年

龄,兴趣,社会关系,地理位置都会发生变化,物品的热门程度,人们对物品

的看法也都会随着时间而变化。因此,时间信息对推荐系统来说是一种重要

的信息,一方面用户兴趣本身随时间变化,另一方面时间是一种重要的上下

文(Context)信息,对用户的行为有着重要的影响。早期的推荐系统研究对时间

相关的动态特性很少涉及,这是因为当时对静态用户行为分析才刚刚开始。但

最近几年,随着很多大时间跨度的商业网站用户行为数据的公开,以及静态用

户行为分析技术的成熟,很多研究人员开始研究用户行为的动态特性以及时间

信息在推荐系统中的作用。特别是在Netflix的推荐系统比赛中[9, 79],很多参

赛者发现利用时间信息可以大大的提高推荐系统的预测精度,更加促进了这方

Page 16: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

4 动态推荐系统关键技术研究

面的研究。

本文将集中研究推荐系统的动态特性,研究如何利用时间信息提高推荐系

统的推荐质量。推荐系统的动态特性主要包含以下几个方面:

• 用户兴趣是变化的。用户兴趣变化的原因很多,可能是由于年龄增长,比如一个小孩子喜欢动画片,但长大了可能就不喜欢动画片了。也有可

能是转换生活状态,比如一个刚刚工作的大学生的兴趣相对上学时就会

发生很大的改变。此外,用户还可能受到周围事件的影响。比如一个从

来不看体育节目的人可能会在北京奥运会期间关注体育赛事。

• 物品也是有生命周期的。例如一部电影刚上映的时候可能被很多人关注,但是经久不衰的电影是很少的,很多电影上映后不久就被人们淡忘了。

此外物品也可能受新闻事件的影响,比如一部已经被淡忘的电影会因为

突然被某个新闻事件涉及而重新热门起来。

• 季节效应。无论用户行为还是物品都会受到季节效应的影响。比如人们夏天吃冰淇淋,冬天吃火锅,夏天穿T恤,冬天穿棉衣。此外,节日也会

对用户行为产生影响,比如每年的圣诞节,人们就要去购物,每年的奥

斯卡颁奖礼,人们就要关注电影。因此,季节,节日是一种重要的时间

上下文信息,对用户行为有着很大的影响。

• 系统的动态变化速率。在线系统都是动态变化的,但不同系统的变化速率却不相同。比如新闻系统变化的很快,每天的热门新闻都是不同的,

而一个新闻产生的很快,但消失的也很快。相反,电影和音乐的系统变

化的却比较慢。经常有经典的电影和音乐能够雄踞排行榜长达几个月或

者几年之久。

所有的这些动态特性,都决定了时间在推荐系统中的重要地位。只有实时跟踪

用户兴趣和物品变化的推荐系统,才能让用户有比较高的满意度,为用户找到

适合自己的物品提供帮助。

本文主要研究了推荐系统的动态特性,探讨如何设计一个能够适应用户动

态兴趣变化的动态的推荐系统。

Page 17: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第一章 引言 5

表 1.1: 著名的使用推荐系统的网站以及他们的使用领域领域 推荐系统 网址

图书 当当网 http://www.dangdang.com

豆瓣读书 http://book.douban.com

Amazon[53] http://www.amazon.com

新闻 GoogleNews[22, 54] http://news.google.com

Genieo http://www.genieo.com

电影 Netflix[9] http://www.netflix.com

Jinni http://www.jinni.com

MovieLens http://www.movielens.com

Rotten Tomatoes www.rottentomatoes.com

Flixster http://www.flixster.com

音乐 豆瓣电台 http://www.douban.fm

[14, 19, 50] Lastfm[16] http://www.lastfm.com

Pandora http://www.pandora.com

Mufin http://www.mufin.com

Lala http://lala.com

EMusic http://www.emusic.com

Ping http://www.apple.com/itunes/ping/

视频 Hulu[91] http://www.hulu.com/recommendations

Youtube[7, 23] http://www.youtube.com

Clicker http://www.clicker.com

文章 StumbleUpon http://www.stumbleupon.com

CiteULike http://www.citeulike.com

Google Reader http://www.google.com/reader/

旅游 Wanderfly http://www.wanderfly.com

[41, 47] TripAdvisor http://www.tripadvisor.com

社会网络 Facebook http://www.facebook.com/

Twitter http://twitter.com/

综合 Amazon http://www.amazon.com

当当网 http://www.dangdang.com

GetGlue http://www.getglue.com

Hunch http://www.hunch.com

Strand http://www.strand.com

Page 18: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

6 动态推荐系统关键技术研究

表 1.2: 动态推荐系统中的术语记号定义与说明

记号 说明 记号 说明

D 用户行为数据集 N(u, t) 用户u在t时刻喜欢的物品集合

DA 用户行为训练集 N(i, t) 在t时刻喜欢物品i的用户集合

DT 用户行为测试集 R(u) 给用户u的推荐列表

U 用户集合 tui 用户u对物品i产生行为的时间

I 物品集合 rui 用户u对物品i的评分

N(u) 用户u喜欢的物品集合 pui 用户u对物品i的喜欢程度

N(i) 喜欢物品i的用户集合 rui 用户u对物品i评分的预测值

1.2 动动动态态态推推推荐荐荐系系系统统统的的的定定定义义义

动态推荐系统和传统时间无关的静态推荐系统的区别在于,它能够适应用

户兴趣和物品热门度的变化情况以及各种时间上下文,在给定的时间给用户推

荐他在这个时间段最可能感兴趣的物品。因此,动态推荐系统的任务主要就是

分析时间因素对用户行为和物品流行度的影响,并根据这些影响对用户做出最

好的推荐。

正式的说,动态推荐系统的主要任务是设计出一个函数p,我们称为用

户兴趣函数。定义用户集合为U,物品集合为I,时间集合为T。那么兴趣函数p定义为如下映射:

p : U × I × T → R

而p(u, i, t)定义了用户u在时刻t对物品i的兴趣大小。

如果是在时间无关的推荐系统中,兴趣函数p定义为如下的映射:

p : U × I → R

而p(u, i)定义了用户u对物品i的兴趣大小。

1.2.1 术术术语语语与与与记记记号号号

表1.2列出了动态推荐系统中要用到的主要术语和记号。

Page 19: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第一章 引言 7

1.3 研研研究究究内内内容容容

推荐系统中有两个主要的问题,一个是评分预测问题(Rating Prediction

Problem):给定用户对某些物品的评分,预测用户对其他物品的评分。用户评

分数据被称为显性反馈数据,所以评分预测问题也是基于显性反馈数据的推荐

问题。另一个问题是Top-N 推荐问题:给定用户对某些物品的行为数据,给每

个用户推荐N个他们最可能喜欢的物品。这个问题不一定需要用户评分数据,

如果只有用户的隐性反馈数据(比如日志数据),也可以用来做推荐,所以这

个问题也被称为基于隐性反馈数据的推荐问题。在对这两个问题的早期研究

中,都是不考虑时间信息的。但是,在实际系统中,无论是显性反馈(评分)

还是隐性反馈(观看,点击),都是有时间信息的,即用户行为产生的时间。

所以,在实际数据中,这两个问题都会转变为和时间相关的动态推荐问题。

时间相关的评分预测问题是,如何根据用户的历史评分数据,来预测用户

将来会对某个物品给出什么样的评分。而时间相关的Top-N推荐问题是,如何

通过分析用户的历史行为,在未来的某个特定时间点给用户推荐N个他们最可

能喜欢的物品。本文首先会研究如何解决这两个时间相关的推荐问题。解决这

两个问题的关键是研究时间效应,也就是时间是如何影响用户行为的。我们会

分析各种时间效应,并对他们建模,从而解决上面提到的两个主要问题。

本文在研究用户和物品受时间影响的同时,也会从系统本身的角度研究时

间因素。每一个在线系统都是一个动态系统,他们的数据,无论是用户行为数

据和物品属性数据,都在时时刻刻的变化。但是,从系统的角度,不同系统的

变化速率是不同的。新闻网站比较注重时效性,变化很迅速,而电影或者音乐

的网站变化的相对比较慢。一个系统变化迅速的体现是,新的物品不断的加

入,但是即使是热门物品,都不会热门太长。比如,每一个新闻的热门程度只

会维持很少的几天,但是经典的电影和音乐却可以热门几个月甚至几年时间。

一个在线系统的变化速度,对于如何设计它的推荐系统非常重要。因此最后本

文会研究系统变化速率对推荐系统的影响。

1.4 数数数据据据集集集介介介绍绍绍

推荐系统的数据集很多,但提供了时间信息的数据集并不多。本文主要应

用了以下几个著名的数据集进行研究。

Page 20: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

8 动态推荐系统关键技术研究

1.4.1 Netflix 电电电影影影评评评分分分数数数据据据集集集

Netflix 2在2006年开展名为Netflix Prize推荐系统比赛的时候,公布了一个

有40万用户对17000部电影的评分的数据集。数据集包含了一个用户在什么时

间对一部电影打了多少分的信息,时间跨度从1999年到2005年。这里的评分属

于1到5的区间。其中1分表示不喜欢,5分表示非常喜欢,分数越大,喜欢程度

越大。这个数据集包含了1亿个评分,是一个很大的数据集,也是一个很近似

于实际系统的数据集。

1.4.2 MovieLens 电电电影影影评评评分分分数数数据据据集集集

MovieLens 3是另一个著名的电影评分系统,也是一个早期的实验性的推荐

系统。这个数据集由三个不同大小的数据集组成:

• MovieLens A (ML.A):这是最小的一个MovieLens数据集,包含了943个

用户对1682部电影的十万条评分,以及评分的时间信息。其中,每个用

户都至少对20部电影有评分。

• MovieLens B (ML.B):这是一个中等大小的MovieLens数据集,包含

了6040个用户对3900部电影的一百万条评分,以及评分的时间信息。

其中,每个用户都至少对20部电影有评分。

• MovieLens C (ML.C):这是一个大规模的MovieLens数据集,包含了71567个

用户对10681部电影的一千万条评分,以及评分的时间信息。同时,这个

数据集还提供了用户对电影的10万条标签数据。

1.4.3 CiteULike 论论论文文文书书书签签签数数数据据据集集集

CiteULike 4是一个著名的论文书签网站。它让研究人员把自己喜欢的论文

信息提交到它的网站上,同时让用户对这些论文打上标签。CiteULike公布了

一个数据集,每一行是一条记录,由一个四元组构成,包括用户,论文,时间

和书签。这个数据集不包含评分数据,但包含了时间信息,因此可以作为一个

含时间信息的用户隐反馈数据集使用。

2http://www.netflix.com3http://www.movielens.org/4http://www.citeulike.com/

Page 21: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第一章 引言 9

1.4.4 Delicious 书书书签签签数数数据据据集集集

Delicious 5是一个著名的书签网站。它允许用户对互联网的任何一个网页

贴上标签。德国的研究人员通过爬虫(Web Crawler)从Delicious上下载了2005年

至2008年的绝大多数数据,公布了一个非常大的数据集(70G数据)。这个数据

集每一行也是由一个四元组构成,包含用户,网址,时间和书签。由于这个数

据集的网页是以网址的形式给出的,因此我们可以知道每个网页的域名。该数

据集的数据量非常庞大,我们在实际实验中一般只抽取其中用户对特定域名

的网页的书签数据。实验抽取的域名包含了维基百科,Sourceforge,blogspot,

nytimes等著名的网站。同时,因为这些网站拥有不同的动态特性,所以这个数

据集对于本文研究不同动态特性的网站中的用户行为有很大的帮助。

1.5 论论论文文文结结结构构构

本文的其余正文内容由以下六章组成:

• 第二章首先介绍了著名的商用推荐系统,然后按照不同的分类介绍了推荐系统的主要算法以及相关工作,并着重讨论了利用时间信息的动态推

荐系统的相关研究工作,最后讨论了推荐系统的常用评测指标。

• 第三章主要讨论了如何利用时间信息提高评分预测问题的预测精度,并给出了相关的实验结果及分析。

• 第四章主要讨论了如何利用时间信息提高Top-N推荐的准确度,并给出了

相关的实验结果及分析。

• 第五章主要讨论了网站时效性对用户行为的影响,并研究了如何设计出在不同时效性网站中都能准确预测用户动态行为的推荐系统。

• 第六章介绍了如何设计一个实际的动态推荐系统,讨论了动态推荐系统的各个主要模块的设计方法以及需要遵守的设计原则。

• 第七章是论文的结束语和展望,在对目前工作简要总结的基础上,提出了动态推荐系统下一步研究的任务和方向。

5http://www.delicious.com/

Page 22: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

Page 23: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第第第二二二章章章 推推推荐荐荐系系系统统统相相相关关关研研研究究究综综综述述述

2.1 引引引言言言

当今的时代是信息过载(Information overload)的时代[73]。互联网上充斥着

大量的信息,如何从这些信息里找到每个互联网用户感兴趣的信息,并把这些

信息推送给用户是推荐系统研究的主要问题。为了解决这一问题,推荐系统需

要对用户的历史行为进行挖掘,对用户兴趣进行建模,对用户未来的行为进行

预测。

推荐系统的研究和很多早期的研究相关,比如认知科学(cognitive science)

[72],信息检索(information retrieval)[74],预测理论[4]和管理科学[65]。从上世

纪90年代中期开始,研究人员开始研究如何利用用户对物品打分的数据来预测

用户的兴趣并给用户做推荐[39, 71, 76]。从此,推荐系统开始成为一个比较独

立的研究问题。从1994年到2006年,推荐系统的主要研究都集中在基于邻域的

协同过滤算法的研究,GroupLens1994年提出了基于用户的协同过滤算法[71],

该算法是最早应用的协同过滤算法。Amazon在2003年提出了基于物品的协同

过滤算法(ItemCF)[53],该算法是目前工业界应用最广泛的算法。

美国著名的DVD租赁网站Netflix为了推动对推荐系统特别是评分预测问

题的研究,在2006年推出了Netflix Prize比赛1。Netflix提供了一个大规模的包

含时间信息的用户电影评分数据集供研究人员研究[9]。比赛的目标是希望能

够将当时最好的用户评分预测算法ItemCF的精度提升10%。从2006年到2009年

的3年比赛中,很多研究人员提出了大量的新算法[8, 10, 44, 80] 并成功的达到

了比赛的预期目标。该比赛的成功不仅推动了学术界对推荐系统的深入研究,

也推动了工业界对用户个性化推荐问题的重视。

近年,很多研究人员意识到基于用户显性评分数据的评分预测问题并非

推荐系统的全部,很多人开始对很多其他重要的问题进行研究。其中最重要

的是如何利用用户的隐性反馈数据(Implicit Feedback Data)预测用户的喜好,

来给用户推荐他们最喜欢的物品。这个问题被称为Top-N推荐问题。该问题之

所以重要,是因为首先显性反馈数据相对隐性反馈数据非常少,用户的大量

1http://www.netflixprize.com/

Page 24: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

12 动态推荐系统关键技术研究

行为都是以隐反馈的形式存储的(比如谁看了什么,浏览了什么等等数据),

其次Top-N推荐问题和实际推荐系统中遇到的问题(如何给每个用户一个推

荐列表)更加类似。因此最近几年很多研究人员对Top-N推荐做了深入的研

究[21, 25, 35]。Cremonesi [21]对评分预测问题和Top-N问题做了深入的研究,

发现评分预测问题中行之有效的算法在Top-N推荐中并不能取得好的推荐精

度。

Netflix Prize比赛带来的另一个好处是推动了学术界对推荐系统动态特性

的研究。Koren[45] 在Netflix Prize比赛中详细研究了Netflix电影推荐数据集中

的动态特性,并成功的利用时间信息提高了评分预测问题的预测精度。和评分

推荐问题类似,Top-N推荐问题中也存在用户兴趣变化等动态特性。推荐系统

的动态特性包含了很多的方面。首先,时时刻刻都有新的用户和新的物品加入

系统,并且时时刻刻都有新的用户行为产生,所以动态推荐系统需要实时的对

用户的新行为作出响应,并且将新加入系统的物品以最快的速度推荐给可能喜

欢它们的用户。无论是评分预测问题还是Top-N推荐的问题,推荐系统的基本

问题都是度量一个用户对物品的喜好程度或者是一个物品对一个用户的有用

程度。但是,度量用户对物品的喜好不仅取决于用户的喜好和物品的属性,也

取决于用户所处的环境,或者称做上下文(Context)。上下文信息有很多类型,

主要包括时间,地点等等。其中,时间是一种重要的上下文信息,用户在不同

的时间可能喜欢不同的物品,物品在不同的时间也有不同的流行度。因此推荐

系统应该是一个动态系统,随着时间的变化会给用户不同的推荐结果。最近几

年,关于基于时间的推荐系统的研究有很多,有利用时间信息提高评分预测问

题的预测精度方面的研究[26, 45],也有如何利用时间信息提高Top-N推荐准确

率方面的研究[86]。

在下面的各节中,我将首先介绍工业界的实际推荐系统的例子,然后详细

介绍推荐系统设计的主要方法和推荐系统的评测。最后,我们将详细介绍推荐

系统动态特性方面的相关研究。

2.2 推推推荐荐荐系系系统统统的的的商商商业业业应应应用用用

推荐系统在很多商业网站中有很多成功的应用。其中最主要的应用是给每

个用户提供一个个性化的推荐列表。使用个性化推荐系统的商业网站的著名

代表有Amazon 的电子商务推荐,Netflix和MovieLens的电影推荐,Youtube的

Page 25: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第二章 推荐系统相关研究综述 13

视频推荐[7],Pandora和Lastfm的音乐推荐[16],Google的新闻推荐[22, 54]以

及Facebook,Twitter和Linkedin的社会网络好友推荐。

图2.2给出了著名商用推荐系统(Amazon, Netflix)的用户界面。如图所示,

他们的推荐结果都有几个主要的部分组成:物品的描述(包括标题,简介和缩

略图,平均分),以及推荐的原因。这两个推荐系统的推荐结果都是根据用户

过去的行为给用户做出推荐。因此可以推测他们的基础算法都是基于物品的邻

域算法,即假设用户会喜欢和他们以前喜欢的物品类似的物品。

(a) Amazon推荐系统用户界面

(b) Netflix推荐系统用户界面

图 2.1: 著名商用推荐系统的用户界面

音乐推荐是推荐系统中的一个专门的研究领域。音乐推荐中的著名应用就

是个性化电台。个性化电台让用户对自己听到的音乐不断的反馈,然后实时的

通过用户的反馈来更换用户的音乐播放列表,让用户越来越多的听到令他们满

意的歌曲。这方面著名的应用有国外的Pandora,Lastfm [16]和国内的豆瓣电

Page 26: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

14 动态推荐系统关键技术研究

台(图2.2(a))。和电台类似,youtube也推出了称为Leanback的个性化电视台应

用(图2.2(b))。个性化电视台和音乐电台类似,也让用户对自己看到的视频不

断反馈,并实时的通过用户的反馈更换用户的视频播放列表。

(a) 豆瓣电台的用户界面

(b) Youtube个性化电视台的用户界面

图 2.2: 著名的个性化电台和电视台的用户界面

2.3 推推推荐荐荐系系系统统统的的的主主主要要要方方方法法法

最近几年关于推荐系统的研究很热门,很多研究者都提出了不同的推荐方

法。这些方法可以按照两种方法分类,第一种按使用的数据来分类,可以分为

协同过滤,内容过滤和社会化过滤等等。另一种按照模型来分类,可以分为基

于邻域的模型,矩阵分解模型和图模型。本节,我们将基于第一种分类方法对

推荐系统的主要方法进行介绍,并在介绍每种方法时介绍他们常用的模型。

推荐系统会使用各种不同的数据。如果推荐系统仅仅利用用户的行为数

Page 27: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第二章 推荐系统相关研究综述 15

据,根据用户的历史兴趣来给用户做推荐,那么这种方法被称为协同过滤算

法。如果推荐系统利用了物品的内容数据,计算用户的兴趣和物品描述之间的

相似度,来给用户做推荐,称为内容过滤。如果推荐系统利用了用户之间的社

会网络信息,利用用户在社会网络中的好友的兴趣来给用户做推荐,称为社会

化过滤。下面将对这几种方法都做一个详细的介绍。

2.3.1 协协协同同同过过过滤滤滤

协同过滤(Collaborative Filtering)是推荐系统领域最著名的算法。该算

法主要通过研究用户的历史行为来给用户的兴趣建模并给用户做出推荐。

GroupLens 在1994年发表了第一篇协同过滤算法的论文[71],该文章提出了基

于用户的协同过滤算法(user-based collaborative filtering)。2000年,Amazon在

论文[53]中提出了基于物品的协同过滤算法(item-based collaborative filtering)。

这两个算法是目前商用推荐系统中最著名的算法。

基于用户的协同过滤算法(UserCF)认为,一个用户会喜欢和他有相似兴趣

爱好的用户喜欢的物品。因此,要对一个用户做推荐,首先得找到和他兴趣爱

好相似的用户。在协同过滤中,两个用户兴趣相似是因为他们喜欢相似的物

品。简单的说,给定用户u, v,令N(u)是u喜欢的物品集合,N(v)是v喜欢的物

品集合,那么u, v的兴趣相似度可以简单的用如下的公式描述:

suv =|N(u) ∩N(v)||N(u) ∪N(v)|

(2.1)

有很多种描述集合相似度的算法,上面的只是其中一个代表。从而,用户u对

物品i的喜欢程度可以用如下公式计算:

pui =∑

v∈S(u,k)∩N(i)

suvpvi (2.2)

和基于用户的协同过滤的假设不同,基于物品的协同过滤(ItemCF)假设,

一个用户会喜欢和他之前喜欢的东西类似的东西。因此利用ItemCF给一个用

户做推荐的时候,首先从数据库里获取他之前喜欢的东西,然后从剩下的物品

里找到和他历史兴趣近似的物品推荐给他。 ItemCF算法的核心是要计算两个

物品的相似度。和UserCF的基本思想类似,ItemCF认为两个物品被越多的人

同时喜欢,这两个物品就越相似。令N(i), N(j) 分别是喜欢i, j的用户集合,那

Page 28: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

16 动态推荐系统关键技术研究

么物品i, j的相似度可以用如下的公式来计算:

sij =|N(i) ∩N(j)||N(i) ∪N(j)|

(2.3)

然后,用户u对物品i的喜欢程度可以用如下公式计算:

pui =∑

j∈S(i,k)∩N(u)

sijpuj (2.4)

ItemCF的算法的好处,是可以做推荐解释。比如,在图2.3中,Amazon给

某用户的第一个推荐结果是一本名叫《Introduction to Algorithms》的书,如

果点击下面的fix this recommendation,Amazon会给用户一个推荐解释,如

图2.3所示,Amazon给我推荐这本书是因为我曾经买过一本模式分类的书和一

本统计学习的书,同时我给一本概率图理论的书打过比较高的分数。这个解释

的本身,说明了Amazon的内部算法是基于物品的协同过滤,它推荐的书都是

和用户之前购买或者喜欢的书相似的书。

图 2.3: Amazon推荐系统的用户解释

UserCF和ItemCF两种算法都被称为基于邻域的算法,除此之外,还有很

多不同的协同过滤算法。Hoffman在文献[34]提出了隐语义模型(Latent Class

Page 29: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第二章 推荐系统相关研究综述 17

Model),该模型用隐类(Latent Class)将用户和物品联系起来,它认为用户并不

是直接对物品产生兴趣,而是用户对几个类别有兴趣,而物品属于不同的类

别,因此这个模型会通过用户行为数据学习出这些类别,以及用户对类别的兴

趣。在Latent Class Model的基础上,后来很多研究人员提出了矩阵分解模型,

也被称为Latent Factor Model[8]。基于矩阵分解的模型有很多种,这些模型大

多是在Netflix Prize的比赛中被提出来的,比如RSVD[70],SVD++ [44]等等。

除了矩阵分解相关的模型,图模型在协同过滤中也有广泛的应用。

Baluja在文献[7]中介绍了Youtube推荐算法背后的co-view图模型,并提出了

一种扩散算法在图上度量用户对物品的兴趣。文献[68] 中研究了如何通过

分析图模型中的顶点之间的路径来增加协同过滤算法推荐结果的惊喜度。

Mirza[63]系统研究了基于图模型的推荐问题,指出推荐的本质是将用户和物品

联系起来,而图模型是联系用户和物品的最自然的方式。文献[28] 系统的研究

了各种计算图中顶点之间相似度的算法,并比较了不同相似度算法的推荐准确

度。

2.3.2 基基基于于于人人人口口口统统统计计计学学学的的的过过过滤滤滤

每个人都有他的人口统计学(Demographic)特征,包括了年龄,性别,工

作,学历,居住地,国籍,民族,等等。这些特征对预测用户的兴趣也有很重

要的作用。比如男性和女性的兴趣不同,不同年龄的人兴趣也不同。图2.4显

示了IMDB中给著名美剧评分的男女用户数的比例2。这幅图中的数据只代表

了IMDB用户观看电视剧的性别分布,因为IMDB网站用户的性别分布本身是

有偏的(男性用户较多)。如图所示,用户选择电视剧的行为和性别有很大的

相关性,有些电视剧,比如格雷医生和绝望主妇,比较受女性的欢迎,而另一

些电视剧,比如生活大爆炸和荒野求生,则比较受男性的欢迎。基于用户人口

统计特征的推荐的最大好处,是可以解决注册用户的冷启动(Cold Start) 的问

题。当一个用户刚刚注册,还没有任何行为的时候,我们就可以根据他注册时

提供的年龄性别等人口统计特征数据,来预测他的兴趣。Krulwich在[46]文中

研究了如何利用大量的用户人口统计特征数据和用户行为数据来构建用户的兴

趣模型的方法。首先,Krulwich 根据美国用户看电视、购物的行为,将用户根

2IMDB网站中给出了每一部电影和电视剧的评分人数按照年龄和性别的分布数据,比如豪斯

医生(House M.D.)的评分人数分布可以在下面的链接得到http://www.imdb.com/title/tt0412142/

ratings。

Page 30: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

18 动态推荐系统关键技术研究

据他们的人口统计学特征分成62个先验的聚类。然后,对任意一个用户,首先

找到他的聚类,然后给他推荐这个聚类里的其他用户喜欢的物品。

但是基于人口统计特征的推荐的主要缺点是它的推荐粒度太粗。比如,如

果我们只有用户的年龄和性别的数据,那么对于相同年龄和性别的人的推荐

结果将是完全一样的。因此没有实现彻底的个性化。另外,很多用户在提交自

己的年龄性别信息时,出于对自己隐私的考虑,可能不会提供真实的信息[64],

这也会导致推荐系统的误差。

图 2.4: IMDB中不同美剧的男女分布

2.3.3 内内内容容容过过过滤滤滤

内容过滤(Content-Based Filtering)[6, 66]是推荐系统中的一种重要的方法。

这种方法的基本思想是给用户推荐和他们之前喜欢的物品在内容上相似的

其他物品。比如如果用户喜欢一本数据挖掘的书,那么基于内容过滤的推

荐系统就会给他推荐其它他没有看过的数据挖掘方面的书。因此,内容过

滤系统的核心任务就是计算物品的内容相似度。给物品内容建模的方法很

多,其中最著名的模型是向量空间模型[5]。这个模型首先抽取出物品的关键

词(keyword),然后利用TF-IDF来计算关键词的权重[74]。令ki是物品dj的第i个

关键词,wij是ki在dj上的权重,那么物品dj的内容可以定义为如下的向量模

型:

Content(dj) = {w1j, w2,j, . . . } (2.5)

Page 31: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第二章 推荐系统相关研究综述 19

如前所述,内容过滤算法给用户推荐和他们之前喜欢的物品在内容上相

似的物品。因此需要根据用户之前喜欢的物品来对用户对内容的喜好建模。

令ContentBasedProfile(u)为用户u的内容喜好向量,此向量定义如下:

ContentBasedProfile(u) =1

|N(u)|sumd∈N(u)Content(d) (2.6)

其中N(u)是用户u之前喜欢的物品集合。因此用户内容喜好向量就是根据用户

喜欢的所有物品的向量模型的平均。计算出所有的物品内容向量Content(·)和所有用户的内容喜好向量ContentBasedProfile(·)之后,给定任意一个用户u和一个他不知道的物品d,用户对物品的喜好定义为ContentBasedProfile(u)向

量和Content(d)向量的相似度:

p(u, d) = sim(ContentBasedPrifle(u), Content(d)) (2.7)

其中sim(·, ·)定义了两个向量的相似度。

利用关键词给物品建模是很多内容推荐系统的重要部分。但准确的抽取

物品的关键词也是一个困难的问题。特别是在多媒体领域,例如在图像视频

的推荐系统中,很难根据图像和视频的内容提取出文本的标签。为了解决这

个问题,不同系统提出了不同的解决方案。这些解决方案大致分为两种,一

种是利用专家给物品标签。另一种是让用户给物品贴标签。专家标注系统的

代表有Pandora的音乐推荐系统和Jinni的电影推荐系统。以Jinni为例,他们

的研究人员定义了900多个不同的标签(称为电影基因),然后让电影专家给

每一个电影标注一系列标签。这900多个标签属于不同的类别,包含了电影

的类别,剧情,时间,地点,人物,获得的奖项等信息。图2.5是Jinni的专家

给电影《功夫熊猫》标注的标签。如图所示,功夫熊猫的标签一共分成了十

类:心情(Mood),剧情(Plot),类别(Genres),故事发生的时代(Time),故事

发生的地点(Place),适合的观影人群(Audience),评价(Praise),风格(Style),

态度(Attitude),画面(Look)。如图所示,这些类别包括了电影方方面面的信

息,可以准确描述一部电影。

和专家标注系统相比,用户标注系统的应用范围更加广泛。代表的网站

有Delicious,Flickr等等。用户标签(Tag)相对于专家标注的特点是标签更加多

样,也更能反映用户的长尾兴趣,但缺点是质量不高,有很多错误的标注。因

此在用户标签系统中,主要有两类推荐问题,一是如何给用户推荐标签(tag

Page 32: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

20 动态推荐系统关键技术研究

图 2.5: Jinni给功夫熊猫编辑的内容属性

recommendation [78]),即当用户面对一个物品时,给他推荐一些适合于这个

物品的标签供用户选择。这样做的目的有两个,首先是方便用户标注,用户

可以不用打字而是只通过点击几个推荐的候选标签就完成标注的过程,其次

可以提高用户标注的质量。另一个推荐问题是如何利用标签来给用户推荐物

品(tag-based recommendation [75])。当用户给了物品标签后,最简单的推荐方

法是将标签作为物品的关键词,然后利用前面提到的内容过滤的算法给用户做

推荐。

2.3.4 社社社会会会化化化过过过滤滤滤

在现实社会中,用户的兴趣和选择往往受到好友的影响。在互联网中,

随着诸如Facebook, Twitter等社会网络网站的兴起,如何利用用户之间的社

会关系设计推荐系统,是近几年推荐领域比较热门的研究问题。基于社会

网络的推荐算法被称为社会化过滤(Social Filtering)或者社会化推荐(Social

Recommendation)。近几年在工业界已经有了很多社会化推荐系统。图2.6展示

了Amazon利用用户在FaceBook的社会网络关系提供的推荐结果。图中,每个

推荐结果的下面都显示了喜欢这个商品的用户的好友。

最简单的社会化过滤算法是基于邻域的算法(Neighborhood-based Method)。

Page 33: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第二章 推荐系统相关研究综述 21

图 2.6: Amazon利用Facebook Connector做出的社会化推荐

给定用户u,令F (u)为用户u的好友集合,N(u)为用户u喜欢的物品集合。那么

用户u对物品i的喜好程度定义为用户u的好友中喜欢物品i的好友个数:

pui =∑

v∈F (u),i∈N(v)

1 (2.8)

除了简单的邻域模型,还有很多社会化过滤算法。Jamali在[36]中利用图模型

将用户的社会网络和用户物品的喜好关系建模到一张图中,然后利用随机游

走(Random Walk)算法给用户做社会化推荐。Ma在[57]提出了一个矩阵分解的

算法来分解用户的社会网络矩阵和用户物品喜好矩阵,计算出用户的特征向量

和物品的特征向量,并最终利用特征向量的点乘度量用户对物品的兴趣。社会

化过滤相对于协同过滤有以下的优点:

• 在很多网站中,用户物品矩阵的稀疏度比较高,因此仅仅利用用户对物品的行为关系来做协同过滤往往遇到稀疏的问题,造成推荐精度较差。

特别是遇到冷启动的问题时,协同过滤就无法给出推荐。比如一个新用

户,我们没有他的行为数据,因此无法根据他的历史行为给他做出推荐。

但如果我们能通过Facebook等网站提供的API获得他的社会网络信息,就

可以根据他朋友的历史行为来预测他的兴趣。

• 在现实社会中,人们的选择确实会受社会关系的影响,因此好的社会化过滤算法可以提高推荐的精度。而且因为现有的推荐系统绝大多数是基

于协同过滤的,此时如果引入社会化过滤也可以推荐出协同过滤无法推

荐出的物品,从而增加推荐结果的多样性和用户的惊喜度。

Page 34: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

22 动态推荐系统关键技术研究

但是,社会化过滤也有一些缺点,其最主要的缺点是,用户之间的社会关系形

成的原因很多。可能是因为血缘关系,同学关系或者有共同的兴趣爱好。但只

有依赖共同兴趣爱好形成的社会网络关系对预测用户的兴趣才会有比较大的帮

助。因此,如何鉴别不同社会关系对预测用户不同行为的作用,是社会化过滤

中的一个重要的研究方向。

除了利用社会网络信息给用户推荐物品的社会化过滤问题,社会网络中的

另一类推荐问题就是如何给用户推荐好友。主要的社会网络系统都有好友推荐

的功能(如图2.7所示)。最近几年,研究人员提出了很多好友推荐算法,其中

主要的算法都是基于图模型的[52, 55]。

图 2.7: Facebook的好友推荐系统

2.3.5 基基基于于于位位位置置置的的的过过过滤滤滤

随着移动设备的普及,很多手机或者手持设备都配备了GPS等定位工具,

因此最近几年基于位置的过滤(Location-based Filtering)也逐渐成为推荐系统领

域研究的一个重要方向[51, 88]。基于位置的过滤主要被用在旅游领域,图2.8展

示了MappyFriends同时利用社会网络和位置信息设计的推荐系统。该系统通过

分析用户的位置,给用户推荐那些他们的好友在附近旅游的景点。在很多基于

位置的推荐算法中,位置主要被作为一种重要的上下文信息。

Page 35: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第二章 推荐系统相关研究综述 23

图 2.8: MappyFriends的基于位置的旅游推荐系统

2.4 推推推荐荐荐系系系统统统动动动态态态特特特性性性的的的研研研究究究现现现状状状

现实世界中的一切事物都处在不断的变化之中,推荐系统也是如此。用户

的兴趣,物品的属性是不断变化的,每天会有大量的新用户,新物品加入系

统。此外,时间是一种重要的上下文信息(Context),用户在不同的时间段会有

不同的兴趣,比如用户在白天和晚上的兴趣可能不同,用户在周末和工作日

的兴趣可能不同,用户在节日可能会有特殊的兴趣,在不同的季节也会有不

同的兴趣。图2.9展示了美国用户对5种不同汽车品牌的专注度随时间变化的曲

线3。可以看到,用户对不同汽车的兴趣是随时间变化的,比如用户在2009年

前对Honda 的关注度要大于Ford,但2009年后对Honda的关注度发生了较大的

下降。此外,如图所示,用户对很多品牌在夏季的关注度要大于在冬季的关注

度。因此,合理的利用时间信息,考虑推荐系统的动态特性,对提高推荐的准

确度和用户的满意度将会有很大的帮助。

传统的推荐系统在设计时并没有主动的考虑到时间因素,但这些方法给用

户的推荐结果并不是静态的。这是因为用户不断有新的行为并且新的物品会不

断加入到网站中。比如,基于物品的协同过滤算法会推荐那些和用户之前喜欢

3此数据由Google Insights for Search(http://www.google.com/insights/search/) 提供。

Page 36: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

24 动态推荐系统关键技术研究

图 2.9: 美国用户对于5个不同汽车品牌的关注度随时间变化的曲线

的物品类似的物品,但由于用户之前喜欢的物品集合是随时间不断变化的,所

以推荐结果也是不断变化的。社会化过滤也是如此,一方面,用户的好友集合

是动态变化的,另一方面用户喜欢的物品也是动态变化的,因此社会化过滤的

结果也是动态变化的。Lathia [49] 系统的研究了不同算法产生的推荐结果的变

化率相对于数据本身变化率的关系。他将数据集按照一个时间点T分成前后两

个数据集,用T时刻之前的用户行为作为训练集,T时刻之后的用户行为作为

测试集。然后,他不断增加T,对每一个T都用不同的算法在相应的训练集上

训练,测试集上测试。随着T的增加,训练集和测试集都在发生变化。通过这

种方法,就可以研究不同算法的推荐结果相对于数据变化的敏感程度。他的研

究表明,有些算法对数据变化很敏感,而另一些算法的推荐结果却相对比较稳

定,不太受数据变化的影响。

虽然前面所述的推荐算法的结果也是随数据变化而变化的,但因为它们并

没有主动考虑时间因素的影响,所以他们并不能完全发挥时间信息对推荐系统

的作用。时间信息对推荐系统的作用首先体现在对用户兴趣的影响上。Ding在

文献[26]中提出,用户未来的兴趣主要受他近期兴趣的影响,所以推荐算法应

该加重用户近期行为对最终结果的影响。他们通过在协同过滤算法的基础上引

入时间衰减函数来实现了他们的猜想并提高了推荐的准确度。在某些情况下,

我们可能无法知道用户每个行为发生的具体时间,但可以知道用户行为的先后

顺序。Zimdars[93] 研究了在有序数据集上的推荐问题,利用决策树算法对用

Page 37: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第二章 推荐系统相关研究综述 25

户行为的序关系进行建模。Lu[56]修改了传统的协同过滤算法中的矩阵分解模

型,将用户和物品的特征向量看作一个随时间变化的动态特征向量,从而将时

间作为新的一维建模到推荐模型中去。Xiong[87]同样利用矩阵分解模型,将时

间作为新的一维,利用张量分解(tensor factorization) 的算法对含有时间的用

户行为数据进行建模。

Netflix大奖赛也公布了带有用户评分时间的数据集。很多参赛的研究人员

都利用时间信息大大的提高了评分预测的精度。最终的获胜队伍成员Koren在

文章[45]中总结了他们对时间信息的建模方法。他提出了评分预测问题中应该

考虑的四种主要的时间效应:

• 用户偏好随时间变化(User bias shifting):用户可能在某一天只对他喜欢

的物品评分,某一天可能只对他不喜欢的物品评分。因此用户某一天的

平均分是随时间变化的。

• 物品偏好随时间变化(Item bias shifting):物品的受欢迎程度也是随时间

变化的。一部电影刚发布的时候的平均分可能和发布很久之后的平均分

有所差别。

• 用户兴趣随时间变化(User preference shifting):用户在不同的时候可能有

不同的兴趣,比如小孩可能喜欢看动画片,但当他长大了可能喜欢看其

他种类的电影。

• 季节效应:用户行为会受季节效应的影响。电影推荐中主要的季节效应有暑期的效应,颁奖典礼的效应(比如奥斯卡颁奖礼期间,获奖电影会

受到很多的关注),以及一些纪念日的效应(比如二战胜利纪念日前后,

二战题材的电影会受到较多的关注)。

Koren用矩阵分解的模型对上面的时间效应进行建模,并利用随机梯度下降法

对模型进行优化。该模型相对于其他模型取得了很大的提高。

2.5 推推推荐荐荐系系系统统统评评评测测测

任何推荐算法都要通过评测,才能评估它的推荐质量。推荐系统评测的

问题吸引了很多研究人员的研究[17, 29, 33, 38] 常用的推荐评测指标有:准

Page 38: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

26 动态推荐系统关键技术研究

确度(accuracy),覆盖度(coverage),多样性(diversity),新颖性(novelty),惊喜

度(serendipity)等等。下面各节将详细讨论这些评测指标。

2.5.1 准准准确确确度度度

准确度是推荐系统里最常用的指标,在预测评分的系统和Top-N的推荐系

统中有不同的准确度度量方法。在评分预测的问题中,我们常用平均绝对误

差(MAE)或者均方误差(RMSE)来评测评分预测的准确度:

MAE =

∑(u,i)∈T |rui − rui|

|T |(2.9)

RMSE =

√∑(u,i)∈T (rui − rui)2

|T |(2.10)

这里,T是测试集。 rui是算法预测的用户u对物品i的打分,rui是数据集中用

户u对i的实际打分。早期的推荐系统研究中多用MAE作为评测指标,但今年因

为Netflix大奖赛中用RMSE作为评测指标,所以RMSE逐渐称为评分预测问题

中预测准确度的主要评测指标。Takacs在文[81] 对这两种评测指标做了深入的

比较和分析。

Top-N推荐问题和评分预测问题不同,他的目的是对每一个用户,通过分

析他们的历史行为,给他们推荐N个他们可能会喜欢的物品。给定一个推荐

算法,对于用户u,令Ru是算法的推荐结果集合,Tu是测试集中用户u喜欢的

物品集合,此时可以通过准确率(Precision)和召回率(Recall) 来度量推荐的精

度[38]:

Recall =

∑u |Ru ∩ Tu|∑

u |Tu|(2.11)

Precision =

∑u |Ru ∩ Tu|∑

u |Ru|(2.12)

上面所述的方法都是离线评测算法。此外还可以在线评测推荐系统的准确

度。最简单的评测指标是点击率,即有多大比例的用户看到推荐结果后点击了

推荐结果。此外,有些推荐系统设有反馈机制,让用户直接对推荐结果表示喜

欢还是不喜欢(如图2.10所示),利用这些反馈数据,也可以度量推荐系统的准

确度,比如可以用有百分之多少的用户表示喜欢来度量推荐的准确度。

Page 39: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第二章 推荐系统相关研究综述 27

图 2.10: GetGlue的推荐结果反馈界面

2.5.2 覆覆覆盖盖盖度度度

推荐系统的一个重要任务是解决长尾的问题,即如何将长尾中的物品推

荐给喜欢它们的用户。一个好的推荐系统应该不仅仅给用户推荐他们满意的

物品,而且应该能够让高质量的物品出现在用户的推荐列表中。推荐系统的

覆盖度[29] 度量了推荐系统能把多大比例的物品推送给至少一个用户。如果

令R(u)是推荐系统给用户u的推荐列表,那么推荐系统的覆盖度定义为:

Coverage =|∪

u∈U Ru||I|

(2.13)

其中,U是用户集合,I是物品集合。从上面的定义可以看到覆盖度介于(0,1]之

间。覆盖度越大的推荐系统能够更好的发掘长尾。此外,准确度和覆盖度之间

并没有直接的联系,准确度高的推荐并不一定有高的覆盖度。比如考虑两种推

荐算法,算法A给所有用户都推荐N个最热门的物品,算法B给用户随机推荐物

品。算法A的准确度高于算法B,但算法A的覆盖度却是所有推荐算法中最低

的,因为它给所有用户的推荐结果相同,所以它的覆盖度是N/|I|。

2.5.3 多多多样样样性性性

多样性过低的推荐结果会影响用户的体验。比如,对于一个武侠迷,仅仅

给他推荐金庸的小说,虽然准确度并不低,但多样性却比较低,不如给他推荐

不同武侠小说家的经典作品,这样可以兼顾准确度和多样性。很多研究表明,

传统的协同过滤算法以及内容过滤算法的推荐结果的多样性都是偏低的。因

此,很多研究人员提出了很多提高推荐结果多样性的算法[89, 90, 92]。

Page 40: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

28 动态推荐系统关键技术研究

令Ru是给用户u的推荐列表,那么推荐列表Ru的多样性,是通过这个

列表中物品两两之间的相似度来描述的。即如果一个推荐列表中的物品

两两之间越不相似,那么这个推荐列表的多样性越高。给定两个物品i, j,

令sim(i, j) ∈ [0, 1]为它们的相似度,sim(i, j)越大,表示这两个物品越相似。

从而,Ru的多样性定义为:

Diversity(Ru) =

∑i,j∈Ru,i=j(1− sim(i, j))

12N(N − 1)

(2.14)

这里,N = |Ru|是推荐列表的长度。而整个推荐系统的多样性定义为:

Diversity =1

|U|∑u∈U

Diversity(Ru) (2.15)

从上面的定义可以看到,推荐结果的多样性定义依赖于物品相似度函数的

定义。不同的相似度度量可以定义出不同的多样性,比如内容相似度可以定义

为内容多样性。

2.5.4 新新新颖颖颖性性性和和和惊惊惊喜喜喜度度度

新颖性[17]和惊喜度[29, 59] 是最近两年推荐系统领域比较关注的指标。新

颖度的目的是度量推荐列表中物品对于用户的新颖程度。很多准确度高的推荐

结果往往不具有高的新颖度。比如,给一位研究数据挖掘的科学家推荐一本数

据挖掘入门的书,虽然这本书符合这位用户的兴趣,但是对这位用户却没有新

颖度,因为他有很大的可能已经看过这本书了。因此,新颖的推荐的目的是希

望推荐给用户那些他们没有听说过的物品。而惊喜度则更进一步,它的目的是

推荐那些让用户感到出乎意料却又特别喜欢的物品。因此,某种程度上,惊喜

度同时考虑了新颖性和准确度。

目前还没有离线计算这两个指标的方法。所有关于这两个指标的评测都是

通过做用户调查(User Study),即让用户直接对推荐结果的新颖性和惊喜度进

行评分来获得相关的评测指标。

2.6 本本本章章章小小小结结结

本章简单概述了推荐系统的主要任务和问题。从商业应用和学术研究两个

角度介绍了推荐系统研究的现状。并且,本章从推荐系统的数据角度对推荐系

Page 41: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第二章 推荐系统相关研究综述 29

统进行了分类,介绍了内容过滤,协同过滤,人口统计学过滤,社会化过滤以

及地点过滤等五种不同的推荐系统以及他们背后的主要算法。然后介绍了推荐

系统动态特性方面的研究现状,讨论了相关的模型和算法。最后,本章讨论了

推荐系统的主要评测指标,在后面的各章中,我们将会利用这些评测指标对不

同的推荐算法进行评测。

Page 42: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

Page 43: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第第第三三三章章章 评评评分分分预预预测测测问问问题题题中中中用用用户户户兴兴兴趣趣趣预预预测测测的的的动动动态态态模模模型型型

3.1 引引引言言言

推荐系统的主要目的是从用户的行为中挖掘出用户的兴趣,因此收集用户

行为的系统是推荐系统的重要组成部分。让用户给物品评分是很多推荐系统收

集用户兴趣的重要手段。用户评分行为也被称为显性反馈行为,因为评分结果

明确的表示了用户对物品的兴趣。

图3.1展示了不同网站收集用户显性反馈的界面。如图所示,有些网

站(Netflix, Hulu)利用5颗星的打分系统,有些网站(Jinni)利用了一个进度条,

有些网站(Youtube, Clicker) 只让用户选择喜欢还是不喜欢。每一种方法都有它

们各自的优缺点,但目的都是希望能够收集到用户对物品的明确兴趣。收集用

户的显性反馈数据是很困难的,相对于用户其他的行为,用户的评分行为数量

很少。但是评分数据非常宝贵,它包含了用户对物品的明确兴趣。

评分预测问题的主要任务是预测一个给定用户对一个给定物品的评分。解

决该问题主要依赖于建立用户的兴趣模型。传统的推荐系统在建立用户兴趣模

型时往往忽略了用户兴趣的变化,而只建立用户的静态兴趣模型。比如,静态

用户兴趣模型在计算一个用户对一个物品的评分时,往往只参考该用户对其他

物品的评分,而忽视用户对其他物品评分的时间。但用户评分行为发生的时间

信息对准确预测用户未来的行为有很重要的作用。

比如,用户最近的评分行为相对于用户很久之前的评分行为往往对预测用

户未来的评分具有更高的参考价值。物品的受欢迎程度也受时间的影响,一部

电影刚刚发布时受用户的欢迎程度和发布很久之后受用户的欢迎程度是不同

的。此外,季节效应对评分预测问题也有很重要的作用,用户在不同的季节会

有不同的兴趣,用户在平时和周末会有不同的兴趣,用户在不同的节日会有不

同的兴趣。诸如此类的时间因素在各种类型的网站中都有很多,而如何利用这

些时间信息提高推荐系统预测的精度,设计符合用户兴趣变化的动态推荐系

统,是近几年推荐领域研究的热门问题。下面几节,我们将就如何针对评分预

测问题建立用户兴趣的动态模型以提高评分预测的精度进行讨论。

本章主要内容如下:

Page 44: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

32 动态推荐系统关键技术研究

图 3.1: 不同网站中收集用户显性反馈的界面设计

• 评分预测问题中最常用的模型是基于矩阵分解的模型(也被称为Latent

Factor Model)。本章提出的动态模型也是建立在矩阵分解模型的基础之

上的,因此本章将首先介绍时间无关的矩阵分解模型,以及模型优化的

算法。

• 本章提出了3种主要的时间效应,包括用户偏好的变化效应,物品流行度

的时间效应以及用户兴趣变化的效应,并利用矩阵分解模型将这三种时

间效应建模到矩阵分解模型中。本章通过在Netflix用户电影评分数据集

上的实验对比动态矩阵分解模型和时间无关模型的预测精度,证明了使

用时间信息可以大大地提高评分预测的精度。

• 本章研究了季节效应对评分预测问题的影响,并通过级联的简单模型在逐步去除季节效应的同时提供模型的预测精度。

3.2 任任任务务务定定定义义义

用户显性反馈数据集或用户评分数据集D = {(u, i, t, r)} 是四元组的集合。其中每一个四元组(u, i, t, r) ∈ D 代表用户u在t时刻给物品i赋予评分r。本文只考虑用户对物品只评过一次分的情况,即用户不会对一个物品反复评分。给

定一个用户u和物品i,令tui为用户u给物品i评分的时间,令ruit为用户u在t时刻

给物品i评的分数。不同的网站有不同的评分体系,本章主要研究五分的评分

体系,即rui ∈ {1, 2, 3, 4, 5}。评分预测问题需要我们通过对用户历史评分数据

Page 45: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第三章 评分预测问题中用户兴趣预测的动态模型 33

集D进行学习,得到用户兴趣模型,对给定的用户v ∈ U,物品j ∈ I,预测用户v在t时刻对物品j的评分rvjt。对于任何一个预测算法,我们令rvjt为算法对用

户v在t时刻给物品j的评分的预测值。

为了能离线的评测不同预测算法的效果,我们将数据集划分成训练集DA

和测试集DT,在训练集上训练动态用户兴趣预测模型,并在测试集上测试预

测精度。本章使用均方误差(RMSE)作为评测指标,因此评分预测问题就转化

为如何利用训练数据设计预测器,以最小化如下的测试集的预测误差:∑(u,i,t)∈DT

(ruit − ruit)2 (3.1)

为了在测试集上最小化上面的RMSE,可以通过在测试集上最小化RMSE来实

现。因此,评分预测问题就转化为如果在训练集上设计预测器以最小化训练集

上的预测误差。

3.3 推推推荐荐荐系系系统统统的的的矩矩矩阵阵阵分分分解解解模模模型型型

本节我们主要讨论解决用户评分预测问题的时间无关的静态用户兴趣模

型。矩阵分解模型(Matrix Factorization Model)认为评分预测问题可以转化为

用户-物品的评分矩阵的补全问题。给定一个无时间信息的用户显性反馈数

据集D = {(u, i, t)},其中每个三元组(u, i, r)代表了一个用户u对一个物品i评

了r分。如果有N个用户和M个物品,我们可以利用这些用户评分数据建立一

个二维稀疏矩阵R ∈ RN×M。其中每一个行代表一个用户对所有物品的评分,

每一列代表一个物品被所有用户的评分。由于没有所有的用户对所有的物品的

评分,所以这个矩阵里含有大量的缺失值(missing value),那么评分预测问题

就转化为如何通过观测值来补全缺失值。图3.2是一个简单的用户物品评分矩阵

的例子。图的右半部分是由一系列三元组组成的数据集,图的左半部分就是这

个数据集对应的评分矩阵。其中的空白处就代表对应的用户没有对对应的物品

评分,是缺失值。比如,从图中矩阵可以得知,用户C对物品c评了3分,对物

品d评了2分,对物品e评了5分,而对物品a,b没有评分。

早期对于评分矩阵缺失值的预测,主要是通过矩阵分解的方法(Matrix

Factorization) 来解决,奇异值分解算法(SVD)是这些方法中的主流方法。它

首先对所有的缺失值赋予一个初始值,比如可以用物品的平均得分对评分矩

Page 46: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

34 动态推荐系统关键技术研究

图 3.2: 一个简单的用户物品评分矩阵的例子

阵R补全:

R(u, i) = rui = ri =

∑v∈N(i) rvi

|N(i)|u ∈ N(i)

或者用用户给物品的平均得分对评分矩阵R补全:

R(u, i) = rui = ru =

∑j∈N(u) ruj

|N(u)|i ∈ N(u)

用初始值补全后的评分矩阵记为R。然后SVD将R 分解成三个矩阵相乘:

R = UT · S · V (3.2)

其中U ∈ RK×N , V ∈ RK×M , S ∈ RK×K是三个分解之后的矩阵。其中S是一个

对角阵,他的对角线上是R矩阵的特征值。

选取R矩阵的k个最大的奇异值组成对角阵Sk,同时找到U, V 中和这k个奇

异值对应的行向量和列向量,组成Uk, Vk。将这三个矩阵重新相乘,得到

R = UTk · Sk · Vk (3.3)

其中R就是对评分矩阵R的最终补全矩阵,R(u, i)代表了用户u 给物品i评分的

预测值。

利用SVD分解的主要缺点是,这个方法需要一开始对缺失值进行初始补

全,从而会将一个稀疏矩阵转化为一个稠密矩阵,然后进行分解。对高维稠密

矩阵进行SVD分解的时间复杂度和空间复杂度都非常高[31],所以这种方法在

Page 47: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第三章 评分预测问题中用户兴趣预测的动态模型 35

大规模数据集上无法应用。于是,后来有研究人员提出了基于梯度下降法的矩

阵分解模型。这个模型认为,一个用户u对一个物品i 的打分rui可以通过用户

特征向量pu和物品特征向量qi的点乘来建模,即:

rui = pTu · qi (3.4)

其中特征向量pu, qi可以通过优化如下的损失函数进行训练:

C(D) =∑

(u,i)∈DA

(rui − pTu qi)2 + λ(||pu||2 + ||qi||2) (3.5)

其中DA是训练集,(rui − pTu qi)2代表了预测值和实际评分之间的平方误差,

λ(||pu||2 + ||qi||2)被用来防止训练过拟合。公式3.5可以通过随机梯度下降法进

行优化。首先,我们对pu, qi求偏导如下:

∂C

∂pu= −2 · qieui + 2λpu (3.6)

∂C

∂qi= −2 · pueui + 2λqi (3.7)

然后,我们利用随机梯度下降法对pu, qi进行迭代更新:

pu ← pu + α(euiqi − λ · pu) (3.8)

qi ← qi + α(euipu − λ · qi) (3.9)

其中α是学习速率。

鉴于矩阵分解模型在时间复杂度和空间复杂度方面都有很大的优势,后来

很多研究人员基于这个模型进行了深入的研究,提出了很多改进的模型。其中

最著名的改进模型是RSVD模型:

rui = µ+ bu + bi + pTu · qi (3.10)

其中µ是全局打分的平均数,bu是用户偏置项(user bias),用来描述一个用户

是倾向于对自己喜欢的东西打分,还是倾向于对自己不喜欢的东西评分,bi是

物品偏置项(item bias),描述了一个物品的平均得分相对于所有的物品是偏

高还是偏低。这两个参数也同样可以通过随机梯度下降法在线学习(on-line

learning)得出。下一节中,我将通过分析显性反馈系统中几种常见的时间效应,

对RSVD模型进行修改,从而设计出一个动态的矩阵分解模型(TRSVD) 来实现

对基于显性反馈的推荐系统中用户行为的动态建模。

Page 48: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

36 动态推荐系统关键技术研究

3.4 显显显性性性反反反馈馈馈系系系统统统中中中用用用户户户兴兴兴趣趣趣的的的动动动态态态模模模型型型

本文研究发现,显性反馈系统中有如下几种显著的时间效应[85]:(1) 社

会兴趣随时间变化(Social Preference Shifting);(2) 用户偏好随时间变化(User

Bias Shifting);(3) 物品的受欢迎程度随时间变化(Item Bias Shifting);(4) 用

户个人兴趣随时间变化(User Preference Shifting)。下面各节将会详细的介绍这

四种时间效应,以及如何将这些时间效应建模到预测用户兴趣的动态模型中

去。

3.4.1 社社社会会会兴兴兴趣趣趣随随随时时时间间间变变变化化化

社会兴趣是随时间变化的。社会兴趣代表了所有用户的平均兴趣,因此一

个系统所有物品的平均得分的变化可以体现社会兴趣的变化。这种变化的主要

原因可能来自以下几个方面:

• 网站的物品发生了大的变化。内容是很多网站的重要组成部分,如果Netflix忽然引进了大量的受欢迎的DVD,那么它的电影的总体平均分

就会产生比较大的提高。

• 网站用户获取内容的方式发生大的变化。用户对一个物品评分的前提是用户在这个网站上发现了这个物品。而用户发现一个物品的方法主要

有下面几种:页面浏览,搜索和推荐。页面浏览主要涉及到网站用户界

面(User Interface)的改动,而搜索引擎和推荐系统主要涉及到排名算法的

改动。以推荐系统为例,如果系统的推荐算法的推荐质量有了比较大的

提高,用户容易看到的物品都是他们比较喜欢的物品,那么用户对物品

的平均评分将会有比较大的提高。

图3.3展示了Netflix数据集中所有物品的总平均分随时间变化的曲线。图中横坐

标是日期,纵坐标显示了该日期Netflix数据集中所有用户评分的平均值。如图

所示,Netflix的总平均分在2004年发生了比较大的提高,这说明Netflix的用户

的总体兴趣在2004年发生了改变。

在预测模型3.10中,可以加入bt这一项来代表社会兴趣随时间的变化:

ruit = µ+ bu + bi + bt + pTu · qi (3.11)

Page 49: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第三章 评分预测问题中用户兴趣预测的动态模型 37

图 3.3: Netflix数据集中总平均分随时间的变化曲线

3.4.2 用用用户户户偏偏偏好好好随随随时时时间间间的的的变变变化化化

在评分预测问题中,用户的偏好涉及两个方面,一方面有些用户倾向于给

自己喜欢的物品打分而有些用户倾向于给自己不喜欢的物品打分,另一方面不

同用户的评分标准不同,有些用户对自己喜欢的物品会给5分,而有些用户要

求比较严格,即使是自己喜欢的物品,也只会给4分。用户的偏好是随时间变

化的,在某些时候,用户可能倾向于给自己喜欢的东西评分,这个时候用户打

出的分数一般比较高,在另一些时候,用户倾向于给自己不喜欢的东西评分,

这个时候用户打出的分数一般比较低。或者,有些用户在一开始对他们很喜欢

的物品,只会给出4分,而过了一段时间后,会给他们很喜欢的东西5分。这种

时间效应被称为用户偏好漂移(user bias shifting)。用户兴趣漂移可以通过用户

打分的平均分rut随时间的变化进行研究:

rut =

∑i∈N(u,t) rui

|N(u, t)|(3.12)

其中N(u, t)是用户u在t时刻喜欢的物品集合。

Page 50: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

38 动态推荐系统关键技术研究

我们在Netflix数据集中选择了3个典型用户,他们都对很多电影有过评分,

图3.4画出了这3个用户随时间变化的平均分rut的曲线。比如,在图3.4中,用

户id为305344的用户在2003年前倾向于给他喜欢的物品打分,而2003年后倾向

于给他不喜欢的物品评分。

所以,模型3.11中的用户偏好bu应该是一个随时间变化的项。我们可以用

一个时间相关的用户偏好项buτ来代替它:

buτ = bu + xTu zτ (3.13)

其中τ = τui = tui − tu是这个行为发生的时间相距用户在这个系统第一个行为产生时间之间间隔的天数。xu, zτ是用户u和时间τ对应的特征向量。这里,我

们将buτ分解,而不是直接用buτ 作为模型参数,是因为在很多数据集中用户的

数量非常的多,因此如果用buτ作为参数,参数个数太多,这样既消耗大量的内

存,不利于算法在大规模数据集上的扩展,也容易造成模型过拟合,降低推荐

的精度。

加上了随时间变化的用户偏好项buτ之后,模型3.11变成了下面的形式:

ruit = µ+ bu + bi + bt + pTu · qi + xTu · zτ (3.14)

3.4.3 物物物品品品受受受欢欢欢迎迎迎程程程度度度随随随时时时间间间的的的变变变化化化

物品的受欢迎程度是随时间变化的。很多因素可以影响到物品的热门程

度。比如说,一个演员获得了奥斯卡奖可能会改变用户对他之前电影的看法。

一部电影刚刚放映时和放映很多年后,用户对它的看法也会发生改变。或者一

个电影拍续集的时候也有可能改变用户对它上一部的看法等等。图3.5显示了物

品的平均分和物品在线时间之间的关系。这条曲线的横坐标是在线时间x,纵

坐标计算如下:

y =

∑(u,i)∈D,tui−ti=x rui∑(u,i)∈D,tui−ti=x 1

如图所示,这条曲线呈现缓慢的递增效果,这一方面表明,物品在线时间越

长,获得的平均分就比较高,这是因为在线时间长的物品也就是生命周期长的

物品,而经过长时间考验仍然有用户打分的物品,一般都是很好的物品。

Page 51: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第三章 评分预测问题中用户兴趣预测的动态模型 39

图 3.4: Netflix数据集中用户不同时间段的平均分rut随时间变化的曲线

由于物品的热门程度是受时间影响的,所以可以用biω来代表一个物品平均

评分随时间变化的偏置项:

biω = bi + sTi yω (3.15)

其中,ω = ωui = tui − ti是物品i从接受到第一个评分到现在的天数。si, yω分别

是和物品i 以及时间ω对应的特征向量。在加入biω一项后,模型3.14变成如下形

式:

ruit = µ+ bu + bi + bt + pTu · qi + xTu · zτ + sTi yω (3.16)

3.4.4 用用用户户户兴兴兴趣趣趣随随随时时时间间间的的的变变变化化化

用户兴趣也是随时间变化的。比如,一个男孩小时候喜欢看动画片,但长

大了可能喜欢看动作片。用户也可能会因为某些新闻事件改变他们对导演和演

员的看法,从而影响到他们对电影的看法。这种类型的时间效应被称为用户兴

趣的变化。在RSVD模型中,pTu qi代表了用户u对物品i的兴趣,但是这一项是

和时间无关的,因此,我们需要通过在这一项上加入时间因素,来对用户兴趣

Page 52: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

40 动态推荐系统关键技术研究

图 3.5: Netflix数据集中物品的平均分随物品在线时间变化的曲线

的变化进行建模。我们用如下的模型来对用户u对物品i的兴趣变化进行建模:

preference(u, i) = pTu qi +

f∑k=1

gu,kli,khτ,k (3.17)

其中gu, li, hτ ∈ Rf是用户u,物品i,和时间τ对应的向量。这里用到的模型

和Takacs在[82]提出的模型比较类似。

在加入随时间变化的用户兴趣模型后,可以得到最后的时间相关的RSVD模

型,本文用TRSVD来代表这个模型:

ruit = µ+ bu + bi + bt + pTu · qi + xTu · zτ + sTi yω +

f∑k=1

gu,kli,khτ,k (3.18)

3.4.5 模模模型型型的的的优优优化化化

公式3.18就是本章提出的用户兴趣预测的动态模型。可以通过最小化如下

的损失函数,来得到模型的参数:∑(u,i)∈K

{(rui − rui)2 + λ(b2u + b2i + b2t + ||pu||2 + ||qi||2

+||xu||2 + ||zτ ||2 + ||si||2 + ||yω||2

+||gu||2 + ||li||2 + ||hτ ||2)} (3.19)

Page 53: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第三章 评分预测问题中用户兴趣预测的动态模型 41

这里λ是一个防止过拟合的参数,可以通过交叉验证选取。我们通过随机梯

度下降法来优化这个损失函数,这种优化方法在[44, 82]都有详细的介绍。算

法1对我们的优化算法给出了详细的描述。这里,所有的模型参数都会初始化

为以0为均值,σ为方差的正态分布随机数。

Algorithm 1: 动态矩阵分解模型(TRSVD)的优化算法

Input: 训练数据集DA, 特征向量维数f , 迭代次数n

Output: TRSVD的模型参数

for count = 0; count < n; + + count do

foreach (u, i) ∈ K do

eui = rui − rui;t = tui;

τ = tui − tu;ω = tui − ti;bu = bu + η · (eui − λbu);bi = bi + η · (eui − λbi);bt = bt + η · (eui − λbt);for k = 0; k < f ; + + k do

pu,k = pu,k + η · (eui · qi,k − λpu,k);qi,k = qi,k + η · (eui · pu,k − λqi,k);xu,k = xu,k + η · (eui · zτ,k − λxu,k);zτ,k = zτ,k + η · (eui · xu,k − λzτ,k);si,k = si,k + η · (eui · yω,k − λsi,k);yω,k = yω,k + η · (eui · si,k − λyω,k);pu,k = gu,k + η · (eui · li,k · hτ,k − λgu,k);qi,k = li,k + η · (eui · gu,k · hτ,k − λli,k);hτ,k = hτ,k + η · (eui · gu,k · li,k − λhτ,k);

η = 0.9η;

Page 54: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

42 动态推荐系统关键技术研究

图 3.6: Google Trend中电影相关四个搜索词从2004年以来在美国的搜索量变化

曲线

3.5 季季季节节节效效效应应应模模模型型型

很多网站中都存在季节效应。用户在不同季节会有不同的兴趣,用户在

周末和平时会有不同的兴趣,用户在节日和平时会有不同的兴趣。图3.6 给出

了Google Trend中四个电影相关的搜索词自2004年以来在美国的搜索量变化曲

线。如图所示,前3个搜索词是电影方面的奖项,可以看到他们的搜索量在每

年有两个峰值,其中前一个小的峰值对应了电影奖项提名公布的日子,后一个

大的峰值对应了电影奖项最终结果公布的日子。第四个搜索词反应了美国用户

去电影院的兴趣,图中趋势表明,美国用户在暑期和新年前后会去电影院。以

上4条趋势曲线都反映了季节效应对用户兴趣和行为的影响。

Page 55: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第三章 评分预测问题中用户兴趣预测的动态模型 43

在推荐系统中,周期效应一般会作为一种简单的时间效应(Simple Time

Effect)在后处理的时候处理[85]。在评分预测问题中,假设ruit是一个给定的预

测模型,它可以是任何模型,比如我们前面提到的TRSVD模型。而如果数据

有周期性,那么可能会有3种周期性:整体评分的周期性,用户行为的周期性

和物品流行度的周期性。下面几节将对这三种周期性分别建模。

3.5.1 整整整体体体评评评分分分的的的周周周期期期性性性建建建模模模

ruit = puit + bc (3.20)

其中c = C(t, T )是和当前时间t以及周期T相关的表明当前时间处在周期里的什

么位置的项。比如如果周期是月,那么c就代表了当前时间是几月,如果周期

是一周,那么c就代表是星期几。如果是节日这种周期效应,c就代表当前时间

是不是某个特定节日。要优化这个模型的参数bc,我们需要最小化如下的能量

函数: ∑(u,i,t)

(ruit − puit − bc)2 + λb2c (3.21)

其中λb2c被用来防止模型过拟合,λ可以通过交叉验证获得。我们将上面的能量

函数对bc求偏导数,并令导数为0,可以获得如下的bc 的计算公式:

bc =

∑C(t,T )=c,(u,t,T )∈D(ruit − puit)

(1 + λ)∑

C(t,T )=c,(u,t,T )∈D 1(3.22)

3.5.2 用用用户户户行行行为为为周周周期期期性性性的的的模模模型型型

在某些网站中,用户的行为也是有周期性的。用户行为的周期性一方面可

能是受物品的影响,从而会在全局周期性中体现。比如在卖服装的网站中,绝

大多数用户都是夏季买夏装,冬季买冬装。这种类型的行为周期性可以通过全

局周期性建模体现出来。但另一方面,用户也有个性化的行为周期性。比如有

些用户喜欢白天看电影,而有些用户喜欢晚上看电影。有些用户喜欢周末看电

影而有些用户喜欢在周二打折时看电影。这些个性化的周期性效应可以通过如

下的方式建模:

ruit = puit + buc (3.23)

Page 56: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

44 动态推荐系统关键技术研究

其中c的定义和上一节相同,即表示了当前时间t处在周期中的位置。模型参

数buc 可以通过最小化如下能量函数的方法获得:∑(u,i,t)

(ruit − puit − buc)2 + λb2uc (3.24)

其中λb2uc被用来防止模型过拟合,λ可以通过交叉验证获得。我们将上面的能

量函数对buc求偏导数,并令导数为0,可以获得如下的buc 的计算公式:

buc =

∑C(t,T )=c,(u,t,T )∈D(ruit − puit)

(1 + λ)∑

C(t,T )=c,(u,t,T )∈D 1(3.25)

3.5.3 物物物品品品周周周期期期性性性的的的模模模型型型

不同的物品具有不同的周期性。比如,在一个综合性的电子商务网站中,

服装,食品,图书,音像制品都有不同的周期性。这种不同物品的周期性效应

可以通过如下的方式建模:

ruit = puit + bic (3.26)

其中c的定义和上一节相同,即表示了当前时间t处在周期中的位置。模型参

数bic 可以通过最小化如下能量函数的方法获得:∑(u,i,t)

(ruit − puit − bic)2 + λb2ic (3.27)

其中λb2ic被用来防止模型过拟合,λ可以通过交叉验证获得。我们将上面的能量

函数对bic求偏导数,并令导数为0,可以获得如下的bic 的计算公式:

buc =

∑C(t,T )=c,(u,t,T )∈D(ruit − puit)

(1 + λ)∑

C(t,T )=c,(u,t,T )∈D 1(3.28)

3.6 实实实验验验与与与分分分析析析

3.6.1 实实实验验验数数数据据据

本章的实验在Netflix的数据集1上完成。这个数据集包含了480189个用户

对17770部电影从1999年11月到2005年12月的100480507条评分记录。这个数据

集的用户行为比较稠密,每个用户都对至少20部电影有过评分。数据集中用户

的总平均分是3.6分,在一个1-5分的评分系统中,3.6的平均分表示绝大多数用

户倾向于对自己喜欢的电影进行评分。

1http://www.netflixprize.com

Page 57: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第三章 评分预测问题中用户兴趣预测的动态模型 45

3.6.2 评评评测测测方方方法法法

为了测试不同算法的精度,Netflix提供了两个测试集。第一个测试集

被称为Probe测试集,第二个测试集被称为Quiz数据集。Probe测试集包含

了140万条用户对物品的评分记录,Quiz测试集包含了280万条评分记录。其

中,Probe测试集中的评分是已知的,也就是说我们可以直接在Probe测试集中

计算出预测精度。而Quiz测试集中的评分是未知的,需要把预测提交给Netflix,

Netflix会返回给我们测试精度。Netflix生成这两个测试集的方法如下。对于每

一个用户,它会把这个用户最新的5%的评分记录作为测试集,这5%中的最新

的2/3会放入到Quiz测试集,而剩下的1/3会放入Probe测试集。

在评分预测问题中,我们用均方误差(RMSE)来评测预测结果的准确性。

给定一个数据集,包括了训练集DA和测试集DT,我们会在训练集上训练模型,

在测试集上进行预测,然后计算测试集的RMSE如下:

RMSE =

√∑(u,i)∈DT

(rui − rui)2

|DT |(3.29)

其中, rui是算法对用户u在tui时刻对物品i的评分的估计值,tui是用户u给物

品i评分的时间。RMSE越小,表示预测精度越高。

3.6.3 TRSVD的的的实实实验验验结结结果果果

我们在Netflix数据集上同时测试了动态的TRSVD模型和静态的RSVD模

型。表3.1列出了在选择不同特征向量维数时两个算法在Probe测试集上的预

测精度。该表格第一列是特征向量维数f,实验选取了f = 20, 60, 100三种情

形,第二列是TRSVD模型在三组f下的预测精度,第三列是RSVD模型在三

组f下的预测精度,第四列是TRSVD模型预测精度相对于RSVD模型预测精度

的改进。如表中结果所示,首先无论RSVD还是TRSVD,它们的预测误差都

随着分解维数f的提高而下降。RSVD模型在f = 100时的预测误差是0.9068,

相对于它在f = 60时的预测误差0.9073 下降了0.0005,相对于它在f = 20时

的预测误差0.9128下降了0.006。TRSVD模型在f = 100时的预测误差是0.9013,

相对于它在f = 60时的预测误差0.9028 下降了0.0015,相对于它在f = 20时

的预测误差0.9092下降了0.0079。其次TRSVD的预测误差明显低于RSVD的

预测误差。在f = 20时,TRSVD的预测误差是0.9092,相对于RSVD的预测

Page 58: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

46 动态推荐系统关键技术研究

表 3.1: TRSVD和RSVD模型在Probe测试集上的RMSE的比较

latent factors f TRSVD RSVD Improvement

20 0.9092 0.9128 0.0036

60 0.9028 0.9073 0.0045

100 0.9013 0.9068 0.0055

表 3.2: TRSVD和RSVD模型在Quiz数据集上的RMSE的比较

Method (f=60) RMSE

RSVD 0.9090

TRSVD 0.9045

误差0.9128降低了0.0036,在f = 60时,TRSVD的预测误差是0.9028,相对

于RSVD的预测误差0.9073降低了0.0045。在f = 100时,TRSVD的预测误差

是0.9013,相对于RSVD的预测误差0.9068降低了0.0055。表3.2列出了两个算法

在Quiz数据集上的精度。该表格中选取了f = 60一种情况。如表中结果所示,

TRSVD在Quiz测试集上的预测误差为0.9045,相对于RSVD在Quiz测试集上的

预测误差0.9090降低了0.0045。上述实验结果说明,考虑时间信息确实能降低

评分预测问题的预测误差。本章实验的算法选择了参数η = 0.007, λ = 0.01,算

法在30次迭代后会收敛并停止。

TRSVD模型的预测误差低于RSVD模型。对于不同的人群,TRSVD

和RSVD 也有不同的表现。我们根据用户加入系统时间的不同,将用户分

成3类,第I类用户加入系统时间小于30天,第II类用户加入系统的时间在30天

和180天之间,而第III类用户加入系统的时间大于180天。这里,用户加入系

统的时间定义为用户在数据集中第一次行为发生的时间和最后一次行为发

生的时间之间相隔的天数。表3.3显示了TRSVD和RSVD在三类不同用户上的

预测误差。第二行是RSVD对三类不同用户的预测误差,第三行是TRSVD对

三类不同用户的预测误差,第四行是TRSVD预测误差相对于RSVD预测误

差的改进。对于第I类用户,TRSVD的预测误差是0.9322,相对于RSVD的预

测误差0.9360降低了0.0038。对于第II类用户,TRSVD的预测误差是0.9277,

相对于RSVD的预测误差0.9341降低了0.0064。对于第III了用户,TRSVD的

预测误差是0.8892,相对于RSVD的预测误差0.8930降低了0.0038。结果显示,

Page 59: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第三章 评分预测问题中用户兴趣预测的动态模型 47

表 3.3: TRSVD和RSVD对不同类型用户的预测精度比较

I II III

RSVD 0.9360 0.9341 0.8930

TRSVD 0.9322 0.9277 0.8892

Imporvement 0.0038 0.0064 0.0038

TRSVD对第II类用户的预测误差降低最多,而对于第I类和第III类用户的预

测误差降低的比较小。这可能是因为,第I类用户是很新的用户,已知的评

分很少,所以很难预测他们的兴趣,而第III类用户的历史评分数据很多,因

此RSVD和TRSVD都有充足的信息作出比较准确的预测。此外,如表格3.3所

示,无论TRSVD还是RSVD,它们的预测误差都随着用户加入系统的时间的

增加而降低。RSVD对第III类用户的预测误差是0.8930,相对于第I类用户的预

测误差0.9360降低了0.043。TRSVD对第III类用户的预测误差是0.8892,相对于

第I类用户的预测误差0.9322降低了0.043。

3.6.4 季季季节节节效效效应应应的的的实实实验验验结结结果果果

在TRSVD的预测结果之上,我们将季节效应的模型以级联的方式进行建

模,每一步都利用一种季节效应来降低预测的误差。表格3.4展示了应用不同

季节效应对评分预测精度的影响。实验同时考虑了f = 60和f = 100两种情

形。实验首先建模了物品在不同年份以及不同月份的季节效应,然后建模了

用户在不同年份以及不同月份的季节效应。如实验所示,有些季节效应可以

对预测精度产生比较大的提高,而有些季节效应对结果的预测精度影响很小。

在f = 60时,TRSVD的预测误差是0.90289,在去除了物品年份效应后,预测

误差降低了0.00073,在去除了物品月份效应后,预测误差又降低了0.00042,

在去除了用户年份效应后,预测误差又降低了0.00026,在去除了用户月份效

应后,预测误差又降低了0.00006。综上所述,在考虑了季节效应后,预测误差

从0.90289降低到0.90142,一共降低了0.00147。在f = 100时,考虑季节效应将

预测误差从0.90127降低到0.89979,一共降低了0.00148。上述实验结果表示在

电影数据集中考虑季节效应可以明显的降低预测误差。

Page 60: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

48 动态推荐系统关键技术研究

表 3.4: Netflix Proble数据集上使用不同季节效应对预测精度的影响

Method αf = 60 f = 100

RMSE Improvement RMSE Improvement

RSVD – 0.90735 – 0.90685 –

TRSVD – 0.90289 0.00446 0.90127 0.00558

Item Year Effect 80 0.90216 0.00073 0.90051 0.00076

Item Month Effect 350 0.90174 0.00042 0.90007 0.00044

User Year Effect 50 0.90148 0.00026 0.89983 0.00024

User Month Effect 150 0.90142 0.00006 0.89979 0.00004

3.7 本本本章章章小小小结结结

评分预测问题是推荐系统的一个重要问题,它的主要任务是预测给定用户

对给定物品的评分。用户行为和兴趣是随时间变化的,因此准确的评分预测算

法需要考虑用户兴趣的动态模型。本章采用了基于矩阵分解的模型来融合用户

行为的时间信息(TRSVD)。我们考虑了四种主要的时间效应:社会兴趣的变

化(全局时间效应),用户偏好的变化(用户相关的时间效应),物品偏好的变

化(物品相关的时间效应)以及用户兴趣的变化(用户物品同时相关的时间效

应)。同时,本章还对季节效应进行了简单的建模,分别考虑了全局季节效应,

用户兴趣的季节效应和物品流行度的季节效应。Netflix用户电影评分数据集上

的实验表明时间相关的TRSVD模型相比时间无关的RSVD 模型具有更高的精

度,同时合理的考虑季节效应也可以提供用户评分预测的精度。

Page 61: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第第第四四四章章章 Top-N推推推荐荐荐中中中用用用户户户兴兴兴趣趣趣预预预测测测的的的动动动态态态模模模型型型

4.1 引引引言言言

评分预测问题在过去几年里获得了很大的关注,这主要得益于Netflix

Prize比赛。因为该比赛的主要问题就是评分预测问题。但是,预测用户对某一

物品的评分的算法并不能直接应用于实际推荐系统,这主要有两种原因。

首先,实际推荐系统的主要任务是给每个用户提供一个包含N个物品的

推荐列表。因此,实际推荐系统在预测用户行为时往往有两步。第一步是预

测用户会对哪些物品评分,第二步是在知道用户会对某个物品评分时,预测

用户会给该物品什么评分。评分预测问题仅仅试图解决第二个问题,而没有

解决第一个问题,所以评分预测问题并不能直接应用于实际系统。第一个问

题被称为Top-N推荐问题,该问题是本章研究的主要问题。最近几年,有很多

关于Top-N推荐的研究。其中协同过滤是很多实际系统中Top-N推荐的主要算

法[23, 53]。Cremonesi[21]系统对比了评分预测问题和Top-N推荐问题,发现了

它们的很多联系和区别。

此外,评分预测问题主要依赖于用户评分这种显性反馈数据。显性反馈数

据(Explicit Feedback)的优点是可以比较明确的描述用户的喜好,缺点是这种

数据的数量比较少,很难收集到足够的数据来预测用户的兴趣。和显性反馈数

据不同,几乎所有的网站都有大量的隐性反馈数据(Implicit Feedback),这些

数据一般以日志的形式存在。比如,在Youtube网站中,用户可以通过评分明

确的表示对一个视频的喜好。但是,大部分用户看完视频后并不一定会对视

频进行评分,相反一个用户看了什么视频,每个视频看了多久,这样的数据

是youtube的主要数据,而且数量非常巨大。但用户看一个视频,并不能表现

出用户对这个视频的明确兴趣,比如用户看完可能觉得好看,也可能觉得不好

看,因此这种数据被称为隐性反馈数据。文献[37]详细对比了隐性反馈数据和

显性反馈数据的优点和缺点。隐性反馈数据虽然不如显性反馈明确,但其中也

蕴含着用户的兴趣信息,如果能够做出适当的挖掘,可以很好的来预测用户的

兴趣和行为。

和显性反馈一样,用户的隐性反馈也是随时间变化的,而这种变化也反映

Page 62: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

50 动态推荐系统关键技术研究

了用户兴趣的变化。比如一个用户之前经常看动画片,而最近开始看动作片,

这就反映了用户兴趣的变化。用户反馈中有很多时间效应,其中比较重要的时

间效应是用户的兴趣在时间上分为长期兴趣和短期兴趣。用户的长期兴趣指

用户长期关注的兴趣,而用户的短期兴趣是指用户在一时产生的兴趣。比如一

个历史研究者,他的长期兴趣是历史研究,但当北京奥运会时,他也会去看体

育节目,因此体育节目是他的短期兴趣。一方面,长期兴趣是比较长久的,稳

定的,而短期兴趣是临时的,易变的。但另一方面,很多长期兴趣也是由短期

兴趣转化而来的,比如用户可能抱着好奇的态度临时喜欢上了某个领域,但随

着不断的接触,逐渐产生了对这个领域的兴趣,从而转变为长期兴趣。本章

我们主要考虑长期兴趣和短期兴趣这种时间效应,并对它进行建模,从而提

高Top-N推荐的预测精度。

图模型(Graph Model)在Top-N推荐中有着广泛的应用[7, 28, 32, 68, 86]。广

义的说,协同过滤也是一种图的算法,因为它也是利用用户和物品之间由于行

为而产生的连接关系来预测用户的兴趣。本章将利用图模型作为基础模型,并

对传统的用户物品二分图模型进行改进,加入用户长期兴趣和短期兴趣的因

素。我们将通过在两个典型数据集上的实验,对比不考虑时间的简单图模型的

预测精度和考虑了用户长期兴趣和短期兴趣的动态模型的预测精度。

本章主要内容如下:

• 首先,本章介绍了用户物品二分图模型在传统时间无关的Top-N推荐中的

相关研究。然后,本章提出了路径融合(PathFusion)算法,该算法通过研

究图中顶点之间的路径来度量顶点之间的相似度。相对于之前基于随机

游走的算法,该算法扩展性更好,可以应用于大规模的数据集。

• 接着,本章提出了时间段图模型(Session Graph Model),该模型将用户

的行为按照时间分为长期兴趣和短期兴趣,分别用不同类型的节点建

模。同时,本章在该模型的基础上利用前面提出的路径融合算法来给用

户做时间相关的Top-N推荐。实验结果表明,该算法相比其他时间相关

的Top-N推荐算法具有更高的准确度。

4.2 问问问题题题定定定义义义与与与方方方法法法概概概述述述

在传统的Top-N推荐中,我们一般面对如下的数据集D = {(u, i)},其中

Page 63: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第四章 TOP-N推荐中用户兴趣预测的动态模型 51

数据集中的每个二元组(u, i)代表用户u对物品i产生过行为。而Top-N推荐的任

务,是通过学习数据集D,建立用户兴趣的模型,用来给每个用户推荐N个最满足他们兴趣的物品。正式的说,令p(u, i) 为用户u对物品i的感兴趣程度,那

么Top-N推荐的任务是对每个用户u,给出一个长度为N的推荐列表R(u),能够

最大化如下的函数: ∑i∈R(u)

p(u, i) (4.1)

但是用户的兴趣是不断变化的,并且他们的行为数据也是不断增长的。因

此,推荐结果也需要能够及时地发现他们兴趣的变化,适应他们新的行为,来

产生满足他们最新兴趣的推荐结果。因此,在考虑了时间因素后,本章主要解

决基于时间的Top-N推荐问题:如何根据用户的历史行为数据,在一个给定的

时间点,给他推荐N个在这个时间点最能满足他兴趣的物品。

Top-N推荐的方法有很多。因为我们拿到的主要是用户行为数据,所以我

们主要讨论基于协同过滤的Top-N推荐算法。最简单的ItemCF和UserCF都可

以用来计算用户对物品的兴趣。除了这两种算法,最主要的Top-N推荐算法都

是基于图模型(Graph Model)的。因为,推荐的本质是将用户和物品通过一定

的方法联系起来,ItemCF通过用户已经接触过的物品将用户和他没有接触过

的物品联系起来,UserCF通过和用户有相似兴趣的其他用户将用户和物品联

系起来。而图模型是一种最灵活和自然的将用户和物品联系起来的方法,因此

图模型在推荐中有很重要的应用。下面将主要介绍协同过滤中的图模型,以及

如何在图模型的基础上给用户做推荐。

4.3 协协协同同同过过过滤滤滤的的的二二二分分分图图图模模模型型型

上一章提到,用户在物品上的行为可以用一个矩阵来表示。本章将利用二

分图来对用户行为进行建模。用户物品二分图定义为G(U , I, E , w),其中U是用户节点集合,I是物品节点集合,如果用户u对物品i 有过行为,就存在一条边e(vu, vi) ∈ E连接用户u的节点vu和物品i的节点vi,而行为的强度定义为边的权重w(e)。如图4.1所示,图中定义了A,B,C三个人和a,b,c,d四个物品之间的关

系。图的右半边是我们知道的用户-物品之间的关系,比如用户A对物品a,c有

行为,用户B对物品a,c,d有行为,用户C对物品b,d有行为。图的左半边是根据

这些关系建立的二分图,比如用户A对物品a,c有行为,那么就有边联系(A,a)

Page 64: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

52 动态推荐系统关键技术研究

图 4.1: 用户-物品关系的二分图表示

和(A,c)。

推荐的基本任务是度量用户对物品的兴趣。这个任务在用户物品二分图模

型上就转化为度量用户节点和物品节点之间的相似度。图模型中,节点通过

路径产生相似度。比如在图4.1 中,用户A和物品d之间并没有直接的边相连,

但是用户A和物品d直接却可以通过2条长度为3的路径相连,这两条路径分别

是A → a → B → d和A → c → B → d。因此我们可以猜测用户A对物品d也许

有兴趣。有很多算法来计算图上顶点之间的距离。Fouss在文[28] 中总结了很多

图顶点距离的计算方法,下面几节将介绍比较著名的基于图的排名算法,并且

详细介绍路径融合算法[86]。

4.3.1 基基基于于于随随随机机机游游游走走走的的的算算算法法法

随机游走(Random Walk)是图上的著名算法[28]。在一个图中,从顶点i出

发开始随机游走,那么第一次到达顶点j的期望时间被定义为i到j的平均首次到

达时间(Average first-passage time)。令m(j|i)定义为i到j的平均首次到达时间,那么就可以定义n(i, j) = m(j|i) +m(i|j)为从i出发,经过j首次回到i的期望时间,被称为i, j之间的平均首次往返时间(first commute time)。Fouss在文[28] 介

绍了平均首次到达时间和平均首次往返时间的计算方法,同时对比了把这两个

时间作为顶点之间相似度度量时的推荐准确度。它的研究表明,如果用从用户

顶点vu到物品顶点vi的平均首次到达时间作为用户u对物品i的兴趣度量,可以

获得不错的推荐准确度。

PersonalRank算法是基于随机游走的算法中最著名的算法。PersonalRank算

法[32]源自于Google用来计算网页静态权重的PageRank算法[69]。PageRank算

法借鉴了随机游走的思想。该算法认为,如果一个用户在网页中通过超级链接

Page 65: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第四章 TOP-N推荐中用户兴趣预测的动态模型 53

随机的选择网页进行冲浪,那么这个用户经常到达的网页将会有比较高的权

重。

在一个给定的有向图G中,PageRank首先给所有顶点赋予相同的初始权

重,然后通过如下迭代公式计算顶点的权重:

PR = α ·M · PR + (1− α) · d (4.2)

这里,α ∈ (0, 1)是一个阻尼系数(damping factor),它的真实含义是假想的

浏览者到达某页面后停止浏览的概率,M是图的转移概率矩阵,而d是一

个|V (G)|维的向量,在PageRank中,d是向量d归一化的结果:

d =d

|d|1(4.3)

其中d的定义为:

d(v) = 1 ∀v ∈ V (G) (4.4)

其中V (G)是图G的所有顶点的集合。

在PageRank算法中,所有的顶点是无差别的,而它们对相邻顶点的作用

只取决于顶点之间的边,所以它最终计算出的排名是全局的,而不是个性化

的。但是,可以对PageRank算法稍加修改,让它能做出个性化的顶点排名。这

里,我们参考了Haveliwala 的工作[32],他通过修改PageRank算法,找出了网

页相对于某一个话题(Topic) 的排名,因此只需要将话题换成用户,就可以计

算出物品相对于用户的个性化排名。

Haveliwala的方法是修改d向量,如果要给用户u做推荐,需要先构造出一

个d向量:

d(v) =

1 v = vu

0 otherwise(4.5)

然后,利用公式4.2来迭代计算图上顶点的权重直到收敛,最后将物品节点按照

他们权重进行排序并选取前N个,就可以作为用户u的推荐结果。

4.3.2 路路路径径径融融融合合合算算算法法法

为了在二分图上度量顶点的距离或者相似度,我们提出了路径融合算

法[86]。这个算法的基本思想很简单,它认为图上的两个节点距离近,或者相

似度高的标准是:

Page 66: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

54 动态推荐系统关键技术研究

图 4.2: 路径融合算法三条准则的图示

1 这两个顶点之间有很多边相连;

2 这两个顶点之间的路径比较短;

2 这两个顶点之间的路径不经过有很大出度的顶点。

根据这三个标准,图上顶点的相似度取决于连接顶点的路径。路径融合算法在

计算顶点的相似度时,将首先找到顶点之间的所有路径,计算每一条路径的权

重,并利用所有路径权重的和来度量顶点之间的相似度。

以图4.2为例。图中一共有A,B,C,D四个用户和a,b,c,d四个物品。其中用

户A 喜欢物品a,c,用户B喜欢物品a,c,d,用户C喜欢物品a,d,用户D喜欢物

品b,d。如果要给用户A 做推荐,可以推荐物品b和d,因为这两个物品用户A还

没有过行为。但用户A和物品b,d之间的相似度却不同。根据上面的三条准则,

用户A和物品d在图上的相似度更高。如图所示,用户A和物品d之间的最短路

径长度是3,并且长度为3的最短路径有2条。而用户A和物品b之间的最短路径

是5。因此根据第二条准则,A对d的喜欢程度很可能大于A对b的喜欢程度。此

Page 67: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第四章 TOP-N推荐中用户兴趣预测的动态模型 55

外,A,d之间长度为3的路径有两条(A,a,B,d)和(A,a,C,d)。那么根据上面的准则

三,(A,a,C,d)是一条比(A,a,B,d)更重要的路径,因为顶点C的出度是2,小于顶

点B的出度。同理,A,b之间长度为5的两条路径(A,a,B,d,D,b)的重要程度也小

于(A,a,C,d,D,b),也是因为B的出度大于C的出度。

上面的例子简单的解释了路径融合算法。路径融合算法在计算一个用户对

一个物品的喜好程度时,主要通过下面三个步骤:

1 找出用户顶点和物品顶点之间的最短路径;

2 计算每条最短路径的权重;

3 将所有最短路径的权重线性叠加作为最终用户对物品喜好程度的度量。

下面将详细介绍路径融合算法。

假设P = {v1, v2, · · · , vn}是连接v1和vn的一条路径,这条路径的权重Γ(P )

取决于这条路径经过的顶点和边。对于图中的任何一个顶点v,定义它的权重

为σ(v) ∈ [0, 1],对于图中任何一条边(v, v′),定义它的权重为w(v, v′) ∈ [0, 1],

从而路径P 的权重可以定义为:

Γ(P ) = σ(vn)n−1∏i=1

σ(vi) · w(vi, vi+1)

|out(vi)|ρ(4.6)

这里,out(v) = {v′ ∈ V : (v, v′) ∈ E},|out(v)|是顶点v的出度。公式4.6的定

义符合了上面提到的三条准则中的后面两条。首先,因为σ(vi)·w(vi,vi+1)|out(vi)| ∈ [0, 1],

所以,路径越长,n越大,Γ(P )就越小。同时,如果路径经过一个出度大的顶

点v,那么由于公式中|out(v)|的存在,路径的权重也会比较小。

定义了一条路径的权重后,就可以定义基于路径的顶点之间的相似度。给

定两个顶点v, v′,令P(v, v′)是图上这两个顶点之间的路径集合,v, v′的相似度可以定义为

d(v, v′) =∑

P∈P(v,v′)

Γ(P ) (4.7)

在后面研究基于时间的Top-N推荐的问题时,我们将利用图模型来将用户

行为和时间信息同时建模到一个模型中,同时利用路径融合算法来给用户做出

推荐。在不考虑时间的Top-N推荐中,如果要对一个用户做推荐,只需要计算

Page 68: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

56 动态推荐系统关键技术研究

这个用户和其他所有物品在图上的相似度,然后将相似度最高的N个物品推荐

给用户。这种利用节点之间的路径来计算节点间相似度的算法被称为路径融合

算法。算法2给出了路径融合算法的伪码。

4.4 隐隐隐反反反馈馈馈数数数据据据的的的动动动态态态变变变化化化

4.4.1 用用用户户户的的的长长长期期期兴兴兴趣趣趣和和和短短短期期期兴兴兴趣趣趣

用户的兴趣可以分为长期兴趣和短期兴趣。比如一个历史爱好者一般阅读

历史方面的文章。但是当08年奥运会开始的时候,他也会关注奥运方面的体育

新闻。在这个例子中,历史属于这个用户的长期兴趣,而奥运新闻只是该用户

在奥运期间受社会热点影响而产生的短期兴趣。由上面的例子可以看出,长期

兴趣一般是由于用户自身的兴趣爱好产生的,而短期的兴趣一般是受社会热点

的影响而产生的。一个好的推荐算法需要通过同时考虑用户的长期兴趣和短期

兴趣来给用户做出推荐。上一节介绍了基于图模型的Top-N推荐算法,这一节

将研究如何将用户的长期兴趣和短期兴趣同时建模到图模型中,并在模型的基

础上设计推荐算法。

为了表达用户的短期兴趣,我们引入了用户时间节点。在前面的二分图模

型中,用户u会和所有他感兴趣的物品节点通过带有权重的边相连。但是用户

不同时刻的兴趣不同。为了表示用户u在t时间段的兴趣,我们引入了vut节点。

这个节点将会和用户u 在t时段感兴趣的所有物品节点通过边在图上相连。这里

每个时间段的时间长度将根据数据集的不同来选择不同的长度。

引入用户时间节点,用户物品二分图模型转变为时间段图模型Session-

based Graph Model (SGM)。SGM是一个二分图,它被定义为G(U ,S, I, E , w)。其中U是用户节点集合,S是用户时间节点集合,I是物品节点集合,w : E →R 定义了边的权重。图4.3是一个SGM的简单例子,图中包含了2个用户节点,

4个session节点以及4个物品节点。图中表明,用户A对物品a,b有过行为,其

中A在1时段对物品a有行为,A在2时段对物品b有行为,用户B对物品a,b,c有行

为,其中B在1时段对物品a有行为,在2时段对物品b,c有行为。

在SGM中,用户节点vu将和用户u曾经有过行为的所有物品(这些物品

的集合用N(u)表示)对应的节点都有边相连,这表示了用户的长期兴趣。而

用户时间节点vut会和用户在t时刻有过行为的所有物品(这些物品的集合被记

为N(u, t))对应的节点有边相连。因此,如果从用户节点vu出发,会经过N(u)中

Page 69: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第四章 TOP-N推荐中用户兴趣预测的动态模型 57

Algorithm 2: 基于用户矩阵二分图给用户u做Top-N推荐的路径融合算

Data: 用户矩阵二分图G, 用户u

Result: 对用户u的推荐R(u)

Queue Q;

NodeSet V;

Q.append(vu);

distance[vu] = 0;

rank[vu] = 1;

while Q is not empty do

Node v = Q.top();

if V.contains(v) then

continue;

if distance[v] > 3 then

break;

V.insert(v);

foreach v′ ∈ out(v) doif !V.contains(v′) then

distance[v′] = distance[v] + 1;

Q.append(v′);

if distance[v] < distance[v′] then

rank[v′] = rank[v′] + rank[v] ·ψ(v, v′);

rank.sort();

return top-N unknown items;

Page 70: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

58 动态推荐系统关键技术研究

图 4.3: 一个简单的时间段图模型

的物品节点而最终到达用户u没有过行为,但和N(u)中物品相似的物品对应的

节点。而如果从用户时间节点vut出发,最终则会到达和N(u, t)中物品相似的物

品对应的节点。因此,用户节点和用户时间节点分别代表了用户的长期兴趣和

短期兴趣,通过给这两种节点上赋予不同的权重,就可以控制用户的长期兴趣

和短期兴趣对最终推荐结果的影响。SGM中一共有三种不同的节点,它们的权

重定义如下:

σ(v) =

1 v ∈ I

β v ∈ U

1− β v ∈ S

(4.8)

其中β ∈ [0, 1]控制了长期兴趣和短期兴趣对推荐结果的影响。

4.4.2 基基基于于于SGM的的的推推推荐荐荐算算算法法法

本节主要讨论如何在时间段图模型SGM上度量用户对物品的兴趣并设计个

性化推荐算法。4.3节中介绍了用户物品二分图模型上的个性化排名算法,本节

将对那些算法进行改进,让他们能够运行在SGM模型之上。

4.4.2.1 基基基于于于随随随机机机游游游走走走的的的算算算法法法

4.3节提到,基于随机游走(Random Walk)的算法是图模型上非常重要的一

Page 71: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第四章 TOP-N推荐中用户兴趣预测的动态模型 59

类排名算法。本节通过修改公式4.2中的d向量来在SGM上给用户做推荐:

d(v) =

β v = vu

1− β v = vu,t

0 otherwise

(4.9)

其中β ∈ [0, 1]控制了长期兴趣和短期兴趣对推荐结果的影响。如果将上面定

义的d(v)带入到公式4.2 中,进行迭代,就可以获得所有的物品节点相对于某

个用户的个性化排名。本文,我们将给予SGM的随机游走算法简称为TPRW

(Temporal Personal Rank via Random Walk)。

4.4.2.2 路路路径径径融融融合合合算算算法法法

第4.3.2节介绍了普通的用户物品二分图中用来对用户做推荐的路径融合算

法。本节将讨论如何在考虑了时间信息的图模型SGM上利用路径融合算法进行

推荐。

首先利用一个例子说明SGM中路径融合算法的主要思想。以图4.3 中

的SGM为例,下面将介绍如何利用路径融合算法给用户A在2时段做出推荐。

因为图中只有物品c是用户A没有过行为的,所以推荐的任务只是需要计算出

用户A对物品c的喜好程度。如图4.4所示,如果考虑用户A的长期兴趣,那么

需要度量用户节点vA和物品节点vc之间的相似度。在这个SGM中,一共有3条

从A到c的最短路径(P1,P2,P3)。因此,用户A对物品c的长期兴趣可以用如下公

式度量:

d(vA, vc) = Γ(P1) + Γ(P2) + Γ(P3) (4.10)

同时,也需要考虑用户A在2时段的短期兴趣,这种短期兴趣可以通过用户时间

节点vA2和物品节点vc之间的相似度来度量。从图中可以看到,从vA2到vc的路

径一共有两条P4,P5。因此,用户A在2时段对物品c 的短期兴趣可以用如下公

式度量:

d(vA2, vc) = Γ(P4) + Γ(P5) (4.11)

综上所述,用户A在2时段对物品c的兴趣可以通过如下公式计算:

p(A, c, 2) = d(vA, vc) + d(vA2, vc) (4.12)

Page 72: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

60 动态推荐系统关键技术研究

图 4.4: 在SGM上利用路径融合算法给用户A在2时段做出推荐的例子

一般来说,给定用户u和物品i,路径融合算法通过如下公式计算用户u 在

时刻t对物品i的感兴趣程度:

p(u, i) = d(vu, vi) + d(vut, vi) (4.13)

其中d(·, ·)定义了两个顶点之间的相似度(见公式4.7)。

4.5 实实实验验验结结结果果果

4.5.1 数数数据据据集集集

本章的研究目标是如何利用时间信息在隐反馈数据的基础上给用户做出准

确的Top-N推荐。我们利用了两个隐反馈的数据集,一个是CiteULike论文数据

Page 73: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第四章 TOP-N推荐中用户兴趣预测的动态模型 61

集1,另一个是Delicious标签数据集2。CiteULike是一个免费的在线论文系统,

用户可以收藏自己喜欢的论文并给它们打上标签。CiteULike公布了一个包含

了用户收藏论文以及给论文打的标签的数据集。这个数据集包含52,689个用户,

1,793,954篇论文以及2,119,200个用户和论文之间的关系。数据集的时间跨度是

从2004年的11月到2009年的9月。这个数据集非常的稀疏,很多论文只被很少

的用户收藏过。我们从中抽取了一个相对比较稠密的数据集(我们在原始数据

集中去除了收藏5篇以下论文的用户和被少于5个人收藏的论文),这个数据集

包含了4607个用户,16,054篇论文和109,364条用户和论文之间的关系记录。这

个数据集的稀疏度是99.85%。

Delicious是一个著名的社会化标签网站,它允许用户对自己看到的

任何一张网页进行收藏和标记。在实验中,我们只考虑了用户对维基百

科(Wikipedia)网页的收藏行为。同时,我们也去除了收藏少于4篇网页的用

户和被少于10个人收藏的网页。最终的数据集中包含8,861个用户,3,257篇

网页和59,694条用户和网页之间的收藏关系记录。这个数据集的时间跨度是

从2005年的12月到2007年的12月。数据集的稀疏度是99.79%。

4.5.2 评评评测测测指指指标标标

本章用命中率(Hit Ratio)[38]来评测Top-N推荐的准确率。首先,我们将数

据集分为训练集DA和测试集DT。对每个用户,他最后一次对物品的行为将放

入到测试集中,而他的其他行为被放入训练集中。因此,在测试集中,每个用

户只有一个行为,即|DT | = |U|。

我们给每个用户u在时刻t推荐N(N=10)个物品(物品集合记为R(u, t))。如

果在R(u, t)中刚好有一个物品在测试集中,我们就记为一次命中。命中率的定

义如下:

Hit Ratio =

∑u I(Tu ∈ R(u, t))

|U |(4.14)

这里I(·)是一个示性函数,Tu是测试集中用户的那个行为针对的物品。

4.5.3 对对对比比比的的的算算算法法法

在过去20年里,研究人员提出了很多在隐反馈用户行为数据上做Top-N推

1http://www.citeulike.org2http://www.dai-labor.de

Page 74: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

62 动态推荐系统关键技术研究

荐的算法。其中最著名的是基于用户的协同过滤[71] (UserKNN)和基于物品的

协同过滤[53] (ItemKNN)。此外,还有在图模型上的PersonalRank 算法等等。

对动态推荐算法的研究近几年才开始,但也已经有一些研究人员提出了一些

算法。Ding在文献[26]中和Andreas在文献[79]中都提出了动态的ItemKNN算法

(本章用TITemKNN来代表这个算法)。他们的主要思想都是认为用户未来的行

为主要取决于用户最近的行为。同理,也有研究人员在UserKNN的基础上提出

了基于时间的UserKNN算法(TUserKNN),该算法的主要思想是认为用户未

来的行为取决于和他们有相似兴趣的用户最近的行为。因此,本章的实验主要

对比了如下算法:PathFusion,TPRW,UserKNN,ItemKNN,TUserKNN,

TItemKNN。这里面,UserKNN和ItemKNN是和时间无关的静态推荐算法,而

其他4个算法都是和时间相关的动态推荐算法。

4.5.4 时时时间间间无无无关关关推推推荐荐荐的的的实实实验验验结结结果果果

本章的实验首先研究时间无关推荐的实验结果。这是因为我们首先希望研

究参数ρ(公式4.6)对推荐结果的影响,然后选定一个最好的ρ 供后面的实验使

用。其次,该实验可以得到一个时间无关推荐的精度,从而和后面动态推荐的

结果相对比,就可以知道时间信息能在多大的程度上提高推荐的精度。

我们对比了路径融合算法PF,ItemKNN,UserKNN和PersonalPR 四个算

法在CiteULike和Delicious数据集上的预测精度。图4.5和图4.6 分别展示了不同

算法在CiteULike和Delicious数据集上的实验结果。图中,横坐标是参数ρ,纵

坐标是命中率(HitRatio),每一条曲线代表了一个算法的命中率随参数ρ变化的

曲线。这里,只有路径融合算法(PF)有参数ρ,所以其他算法的命中率曲线都

是一条平行于横轴的直线。

实验结果显示ρ是一个重要的参数,这个参数控制着路径融合算法中每

条路径上的顶点的出度对最终推荐结果的影响。在CiteULike数据集上,最

优的结果出现在ρ = 0.6附近,在Delisious数据集上,最优结果出现在ρ =

0.4附近。在后面的实验中,我们将选定这里最优的ρ参数。其他算法的实

验结果也是在它们各自最优的参数下获得的。在CiteULike数据集的实验中,

ItemKNN的邻域大小是100,UserKNN的邻域大小是60,PersonalRank中的衰

减参数(damping factor)是0.5。在Delicious数据集的实验中,ItemKNN的邻域

大小是300,UserKNN的邻域大小是60,PersonalRank中的衰减参数(damping

Page 75: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第四章 TOP-N推荐中用户兴趣预测的动态模型 63

图 4.5: CiteULike数据集上算法的HitRatio随ρ变化的曲线

图 4.6: Delicious数据集上算法的HitRatio随ρ变化的曲线

Page 76: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

64 动态推荐系统关键技术研究

表 4.1: CiteULike和Delicious两个数据集上构建的SGM的基本信息

CiteULike Delicious

#user 4607 8861

#item 16054 3257

#session 39939 45463

#edge 437384 238776

factor)是0.5。

实验结果显示,路径融合算法相对其他算法有更高的命中率。在CiteULike

数据集上,PF的命中率是11.6%,相对于UserKNN 算法的命中率11%提高

了5.5%,相对于PersonalPR 的命中率10.3%提高了12.6%,相对于ItemKNN 算

法的命中率10.1%提高了14.9%。在Delicious 数据集上,PF的命中率是8%,

相对于UserKNN算法的命中率7.48%提高了7%,相对于PersonalPR 的命中

率6.9%提高了16%,相对于ItemKNN算法的命中率5.76%提高了39%。由此可

见,路径融合算法能够在用户物品二分图上提供高精度的推荐结果。

4.5.5 时时时间间间相相相关关关推推推荐荐荐的的的实实实验验验结结结果果果

这一节主要分析利用时间信息的动态Top-N推荐的实验结果。首先,我

们在对不同数据集划分时间的时候选择了不同的时间单位。CiteULIke数据

集实验中的时间单位是星期而Delicious数据集实验中的时间单位是天。然后,

我们在两个数据集上都建立了SGM 模型。表4.1展示了两个数据集上构建出

的SGM模型的详细信息,包括了不同顶点的个数以及边的条数。

接下来,本节首先分析SGM模型参数β对推荐结果的影响。然后对比了4个

时间相关推荐算法(PF,TPRW,TUserKNN,TItemKNN) 在2个不同数据集上的

推荐精度。

4.5.5.1 用用用户户户长长长期期期兴兴兴趣趣趣和和和短短短期期期兴兴兴趣趣趣的的的实实实验验验结结结果果果

这一节主要讨论参数β对推荐结果精度的影响。在前面的定义中,β 主要

控制了用户的长期兴趣和短期兴趣对最终推荐结果的影响。在PF和TPRW算

法中,如果β = 0,代表推荐结果只受用户短期兴趣的影响,而如果β = 1,代

Page 77: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第四章 TOP-N推荐中用户兴趣预测的动态模型 65

图 4.7: CiteULike数据集上所有算法的HitRatio随β变化的曲线

表用户兴趣只受长期兴趣的影响。因此,β ∈ [0, 1]调节着用户的长期兴趣和短

期兴趣对最终结果的影响,β越大,用户长期兴趣的影响就越大。

图4.7和图4.8显示了CiteULike和Delicious两个数据集中不同算法的命中率

随β变化的曲线。这里,TUserKNN和TItemKNN两个算法不含有β这个参数,

因此它们的命中率曲线是一条直线。首先,结果表明PF算法的精度在两个数

据集上都优于其他的算法,这一点将在下一节详细讨论。其次,结果显示,

只考虑用户的短期兴趣(β = 0)或者只考虑用户的长期兴趣(β = 1)都不能产

生最优的结果。只有同时考虑用户的这两种兴趣才能取得最优的结果。以

路径融合算法为例,在CiteULike数据集上,当β = 0时,PF的命中率是11%,

当β = 1时,PF的命中率是12.8%,但当β = 0.2时,PF的命中率是14.8%。该命

中率相对β = 0时提高了34.5%,相对于β = 1时提高了15.6%。在Delicious数据

集上也可以得到相似的结论。

此外,实验结果显示命中率和β之间的关系比较稳定,当β ∈ [0.1, 0.5] 这个

区间时,无论选择什么样的β都能取得比较相似的命中率。这说明算法对β这个

参数并不是特别的敏感。

Page 78: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

66 动态推荐系统关键技术研究

图 4.8: Delicious数据集上所有算法的HitRatio随β变化的曲线

4.5.5.2 不不不同同同算算算法法法精精精度度度的的的实实实验验验结结结果果果比比比较较较

这一节主要对比不同算法在Top-N推荐中的精度。表4.2 展示了前面提

到的4个时间相关的动态推荐算法在CiteULIke 数据集上的命中率。如果

用TItemKNN作为基准算法,可以看到TPRW的精度比TItemKNN提高了4.75%,

PF算法相比TItemKNN提高了15.02%。表4.3展示了4个时间相关算法在Delicious

数据集上的命中率。可以看到TPRW的命中率相对TItemKNN提高了25.37%,

PF相对TItemKNN提高了34.46%。实验结果表明,首先,SGM成功的对用

户兴趣的动态变化进行了建模,因为两个基于SGM的算法的命中率都优

于TItemKNN和TUserKNN算法,其次,路径融合算法相对于随机游走的算法

能够产生更高的命中率,从而也能产生更加准确的推荐结果。

4.6 本本本章章章小小小结结结

本章主要讨论如何利用图模型在Top-N推荐中同时考虑用户的短期兴趣和

长期兴趣,从而提高推荐结果的准确度。首先本章讨论了传统的用户物品二分

图模型以及基于该模型的推荐算法。在介绍相关研究的基础上,本章提出了基

于路径的路径融合算法,该算法通过分析图上节点之间的路径来度量节点之间

Page 79: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第四章 TOP-N推荐中用户兴趣预测的动态模型 67

表 4.2: 各种算法在CiteULike数据集上的命中率

算法 命中率 提高

TItemKNN 12.85% –

TUserKNN 11.63% -9.49%

TPRW 13.46% 4.75%

PF 14.78% 15.02%

表 4.3: 各种算法在Delicious数据集上的命中率

算法 命中率 提高

TItemKNN 7.49% –

TUserKNN 7.58% 1.2%

TPRW 9.39% 25.37%

PF 10.07% 34.45%

的相似度。然后,我们发现用户的兴趣分为长期兴趣和短期兴趣,并通过在用

户物品二分图模型上加入一种新的节点来对这两种兴趣进行建模。两个不同数

据集上的实验表明,考虑用户的长期兴趣和短期兴趣能够提高Top-N推荐的准

确度,同时路径融合算法相对与其他算法也具有更高的推荐准确度。

Page 80: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

Page 81: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第第第五五五章章章 时时时效效效性性性对对对推推推荐荐荐系系系统统统的的的影影影响响响

5.1 引引引言言言

每一个网站都是一个不断更新变化的系统,它们时时刻刻都会接收大量的

用户数据和物品数据。但是,不同种类的网站更新速率并不相同。比如,新闻

网站注重时效性,每天都有大量的新闻被用户关注,而旧的新闻则很快会失去

用户的关注,相反,电影或者音乐网站更新得相对比较慢,很多经典的电影和

音乐能够流行十几年。本章主要讨论网站时效性(更新速率)对网站用户行为

的影响以及如何在不同更新速率的网站中设计推荐算法。

系统的更新速率对用户行为会有影响。社会心理学的研究表明[67],用户

的行为受到社会因素和个人因素的双重影响。但是,在具有不同更新速率的系

统中,这两种因素对用户行为的影响大小是不同的。在快速变化的系统中,比

如新闻网站中,用户会更加容易受到社会因素的影响,在相对变化比较慢的系

统中,比如电影,或者学术论文网站中,用户会更加容易受到自己个人兴趣的

影响。比如,绝大多数用户每天只是浏览一下热门的新闻,但是大部分用户还

会看他们喜欢的电影。如果是在论文网站中,比如CiteULike,用户更是倾向

于根据自己的专业需要来选择他们要看的论文,而论文在他们周围人中的热门

程度,对他们的选择产生的影响很小。

既然用户行为会受到网站更新速率的影响,因此不同更新速率的网站需要

不同的推荐策略。在快速变化的网站中,推荐系统需要着重根据用户周围人的

行为来预测用户的行为,而在变化相对较慢的网站中,推荐系统需要着重根据

用户的历史行为来预测他们将来的行为。下面几节将对系统的更新速率(时效

性)以及如何在不同更新速率的网站中设计推荐算法进行研究。

本章主要内容如下:

• 系统变化速率的度量方法:本章提出两个方法来度量系统的变化速率。第一个方法通过计算物品的生存周期和流行度之间的关系来度量系统的

变化速率。快速变化的网站中,物品往往具有较短的生存周期,而变化

相对较慢的网站中,物品往往具有较长的生存周期。第二个方法通过计

算系统物品流行度的变化速率来度量系统的变化速率。快速变化的网站

Page 82: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

70 动态推荐系统关键技术研究

每天都会流行不同的物品,比如每天的热门新闻都不同,而变化相对较

慢的网站每天流行的物品都比较相似。

• 时间段图模型:为了在不同变化速率的网站中对用户行为做出准确的预测,本章提出了一个时间段图模型。该模型在上一章的用户时间段图模

型的基础上引入了物品时间节点,从而利用两类节点同时对变化的社会

因素以及变化的个人因素进行建模。本章将通过5个不同数据集上的实验

来证明该模型能够在不同变化速率的网站上都取得高的推荐准确度。

5.2 在在在线线线系系系统统统的的的变变变化化化速速速率率率

每个网站都是一个动态变化的系统,它们的数据时时刻刻都在变化着。这

种变化包含了用户兴趣的变化,新用户和新物品的加入,物品流行程度的变化

等。但是,不同的网站有不同的变化速率。比如,新闻网站一般变化的很快,

而电影和音乐的网站更新得相对比较慢。本章我们将研究五个不同网站的更新

速率,包括NYTimes,BlogSpot,SourceForge,Wikipedia和Youtube。并进一步研

究用户行为和网站变化速率之间的关系。实验数据集来自Delicious的数据集,

详细的数据集构建方法将在实验部分介绍。

为了研究在线系统的变化速率和用户行为之间的关系,我们首先得对网站

的变化速率进行度量。目前,关于这方面的研究还很少,也没有一个公认的度

量变化速率的方法。而且一个系统的变化包含了各个方面的变化,同时变化的

速率也取决于很多复杂的因素。因此,我们提出了两个能够反应系统变化速率

的指标,当然这两个指标并不能完全地刻画系统的变化速率。

5.2.1 物物物品品品的的的生生生存存存周周周期期期

一个物品i的生存周期T (i)被定义为这个物品在线上被至少一个用户所关注

的天数:

T (i) = |{t : ∃u, (u, i, t) ∈ D}| (5.1)

一个网站物品的平均生存周期可以部分地刻画系统的变化速率。这是因为,在

快速变化的系统中,物品的生存周期都比较短,而在变化比较慢的系统中,物

品则倾向于拥有比较长的生命周期。比如,新闻网站是变化比较快速的系统,

因而大部分新闻只会流行很短的时间。相反,电影和音乐却有比较长的生存周

Page 83: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第五章 时效性对推荐系统的影响 71

期。一部好的电影会十几年经久不衰,一首好听的歌曲也会在排行榜上占据很

长的时间。同样是文章,新闻的生命周期比较短,但维基百科的百科性文章的

生命周期却比较长,一些常用词条的介绍文章可能会长期的被人们所关注。

首先,我们对不同网站中物品的生命周期的分布进行了研究。图5.1展

示了两个网站(BlogSpot和Wikipedia)中的物品生命周期的分布。左图统计

自Blogspot的数据,右图统计自Wikipedia的数据。从图中可以看到,物品生命

周期的分布也遵从Power-Law分布(长尾分布):少部分物品的生命周期比较长,

而绝大多数物品的生命周期都比较短。这和物品的热门程度的分布很类似,很

多研究[30] 都表明物品的热门程度的分布也是满足Power-Law分布的。

图 5.1: 物品生存周期的分布曲线(对数图)

按照常识,热门的物品一般具有较长的生存周期。比如一部热门的电影显

然要比一部冷门的电影更能在长时间内受到用户的关注。此外,快速变化系

统中物品的平均生存周期一般小于变化相对较慢的系统中物品的平均生存周

期。比如新闻的生存周期一般小于电影的生命周期。为了证明这个结论,我们

研究了物品的热门程度和物品的生存周期之间的关系。本章中,物品的热门程

度(Popularity)定义为喜欢这个物品的用户的个数。

我们通过如下的方式研究了物品热门程度和生存周期之间的关系。给定一

个用户行为的数据集,首先将物品按照热门程度从高到低排序,然后将它们按

照热门程度分为20等份并且计算每一份物品集合中物品的平均热门程度和平均

生存周期。图5.2展示了5个网站中物品平均热门程度和平均生存周期之间的关

系。从图5.2中,可以总结出如下的结论:

• 首先,从5个网站的曲线中可以看到,5条曲线都是递增的,这说明热门

Page 84: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

72 动态推荐系统关键技术研究

的物品拥有较长的生存周期。

• 其次,生存周期/热门度的比例(本文将这个比例称为LP比例)和网站的变

化速率之间的相关度很高。NYTimes的LP比例远远小于Wikipedia的LP比

例,这说明在有相似热门度的前提下,新闻的生存周期要小于Wikipedia中

词条文章的生存周期。

从上面的分析可以看出,LP比例是一个反应系统变化速率的重要参数,快速变

化系统的LP比例要小于慢速变化系统的LP比例。

图 5.2: 五个网站中物品生存周期和流行度之间的关系曲线

我们利用LP比例将5个网站的变化速率从大到小排列,可以得到如下的排

名顺序:

NYTimes > BlogSpot > Youtube >Wikipedia > Sourceforge (5.2)

Page 85: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第五章 时效性对推荐系统的影响 73

下一节我们还将提出另一种描述系统变化速率的方法,可以发现由它得出的系

统变化速率的排序和这里的排序是相同的。

5.2.2 物物物品品品流流流行行行度度度的的的变变变化化化率率率

很多网站都有一个热门排行榜来展示这个网站每天最热门的一些物品。在

有些网站中,这些热门排行榜每天都在变化着,但在另一些网站中,热门排行

榜每天的变化却很慢。比如,每天的热门新闻几乎都不太一样,但热门电影的

排行榜可能很长时间都不会有大的变化。因此,网站的变化速率可以通过物品

流行度的变化率来反应。而物品流行度的变化率可以通过度量网站中相隔τ天

的物品流行度的相似度来度量。

令−→ψ t代表系统中的所有物品在t时刻的热门度向量,其中

−→ψ t(i) 是物

品i在t时刻的流行度。那么,系统中相隔τ天的物品流行度的相似度可以通

过如下的公式计算:

Ψ(τ) =

∑T−τt=1 <

−→ψ t,−→ψ t+τ >

T − τ(5.3)

其中T是整个系统的生存周期,即数据集中第一个用户行为发生的时间和最后

一个用户行为发生的时间之间相隔的天数。

图5.3展示了5个网站中τ和Ψ(τ)的关系曲线。同时表5.1展示了5个网站

中Ψ(1),Ψ(30)的数值。从结果可以看到,首先在5个网站中,Ψ(τ)都是随τ的

增加而逐步降低的。这和我们的常识是很吻合的,一个网站今天的内容和

昨天内容的相似度显然大于和去年今天的相似度。其次,虽然所有的网

站相隔τ天的物品流行度的相似度都随着τ的增加而减小,但减小的速度却

是不同的。在NYTimes数据集中,相邻两天的物品流行度的相似度就已经

小于0.1了(Ψ(1) = 0.05)。这说明NYTimes的变化速率很快,仅仅过了1天,

新闻的热门程度就已经发生了很大的变化。Youtube和Blogspot的下降速

度比NYTimes慢,它们都是用户自创内容(UGC)的网站。下降速度最慢的

是Wikipeida和Sourceforge。在Sourceforge中,即使相隔30天,系统的物品流行

度的相似度还保持在0.3左右,这是因为Sourceforge中有一些工程可以在很长的

时间内都保持很高的热门程度。

如果将5个网站的变化速率按照Ψ(1)从大到小排列,我们可以得到如下的

排名次序:

NYTimes > BlogSpot > Youtube >Wikipedia > Sourceforge (5.4)

Page 86: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

74 动态推荐系统关键技术研究

图 5.3: 5个网站中Ψ(τ)(Y轴)随τ(X轴)变化的曲线。

这个排名次序和上一节的排名次序(5.2)是一样的。因此,LP比率和物品热门度

的变化率这两个参数都可以用来反应在线系统的变化速率。

5.3 不不不同同同变变变化化化率率率系系系统统统中中中的的的推推推荐荐荐模模模型型型

变化速率是在线网站的一个重要属性,因此好的推荐算法应该区分不同

系统变化速率从而选择不同的策略。比如新闻网站和电影网站所用的推荐

算法就有区别。如果只有用户行为数据,那么推荐系统的设计主要依赖于协

同过滤算法。协同过滤算法有两种主要的假设。第一个假设强调用户周围人

的喜好对用户的影响,认为用户会喜欢和他们有相似兴趣爱好的人所喜欢的

物品。在这种假设的基础上,最简单的算法就是给所有的用户推荐每天最热

门的商品,不过这种算法忽视了不同用户兴趣上的差别。因此,在此基础上

考虑了用户兴趣差异后的改进算法就是基于用户的协同过滤算法(user-based

collaborative filtering)。第二种假设强调用户的个人兴趣,它认为用户会喜欢和

他以前喜欢的物品相类似的物品。这也是基于物品的协同过滤算法(item-based

collaborative filtering)的基本假设。

Page 87: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第五章 时效性对推荐系统的影响 75

表 5.1: 5个不同数据集上的Ψ(1),Ψ(30)

数据集 Ψ(1) Ψ(30)

nytimes 0.1928 0.0051

youtube 0.3648 0.0394

wikipedia 0.4098 0.2279

sourceforge 0.4953 0.3088

blogspot 0.3342 0.0892

但是,用户的行为既受他周围人兴趣的影响,也受他个人兴趣的影响,而

一个好的推荐算法需要同时考虑到这两种因素。在本文中,我们将周围相似兴

趣对个人行为的影响称为社会因素,而将自身兴趣对个人兴趣的影响称为个

人因素。尽管在所有的网站中,用户的行为都同时受到社会因素和个人因素的

影响,但在不同的网站中,这两种因素对用户行为所产生的影响的强度是不

同的。比如,在快速更新的系统中,如新闻网站,用户更会受到社会因素的影

响,他们喜欢阅读新闻热点。而在更新比较慢的系统中,比如电影网站,用户

更容易受个人因素的影响。在这一章中,我们会对上一章提出的时间段图模

型(SGM)进行改进,让它能够同时考虑到社会因素和个人因素对用户的影响,

并通过调节少量的参数让推荐算法在具有不同变化速率的系统中都做出准确的

推荐。

5.3.1 图图图模模模型型型

上一章的SGM相对于普通的用户物品二分图,加入了一个新的节点,用户

时间段节点(user session node) 用来表示用户在某个时段的兴趣。因此,它的

推荐结果既包含了和用户近期兴趣相似的物品,也包含了和用户长期兴趣相似

的物品。但是,这样的推荐结果仅仅反映了用户行为受用户个人兴趣变化的影

响的因素,而忽略了变化的社会因素对用户行为的影响。

为了在图模型中引入变化的社会兴趣,我们引入了物品时间段节点(item

session node)用来表示物品在某个时间段的流行度。从而,通过同时引入用户

时间段节点和物品时间段节点,我们可以在图模型中同时考虑社会兴趣和个人

兴趣对用户兴趣的影响。在本章中,我们把同时引入了用户时间段节点和物品

时间段节点的图模型称为时间段模型(SGM),把上一章提出的只引入用户时间

Page 88: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

76 动态推荐系统关键技术研究

段节点的图模型称为用户时间段模型(USGM),同时,把只引入物品时间段节

点的图模型称为物品时间段模型(ISGM)。

时间段图模型G(U ,SU , I,SI , E , w, σ) 也是一个二分图。U是用户节点集合,SU是用户时间段节点集合。一个用户时间段节点vut ∈ SU会和用户u在时刻t喜欢的物品节点通过边相连。I是物品节点集合,SI是物品时间段节点集合。一个物品时间段节点vit ∈ SI会和所有在时刻t喜欢物品i的用户节点通过边相连。 E是边集合,它包含了三种边:1) 如果用户u对物品i有

行为,那么存在边e(vu, vi);2)如果用户u在t时刻对物品i有行为,那么就存

在两条边e(vut, vi), e(vu, vit)。w(e)定义了边的权重,σ(v)定义了节点的权重。

在SGM中,我们定义所有的边的权重都是1,而节点的权重定义如下:

σ(v) =

1− α v ∈ Uα v ∈ SU1− β v ∈ Iβ v ∈ SI

(5.5)

这里,α ∈ [0, 1]和β ∈ [0, 1]是控制节点权重的两个重要参数. 如果α = 0, 用

户时间节点将对最终的结果不产生任何影响,因此在α = 0时,SGM模型就

是ISGM模型。同样,如果参数β = 0,SGM模型就是USGM模型。

5.3.2 时时时间间间段段段图图图模模模型型型中中中的的的推推推荐荐荐算算算法法法

这一章仍然使用第四章中提出的路径融合算法在SGM模型上设计推荐算

法。不过需要对这个算法做一些小的改动。

因为新的SGM引入了物品时间段节点vit,所以,可以利用下面的公式来描

述用户u在时刻t对物品i的兴趣:

p(u, i, t) = d(vu, vi) + d(vut, vi) + d(vu, vit) (5.6)

这里,d(·, ·)描述了节点之间的相似度,d(vu, vi)代表了用户u对物品i的长期兴趣,d(vut, vi)代表了用户u在t时刻对物品i的短期兴趣,d(vu, vit)代表了和用户

有相似兴趣的其他用户在t时刻对物品i的兴趣。

5.3.3 时时时间间间段段段图图图模模模型型型的的的理理理解解解

时间段图模型(SGM)和传统的用户矩阵二分图的区别在于SGM引入了两

种新的节点,用户时间段节点和物品时间段节点。和用户u及时间t对应的用

Page 89: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第五章 时效性对推荐系统的影响 77

户时间段节点vut在图上和用户u在时刻t喜欢的所有物品对应的节点之间都

有边相连。因此,如果从vut出发,第一步会碰到所有用户在t时刻喜欢的物

品(令N(u, t)为这些物品的集合),第二步会遇到所有喜欢N(u, t)中的物品的

其他用户(令S(u)为这些用户的集合)。那么可以看到,S(u)包含了所有和用

户在t时刻兴趣相似的用户。第三步会遇到两种节点。第一种是S(u)中用户喜

欢的所有物品(令R(u)为这些物品的集合),第二种是S(u)中用户在t时刻喜欢

的物品(令R(u, t)为这些物品的集合)。可以看到,R(u)包含了所有和用户近

期喜欢的物品(N(u, t)) 相似的物品,而R(u, t)包含了所有和用户u兴趣相似的

用户在t时刻喜欢的物品集合。因此,R(u)反映了个人因素对推荐结果的影响

而R(u, t)体现了社会兴趣对推荐结果的影响。那么,在快速变化的系统中,为

了加重社会因素对推荐结果中的影响,可以增加R(u, t)中物品的权重,而在变

化较慢的系统中,为了加重个人因素对推荐结果中的影响,可以增加R(u)中物

品的权重。

5.4 实实实验验验与与与分分分析析析

5.4.1 实实实验验验数数数据据据

本章中,我们利用文献[84]提供的Delicious数据集1进行实验。这个数据集

包含了950,000个用户在2003年9月到2007年12月间对网页的标签(bookmarking)

行为,数据集中包含了132,000,000个标签和420,000,000条标签行为记录。该

数据集每行是一条记录,每条记录由四个部分组成:用户ID,日期,网页

的URL地址和标签。这一条记录代表了某个用户在某个时间点对某个网页赋予

了某个标签的行为。这里,我们将网页作为物品。因为网页是由URL标识的,

所以我们可以根据域名将它们分成不同的类别。本章,我们选取了其中5个

域名的网页做成5个不同的数据集加以研究。这五个域名是:nytimes.com,

sourceforge.net,blogspot.com,wikipedia.org,youtube.com。不过,每个网站

都有很多不同的页面,比如首页,分类页面,登陆页面等等。这里,我们只

考虑网站的物品页面。比如,对于NYTimes只选取新闻的页面,Youtube只选

取视频的页面,Sourceforge只选取开源项目的页面,Blogspot只选取博客文章

的页面,Wikipedia只选取词条的页面。我们用正则表达式选取需要的页面,

表5.3列出了对不同网站所使用的正则表达式。在每个网站的数据集中,为了

1http://www.dai-labor.de/kompetenzzentren/irml/datensaetze/

Page 90: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

78 动态推荐系统关键技术研究

表 5.2: 5个不同网站的数据集的详细信息

数据集 用户数 物品数 稀疏度

nytimes 4947 7856 99.65%

youtube 4551 7526 99.72%

wikipedia 7163 14770 99.86%

sourceforge 8547 5638 99.65%

blogspot 8703 10107 99.82%

表 5.3: 用于抽取目标网页的正则表达式

数据集 正则表达式

nytimes .*.www.nytimes.com/20.*.html

youtube .*.www.youtube.com/watch?v=[a-zA-Z0-9]+

wikipedia .*.wikipedia.org/wiki/[a-zA-Z0-9 ]+

sourceforge .*.sourceforge.net/projects/[a-zA-Z0-9]+/

blogspot .*.blogspot.com/20.*.html

保证数据集具有一定的稠密程度,我们去除了收藏网页个数少于10个的所有用

户,同时去除了收藏者少于10个的所有网页。表5.2给出了最终数据集的详细信

息。从表中可以看到,尽管已经去除了过于稀疏的数据,但最终数据集的稀疏

度还是在99%以上。

5.4.2 实实实验验验设设设置置置与与与评评评测测测方方方法法法

本章主要研究的时间相关的Top-N的推荐问题,因此使用精度(Accuracy)作

为推荐质量的评测指标。我们用准确率/召回率[33]来度量不同算法所产生的

推荐结果的准确度。给定一个数据集D,每个用户的最后一次行为将被放入测试集,剩余的行为数据将被作为训练集。令DT为测试集,Ru为给用户u推荐

的N个物品列表。那么召回率定义为:

Recall =

∑u |Tu ∩Ru|∑

u |Tu|(5.7)

而准确率定义为:

Precision =

∑u |Tu ∩Ru|∑

u |Ru|(5.8)

Page 91: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第五章 时效性对推荐系统的影响 79

在实验中,不同的算法将用10种不同的推荐长度N运行10次:

N ∈ {10, 20, 30, . . . , 100}

然后我们通过对比他们的准确率/召回率曲线(Precision/Recall Curve)来对比它

们的精度。

5.4.3 和和和其其其他他他算算算法法法的的的比比比较较较

最近几年很多研究人员提出了不少用来解决时间相关的Top-N推荐问题的

算法。以下算法将被用来和本章提出的算法(基于SGM的路径融合算法)进行

对比:

• TItemCF : Ding在2005年提出了一个利用时间信息的基于物品的协同过

滤算法(TItemCF) [26]。这个算法认为用户未来的兴趣主要和他最近的兴

趣相关。因此,在推荐时,该算法利用了一个时间衰减函数来降低用户

很久之前的兴趣对推荐结果的影响。比如,对于用户u和物品i,该算法利

用下面的公式计算用户u在t 时刻对物品i的兴趣:

puit =∑

j∈N(u),j =i

wijf(|t− tuj|)ruj (5.9)

其中,N(u)是用户u喜欢的物品集合,wij是物品i, j的相似度,f(|t− tuj|)是一个时间衰减函数,随着|t− tuj|的增大而减小。

• TUserCF : 利用时间信息的基于用户的协同过滤(TUserCF)算法也是一

个基于邻域的算法。它假设用户会喜欢那些和他有相似兴趣的用户最近

喜欢的物品。比如,对于用户u和物品i,该算法利用下面的公式计算用

户u在t 时刻对物品i的兴趣:

puit =∑

v∈N(i),v =u

wuvf(|t− tvi|)rvi (5.10)

其中,N(i)是喜欢物品i的用户集合,wij是用户u, v的兴趣相似度,f(|t−tvi|)是一个时间衰减函数,随着|t− tvi|的增大而减小。

• ItemCF, UserCF:为了体现时间信息对推荐的影响,本节对比了传统的

时间无关的算法:基于物品的协同过滤算法(ItemCF)[25]和基于用户的协

同过滤算法(UserCF)[11]。

Page 92: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

80 动态推荐系统关键技术研究

表 5.4: 8种算法在5个数据集上的召回率

方法 nytimes youtube wikipedia sourceforge blogspot

ItemCF 5.30% 4.04% 2.33% 11.52% 5.80%

TItemCF 10.40% 4.68% 3.27% 12.00% 10.43%

UserCF 7.30% 4.35% 4.15% 11.24% 3.95%

TUserCF 59.45% 31.66% 5.96% 18.33% 52.30%

SGM 61.25% 33.47% 7.82% 22.51% 55.79%

USGM 9.14% 5.95% 7.19% 12.21% 5.37%

ISGM 61.13% 32.52% 5.03% 20.03% 55.58%

Pop 59.65% 32.98% 4.65% 16.02% 50.70%

• USGM,ISGM:为了体现新加入的两种节点对时间段图模型的推荐效果

的影响,本节对比了只考虑一种节点的图模型。如果只考虑用户时间段

节点(α = 0),那么SGM又被称为USGM。USGM也就是第四章提出的图

模型。此外本节还对比了只考虑物品时间段节点的ISGM模型(β = 0)。

• Pop:最后,本节对比了一个最简单的非个性化推荐算法Pop,该算法给

用户推荐每天最热门的物品。

5.4.4 实实实验验验结结结果果果

我们在5个数据集中对前面提到的8个不同的算法进行了测试,并画出了它

们的准确率/召回率曲线(见图5.4,5.7,5.8,5.5,5.6)。同时,表5.4 也列出了8个算

法在推荐列表长度为20时的召回率(Recall@20)。下面几节将对实验结果进行详

细的分析。

5.4.4.1 时时时间间间数数数据据据对对对推推推荐荐荐准准准确确确度度度的的的影影影响响响

很多研究[26, 45, 86] 都表明利用时间信息能够提高推荐结果的准确性。前

几章的实验结果也证明了这一点。本节再次对比一下时间相关的推荐和时间

无关推荐的准确度。如表5.4和图5.4,5.7,5.8,5.5,5.6 所示,在5个不同的数据集

上,6个时间相关的算法(TUserCF, TItemCF, POP, USGM, ISGM, SGM)的准

确度都高于2个时间无关算法(UserCF,ItemCF)的准确度。在利用时间信息后,

即使是非个性化推荐算法Pop的准确度也优于两个时间无关的算法。如图表所

Page 93: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第五章 时效性对推荐系统的影响 81

示,在推荐列表长度为20时,Pop在NYTimes上的召回率是59.65%而UserCF的

召回率只有7.3%,Pop在Youtube上的召回率是32.98%而UserCF的召回率只

有4.35%,Pop在Wikipedia上的召回率是4.65%而UserCF的召回率是4.35%,Pop

在Sourceforge 上的召回率是16.02%而UserCF是11.24%,Pop在BlogSpot上的召

回率是50.7%而UserCF的召回率是3.95%。从这些结果可以看到,Pop在这5个

数据集上的召回率都高于UserCF的召回率。对于ItemCF,我们也可以得到相

似的结论(见表5.5)。

表 5.5: Pop在5个数据集上相对于UserCF/ItemCF的召回率的提高比例

方法 nytimes youtube wikipedia sourceforge blogspot

ItemCF 11.25 8.16 2.0 1.39 8.7

UserCF 8.17 7.58 1.12 1.43 12.8

5.4.4.2 变变变化化化速速速率率率对对对推推推荐荐荐准准准确确确度度度的的的影影影响响响

在表5.4中,如果我们将不同的数据集对应的网站按照Pop的召回率从高到

低排列,可以得到如下的排序:

NYTimes > BlogSpot > Youtube > Sourceforge >Wikipedia (5.11)

可以看到,这个排序结果和公式5.2和公式5.4的排序结果是一致的。这说明,

在快速变化的网站中,用户行为更加集中,因此用每天最热门的物品做推荐最

容易击中用户的实际行为,即用户每天接触的绝大多数物品也大都是当天热门

的物品。而在Wikipedia这种网站中,用户的行为比较分散,从而预测用户会

喜欢当天的热门物品并不能获得高的召回率。

再次对比Pop(利用时间的非个性化推荐算法)和UserCF / ItemCF (时

间无关的个性化推荐算法)的召回率,如表5.5所示,可以发现一个现象,

在NYTimes,Youtube,BlogSpot这三个数据集上,Pop的召回率大大高于UserCF

/ ItemCF,而在Wikipedia和Sourceforge这两个数据集上,Pop的召回率仅仅

略高于UserCF / ItemCF。这里,我们将NYTimes,Youtube,BlogSpot 三个数

据集成为集合A,而另两个数据集称为集合B。从准确率/召回率(PR)曲线

上我们也可以看到相似的结论。集合A的PR曲线中,8种算法明显的分成

了2部分,SGM,ISGM,Pop,TUserCF四个算法的准确度明显的高于另四个算

Page 94: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

82 动态推荐系统关键技术研究

法(USGM,ItemCF,UserCF,TItemCF)。而在集合B的数据集的PR曲线中,8个

算法的PR曲线相互交叉,并没有一个或者几个算法有非常明显的优势。从前

面的讨论可以得知,集合A中的网站是变化速率比较快的系统而集合B中的网

站是变化速率比较慢的系统。Pop可以看成一种只考虑社会因素的极端算法,

而UserCF和ItemCF相对于Pop则更多的考虑了用户的个人兴趣。所以上面的

结果也部分的证明了快速变化的网站中用户容易受到社会因素的影响,而变化

较慢的网站中用户更加依赖于自己的兴趣。

USGM和ISGM是SGM的两个不同的变种。USGM只包含了用户时间段节

点,它的推荐结果倾向于考虑用户个人因素对行为的影响。 ISGM只包含了物

品时间段节点,它的推荐结果倾向于考虑社会因素对用户行为的影响。因此,

我们在5个数据集中对比它们的推荐准确度,也可以发现社会因素和个人因素

在不同变化速率的网站中对用户行为产生的不同影响。如表5.4所示,可以看

到在集合A中数据集的实验结果中,ISGM 的推荐效果都明显优于USGM。而

在集合B数据集的实验结果中,ISGM在Wikipedia上的召回率小于USGM,而

在Sourceforge上只是略好于USGM。这也证明了前面说的,社会因素对用户行

为的影响随着系统变化速率的增加而增加,而个人因素对用户行为的影响随着

系统变化速率的增加而减小。

5.4.4.3 SGM和和和其其其他他他算算算法法法的的的比比比较较较

首先我们比较了SGM和USGM,ISGM,如表5.6所示。结果显示SGM的预

测精度在5个数据集上都高于两个只有一种节点的算法,这说明了只有综合考

虑两种因素对用户行为的影响,才能在具有不同变化速率的数据集中都取得比

较高的推荐准确度。

表 5.6: 5个数据集上SGM相对USGM和ISGM的精度提高倍数

Method nytimes youtube wikipedia sourceforge blogspot

USGM 6.7 5.6 1.1 1.8 10.4

ISGM 1.0 1.03 1.6 1.12 1.0

前面提到过,USGM强调了随时间变化的个人因素对用户行为的影响,

而ISGM则强调了随时间变化的社会因素对用户行为的影响。从前面的结果可

以看到,仅仅考虑个人因素或者仅仅考虑社会因素都不能产生最高的推荐精

Page 95: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第五章 时效性对推荐系统的影响 83

度。因此,SGM通过融合了两种因素才能在不同的数据集上都取得了比较高的

推荐精度。

图 5.4: 不同算法法在Wikipedia数据集中推荐结果的准确率/召回率曲线

5.5 本本本章章章小小小结结结

这一章主要研究了系统变化速率对推荐系统的影响。我们发现,实际系统

中用户的行为同时受到社会因素和个人因素的影响,但这两种因素在不同系统

会产生不同强度的影响。在快速变化的系统中,用户行为更加会受到社会因素

的影响,而在变化相对较慢的系统中,用户行为则更加受到个人因素的影响。

好的推荐算法需要在不同速率的网站中都能够给出好的推荐结果,为此,我们

提出了时间段图模型,它相对于传统的用户物品二分图模型增加了两种新的节

点,这两种节点可以控制社会因素和个人因素对用户推荐结果所产生的影响。

Page 96: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

84 动态推荐系统关键技术研究

图 5.5: 不同算法法在Sourceforge数据集中推荐结果的准确率/召回率曲线

图 5.6: 不同算法法在NYTimes数据集中推荐结果的准确率/召回率曲线

Page 97: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第五章 时效性对推荐系统的影响 85

图 5.7: 不同算法法在Blogspot数据集中推荐结果的准确率/召回率曲线

图 5.8: 不同算法法在Youtube数据集中推荐结果的准确率/召回率曲线

Page 98: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

Page 99: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第第第六六六章章章 动动动态态态推推推荐荐荐系系系统统统原原原型型型设设设计计计与与与实实实现现现

6.1 引引引言言言

本章中,我们综合前面几章的工作,设计了一个动态推荐系统的原型。

一个完整的推荐系统包括了三个部分:用户界面,日志系统和推荐引擎。如

图6.1所示,用户界面有两个作用,一方面给用户展示推荐结果,另一方面收集

用户对推荐结果的反馈。收集到的用户反馈将通过日志系统写入用户行为数

据库中,最后推荐引擎通过分析用户行为数据库中的用户行为,给用户生成推

荐结果并展示在用户界面上。从这个循环可以看到,推荐系统是一个不断收集

用户行为,不断更新用户兴趣模型,从而不断改善用户推荐结果的闭环反馈系

统。

推荐系统的用户界面设计在推荐系统中占有非常重要的作用。著名的推荐

系统公司Strands的研究人员在2009年世界推荐系统大会(ACM Conference on

Recommender System)上的演讲[58]中指出,一个好的推荐系统需要将一半的

精力投入在用户界面的设计上。好的用户界面设计能够收集到更多,更明确的

用户反馈,这对提高后面推荐引擎的准确性有至关重要的作用。日志系统在推

荐系统中也有很重要的作用,在很多大流量的网站中,日志系统需要同时满足

两方面的需求,一方面需要能够实时的将用户最新的行为写入到数据库中,另

一方面需要能够快速的处理大量的数据存储。本章对用户界面和日志系统的设

计不做过多的探讨,因为这两个部分与前几章讨论的推荐算法之间没有特别强

的相关性。本章主要讨论推荐引擎的设计。为了方便说明,我们以视频网站为

例,讨论如何设计一个视频推荐引擎。图6.2是一个推荐引擎的设计框图。完整

图 6.1: 完整推荐系统的三个组成部分

Page 100: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

88 动态推荐系统关键技术研究

图 6.2: 推荐引擎的设计框图

的推荐引擎包括在线系统和离线系统两套系统。在线系统负责实时响应用户的

请求,在线提取和分析用户行为并生成最终推荐结果。离线系统主要负责生成

各种用户兴趣模型,视频相关度矩阵,存储在数据库中,供在线系统实时查询

和调用。下面各节将详细介绍在线系统和离线系统的各个主要模块。

6.2 推推推荐荐荐引引引擎擎擎在在在线线线系系系统统统

6.2.1 用用用户户户行行行为为为提提提取取取和和和分分分析析析模模模块块块

该模块从用户行为数据库中提取用户的行为,并对用户行为进行分析,从

而得到用户的兴趣特征。用户在一个网站中的行为多种多样。以视频网站为

例,用户的行为包括了观看视频,给视频打分,搜索视频,收藏视频,和朋友

Page 101: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第六章 动态推荐系统原型设计与实现 89

分享视频等等行为。每一种行为都蕴含了用户对视频的兴趣。同时,根据前

面对时间效应的讨论,用户行为发生的时间对最终推荐结果也有很重要的影

响,用户最近发生的行为更能反应用户最近的兴趣。给定用户u,令Nb(u)为用

户u在行为b中接触到的视频,γb为行为b所表示出来的用户兴趣权重,tb(u, i)为

用户u对视频i发生行为b的时间。那么,用户u有兴趣的视频集合N(u)定义为:

N(u) =∪b

Nb(u) (6.1)

而用户对N(u)中视频i的兴趣权重rui由如下公式计算:

rui =∑

b,i∈Nb(u)

γbe−λ|t−tb(u,i)| (6.2)

这里,t是当前时间,λ(λ > 0)是时间衰减系数。公式6.2表明如果用户对一个物

品有过很多行为,而且这些行为都发生在近期,那么这个用户对这个物品就会

有比较大的兴趣权重。

用户行为提取和分析模块最终将返回一个用户对视频的兴趣向量,里面的

每一个元素包含了一个视频以及用户对该视频的兴趣权重。

6.2.2 相相相关关关推推推荐荐荐模模模块块块

相关推荐模块负责联系用户的兴趣向量和待推荐视频。如果用户的兴趣特

征只包含用户对视频的兴趣,那么相关推荐模块就主要依赖于视频之间的相关

矩阵,而相关推荐的主要过程是,对用户喜欢的每一个视频,通过查询视频相

关矩阵,找出最相似的M个视频,最终将所有视频的相关视频通过相关度聚合

起来,成为初步的推荐结果。

实际系统中的相关推荐模块往往依赖于很多的相关表。每个相关表都定

义了视频和视频之间的相关性。令Wk是第k个相关表,wk(i, j)定义了视频i, j在

第k个相关表上的相似度,Sk(i,M)是第k个相关表中和视频i最相似的M个视频

的集合,那么初步的推荐结果R0包含了以下视频:

R0 =∪k

∪i∈N(u)

Sk(i,M) (6.3)

而用户对R0中的视频i的喜好程度通过如下的公式计算:

p(u, i) =∑k

∑j∈N(u)

wk(j, i)r(u, j) (6.4)

Page 102: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

90 动态推荐系统关键技术研究

综上所述,相关推荐模块的输入是用户兴趣向量和视频相关度矩阵,输出

是初步推荐视频集合R0。

6.2.3 推推推荐荐荐解解解释释释模模模块块块

推荐解释(Recommendation Explanation)模块的主要任务是给用户提供每

个推荐结果被推荐出来的原因。推荐解释能够加深用户对推荐结果的信任

度[60],因此著名的推荐系统(Amazon,Netflix)都有推荐解释模块。常用的

推荐解释一般分为如下类型:

1 基于用户历史行为:这种推荐解释一般告诉用户之所以给他们推荐物

品A是因为他们曾经喜欢过物品B,而对物品B和A是很相似的。

2 基于用户的社会网络:这种推荐解释一般告诉用户之所以给他们推荐物

品A是因为他们的朋友曾经喜欢过物品A。

3 基于物品本身的属性:这种推荐解释一般用于冷启动时,即用户没有行

为数据和社会网络数据时。这种推荐解释包括,物品的平均分很高,物

品很热门,这是一个新加入的物品等等。

本章的推荐解释模块基于第一种推荐解释类型,即基于用户的历史行为给用户

做出解释的。比如给用户推荐射雕英雄传的原因可能是因为用户曾经看过天龙

八部。上一节的相关推荐模块是根据用户历史上喜欢的视频给用户推荐别的视

频,因此对于每一个推荐出来的视频,都可以知道它是因为用户历史上喜欢过

什么别的视频而推荐出来的。一个推荐结果可能有很多原因,因此推荐解释模

块需要对所有的原因按照相似度从大到小排序,并选出相似度最大的一个或多

个解释返回给用户。

综上所述,推荐解释模块是为初步推荐集合R0中的每个视频生成一个相应

的推荐解释。

6.2.4 过过过滤滤滤和和和排排排名名名模模模块块块

相关推荐模块生成了一个初步推荐结果R0。但这个集合中的推荐结果还不

能直接呈现给用户。我们需要对这个结果进行过滤和排名。过滤和排名模块由

很多子模块构成,每一个子模块都会过滤掉一些推荐结果,并对其他推荐结果

重新排名。过滤和排名模块主要包含了以下的子模块:

Page 103: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第六章 动态推荐系统原型设计与实现 91

• 新颖性排名模块:新颖性排名模块的任务是过滤掉那些用户已经看过或者有过行为的视频。推荐系统的主要任务是帮助用户发现那些他们没有

听说过,但可能会感兴趣的物品,因此推荐结果中不能含有用户已经知

道的物品。除了过滤掉用户已经看过的视频,新颖性排名模块还可以通

过如下的方式提高结果的新颖性。首先,可以提高刚刚发布的视频的权

重,因为刚刚发布的视频往往对用户而言是比较新颖的。其次,可以降

低热门视频的权重,因为热门的视频用户往往听说过,他们可能在别的

网站中已经看过了。

• 多样性排名模块:多样性是推荐系统设计的一个重要的方面。好的推荐结果应该能够覆盖用户多样化的兴趣。比如,对于一个喜欢看武侠片和

动画片的用户,推荐结果中应该既包含了武侠片,也包含了动画片。多

样性排名模块的任务就是对结果进行排名,从而保证排名最高的推荐结

果能够满足用户多样化的需求。

• 全局排名模块:该模块主要是对全局的推荐结果进行控制。比如有些时候基于商业的考虑,需要将某个视频推荐给更多的人,那么全局排名模

块就会在所有人的推荐结果中适当提高这个视频的权重。此外,全局排

名模块还负责利用季节效应对推荐结果进行调权。比如用户在暑期比较

喜欢看电影,而在其他时间比较喜欢看电视剧,那么全局排名模块在暑

期就会增加电影的权重,而在其他时间增加电视剧的权重。

• 点击反馈模块:用户在看到推荐结果时,会点击自己感兴趣的推荐结果。因此,可以利用用户的点击行为数据建立用户的点击反馈模型,并利用

点击反馈模型对推荐结果进行调权。

6.3 离离离线线线系系系统统统

出于实时响应的考虑,在线系统不能进行太多在线的计算。因此,很多推

荐系统中的模型和中间结果都是通过离线系统计算出来,保持在数据库中供在

线系统实时调用。离线计算主要包含了视频之间的相似度矩阵的计算,用户反

馈的点击建模等等。

Page 104: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

92 动态推荐系统关键技术研究

6.3.1 用用用户户户行行行为为为权权权重重重计计计算算算模模模块块块

在用户行为分析模块中,我们会对用户的不同行为赋予不同的权重。权重

越大,表示这个行为越能表现出用户对他的行为对象的喜好程度。这个权重可

以通过经验选取,也可以通过机器学习的方法学习出来。用户行为权重计算模

块的主要任务就是计算出不同行为的权重,供用户行为分析模块使用。

6.3.2 相相相似似似度度度矩矩矩阵阵阵计计计算算算模模模块块块

在线系统的相关推荐模块主要依赖于事先存好的视频相似度矩阵。实际的

视频推荐系统中往往有很多相似度矩阵,主要包含基于内容的相似度矩阵,基

于协同过滤的相似度矩阵等等:

• 基于内容的相似度矩阵:视频的内容属性有很多,不仅包含了视频的导演,演员,剧情,也包含了用户对视频打的标签(Tag)。这些属性都可以

用来计算视频之间的内容相似度。

• 基于协同过滤(CF)的相似度矩阵:基于CF的相似度主要通过用户的行为

数据计算出来。有很多不同的基于CF的视频相似度计算方法,以余弦相

似度为例,视频i,j的相似度定义为:

w(i, j) =|N(i) ∩N(j)|√|N(i)||N(j)|

这里,N(i)是看过视频i的用户集合。

基于协同过滤的相似度矩阵往往比较准确,能够产生较高的点击率。但

是,该矩阵的缺点是有冷启动的问题。对于新加入网站的视频,因为还没有足

够的用户对这些视频采取行为,我们很难计算它们与其他视频的相似度。因

此,在实际系统中,基于协同过滤的相似度矩阵计算的时间间隔往往大于基于

内容的相似度矩阵。这样可以满足大量新加入的视频的相关推荐的需要。

6.3.3 用用用户户户反反反馈馈馈模模模型型型

当用户看到一个推荐结果时,会对推荐结果进行一些反馈。比如他们会点

击一些推荐结果,或者对某些推荐结果表示他们有兴趣。这些用户反馈都可以

用来对推荐结果进行排名,从而提高推荐结果的点击率。

Page 105: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第六章 动态推荐系统原型设计与实现 93

这里,我们利用了搜索引擎中常用的点击模型(Click Model)来对用户反馈

进行建模。在用户的每次访问中,用户都会看到N个推荐结果,对于里面的某

些结果,用户会点击,而另一些结果用户不会点击。我们认为用户对他们点击

的结果更加感兴趣,因此,用户的每一次访问就可以成为一个训练样本,而离

线系统需要根据用户的反馈数据,建立基于反馈的用户点击模型,从而实现

对用户推荐结果的重新排名。这方面的相关研究很多,主要集中在搜索引擎

领域,其中比较著名的有点击率预估算法[18, 42] 和排名学习算法(Learning to

Rank)[12, 15] 等等。

6.4 本本本章章章小小小结结结

本章在结合前面几章工作内容的基础上设计了一个动态推荐引擎的原型系

统,实现了在线的实时推荐和离线的模型训练等两个主要的系统。在在线系统

的设计中,我们充分考虑了系统的实时性,让系统能够对用户最新的行为迅速

做出反应。而在离线系统中,我们根据不同的实时性要求,设计了不同更新速

度的离线系统。同时,该原型系统不仅考虑了推荐的准确性,而且综合考虑了

推荐的多样性,新颖性和可解释性。

Page 106: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

Page 107: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第第第七七七章章章 结结结束束束语语语

推荐系统是一种联系用户和内容的信息服务系统,一方面它能够帮助用户

发现他们潜在感兴趣的内容,另一方面它能够帮助内容提供者将内容投放给对

它感兴趣的用户。推荐系统的主要方法是通过分析用户的历史行为来预测他们

未来的行为。因此,时间是影响用户行为的重要因素。关于推荐系统动态特性

的研究相对比较少,特别是缺乏系统性的研究。对动态推荐系统的研究,无论

是从促进用户兴趣模型的理论角度出发,还是从实际需求来看,都具有重要的

意义,本文的研究工作正是在这一背景下展开。

7.1 研研研究究究工工工作作作总总总结结结

本文除了对推荐系统特别是时间相关的动态推荐系统的相关工作做了总结

和回顾之外,主要的工作和贡献包括以下几个方面:

• 提出了基于矩阵分解的动态用户兴趣模型:为了研究用户兴趣的动态变化对他们评分行为的影响,本文在基于矩阵分解的静态用户兴趣模型的

基础上对4种不同的时间效应进行建模,从而提出了一种基于矩阵分解

的动态用户兴趣模型(TRSVD)。同时,本文还对季节效应进行了建模。

在Netflix数据集上的实验结果表明基于矩阵分解的动态用户兴趣模型能

够有效的利用时间信息,大大提高评分预测问题的预测精度。

• 提出了考虑用户长期兴趣和短期兴趣的动态用户兴趣模型:在时间相关的Top-N推荐中,我们发现用户的行为同时受他的长期兴趣和短期兴趣的

影响。本文在用户物品二分图的基础上,引入了用户时间节点来对用户

的长期兴趣和短期兴趣进行建模,从而提出了用户时间段图模型。实验

结果表明,该模型相对于传统的二分图模型能够明显的提高Top-N问题的

预测精度。

• 研究了数据的时效性对推荐系统的影响:我们发现不同变化速率的网站中用户兴趣和行为有着不同的模式。在变化较快的网站中,比如新闻网

站,用户行为较易受到周围人的影响,而在变化较慢的网站中,比如电

Page 108: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

96 动态推荐系统关键技术研究

影和音乐网站,用户行为较易受到个人兴趣的影响。本文在用户物品二

分图的基础上,引入了用户时间节点和物品时间节点来建模个人因素和

社会因素对用户兴趣的双重影响,建立了时间段图模型(Session Graph

Model)。5个不同变化速率的网站的用户行为数据集上的实验表明,该模

型可以适应不同变化速率的网站做出准确的推荐。

• 动态推荐系统的原型设计:我们基于前面的算法研究,设计了一个实际的推荐系统的原型。该系统包含了在线系统和离线系统两个部分。能够

实时响应用户不断变化的行为,实时的调整推荐结果排名,从而不断改

善用户在推荐系统中的体验。

7.2 对对对未未未来来来工工工作作作的的的展展展望望望

尽管本文对时间相关的动态推荐系统的关键技术和模型进行了较深入的研

究,取得了一些进展,但是针对用户兴趣变化的动态模型的研究还有很多工作

要做。我们认为用户兴趣动态建模有待解决的问题如下:

• 用户不同种类行为的动态模型:本文中讨论的算法都只考虑了用户的一种行为。比如在评分预测中只考虑了用户的评分行为,在Top-N推荐中只

考虑了用户的收藏行为。但是,在实际系统中,用户有着各种不同的行

为,而不同行为的模式都是随时间变化的,并且可能具有不同的变化模

式。因此,如何融合用户动态变化的各种行为来为用户做出准确的推荐,

将是我们将来工作的一个重要方面。

• 用户兴趣动态模型对推荐系统其他指标的影响:本文的所有工作基本集中在提高推荐系统的精确度上。但精确并不是推荐系统追求的唯一指标,

准确的预测不代表用户需要的推荐。比如,预测用户可能会去看阿凡达,

从而给用户推荐阿凡达,这并不是一个好的推荐。因为阿凡达的知名度

很高,很多用户都会去看,但他们并不需要别人给他们推荐。上面这个

例子涉及到了推荐系统的新颖度,即用户希望推荐系统能够给他们新颖

的推荐结果,而不是那些他们已经知道的物品。此外,推荐系统还有多

样性,覆盖度等等指标。如何利用时间信息,在不牺牲精度的同时,提

高推荐的其他指标,是我们将来工作研究的一个重要方面。

Page 109: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

第七章 结束语 97

• 推荐系统随时间的不断演化:不仅用户的行为和兴趣是随时间变化的,推荐系统本身也是一个不断演化的系统。它的各项指标,包括精度,覆

盖度,多样性,点击率等等都随着数据的变化而演化。如何让推荐系统

能够通过利用动态变化的用户反馈,向好的方面不断演化是推荐系统研

究的一个重要方面。

最后,希望本文的研究工作能够对动态推荐系统的发展作出一定的贡献,

并真诚的希望老师们提出宝贵的批评意见和建议。

Page 110: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

Page 111: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

参参参考考考文文文献献献

[1] Gediminas Adomavicius, Ramesh Sankaranarayanan, Shahana Sen, and

Alexander Tuzhilin. Incorporating contextual information in recommender

systems using a multidimensional approach. ACM Trans. Inf. Syst., 23:103–

145, January 2005.

[2] Gediminas Adomavicius and Alexander Tuzhilin. Context-aware recom-

mender systems. In Proceedings of the 2008 ACM conference on Recom-

mender systems, RecSys ’08, pages 335–336, New York, NY, USA, 2008.

ACM.

[3] C. Anderson. The Long Tail. Random House Business, 2006.

[4] J. Scott Armstrong, editor. Principles of Forecasting - A Handbook for Re-

searchers and Practitioners. Kluwer Academic, 2001.

[5] RicardoA. Baeza-Yates and Berthier Ribeiro-Neto. Modern Information Re-

trieval. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA,

1999.

[6] Marko Balabanovic and Yoav Shoham. Fab: content-based, collaborative

recommendation. Commun. ACM, 40:66–72, March 1997.

[7] Shumeet Baluja, Rohan Seth, D. Sivakumar, Yushi Jing, Jay Yagnik,

Shankar Kumar, Deepak Ravichandran, and Mohamed Aly. Video sug-

gestion and discovery for youtube: taking random walks through the view

graph. In Proceeding of the 17th international conference on World Wide

Web, WWW ’08, pages 895–904, New York, NY, USA, 2008. ACM.

[8] Robert Bell, Yehuda Koren, and Chris Volinsky. Modeling relationships at

multiple scales to improve accuracy of large recommender systems. In Pro-

ceedings of the 13th ACM SIGKDD international conference on Knowledge

Page 112: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

100 动态推荐系统关键技术研究

discovery and data mining, KDD ’07, pages 95–104, New York, NY, USA,

2007. ACM.

[9] Robert M. Bell and Yehuda Koren. Lessons from the netflix prize challenge.

SIGKDD Explor. Newsl., 9:75–79, December 2007.

[10] Robert M. Bell and Yehuda Koren. Scalable collaborative filtering with

jointly derived neighborhood interpolation weights. In Proceedings of the

2007 Seventh IEEE International Conference on Data Mining, pages 43–52,

Washington, DC, USA, 2007. IEEE Computer Society.

[11] John S. Breese, David Heckerman, and Carl Kadie. Empirical Analysis of

Predictive Algorithms for Collaborative Filtering. In Proceedings of the14th

Annual Conference on Uncertainty in Artificial Intelligence (UAI98), pages

43–52, 1998.

[12] Chris Burges, Tal Shaked, Erin Renshaw, Ari Lazier, Matt Deeds, Nicole

Hamilton, and Greg Hullender. Learning to rank using gradient descent.

In Proceedings of the 22nd international conference on Machine learning,

ICML ’05, pages 89–96, New York, NY, USA, 2005. ACM.

[13] Robin Burke. Hybrid recommender systems: Survey and experiments. User

Modeling and User-Adapted Interaction, 12:331–370, November 2002.

[14] Rui Cai, Chao Zhang, Chong Wang, Lei Zhang, and Wei-Ying Ma. Music-

sense: contextual music recommendation using emotional allocation mod-

eling. In Proceedings of the 15th international conference on Multimedia,

MULTIMEDIA ’07, pages 553–556, New York, NY, USA, 2007. ACM.

[15] Zhe Cao, Tao Qin, Tie-Yan Liu, Ming-Feng Tsai, and Hang Li. Learning

to rank: from pairwise approach to listwise approach. In Proceedings of the

24th international conference on Machine learning, ICML ’07, pages 129–

136, New York, NY, USA, 2007. ACM.

[16] O. Celma. Music Recommendation and Discovery in the Long Tail. Springer,

2010.

Page 113: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

参考文献 101

[17] Oscar Celma and Perfecto Herrera. A new approach to evaluating novel

recommendations. In Proceedings of the 2008 ACM conference on Recom-

mender systems, RecSys ’08, pages 179–186, New York, NY, USA, 2008.

ACM.

[18] Olivier Chapelle and Ya Zhang. A dynamic bayesian network click model for

web search ranking. In Proceedings of the 18th international conference on

World wide web, WWW ’09, pages 1–10, New York, NY, USA, 2009. ACM.

[19] Hung-Chen Chen and Arbee L. P. Chen. A music recommendation system

based on music data grouping and user interests. In Proceedings of the tenth

international conference on Information and knowledge management, CIKM

’01, pages 231–238, New York, NY, USA, 2001. ACM.

[20] Junghoo Cho and Sourashis Roy. Impact of search engines on page popu-

larity. In Proceedings of the 13th international conference on World Wide

Web, WWW ’04, pages 20–29, New York, NY, USA, 2004. ACM.

[21] Paolo Cremonesi, Yehuda Koren, and Roberto Turrin. Performance of rec-

ommender algorithms on top-n recommendation tasks. In Proceedings of the

fourth ACM conference on Recommender systems, RecSys ’10, pages 39–46,

New York, NY, USA, 2010. ACM.

[22] Abhinandan S. Das, Mayur Datar, Ashutosh Garg, and Shyam Rajaram.

Google news personalization: scalable online collaborative filtering. In

WWW ’07: Proceedings of the 16th international conference on World Wide

Web, pages 271–280, New York, NY, USA, 2007. ACM.

[23] James Davidson, Benjamin Liebald, Junning Liu, Palash Nandy, Taylor Van

Vleet, Ullas Gargi, Sujoy Gupta, Yu He, Mike Lambert, Blake Livingston,

and Dasarathi Sampath. The youtube video recommendation system. In

Proceedings of the fourth ACM conference on Recommender systems, RecSys

’10, pages 293–296, New York, NY, USA, 2010. ACM.

[24] Souvik Debnath, Niloy Ganguly, and Pabitra Mitra. Feature weighting in

content based recommendation system using social network analysis. In

Page 114: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

102 动态推荐系统关键技术研究

Proceeding of the 17th international conference on World Wide Web, WWW

’08, pages 1041–1042, New York, NY, USA, 2008. ACM.

[25] Mukund Deshpande and George Karypis. Item based top-n recommendation

algorithms. ACM Transactions on Information Systems, 22:143–177, 2004.

[26] Yi Ding and Xue Li. Time weight collaborative filtering. In Proceedings

of the 14th ACM international conference on Information and knowledge

management, CIKM ’05, pages 485–492, New York, NY, USA, 2005. ACM.

[27] Daniel M. Fleder and Kartik Hosanagar. Recommender systems and their

impact on sales diversity. In Proceedings of the 8th ACM conference on

Electronic commerce, EC ’07, pages 192–199, New York, NY, USA, 2007.

ACM.

[28] Francois Fouss, Alain Pirotte, Jean-Michel Renders, and Marco Saerens.

Random-walk computation of similarities between nodes of a graph with

application to collaborative recommendation. IEEE Trans. on Knowl. and

Data Eng., 19:355–369, March 2007.

[29] Mouzhi Ge, Carla Delgado-Battenfeld, and Dietmar Jannach. Beyond ac-

curacy: evaluating recommender systems by coverage and serendipity. In

Proceedings of the fourth ACM conference on Recommender systems, Rec-

Sys ’10, pages 257–260, New York, NY, USA, 2010. ACM.

[30] Sharad Goel, Andrei Broder, Evgeniy Gabrilovich, and Bo Pang. Anatomy

of the long tail: ordinary people with extraordinary tastes. In Proceedings

of the third ACM international conference on Web search and data mining,

WSDM ’10, pages 201–210, New York, NY, USA, 2010. ACM.

[31] Gene H. Golub and Charles F. Van Loan. Matrix computations (3rd ed.).

Johns Hopkins University Press, Baltimore, MD, USA, 1996.

[32] Taher H. Haveliwala. Topic-sensitive pagerank. In Eleventh International

World Wide Web Conference (WWW 2002), 2002.

Page 115: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

参考文献 103

[33] Jonathan L. Herlocker, Joseph A. Konstan, Loren G. Terveen, and John T.

Riedl. Evaluating collaborative filtering recommender systems. ACM Trans.

Inf. Syst., 22:5–53, January 2004.

[34] Thomas Hofmann and Jan Puzicha. Latent class models for collaborative

filtering. In Proceedings of the Sixteenth International Joint Conference on

Artificial Intelligence, IJCAI ’99, pages 688–693, San Francisco, CA, USA,

1999. Morgan Kaufmann Publishers Inc.

[35] Yifan Hu, Yehuda Koren, and Chris Volinsky. Collaborative filtering for

implicit feedback datasets. In Proceedings of the 2008 Eighth IEEE Interna-

tional Conference on Data Mining, pages 263–272, Washington, DC, USA,

2008. IEEE Computer Society.

[36] Mohsen Jamali and Martin Ester. Trustwalker: a random walk model for

combining trust-based and item-based recommendation. In Proceedings of

the 15th ACM SIGKDD international conference on Knowledge discovery

and data mining, KDD ’09, pages 397–406, New York, NY, USA, 2009.

ACM.

[37] Gawesh Jawaheer, Martin Szomszor, and Patty Kostkova. Comparison of im-

plicit and explicit feedback from an online music recommendation service. In

Proceedings of the 1st International Workshop on Information Heterogeneity

and Fusion in Recommender Systems, HetRec ’10, pages 47–51, New York,

NY, USA, 2010. ACM.

[38] George Karypis. Evaluation of item-based top-n recommendation algorithm-

s. In Proceedings of the tenth international conference on Information and

knowledge management, CIKM ’01, pages 247–254, New York, NY, USA,

2001. ACM.

[39] Henry Kautz, Bart Selman, and Mehul Shah. Referral web: combining social

networks and collaborative filtering. Commun. ACM, 40:63–65, March 1997.

[40] Noriaki Kawamae. Serendipitous recommendations via innovators. In Pro-

ceeding of the 33rd international ACM SIGIR conference on Research and

Page 116: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

104 动态推荐系统关键技术研究

development in information retrieval, SIGIR ’10, pages 218–225, New York,

NY, USA, 2010. ACM.

[41] Jinyoung Kim, Hyungjin Kim, and Jung-hee Ryu. Triptip: a trip plan-

ning service with tag-based recommendation. In Proceedings of the 27th

international conference extended abstracts on Human factors in computing

systems, CHI ’09, pages 3467–3472, New York, NY, USA, 2009. ACM.

[42] Arnd Christian Konig, Michael Gamon, and Qiang Wu. Click-through pre-

diction for news queries. In Proceedings of the 32nd international ACM

SIGIR conference on Research and development in information retrieval,

SIGIR ’09, pages 347–354, New York, NY, USA, 2009. ACM.

[43] Ioannis Konstas, Vassilios Stathopoulos, and Joemon M. Jose. On social

networks and collaborative recommendation. In Proceedings of the 32nd

international ACM SIGIR conference on Research and development in in-

formation retrieval, SIGIR ’09, pages 195–202, New York, NY, USA, 2009.

ACM.

[44] Yehuda Koren. Factorization meets the neighborhood: a multifaceted col-

laborative filtering model. In Proceeding of the 14th ACM SIGKDD interna-

tional conference on Knowledge discovery and data mining, KDD ’08, pages

426–434, New York, NY, USA, 2008. ACM.

[45] Yehuda Koren. Collaborative filtering with temporal dynamics. In Pro-

ceedings of the 15th ACM SIGKDD international conference on Knowledge

discovery and data mining, KDD ’09, pages 447–456, New York, NY, USA,

2009. ACM.

[46] Bruce Krulwich. Lifestyle finder: Intelligent user profiling using large-scale

demographic data. AI Magazine, 18(2):37–45, 1997.

[47] Takeshi Kurashima, Tomoharu Iwata, Go Irie, and Ko Fujimura. Travel

route recommendation using geotags in photo sharing sites. In Proceedings

of the 19th ACM international conference on Information and knowledge

management, CIKM ’10, pages 579–588, New York, NY, USA, 2010. ACM.

Page 117: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

参考文献 105

[48] Frederic Lardinois. Four approaches to music recommendations: Pandora,

mufin, lala, and emusic, 2009.

[49] Neal Lathia, Stephen Hailes, and Licia Capra. Temporal collaborative filter-

ing with adaptive neighbourhoods. In Proceedings of the 32nd international

ACM SIGIR conference on Research and development in information re-

trieval, SIGIR ’09, pages 796–797, New York, NY, USA, 2009. ACM.

[50] Qing Li, Byeong Man Kim, Dong Hai Guan, and Duk whan Oh. A music

recommender based on audio features. In Proceedings of the 27th annual

international ACM SIGIR conference on Research and development in in-

formation retrieval, SIGIR ’04, pages 532–533, New York, NY, USA, 2004.

ACM.

[51] Quannan Li, Yu Zheng, Xing Xie, Yukun Chen, Wenyu Liu, and Wei-Ying

Ma. Mining user similarity based on location history. In Proceedings of the

16th ACM SIGSPATIAL international conference on Advances in geographic

information systems, GIS ’08, pages 34:1–34:10, New York, NY, USA, 2008.

ACM.

[52] David Liben-Nowell and Jon Kleinberg. The link prediction problem for

social networks. In Proceedings of the twelfth international conference on

Information and knowledge management, CIKM ’03, pages 556–559, New

York, NY, USA, 2003. ACM.

[53] Greg Linden, Brent Smith, and Jeremy York. Amazon.com recommendation-

s: Item-to-item collaborative filtering. IEEE Internet Computing, 7:76–80,

January 2003.

[54] Jiahui Liu, Peter Dolan, and Elin R. Pedersen. Personalized news recom-

mendation based on click behavior. In Proceeding of the 14th international

conference on Intelligent user interfaces, IUI ’10, pages 31–40, New York,

NY, USA, 2010. ACM.

[55] Shuchuan Lo and Chingching Lin. Wmr–a graph-based algorithm for friend

recommendation. wi, 0:121–128, 2006.

Page 118: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

106 动态推荐系统关键技术研究

[56] Zhengdong Lu, Deepak Agarwal, and Inderjit S. Dhillon. A spatio-temporal

approach to collaborative filtering. In Proceedings of the third ACM con-

ference on Recommender systems, RecSys ’09, pages 13–20, New York, NY,

USA, 2009. ACM.

[57] Hao Ma, Haixuan Yang, Michael R. Lyu, and Irwin King. SoRec: social rec-

ommendation using probabilistic matrix factorization. In CIKM ’08: Pro-

ceeding of the 17th ACM conference on Information and knowledge manage-

ment, pages 931–940, New York, NY, USA, 2008. ACM.

[58] Francisco J. Martin. Recsys’09 industrial keynote: top 10 lessons learned

developing deploying and operating real-world recommender systems. In

RecSys ’09: Proceedings of the third ACM conference on Recommender sys-

tems, pages 1–2, New York, NY, USA, 2009. ACM.

[59] Sean M. McNee, John Riedl, and Joseph A. Konstan. Being accurate is not

enough: how accuracy metrics have hurt recommender systems. In CHI ’06

extended abstracts on Human factors in computing systems, CHI ’06, pages

1097–1101, New York, NY, USA, 2006. ACM.

[60] David McSherry. Explanation in recommender systems. Artif. Intell. Rev.,

24:179–197, October 2005.

[61] Prem Melville, Raymod J. Mooney, and Ramadass Nagarajan. Content-

boosted collaborative filtering for improved recommendations. In Eighteenth

national conference on Artificial intelligence, pages 187–192, Menlo Park,

CA, USA, 2002. American Association for Artificial Intelligence.

[62] Robert K. Merton. The Matthew Effect in Science. Science, 159(3810):56–

63, January 1968.

[63] Batul J. Mirza, Benjamin J. Keller, and Naren Ramakrishnan. Studying rec-

ommendation algorithms by graph analysis. J. Intell. Inf. Syst., 20(2):131–

160, 2003.

Page 119: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

参考文献 107

[64] Miquel Montaner, Beatriz Lopez, and Josep Lluıs De La Rosa. A taxonomy

of recommender agents on theinternet. Artif. Intell. Rev., 19:285–330, June

2003.

[65] B. P. S. Murthi and Sumit Sarkar. The Role of the Management Sciences in

Research on Personalization. Management Science, 49:1344–1362, 2003.

[66] Cataldo Musto. Enhanced vector space models for content-based recom-

mender systems. In Proceedings of the fourth ACM conference on Recom-

mender systems, RecSys ’10, pages 361–364, New York, NY, USA, 2010.

ACM.

[67] David G. Myers, editor. Social Psychology, 8th Edition. McGraw-Hill Com-

panies, Inc., 2006.

[68] Kensuke Onuma, Hanghang Tong, and Christos Faloutsos. Tangent: a novel,

’surprise me’, recommendation algorithm. In Proceedings of the 15th ACM

SIGKDD international conference on Knowledge discovery and data mining,

KDD ’09, pages 657–666, New York, NY, USA, 2009. ACM.

[69] Lawrence Page, Sergey Brin, Rajeev Motwani, and Terry Winograd. The

pagerank citation ranking: Bringing order to the web. Technical Report

1999-66, Stanford InfoLab, November 1999.

[70] Arkadiusz Paterek. Improving regularized singular value decomposition for

collaborative filtering. In Proc. KDD Cup Workshop at SIGKDD’07, 13th

ACM Int. Conf. on Knowledge Discovery and Data Mining, pages 39–42,

2007.

[71] Paul Resnick, Neophytos Iacovou, Mitesh Suchak, Peter Bergstrom, and

John Riedl. Grouplens: an open architecture for collaborative filtering of

netnews. In Proceedings of the 1994 ACM conference on Computer supported

cooperative work, CSCW ’94, pages 175–186, New York, NY, USA, 1994.

ACM.

Page 120: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

108 动态推荐系统关键技术研究

[72] Elaine Rich. Readings in intelligent user interfaces. chapter User model-

ing via stereotypes, pages 329–342. Morgan Kaufmann Publishers Inc., San

Francisco, CA, USA, 1998.

[73] Anne-F. Rutkowski and Carol S. Saunders. Growing pains with information

overload. Computer, 43:96–95, June 2010.

[74] Gerald Salton, editor. Automatic text processing. Addison-Wesley Longman

Publishing Co., Inc., Boston, MA, USA, 1988.

[75] Shilad Sen, Jesse Vig, and John Riedl. Tagommenders: connecting users

to items through tags. In Proceedings of the 18th international conference

on World wide web, WWW ’09, pages 671–680, New York, NY, USA, 2009.

ACM.

[76] Upendra Shardanand and Patti Maes. Social Information Filtering: Algo-

rithms for Automating “Word of Mouth”. In Proceedings of ACM CHI’95

Conference on Human Factors in Computing Systems, volume 1, pages 210–

217, 1995.

[77] Upendra Shardanand and Patti Maes. Social Information Filtering: Algo-

rithms for Automating “Word of Mouth”. In Proceedings of ACM CHI’95

Conference on Human Factors in Computing Systems, volume 1, pages 210–

217, 1995.

[78] Yang Song, Ziming Zhuang, Huajing Li, Qiankun Zhao, Jia Li, Wang-Chien

Lee, and C. Lee Giles. Real-time automatic tag recommendation. In Proceed-

ings of the 31st annual international ACM SIGIR conference on Research

and development in information retrieval, SIGIR ’08, pages 515–522, New

York, NY, USA, 2008. ACM.

[79] Andreas T, Michael Jahrer, and R M Bell. The bigchaos solution to the

netflix grand prize. pages 1–52, 2009.

Page 121: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

参考文献 109

[80] Gabor Takacs, Istvan Pilaszy, Bottyan Nemeth, and Domonkos Tikk. Ma-

jor components of the gravity recommendation system. SIGKDD Explor.

Newsl., 9:80–83, December 2007.

[81] Gabor Takacs, Istvan Pilaszy, Bottyan Nemeth, and Domonkos Tikk. On

the Gravity Recommendation System. 2008.

[82] Gabor Takacs, Istvan Pilaszy, Bottyan Nemeth, and Domonkos Tikk. On

the Gravity recommendation system. In Proc. of KDD Cup Workshop at

SIGKDD’07, 13th ACM Int. Conf. on Knowledge Discovery and Data Min-

ing, pages 22–30, San Jose, CA, USA, August 12–15, 2007.

[83] Nava Tintarev and Judith Masthoff. A survey of explanations in recom-

mender systems. In Proceedings of the 2007 IEEE 23rd International Con-

ference on Data Engineering Workshop, pages 801–810, Washington, DC,

USA, 2007. IEEE Computer Society.

[84] Robert Wetzker, Carsten Zimmermann, and Christian Bauckhage. Analyz-

ing social bookmarking systems: A del.icio.us cookbook. In Mining Social

Data (MSoDa) Workshop Proceedings, pages 26–30. ECAI 2008, July 2008.

[85] Liang Xiang and Qing Yang. Time-dependent models in collabora-

tive filtering based recommender system. In Proceedings of the 2009

IEEE/WIC/ACM International Joint Conference on Web Intelligence and

Intelligent Agent Technology - Volume 01, WI-IAT ’09, pages 450–457,

Washington, DC, USA, 2009. IEEE Computer Society.

[86] Liang Xiang, Quan Yuan, Shiwan Zhao, Li Chen, Xiatian Zhang, Qing Yang,

and Jimeng Sun. Temporal recommendation on graphs via long- and short-

term preference fusion. In Proceedings of the 16th ACM SIGKDD interna-

tional conference on Knowledge discovery and data mining, KDD ’10, pages

723–732, New York, NY, USA, 2010. ACM.

[87] Liang Xiong, Xi Chen, Tzu-Kuo Huang, Jeff Schneider, and Jaime G. Car-

bonell. Temporal collaborative filtering with bayesian probabilistic tensor

factorization. In Proceedings of SIAM Data Mining, 2010.

Page 122: Phd. Thesis : Temporal Recommendation

Author xlvector, Copyrights belong to CASIA

110 动态推荐系统关键技术研究

[88] Fan Yang and Zhi-Mei Wang. A mobile location-based information recom-

mendation system based on gps and web2.0 services. W. Trans. on Comp.,

8:725–734, April 2009.

[89] Mi Zhang and Neil Hurley. Avoiding monotony: improving the diversity of

recommendation lists. In RecSys ’08: Proceedings of the 2008 ACM confer-

ence on Recommender systems, pages 123–130, New York, NY, USA, 2008.

ACM.

[90] Mi Zhang and Neil Hurley. Statistical Modeling of Diversity in Top-N Rec-

ommender Systems. In Web Intelligence, volume 1, pages 490–497, Los

Alamitos, CA, USA, 2009. IEEE.

[91] Hua Zheng, Dong Wang, Qi Zhang, Hang Li, and Tinghao Yang. Do clicks

measure recommendation relevancy?: an empirical user study. In Proceed-

ings of the fourth ACM conference on Recommender systems, RecSys ’10,

pages 249–252, New York, NY, USA, 2010. ACM.

[92] Cai-Nicolas Ziegler, SeanM. McNee, Joseph A. Konstan, and Georg Lausen.

Improving recommendation lists through topic diversification. In Proceedings

of the 14th international conference on World Wide Web, WWW ’05, pages

22–32, New York, NY, USA, 2005. ACM.

[93] Andrew Zimdars, David Maxwell Chickering, and Christopher Meek. Using

temporal data for making recommendations. In Proceedings of the 17th

Conference in Uncertainty in Artificial Intelligence, UAI ’01, pages 580–

588, San Francisco, CA, USA, 2001. Morgan Kaufmann Publishers Inc.