原文地址:http://www.tuicool.com/articles/63Ejqi
Author:张丹(Conan)
Date: 2013-04-07
Weibo: @Conan_Z
Email: [email protected]
Blog: http://www.fens.me/blog
APPs:
@晒粉丝 http://www.fens.me
@每日中国天气 http://apps.weibo.com/chinaweatherapp
RHadoop实践系列文章,包含了R语言与Hadoop结合进行海量数据分析。Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来替代Java的MapReduce实现。有了RHadoop可以让广大的R语言爱好者,有更强大的工具处理大数据。1G, 10G, 100G, TB,PB 由于大数据所带来的单机性能问题,可能会一去联复返了。
RHadoop实践是一套系列文章,主要包括”Hadoop环境搭建”,”RHadoop安装与使用”,”R实现MapReduce的算法案 例”,”HBase和rhbase的安装与使用”。对于单独的R语言爱好者,Java爱好者,或者Hadoop爱好者来说,同时具备三种语言知识并不容 易。此文虽为入门文章,但R,Java,Hadoop基础知识还是需要大家提前掌握。
1.基于物品推荐的协同过滤算法介绍
2.R本地程序实现
3.R基于Hadoop分步式程序实现
每一章节,都会分为”文字说明部分”和”代码部分”,保持文字说明与代码的连贯性。
注:Hadoop环境及RHadoop的环境,请查看同系列前二篇文章,此文将不再介绍。
越来越多的互联网应用,都开始使用推荐算法(协同过滤算法)。根据用户活跃度和物品流行度,可以分为”基于用户的协同过滤算法”和”基于物品的协同过滤算法”。
基于用户的协同过滤算法,是给用户推荐和他兴趣相似的其他用户喜欢的物品。
基于物品的协同过滤算法,是给用户推荐和他之前喜欢的物品相似的物品。
基于物品的协同过滤算法,是目前广泛使用的一种推荐算法,像Netflix, YouTube, Amazon等。
算法主要分为两步:
1. 计算物品之间的相似度
2. 根据物品的相似度和用户的历史行为给用户生成推荐列表
有关算法的细节请参考:”Mahout In Action”和”推荐系统实践”两本书。
为开发方便,我们选择一组很小的测试数据集。
在服务上创建测试数据文件small.csv
~ pwd
/root/R
~ vi small.csv
1,101,5.0
1,102,3.0
1,103,2.5
2,101,2.0
2,102,2.5
2,103,5.0
2,104,2.0
3,101,2.0
3,104,4.0
3,105,4.5
3,107,5.0
4,101,5.0
4,103,3.0
4,104,4.5
4,106,4.0
5,101,4.0
5,102,3.0
5,103,2.0
5,104,4.0
5,105,3.5
5,106,4.0
~ ls
small.csv
首先,通过R语言实现基于物品的协同过滤算法,为和RHadoop实现进行对比。这里我使用”Mahout In Action”书里,第一章第六节介绍的分步式基于物品的协同过滤算法进行实现。
“Chapter 6: Distributing recommendation computations”
算法的思想:
1. 建立物品的同现矩阵
2. 建立用户对物品的评分矩阵
3. 矩阵计算推荐结果
1. 建立物品的同现矩阵
按用户分组,找到每个用户所选的物品,单独出现计数,及两两一组计数。
例如:用户ID为3的用户,分别给101,104,105,107,这4个物品打分。
1) (101,101),(104,104),(105,105),(107,107),单独出现计算各加1。
2) (101,104),(101,105),(101,107),(104,105),(104,107),(105,107),两个一组计数各加1。
3) 把所有用户的计算结果求和,生成一个三角矩阵,再补全三角矩阵,就建立了物品的同现矩阵。
如下面矩阵所示:
[101] [102] [103] [104] [105] [106] [107]
[101] 5 3 4 4 2 2 1
[102] 3 3 3 2 1 1 0
[103] 4 3 4 3 1 2 0
[104] 4 2 3 4 2 2 1
[105] 2 1 1 2 2 1 1
[106] 2 1 2 2 1 2 0
[107] 1 0 0 1 1 0 1
2. 建立用户对物品的评分矩阵
按用户分组,找到每个用户所选的物品及评分
例如:用户ID为3的用户,分别给(3,101,2.0),(3,104,4.0),(3,105,4.5),(3,107,5.0),这4个物品打分。
1) 找到物品评分(3,101,2.0),(3,104,4.0),(3,105,4.5),(3,107,5.0)
2) 建立用户对物品的评分矩阵
U3
[101] 2.0
[102] 0.0
[103] 0.0
[104] 4.0
[105] 4.5
[106] 0.0
[107] 5.0
3. 矩阵计算推荐结果
同现矩阵*评分矩阵=推荐结果
图片摘自”Mahout In Action”
推荐给用户ID为3的用户的结果是(103,24.5),(102,18.5),(106,16.5)
代码部分:
#引用plyr包
library(plyr)
#读取数据集
train<-read.csv(file="small.csv",header=FALSE)
names(train)<-c("user","item","pref") > train
user item pref
1 1 101 5.0
2 1 102 3.0
3 1 103 2.5
4 2 101 2.0
5 2 102 2.5
6 2 103 5.0
7 2 104 2.0
8 3 101 2.0
9 3 104 4.0
10 3 105 4.5
11 3 107 5.0
12 4 101 5.0
13 4 103 3.0
14 4 104 4.5
15 4 106 4.0
16 5 101 4.0
17 5 102 3.0
18 5 103 2.0
19 5 104 4.0
20 5 105 3.5
21 5 106 4.0
#计算用户列表
usersUnique<-function(){
users<-unique(train$user)
users[order(users)]
}
#计算商品列表方法
itemsUnique<-function(){
items<-unique(train$item)
items[order(items)]
}
# 用户列表
users<-usersUnique() > users
[1] 1 2 3 4 5
# 商品列表
items<-itemsUnique() > items
[1] 101 102 103 104 105 106 107
#建立商品列表索引
index<-function(x) which(items %in% x)
data<-ddply(train,.(user,item,pref),summarize,idx=index(item)) > data
user item pref idx
1 1 101 5.0 1
2 1 102 3.0 2
3 1 103 2.5 3
4 2 101 2.0 1
5 2 102 2.5 2
6 2 103 5.0 3
7 2 104 2.0 4
8 3 101 2.0 1
9 3 104 4.0 4
10 3 105 4.5 5
11 3 107 5.0 7
12 4 101 5.0 1
13 4 103 3.0 3
14 4 104 4.5 4
15 4 106 4.0 6
16 5 101 4.0 1
17 5 102 3.0 2
18 5 103 2.0 3
19 5 104 4.0 4
20 5 105 3.5 5
21 5 106 4.0 6
#同现矩阵
cooccurrence<-function(data){
n<-length(items)
co<-matrix(rep(0,n*n),nrow=n)
for(u in users){
idx<-index(data$item[which(data$user==u)])
m<-merge(idx,idx)
for(i in 1:nrow(m)){
co[m$x[i],m$y[i]]=co[m$x[i],m$y[i]]+1
}
}
return(co)
}
#推荐算法
recommend<-function(udata=udata,co=coMatrix,num=0){
n<-length(items)
# all of pref
pref<-rep(0,n)
pref[udata$idx]<-udata$pref
# 用户评分矩阵
userx<-matrix(pref,nrow=n)
# 同现矩阵*评分矩阵
r0),]
# 推荐结果取前num个
if(num>0){
topn<-head(topn,num)
}
#返回结果
return(topn)
}
#生成同现矩阵
co<-cooccurrence(data) > co
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
[1,] 5 3 4 4 2 2 1
[2,] 3 3 3 2 1 1 0
[3,] 4 3 4 3 1 2 0
[4,] 4 2 3 4 2 2 1
[5,] 2 1 1 2 2 1 1
[6,] 2 1 2 2 1 2 0
[7,] 1 0 0 1 1 0 1
#计算推荐结果
recommendation<-data.frame()
for(i in 1:length(users)){
udata<-data[which(data$user==users[i]),]
recommendation<-rbind(recommendation,recommend(udata,co,0)) } > recommendation
user item val
1 1 104 33.5
2 1 106 18.0
3 1 105 15.5
4 1 107 5.0
5 2 106 20.5
6 2 105 15.5
7 2 107 4.0
8 3 103 24.5
9 3 102 18.5
10 3 106 16.5
11 4 102 37.0
12 4 105 26.0
13 4 107 9.5
14 5 107 11.5
R语言实现的MapReduce算法,可以基于R的数据对象实现,不必如JAVA一样使用文本存储。
算法思想同上面R语言实现思想,略有复杂。
算法的思想:
1. 建立物品的同现矩阵
1) 按用户分组,得到所有物品出现的组合列表。
2) 对物品组合列表进行计数,建立物品的同现矩阵
2. 建立用户对物品的评分矩阵
3. 合并同现矩阵和评分矩阵
4. 计算推荐结果列表
5. 按输入格式得到推荐评分列表
通过MapReduce实现时,所有操作都要使用Map和Reduce的任务完成,程序实现过程略有变化。
图片摘自”Mahout In Action”
1. 建立物品的同现矩阵
1) 按用户分组,得到所有物品出现的组合列表。
key:物品列表向量
val:物品组合向量
$key
[1] 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 102 102 102 102
[20] 102 102 102 103 103 103 103 103 103 103 103 103 103 103 104 104 104 104 104
[39] 104 104 104 104 104 104 104 105 105 105 105 106 106 106 106 107 107 107 107
[58] 101 101 101 101 101 101 102 102 102 102 102 102 103 103 103 103 103 103 104
[77] 104 104 104 104 104 105 105 105 105 105 105 106 106 106 106 106 106
$val
[1] 101 102 103 101 102 103 104 101 104 105 107 101 103 104 106 101 102 103 101
[20] 102 103 104 101 102 103 101 102 103 104 101 103 104 106 101 102 103 104 101
[39] 104 105 107 101 103 104 106 101 104 105 107 101 103 104 106 101 104 105 107
[58] 101 102 103 104 105 106 101 102 103 104 105 106 101 102 103 104 105 106 101
[77] 102 103 104 105 106 101 102 103 104 105 106 101 102 103 104 105 106
2) 对物品组合列表进行计数,建立物品的同现矩阵
key:物品列表向量
val:同现矩阵的数据框值(item,item,Freq)
矩阵格式,要与”2. 建立用户对物品的评分矩阵”的格式一致,把异构的两种数据源,合并为同一种数据格式,为”3. 合并 同现矩阵 和 评分矩阵”做数据基础。
$key
[1] 101 101 101 101 101 101 101 102 102 102 102 102 102 103 103 103 103 103 103
[20] 104 104 104 104 104 104 104 105 105 105 105 105 105 105 106 106 106 106 106
[39] 106 107 107 107 107
$val
k v freq
1 101 101 5
2 101 102 3
3 101 103 4
4 101 104 4
5 101 105 2
6 101 106 2
7 101 107 1
8 102 101 3
9 102 102 3
10 102 103 3
11 102 104 2
12 102 105 1
13 102 106 1
14 103 101 4
15 103 102 3
16 103 103 4
17 103 104 3
18 103 105 1
19 103 106 2
20 104 101 4
21 104 102 2
22 104 103 3
23 104 104 4
24 104 105 2
25 104 106 2
26 104 107 1
27 105 101 2
28 105 102 1
29 105 103 1
30 105 104 2
31 105 105 2
32 105 106 1
33 105 107 1
34 106 101 2
35 106 102 1
36 106 103 2
37 106 104 2
38 106 105 1
39 106 106 2
40 107 101 1
41 107 104 1
42 107 105 1
43 107 107 1
2. 建立用户对物品的评分矩阵
key:物品列表
val:用户对物品打分矩阵
矩阵格式,要与”2) 对物品组合列表进行计数,建立物品的同现矩阵”的格式一致,把异构的两种数据源,合并为同一种数据格式,为”3. 合并 同现矩阵 和 评分矩阵”做数据基础
$key
[1] 101 101 101 101 101 102 102 102 103 103 103 103 104 104 104 104 105 105 106
[20] 106 107
$val
item user pref
1 101 1 5.0
2 101 2 2.0
3 101 3 2.0
4 101 4 5.0
5 101 5 4.0
6 102 1 3.0
7 102 2 2.5
8 102 5 3.0
9 103 1 2.5
10 103 2 5.0
11 103 4 3.0
12 103 5 2.0
13 104 2 2.0
14 104 3 4.0
15 104 4 4.5
16 104 5 4.0
17 105 3 4.5
18 105 5 3.5
19 106 4 4.0
20 106 5 4.0
21 107 3 5.0
3. 合并 同现矩阵 和 评分矩阵
这一步操作是MapReduce比较特殊的,因为数据源是两个异构数据源,进行MapReduce的操作。
在之前,我们已经把两种格式合并为一样的。使用equijoin这个rmr2包的函数,进行矩阵合并。
key:NULL
val:合并的数据框
$key
NULL
$val
k.l v.l freq.l item.r user.r pref.r
1 103 101 4 103 1 2.5
2 103 102 3 103 1 2.5
3 103 103 4 103 1 2.5
4 103 104 3 103 1 2.5
5 103 105 1 103 1 2.5
6 103 106 2 103 1 2.5
7 103 101 4 103 2 5.0
8 103 102 3 103 2 5.0
9 103 103 4 103 2 5.0
10 103 104 3 103 2 5.0
11 103 105 1 103 2 5.0
12 103 106 2 103 2 5.0
13 103 101 4 103 4 3.0
....
4. 计算推荐结果列表
把第三步中的矩阵,进行合并计算,得到推荐结果列表
key:物品列表
val:推荐结果数据框
$key
[1] 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
[19] 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 102
[37] 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 103
[55] 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
[73] 103 103 103 103 103 104 104 104 104 104 104 104 104 104 104 104 104 104
[91] 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 105 105 105
[109] 105 105 105 105 105 105 105 105 105 105 105 106 106 106 106 106 106 106
[127] 106 106 106 106 106 107 107 107 107
$val
k.l v.l user.r v
1 101 101 1 25.0
2 101 101 2 10.0
3 101 101 3 10.0
4 101 101 4 25.0
5 101 101 5 20.0
6 101 102 1 15.0
7 101 102 2 6.0
8 101 102 3 6.0
9 101 102 4 15.0
10 101 102 5 12.0
11 101 103 1 20.0
12 101 103 2 8.0
13 101 103 3 8.0
14 101 103 4 20.0
15 101 103 5 16.0
16 101 104 1 20.0
17 101 104 2 8.0
18 101 104 3 8.0
....
5. 按输入格式得到推荐评分列表
对推荐结果列表,进行排序处理,输出排序后的推荐结果。
key:用户ID
val:推荐结果数据框
$key
[1] 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5
$val
user item pref
1 1 101 44.0
2 1 103 39.0
3 1 104 33.5
4 1 102 31.5
5 1 106 18.0
6 1 105 15.5
7 1 107 5.0
8 2 101 45.5
9 2 103 41.5
10 2 104 36.0
11 2 102 32.5
12 2 106 20.5
13 2 105 15.5
14 2 107 4.0
15 3 101 40.0
16 3 104 38.0
17 3 105 26.0
18 3 103 24.5
19 3 102 18.5
20 3 106 16.5
21 3 107 15.5
22 4 101 63.0
23 4 104 55.0
24 4 103 53.5
25 4 102 37.0
26 4 106 33.0
27 4 105 26.0
28 4 107 9.5
29 5 101 68.0
30 5 104 59.0
31 5 103 56.5
32 5 102 42.5
33 5 106 34.5
34 5 105 32.0
35 5 107 11.5
rmr2使用提示:
1) rmr.options(backend = ‘hadoop’)
这里backend有两个值,hadoop,local。hadoop是默认值,使用hadoop环境运行程序。local是一个本地测试的设置,已经不建议再使用。我在开发时,试过local设置,运行速度非常快,模拟了hadoop的运行环境。但是,local模式下的代码,不能和hadoop模式下完全兼容,变动也比较大,因此不建议大家使用。
2) equijoin(…,outer=c(‘left’))
这里outer包括了4个值,c(“”, “left”, “right”, “full”),非常像数据库中两个表的join操作
3) keyval(k,v)
mapReduce的操作,需要key和valve保存数据。如果直接输出,或者输出的未加key,会有一个警告Converting to.dfs argument to keyval with a NULL key。再上一篇文章中,rmr2的例子中就有类似的情况,请大家注意修改代码。
> to.dfs(1:10)
Warning message:
In to.dfs(1:10) : Converting to.dfs argument to keyval with a NULL key
代码部分:
#加载rmr2包
library(rmr2)
#输入数据文件
train<-read.csv(file="small.csv",header=FALSE)
names(train)<-c("user","item","pref") #使用rmr的hadoop格式,hadoop是默认设置。 rmr.options(backend = 'hadoop') #把数据集存入HDFS train.hdfs = to.dfs(keyval(train$user,train)) from.dfs(train.hdfs) > from.dfs(train.hdfs)
13/04/07 14:35:44 INFO util.NativeCodeLoader: Loaded the native-hadoop library
13/04/07 14:35:44 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
13/04/07 14:35:44 INFO compress.CodecPool: Got brand-new decompressor
$key
[1] 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 5 5
$val
user item pref
1 1 101 5.0
2 1 102 3.0
3 1 103 2.5
4 2 101 2.0
5 2 102 2.5
6 2 103 5.0
7 2 104 2.0
8 3 101 2.0
9 3 104 4.0
10 3 105 4.5
11 3 107 5.0
12 4 101 5.0
13 4 103 3.0
14 4 104 4.5
15 4 106 4.0
16 5 101 4.0
17 5 102 3.0
18 5 103 2.0
19 5 104 4.0
20 5 105 3.5
21 5 106 4.0
#STEP 1, 建立物品的同现矩阵
# 1) 按用户分组,得到所有物品出现的组合列表。
train.mr<-mapreduce(
train.hdfs,
map = function(k, v) {
keyval(k,v$item)
}
,reduce=function(k,v){
m<-merge(v,v)
keyval(m$x,m$y)
}
)
from.dfs(train.mr)
$key
[1] 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 102 102 102 102
[20] 102 102 102 103 103 103 103 103 103 103 103 103 103 103 104 104 104 104 104
[39] 104 104 104 104 104 104 104 105 105 105 105 106 106 106 106 107 107 107 107
[58] 101 101 101 101 101 101 102 102 102 102 102 102 103 103 103 103 103 103 104
[77] 104 104 104 104 104 105 105 105 105 105 105 106 106 106 106 106 106
$val
[1] 101 102 103 101 102 103 104 101 104 105 107 101 103 104 106 101 102 103 101
[20] 102 103 104 101 102 103 101 102 103 104 101 103 104 106 101 102 103 104 101
[39] 104 105 107 101 103 104 106 101 104 105 107 101 103 104 106 101 104 105 107
[58] 101 102 103 104 105 106 101 102 103 104 105 106 101 102 103 104 105 106 101
[77] 102 103 104 105 106 101 102 103 104 105 106 101 102 103 104 105 106
# 2) 对物品组合列表进行计数,建立物品的同现矩阵
step2.mr<-mapreduce(
train.mr,
map = function(k, v) {
d<-data.frame(k,v)
d2<-ddply(d,.(k,v),count)
key<-d2$k
#val<-subset(d2,select=-k)
val0) val<-v[-which(is.na(v$user.r)),]
keyval(val$k.l,val)
}
,reduce=function(k,v){
val<-ddply(v,.(k.l,v.l,user.r),summarize,v=freq.l*pref.r)
keyval(val$k.l,val)
}
)
from.dfs(cal.mr)
$key
[1] 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101
[19] 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 101 102
[37] 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 102 103
[55] 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103 103
[73] 103 103 103 103 103 104 104 104 104 104 104 104 104 104 104 104 104 104
[91] 104 104 104 104 104 104 104 104 104 104 104 104 104 104 104 105 105 105
[109] 105 105 105 105 105 105 105 105 105 105 105 106 106 106 106 106 106 106
[127] 106 106 106 106 106 107 107 107 107
$val
k.l v.l user.r v
1 101 101 1 25.0
2 101 101 2 10.0
3 101 101 3 10.0
4 101 101 4 25.0
5 101 101 5 20.0
6 101 102 1 15.0
7 101 102 2 6.0
8 101 102 3 6.0
9 101 102 4 15.0
10 101 102 5 12.0
11 101 103 1 20.0
12 101 103 2 8.0
13 101 103 3 8.0
14 101 103 4 20.0
15 101 103 5 16.0
16 101 104 1 20.0
17 101 104 2 8.0
18 101 104 3 8.0
19 101 104 4 20.0
20 101 104 5 16.0
21 101 105 1 10.0
22 101 105 2 4.0
23 101 105 3 4.0
24 101 105 4 10.0
25 101 105 5 8.0
26 101 106 1 10.0
27 101 106 2 4.0
28 101 106 3 4.0
29 101 106 4 10.0
30 101 106 5 8.0
31 101 107 1 5.0
32 101 107 2 2.0
33 101 107 3 2.0
34 101 107 4 5.0
35 101 107 5 4.0
36 102 101 1 9.0
37 102 101 2 7.5
38 102 101 5 9.0
39 102 102 1 9.0
40 102 102 2 7.5
41 102 102 5 9.0
42 102 103 1 9.0
43 102 103 2 7.5
44 102 103 5 9.0
45 102 104 1 6.0
46 102 104 2 5.0
47 102 104 5 6.0
48 102 105 1 3.0
49 102 105 2 2.5
50 102 105 5 3.0
51 102 106 1 3.0
52 102 106 2 2.5
53 102 106 5 3.0
54 103 101 1 10.0
55 103 101 2 20.0
56 103 101 4 12.0
57 103 101 5 8.0
58 103 102 1 7.5
59 103 102 2 15.0
60 103 102 4 9.0
61 103 102 5 6.0
62 103 103 1 10.0
63 103 103 2 20.0
64 103 103 4 12.0
65 103 103 5 8.0
66 103 104 1 7.5
67 103 104 2 15.0
68 103 104 4 9.0
69 103 104 5 6.0
70 103 105 1 2.5
71 103 105 2 5.0
72 103 105 4 3.0
73 103 105 5 2.0
74 103 106 1 5.0
75 103 106 2 10.0
76 103 106 4 6.0
77 103 106 5 4.0
78 104 101 2 8.0
79 104 101 3 16.0
80 104 101 4 18.0
81 104 101 5 16.0
82 104 102 2 4.0
83 104 102 3 8.0
84 104 102 4 9.0
85 104 102 5 8.0
86 104 103 2 6.0
87 104 103 3 12.0
88 104 103 4 13.5
89 104 103 5 12.0
90 104 104 2 8.0
91 104 104 3 16.0
92 104 104 4 18.0
93 104 104 5 16.0
94 104 105 2 4.0
95 104 105 3 8.0
96 104 105 4 9.0
97 104 105 5 8.0
98 104 106 2 4.0
99 104 106 3 8.0
100 104 106 4 9.0
101 104 106 5 8.0
102 104 107 2 2.0
103 104 107 3 4.0
104 104 107 4 4.5
105 104 107 5 4.0
106 105 101 3 9.0
107 105 101 5 7.0
108 105 102 3 4.5
109 105 102 5 3.5
110 105 103 3 4.5
111 105 103 5 3.5
112 105 104 3 9.0
113 105 104 5 7.0
114 105 105 3 9.0
115 105 105 5 7.0
116 105 106 3 4.5
117 105 106 5 3.5
118 105 107 3 4.5
119 105 107 5 3.5
120 106 101 4 8.0
121 106 101 5 8.0
122 106 102 4 4.0
123 106 102 5 4.0
124 106 103 4 8.0
125 106 103 5 8.0
126 106 104 4 8.0
127 106 104 5 8.0
128 106 105 4 4.0
129 106 105 5 4.0
130 106 106 4 8.0
131 106 106 5 8.0
132 107 101 3 5.0
133 107 104 3 5.0
134 107 105 3 5.0
135 107 107 3 5.0
#5. 按输入格式得到推荐评分列表
result.mr<-mapreduce(
input=cal.mr,
map=function(k,v){
keyval(v$user.r,v)
}
,reduce=function(k,v){
val<-ddply(v,.(user.r,v.l),summarize,v=sum(v))
val2<-val[order(val$v,decreasing=TRUE),]
names(val2)<-c("user","item","pref")
keyval(val2$user,val2)
}
)
from.dfs(result.mr)
$key
[1] 1 1 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 4 4 4 4 4 4 5 5 5 5 5 5 5
$val
user item pref
1 1 101 44.0
2 1 103 39.0
3 1 104 33.5
4 1 102 31.5
5 1 106 18.0
6 1 105 15.5
7 1 107 5.0
8 2 101 45.5
9 2 103 41.5
10 2 104 36.0
11 2 102 32.5
12 2 106 20.5
13 2 105 15.5
14 2 107 4.0
15 3 101 40.0
16 3 104 38.0
17 3 105 26.0
18 3 103 24.5
19 3 102 18.5
20 3 106 16.5
21 3 107 15.5
22 4 101 63.0
23 4 104 55.0
24 4 103 53.5
25 4 102 37.0
26 4 106 33.0
27 4 105 26.0
28 4 107 9.5
29 5 101 68.0
30 5 104 59.0
31 5 103 56.5
32 5 102 42.5
33 5 106 34.5
34 5 105 32.0
35 5 107 11.5
文章中提供了R用MapReduce方法,实现协同过滤算法的一种思路。
算法可能不是最优的,希望大家有时间写出更好的算法来!随着R语言及Hadoop的发展,相信会有越来越多的算法应用会使用这种方式!
如有问题请给我留言,我很高兴与大家讨论。
http://www.douban.com/people/97876877/
http://www.douban.com/people/97876774/
http://www.douban.com/people/97876805/
http://www.douban.com/people/97876821/
http://www.douban.com/people/97876871/
http://www.douban.com/people/97876678/
http://www.douban.com/people/97876872/
http://www.douban.com/people/97876950/
http://www.douban.com/people/97876699/
http://www.douban.com/people/97876943/
http://www.douban.com/people/97876717/
http://www.douban.com/people/97877044/
http://www.douban.com/people/97876917/
http://www.douban.com/people/97877099/
http://www.douban.com/people/97877039/
http://www.douban.com/people/97877035/
http://www.douban.com/people/97877145/
http://www.douban.com/people/97876951/
http://www.douban.com/people/97876956/
http://www.douban.com/people/97876897/
http://www.douban.com/people/97876709/
http://www.douban.com/people/97877215/
http://www.douban.com/people/97877241/
http://www.douban.com/people/97876874/
http://www.douban.com/people/97876953/
http://www.douban.com/people/97876706/
http://www.douban.com/people/97876761/
http://www.douban.com/people/97877218/
http://www.douban.com/people/97877037/
http://www.douban.com/people/97877278/
http://www.douban.com/people/97877068/
http://www.douban.com/people/97876932/
http://www.douban.com/people/97877318/
http://www.douban.com/people/97877268/
http://www.douban.com/people/97877085/
http://www.douban.com/people/97877352/
http://www.douban.com/people/97877262/
http://www.douban.com/people/97877369/
http://www.douban.com/people/97876911/
http://www.douban.com/people/97877378/
http://www.douban.com/people/97877376/
http://www.douban.com/people/97876915/
http://www.douban.com/people/97877294/
http://www.douban.com/people/97877077/
http://www.douban.com/people/97877434/
http://www.douban.com/people/97877440/
http://www.douban.com/people/97877245/
http://www.douban.com/people/97877164/
http://www.douban.com/people/97877516/
http://www.douban.com/people/97877535/
http://www.douban.com/people/97877291/
http://www.douban.com/people/97877136/
http://www.douban.com/people/97876819/
http://www.douban.com/people/97877459/
http://www.douban.com/people/97877001/
http://www.douban.com/people/97877290/
http://www.douban.com/people/97877203/
http://www.douban.com/people/97877595/
http://www.douban.com/people/97877608/
http://www.douban.com/people/97877519/
http://www.douban.com/people/97877572/
http://www.douban.com/people/97877645/
http://www.douban.com/people/97877207/
http://www.douban.com/people/97877644/
http://www.douban.com/people/97877189/
http://www.douban.com/people/97877679/
http://www.douban.com/people/97877601/
http://www.douban.com/people/97877547/
http://www.douban.com/people/97876714/
http://www.douban.com/people/97877675/
http://www.douban.com/people/97877709/
http://www.douban.com/people/97877747/
http://www.douban.com/people/97877726/
http://www.douban.com/people/97877799/
http://www.douban.com/people/97877505/
http://www.douban.com/people/97877756/
http://www.douban.com/people/97877834/
http://www.douban.com/people/97877599/
http://www.douban.com/people/97877476/
http://www.douban.com/people/97877120/
http://www.douban.com/people/97877861/
http://www.douban.com/people/97877659/
http://www.douban.com/people/97877759/
http://www.douban.com/people/97877235/
http://www.douban.com/people/97877473/
http://www.douban.com/people/97878057/
http://www.douban.com/people/97877691/
http://www.douban.com/people/97877829/
http://www.douban.com/people/97877500/
http://www.douban.com/people/97877867/
http://www.douban.com/people/97877571/
http://www.douban.com/people/97877430/
http://www.douban.com/people/97877898/
http://www.douban.com/people/97877886/
http://www.douban.com/people/97877468/
http://www.douban.com/people/97878003/
http://www.douban.com/people/97877497/
http://www.douban.com/people/97877817/
http://www.douban.com/people/97878062/
http://www.douban.com/people/97877716/
http://www.douban.com/people/97877911/
http://www.douban.com/people/97878105/
http://www.douban.com/people/97877839/
http://www.douban.com/people/97878325/
http://www.douban.com/people/97877548/
http://www.douban.com/people/97878097/
http://www.douban.com/people/97877792/
http://www.douban.com/people/97878299/
http://www.douban.com/people/97878157/
http://www.douban.com/people/97878263/
http://www.douban.com/people/97877692/
http://www.douban.com/people/97878181/
http://www.douban.com/people/97878233/
http://www.douban.com/people/97878226/
http://www.douban.com/people/97877793/
http://www.douban.com/people/97878273/
http://www.douban.com/people/97878285/
http://www.douban.com/people/97878012/
http://www.douban.com/people/97878221/
http://www.douban.com/people/97878475/
http://www.douban.com/people/97877954/
http://www.douban.com/people/97878393/
http://www.douban.com/people/97878565/
http://www.douban.com/people/97878043/
http://www.douban.com/people/97878425/
http://www.douban.com/people/97878281/
http://www.douban.com/people/97876833/
http://www.douban.com/people/97877856/
http://www.douban.com/people/97877696/
http://www.douban.com/people/97878379/
http://www.douban.com/people/97877815/
http://www.douban.com/people/97877763/
http://www.douban.com/people/97878753/
http://www.douban.com/people/97878341/
http://www.douban.com/people/97878689/
http://www.douban.com/people/97878792/
http://www.douban.com/people/97878523/
http://www.douban.com/people/97878224/
http://www.douban.com/people/97878360/
http://www.douban.com/people/97878846/
http://www.douban.com/people/97878645/
http://www.douban.com/people/97878715/
http://www.douban.com/people/97878995/
http://www.douban.com/people/97878414/
http://www.douban.com/people/97877591/
http://www.douban.com/people/97878862/
http://www.douban.com/people/97878881/
http://www.douban.com/people/97878910/
http://www.douban.com/people/97878853/
http://www.douban.com/people/97878833/
http://www.douban.com/people/97878812/
http://www.douban.com/people/97878852/
http://www.douban.com/people/97879065/
http://www.douban.com/people/97879027/
http://www.douban.com/people/97879129/
http://www.douban.com/people/97878717/
http://www.douban.com/people/97879169/
http://www.douban.com/people/97878313/
http://www.douban.com/people/97878801/
http://www.douban.com/people/97878443/
http://www.douban.com/people/97879130/
http://www.douban.com/people/97878864/
http://www.douban.com/people/97879226/
http://www.douban.com/people/97877975/
http://www.douban.com/people/97879244/
http://www.douban.com/people/97878743/
http://www.douban.com/people/97878702/
http://www.douban.com/people/97879128/
http://www.douban.com/people/97879321/
http://www.douban.com/people/97879359/
http://www.douban.com/people/97878694/
http://www.douban.com/people/97878909/
http://www.douban.com/people/97876750/
http://www.douban.com/people/97879084/
http://www.douban.com/people/97878164/
http://www.douban.com/people/97879406/
http://www.douban.com/people/97879148/
http://www.douban.com/people/97879551/
http://www.douban.com/people/97879458/
http://www.douban.com/people/97879510/
http://www.douban.com/people/97879087/
http://www.douban.com/people/97879666/
http://www.douban.com/people/97879043/
http://www.douban.com/people/97879480/
http://www.douban.com/people/97879017/
http://www.douban.com/people/97879644/
http://www.douban.com/people/97879505/
http://www.douban.com/people/97879572/
http://www.douban.com/people/97879072/
http://www.douban.com/people/97879600/
http://www.douban.com/people/97879681/
http://www.douban.com/people/97878943/
http://www.douban.com/people/97879719/
http://www.douban.com/people/97878786/
http://www.douban.com/people/97879709/
http://www.douban.com/people/97879615/
http://www.douban.com/people/97878055/
http://www.douban.com/people/97879583/
http://www.douban.com/people/97879221/
http://www.douban.com/people/97877436/
http://www.douban.com/people/97879383/
http://www.douban.com/people/97879804/
http://www.douban.com/people/97879330/
http://www.douban.com/people/97879890/
http://www.douban.com/people/97879859/
http://www.douban.com/people/97879014/
http://www.douban.com/people/97879792/
http://www.douban.com/people/97879691/
http://www.douban.com/people/97879774/
http://www.douban.com/people/97879219/
http://www.douban.com/people/97879409/
http://www.douban.com/people/97879493/
http://www.douban.com/people/97879838/
http://www.douban.com/people/97879721/
http://www.douban.com/people/97879828/
http://www.douban.com/people/97879916/
http://www.douban.com/people/97879343/
http://www.douban.com/people/97879740/
http://www.douban.com/people/97879909/
http://www.douban.com/people/97880491/
http://www.douban.com/people/97879387/
http://www.douban.com/people/97879876/
http://www.douban.com/people/97879853/
http://www.douban.com/people/97880630/
http://www.douban.com/people/97879772/
http://www.douban.com/people/97879516/
http://www.douban.com/people/97880573/
http://www.douban.com/people/97880659/
http://www.douban.com/people/97879875/
http://www.douban.com/people/97879316/
http://www.douban.com/people/97880586/
http://www.douban.com/people/97880704/
http://www.douban.com/people/97880557/
http://www.douban.com/people/97880690/
http://www.douban.com/people/97880676/
http://www.douban.com/people/97930904/
http://www.douban.com/people/97879819/
http://www.douban.com/people/97879749/
http://www.douban.com/people/97880922/
http://www.douban.com/people/97880524/
http://www.douban.com/people/97930467/
http://www.douban.com/people/97880950/
http://www.douban.com/people/97879697/
http://www.douban.com/people/97880546/
http://www.douban.com/people/97879931/
http://www.douban.com/people/97879602/
http://www.douban.com/people/97879649/
http://www.douban.com/people/97880556/
http://www.douban.com/people/97880861/
http://www.douban.com/people/97880890/
http://www.douban.com/people/97881142/
http://www.douban.com/people/97879296/
http://www.douban.com/people/97879390/
http://www.douban.com/people/97881182/
http://www.douban.com/people/97880522/
http://www.douban.com/people/97881022/
http://www.douban.com/people/97881140/
http://www.douban.com/people/97881100/
http://www.douban.com/people/97881043/
http://www.douban.com/people/97880686/
http://www.douban.com/people/97881308/
http://www.douban.com/people/97881260/
http://www.douban.com/people/97931075/
http://www.douban.com/people/97881219/
http://www.douban.com/people/97881300/
http://www.douban.com/people/97881210/
http://www.douban.com/people/97880762/
http://www.douban.com/people/97881234/
http://www.douban.com/people/97881334/
http://www.douban.com/people/97879768/
http://www.douban.com/people/97931162/
http://www.douban.com/people/97880771/
http://www.douban.com/people/97881344/
http://www.douban.com/people/97881288/
http://www.douban.com/people/97881417/
http://www.douban.com/people/97881370/
http://www.douban.com/people/97881304/
http://www.douban.com/people/97880749/
http://www.douban.com/people/97881044/
http://www.douban.com/people/97881570/
http://www.douban.com/people/97881510/
http://www.douban.com/people/97881528/
http://www.douban.com/people/97881727/
http://www.douban.com/people/97880807/
http://www.douban.com/people/97881393/
http://www.douban.com/people/97881659/
http://www.douban.com/people/97881658/
http://www.douban.com/people/97881610/
http://www.douban.com/people/97880758/
http://www.douban.com/people/97881179/
http://www.douban.com/people/97880940/
http://www.douban.com/people/97881622/
http://www.douban.com/people/97881518/
http://www.douban.com/people/97881184/
http://www.douban.com/people/97881930/
http://www.douban.com/people/97881586/
http://www.douban.com/people/97880718/
http://www.douban.com/people/97881813/
http://www.douban.com/people/97881189/
http://www.douban.com/people/97881887/
http://www.douban.com/people/97881669/
http://www.douban.com/people/97881509/
http://www.douban.com/people/97881729/
http://www.douban.com/people/97881706/
http://www.douban.com/people/97881314/
http://www.douban.com/people/97881497/
http://www.douban.com/people/97881561/
http://www.douban.com/people/97881841/
http://www.douban.com/people/97881654/
http://www.douban.com/people/97881794/
http://www.douban.com/people/97882068/
http://www.douban.com/people/97882006/
http://www.douban.com/people/97881938/
http://www.douban.com/people/97881385/
http://www.douban.com/people/97882040/
http://www.douban.com/people/97882172/
http://www.douban.com/people/97881702/
http://www.douban.com/people/97882072/
http://www.douban.com/people/97930452/
http://www.douban.com/people/97882339/
http://www.douban.com/people/97931357/
http://www.douban.com/people/97882095/
http://www.douban.com/people/97930710/
http://www.douban.com/people/97882022/
http://www.douban.com/people/97881657/
http://www.douban.com/people/97881781/
http://www.douban.com/people/97880943/
http://www.douban.com/people/97882217/
http://www.douban.com/people/97882338/
http://www.douban.com/people/97882005/
http://www.douban.com/people/97931376/
http://www.douban.com/people/97882340/
http://www.douban.com/people/97882401/
http://www.douban.com/people/97931207/
http://www.douban.com/people/97930606/
http://www.douban.com/people/97931036/
http://www.douban.com/people/97882231/
http://www.douban.com/people/97882222/
http://www.douban.com/people/97881948/
http://www.douban.com/people/97930858/
http://www.douban.com/people/97931660/
http://www.douban.com/people/97881285/
http://www.douban.com/people/97882560/
http://www.douban.com/people/97882223/
http://www.douban.com/people/97879980/
http://www.douban.com/people/97930718/
http://www.douban.com/people/97882212/
http://www.douban.com/people/97931355/
http://www.douban.com/people/97879941/
http://www.douban.com/people/97881971/
http://www.douban.com/people/97882270/
http://www.douban.com/people/97881943/
http://www.douban.com/people/97880095/
http://www.douban.com/people/97879966/
http://www.douban.com/people/97879976/
http://www.douban.com/people/97931539/
http://www.douban.com/people/97882663/
http://www.douban.com/people/97930687/
http://www.douban.com/people/97930516/
http://www.douban.com/people/97882154/
http://www.douban.com/people/97880100/
http://www.douban.com/people/97880059/
http://www.douban.com/people/97930882/
http://www.douban.com/people/97880240/
http://www.douban.com/people/97880255/
http://www.douban.com/people/97880197/
http://www.douban.com/people/97882271/
http://www.douban.com/people/97879950/
http://www.douban.com/people/97880044/
http://www.douban.com/people/97880317/
http://www.douban.com/people/97880408/
http://www.douban.com/people/97880354/
http://www.douban.com/people/97880266/
http://www.douban.com/people/97931021/
http://www.douban.com/people/97880001/
http://www.douban.com/people/97882405/
http://www.douban.com/people/97880007/
http://www.douban.com/people/97882845/
http://www.douban.com/people/97879952/
http://www.douban.com/people/97930450/
http://www.douban.com/people/97880050/
http://www.douban.com/people/97930819/
http://www.douban.com/people/97880402/
http://www.douban.com/people/97880423/
http://www.douban.com/people/97883000/
http://www.douban.com/people/97882949/
http://www.douban.com/people/97930798/
http://www.douban.com/people/97931485/
http://www.douban.com/people/97931085/
http://www.douban.com/people/97882898/
http://www.douban.com/people/97931201/
http://www.douban.com/people/97882959/
http://www.douban.com/people/97880360/
http://www.douban.com/people/97880476/
http://www.douban.com/people/97880413/
http://www.douban.com/people/97931160/
http://www.douban.com/people/97880437/
http://www.douban.com/people/97881290/
http://www.douban.com/people/97883117/
http://www.douban.com/people/97930589/
http://www.douban.com/people/97883081/
http://www.douban.com/people/97883149/
http://www.douban.com/people/97883204/
http://www.douban.com/people/97930860/
http://www.douban.com/people/97880043/
http://www.douban.com/people/97880318/
http://www.douban.com/people/97883268/
http://www.douban.com/people/97883229/
http://www.douban.com/people/97883283/
http://www.douban.com/people/97883185/
http://www.douban.com/people/97883291/
http://www.douban.com/people/97931029/
http://www.douban.com/people/97930901/
http://www.douban.com/people/97880199/
http://www.douban.com/people/97883118/
http://www.douban.com/people/97883277/
http://www.douban.com/people/97881828/
http://www.douban.com/people/97883345/
http://www.douban.com/people/97880287/
http://www.douban.com/people/97883360/
http://www.douban.com/people/97883047/
http://www.douban.com/people/97883373/
http://www.douban.com/people/97883405/
http://www.douban.com/people/97883383/
http://www.douban.com/people/97930938/
http://www.douban.com/people/97930460/
http://www.douban.com/people/97930611/
http://www.douban.com/people/97883566/
http://www.douban.com/people/97883469/
http://www.douban.com/people/97883121/
http://www.douban.com/people/97883594/
http://www.douban.com/people/97883334/
http://www.douban.com/people/97883433/
http://www.douban.com/people/97883532/
http://www.douban.com/people/97883521/
http://www.douban.com/people/97883477/
http://www.douban.com/people/97883560/
http://www.douban.com/people/97880131/
http://www.douban.com/people/97883425/
http://www.douban.com/people/97883744/
http://www.douban.com/people/97883667/
http://www.douban.com/people/97883421/
http://www.douban.com/people/97883632/
http://www.douban.com/people/97883681/
http://www.douban.com/people/97883397/
http://www.douban.com/people/97883145/
http://www.douban.com/people/97883630/
http://www.douban.com/people/97883228/
http://www.douban.com/people/97883781/
http://www.douban.com/people/97883834/
http://www.douban.com/people/97883494/
http://www.douban.com/people/97883799/
http://www.douban.com/people/97884029/
http://www.douban.com/people/97883865/
http://www.douban.com/people/97883707/
http://www.douban.com/people/97883889/
http://www.douban.com/people/97883581/
http://www.douban.com/people/97883187/
http://www.douban.com/people/97884095/
http://www.douban.com/people/97884107/
http://www.douban.com/people/97884181/
http://www.douban.com/people/97884164/
http://www.douban.com/people/97883772/
http://www.douban.com/people/97884134/
http://www.douban.com/people/97883874/
http://www.douban.com/people/97884186/
http://www.douban.com/people/97884037/
http://www.douban.com/people/97883513/
http://www.douban.com/people/97883649/
http://www.douban.com/people/97884233/
http://www.douban.com/people/97883909/
http://www.douban.com/people/97884282/
http://www.douban.com/people/97884388/
http://www.douban.com/people/97884199/
http://www.douban.com/people/97884117/
http://www.douban.com/people/97883918/
http://www.douban.com/people/97884183/
http://www.douban.com/people/97883850/
http://www.douban.com/people/97884417/
http://www.douban.com/people/97884100/
http://www.douban.com/people/97884330/
http://www.douban.com/people/97883871/
http://www.douban.com/people/97883695/
http://www.douban.com/people/97884173/
http://www.douban.com/people/97884093/
http://www.douban.com/people/97883298/
http://www.douban.com/people/97883804/
http://www.douban.com/people/97884402/
http://www.douban.com/people/97884452/
http://www.douban.com/people/97884543/
http://www.douban.com/people/97884241/
http://www.douban.com/people/97884608/
http://www.douban.com/people/97884671/
http://www.douban.com/people/97880348/
http://www.douban.com/people/97884459/
http://www.douban.com/people/97884375/
http://www.douban.com/people/97930552/
http://www.douban.com/people/97884750/
http://www.douban.com/people/97884659/
http://www.douban.com/people/97884603/
http://www.douban.com/people/97884169/
http://www.douban.com/people/97884701/
http://www.douban.com/people/97884644/
http://www.douban.com/people/97884908/
http://www.douban.com/people/97884545/
http://www.douban.com/people/97884837/
http://www.douban.com/people/97884832/
http://www.douban.com/people/97884382/
http://www.douban.com/people/97884246/
http://www.douban.com/people/97884065/
http://www.douban.com/people/97884790/
http://www.douban.com/people/97884854/
http://www.douban.com/people/97885008/
http://www.douban.com/people/97884796/
http://www.douban.com/people/97884478/
http://www.douban.com/people/97885062/
http://www.douban.com/people/97885163/
http://www.douban.com/people/97884507/
http://www.douban.com/people/97885041/
http://www.douban.com/people/97885083/
http://www.douban.com/people/97884959/
http://www.douban.com/people/97884986/
http://www.douban.com/people/97885221/
http://www.douban.com/people/97885071/
http://www.douban.com/people/97885034/
http://www.douban.com/people/97885147/
http://www.douban.com/people/97884684/
http://www.douban.com/people/97885353/
http://www.douban.com/people/97885365/
http://www.douban.com/people/97885220/
http://www.douban.com/people/97883568/
http://www.douban.com/people/97885232/
http://www.douban.com/people/97885306/
http://www.douban.com/people/97885358/
http://www.douban.com/people/97885238/
http://www.douban.com/people/97884498/
http://www.douban.com/people/97885444/
http://www.douban.com/people/97884753/
http://www.douban.com/people/97885153/
http://www.douban.com/people/97885160/
http://www.douban.com/people/97885374/
http://www.douban.com/people/97885533/
http://www.douban.com/people/97885502/
http://www.douban.com/people/97884827/
http://www.douban.com/people/97884962/
http://www.douban.com/people/97885506/
http://www.douban.com/people/97885564/
http://www.douban.com/people/97885657/
http://www.douban.com/people/97885685/
http://www.douban.com/people/97885595/
http://www.douban.com/people/97885671/
http://www.douban.com/people/97884630/
http://www.douban.com/people/97885633/
http://www.douban.com/people/97885767/
http://www.douban.com/people/97930475/
http://www.douban.com/people/97885847/
http://www.douban.com/people/97884593/
http://www.douban.com/people/97885824/
http://www.douban.com/people/97884390/
http://www.douban.com/people/97886046/
http://www.douban.com/people/97885836/
http://www.douban.com/people/97885749/
http://www.douban.com/people/97885242/
http://www.douban.com/people/97885957/
http://www.douban.com/people/97885752/
http://www.douban.com/people/97885408/
http://www.douban.com/people/97886124/
http://www.douban.com/people/97886206/
http://www.douban.com/people/97886114/
http://www.douban.com/people/97886062/
http://www.douban.com/people/97886006/
http://www.douban.com/people/97886199/
http://www.douban.com/people/97885525/
http://www.douban.com/people/97885815/
http://www.douban.com/people/97886302/
http://www.douban.com/people/97886236/
http://www.douban.com/people/97885689/
http://www.douban.com/people/97886312/
http://www.douban.com/people/97886376/
http://www.douban.com/people/97885792/
http://www.douban.com/people/97885940/
http://www.douban.com/people/97886021/
http://www.douban.com/people/97931404/
http://www.douban.com/people/97885853/
http://www.douban.com/people/97886194/
http://www.douban.com/people/97886541/
http://www.douban.com/people/97886422/
http://www.douban.com/people/97886551/
http://www.douban.com/people/97885758/
http://www.douban.com/people/97886411/
http://www.douban.com/people/97886562/
http://www.douban.com/people/97886444/
http://www.douban.com/people/97886481/
http://www.douban.com/people/97886549/
http://www.douban.com/people/97886591/
http://www.douban.com/people/97886371/
http://www.douban.com/people/97886147/
http://www.douban.com/people/97886272/
http://www.douban.com/people/97886010/
http://www.douban.com/people/97886787/
http://www.douban.com/people/97886809/
http://www.douban.com/people/97886843/
http://www.douban.com/people/97886681/
http://www.douban.com/people/97886407/
http://www.douban.com/people/97886656/
http://www.douban.com/people/97885892/
http://www.douban.com/people/97886616/
http://www.douban.com/people/97886744/
http://www.douban.com/people/97886852/
http://www.douban.com/people/97886850/
http://www.douban.com/people/97886501/
http://www.douban.com/people/97886622/
http://www.douban.com/people/97886163/
http://www.douban.com/people/97886425/
http://www.douban.com/people/97886874/
http://www.douban.com/people/97886332/
http://www.douban.com/people/97886876/
http://www.douban.com/people/97885207/
http://www.douban.com/people/97887058/
http://www.douban.com/people/97886759/
http://www.douban.com/people/97887236/
http://www.douban.com/people/97887112/
http://www.douban.com/people/97887170/
http://www.douban.com/people/97887160/
http://www.douban.com/people/97886974/
http://www.douban.com/people/97887047/
http://www.douban.com/people/97887097/
http://www.douban.com/people/97886388/
http://www.douban.com/people/97886161/
http://www.douban.com/people/97886763/
http://www.douban.com/people/97886925/
http://www.douban.com/people/97887052/
http://www.douban.com/people/97887191/
http://www.douban.com/people/97887036/
http://www.douban.com/people/97887190/
http://www.douban.com/people/97886835/
http://www.douban.com/people/97887101/
http://www.douban.com/people/97886410/
http://www.douban.com/people/97887158/
http://www.douban.com/people/97887197/
http://www.douban.com/people/97886942/
http://www.douban.com/people/97886980/
http://www.douban.com/people/97885241/
http://www.douban.com/people/97887238/
http://www.douban.com/people/97886694/
http://www.douban.com/people/97886870/
http://www.douban.com/people/97890993/
http://www.douban.com/people/97890905/
http://www.douban.com/people/97891057/
http://www.douban.com/people/97891101/
http://www.douban.com/people/97890913/
http://www.douban.com/people/97891095/
http://www.douban.com/people/97891035/
http://www.douban.com/people/97890949/
http://www.douban.com/people/97891145/
http://www.douban.com/people/97891038/
http://www.douban.com/people/97891129/
http://www.douban.com/people/97891066/
http://www.douban.com/people/97891096/
http://www.douban.com/people/97891255/
http://www.douban.com/people/97890990/
http://www.douban.com/people/97891322/
http://www.douban.com/people/97891201/
http://www.douban.com/people/97891257/
http://www.douban.com/people/97891160/
http://www.douban.com/people/97890996/
http://www.douban.com/people/97891268/
http://www.douban.com/people/97891166/
http://www.douban.com/people/97891179/
http://www.douban.com/people/97891259/
http://www.douban.com/people/97891391/
http://www.douban.com/people/97891213/
http://www.douban.com/people/97891394/
http://www.douban.com/people/97891325/
http://www.douban.com/people/97891356/
http://www.douban.com/people/97891218/
http://www.douban.com/people/97890949/
http://www.douban.com/people/97890987/
http://www.douban.com/people/97891420/
http://www.douban.com/people/97890996/
http://www.douban.com/people/97890905/
http://www.douban.com/people/97890945/
http://www.douban.com/people/97891320/
http://www.douban.com/people/97891057/
http://www.douban.com/people/97891257/
http://www.douban.com/people/97891446/
http://www.douban.com/people/97890990/
http://www.douban.com/people/97890993/
http://www.douban.com/people/97891255/
http://www.douban.com/people/97891101/
http://www.douban.com/people/97891096/
http://www.douban.com/people/97890953/
http://www.douban.com/people/97891403/
http://www.douban.com/people/97891515/
http://www.douban.com/people/97891268/
http://www.douban.com/people/97891587/
http://www.douban.com/people/97891145/
http://www.douban.com/people/97891322/
http://www.douban.com/people/97891035/
http://www.douban.com/people/97891397/
http://www.douban.com/people/97891537/
http://www.douban.com/people/97891569/
http://www.douban.com/people/97891616/
http://www.douban.com/people/97891540/
http://www.douban.com/people/97891201/
http://www.douban.com/people/97892123/
http://www.douban.com/people/97892129/
http://www.douban.com/people/97890913/
http://www.douban.com/people/97892175/
http://www.douban.com/people/97891410/
http://www.douban.com/people/97892126/
http://www.douban.com/people/97891619/
http://www.douban.com/people/97891453/
http://www.douban.com/people/97892225/
http://www.douban.com/people/97892186/
http://www.douban.com/people/97892193/
http://www.douban.com/people/97891038/
http://www.douban.com/people/97892133/
http://www.douban.com/people/97891438/
http://www.douban.com/people/97891572/
http://www.douban.com/people/97891346/
http://www.douban.com/people/97892274/
http://www.douban.com/people/97892195/
http://www.douban.com/people/97891179/
http://www.douban.com/people/97892362/
http://www.douban.com/people/97892271/
http://www.douban.com/people/97891166/
http://www.douban.com/people/97891160/
http://www.douban.com/people/97891585/
http://www.douban.com/people/97892258/
http://www.douban.com/people/97891436/
http://www.douban.com/people/97891510/
http://www.douban.com/people/97892385/
http://www.douban.com/people/97891576/
http://www.douban.com/people/97892082/
http://www.douban.com/people/97892132/
http://www.douban.com/people/97892318/
http://www.douban.com/people/97891095/
http://www.douban.com/people/97892287/
http://www.douban.com/people/97891391/
http://www.douban.com/people/97892536/
http://www.douban.com/people/97892523/
http://www.douban.com/people/97891259/
http://www.douban.com/people/97892463/
http://www.douban.com/people/97892416/
http://www.douban.com/people/97892460/
http://www.douban.com/people/97892263/
http://www.douban.com/people/97891490/
http://www.douban.com/people/97892440/
http://www.douban.com/people/97892376/
http://www.douban.com/people/97892310/
http://www.douban.com/people/97892616/
http://www.douban.com/people/97892530/
http://www.douban.com/people/97892353/
http://www.douban.com/people/97892596/
http://www.douban.com/people/97892541/
http://www.douban.com/people/97892465/
http://www.douban.com/people/97892095/
http://www.douban.com/people/97892435/
http://www.douban.com/people/97892818/
http://www.douban.com/people/97892260/
http://www.douban.com/people/97892677/
http://www.douban.com/people/97892417/
http://www.douban.com/people/97892498/
http://www.douban.com/people/97892801/
http://www.douban.com/people/97892379/
http://www.douban.com/people/97891554/
http://www.douban.com/people/97892912/
http://www.douban.com/people/97892830/
http://www.douban.com/people/97892710/
http://www.douban.com/people/97892734/
http://www.douban.com/people/97892549/
http://www.douban.com/people/97892945/
http://www.douban.com/people/97892382/
http://www.douban.com/people/97892624/
http://www.douban.com/people/97892635/
http://www.douban.com/people/97892876/
http://www.douban.com/people/97892735/
http://www.douban.com/people/97891686/
http://www.douban.com/people/97930711/
http://www.douban.com/people/97892857/
http://www.douban.com/people/97892933/
http://www.douban.com/people/97892733/
http://www.douban.com/people/97891692/
http://www.douban.com/people/97891627/
http://www.douban.com/people/97891787/
http://www.douban.com/people/97892560/
http://www.douban.com/people/97891973/
http://www.douban.com/people/97891819/
http://www.douban.com/people/97892841/
http://www.douban.com/people/97891911/
http://www.douban.com/people/97891901/
http://www.douban.com/people/97891673/
http://www.douban.com/people/97891761/
http://www.douban.com/people/97891683/
http://www.douban.com/people/97891930/
http://www.douban.com/people/97892929/
http://www.douban.com/people/97892056/
http://www.douban.com/people/97891952/
http://www.douban.com/people/97891732/
http://www.douban.com/people/97891990/
http://www.douban.com/people/97891917/
http://www.douban.com/people/97892566/
http://www.douban.com/people/97892888/
http://www.douban.com/people/97892088/
http://www.douban.com/people/97891837/
http://www.douban.com/people/97930890/
http://www.douban.com/people/97891795/
http://www.douban.com/people/97893083/
http://www.douban.com/people/97891997/
http://www.douban.com/people/97893108/
http://www.douban.com/people/97892706/
http://www.douban.com/people/97891812/
http://www.douban.com/people/97893144/
http://www.douban.com/people/97892999/
http://www.douban.com/people/97891889/
http://www.douban.com/people/97930947/
http://www.douban.com/people/97893227/
http://www.douban.com/people/97893235/
http://www.douban.com/people/97893074/
http://www.douban.com/people/97891915/
http://www.douban.com/people/97893226/
http://www.douban.com/people/97893172/
http://www.douban.com/people/97891842/
http://www.douban.com/people/97892040/
http://www.douban.com/people/97893354/
http://www.douban.com/people/97893342/
http://www.douban.com/people/97893171/
http://www.douban.com/people/97892831/
http://www.douban.com/people/97893256/
http://www.douban.com/people/97893384/
http://www.douban.com/people/97892975/
http://www.douban.com/people/97893394/
http://www.douban.com/people/97891978/
http://www.douban.com/people/97893042/
http://www.douban.com/people/97893356/
http://www.douban.com/people/97893404/
http://www.douban.com/people/97930767/
http://www.douban.com/people/97893119/
http://www.douban.com/people/97893462/
http://www.douban.com/people/97893545/
http://www.douban.com/people/97893124/
http://www.douban.com/people/97893569/
http://www.douban.com/people/97893264/
http://www.douban.com/people/97891739/
http://www.douban.com/people/97893511/
http://www.douban.com/people/97893132/
http://www.douban.com/people/97893521/
http://www.douban.com/people/97893586/
http://www.douban.com/people/97893486/
http://www.douban.com/people/97893185/
http://www.douban.com/people/97893708/
http://www.douban.com/people/97893596/
http://www.douban.com/people/97893804/
http://www.douban.com/people/97893727/
http://www.douban.com/people/97893490/
http://www.douban.com/people/97893746/
http://www.douban.com/people/97893636/
http://www.douban.com/people/97893831/
http://www.douban.com/people/97893698/
http://www.douban.com/people/97893851/
http://www.douban.com/people/97891781/
http://www.douban.com/people/97893858/
http://www.douban.com/people/97893827/
http://www.douban.com/people/97893953/
http://www.douban.com/people/97894464/
http://www.douban.com/people/97892968/
http://www.douban.com/people/97893738/
http://www.douban.com/people/97892265/
http://www.douban.com/people/97894477/
http://www.douban.com/people/97893033/
http://www.douban.com/people/97893793/
http://www.douban.com/people/97893291/
http://www.douban.com/people/97893518/
http://www.douban.com/people/97893305/
http://www.douban.com/people/97894556/
http://www.douban.com/people/97894606/
http://www.douban.com/people/97893887/
http://www.douban.com/people/97893820/
http://www.douban.com/people/97893656/
http://www.douban.com/people/97893701/
http://www.douban.com/people/97892862/
http://www.douban.com/people/97894502/
http://www.douban.com/people/97894519/
http://www.douban.com/people/97894711/
http://www.douban.com/people/97894662/
http://www.douban.com/people/97931197/
http://www.douban.com/people/97893360/
http://www.douban.com/people/97893290/
http://www.douban.com/people/97893158/
http://www.douban.com/people/97894797/
http://www.douban.com/people/97894676/
http://www.douban.com/people/97893949/
http://www.douban.com/people/97894746/
http://www.douban.com/people/97893557/
http://www.douban.com/people/97894887/
http://www.douban.com/people/97893754/
http://www.douban.com/people/97894411/
http://www.douban.com/people/97894769/
http://www.douban.com/people/97894713/
http://www.douban.com/people/97894727/
http://www.douban.com/people/97894970/
http://www.douban.com/people/97893834/
http://www.douban.com/people/97895007/
http://www.douban.com/people/97894831/
http://www.douban.com/people/97894878/
http://www.douban.com/people/97894759/
http://www.douban.com/people/97893716/
http://www.douban.com/people/97894547/
http://www.douban.com/people/97894890/
http://www.douban.com/people/97894627/
http://www.douban.com/people/97894905/
http://www.douban.com/people/97895105/
http://www.douban.com/people/97895001/
http://www.douban.com/people/97894860/
http://www.douban.com/people/97894614/
http://www.douban.com/people/97894938/
http://www.douban.com/people/97893853/
http://www.douban.com/people/97895079/
http://www.douban.com/people/97895144/
http://www.douban.com/people/97894453/
http://www.douban.com/people/97895118/
http://www.douban.com/people/97895229/
http://www.douban.com/people/97895218/
http://www.douban.com/people/97895032/
http://www.douban.com/people/97895260/
http://www.douban.com/people/97894994/
http://www.douban.com/people/97895073/
http://www.douban.com/people/97894790/
http://www.douban.com/people/97895199/
http://www.douban.com/people/97895187/
http://www.douban.com/people/97895317/
http://www.douban.com/people/97895158/
http://www.douban.com/people/97895270/
http://www.douban.com/people/97895213/
http://www.douban.com/people/97891861/
http://www.douban.com/people/97895151/
http://www.douban.com/people/97895328/
http://www.douban.com/people/97894811/
http://www.douban.com/people/97894856/
http://www.douban.com/people/97893806/
http://www.douban.com/people/97895304/
http://www.douban.com/people/97895393/
http://www.douban.com/people/97894517/
http://www.douban.com/people/97895321/
http://www.douban.com/people/97895277/
http://www.douban.com/people/97895383/
http://www.douban.com/people/97895427/
http://www.douban.com/people/97895444/
http://www.douban.com/people/97895575/
http://www.douban.com/people/97895089/
http://www.douban.com/people/97895349/
http://www.douban.com/people/97894894/
http://www.douban.com/people/97895283/
http://www.douban.com/people/97895691/
http://www.douban.com/people/97895077/
http://www.douban.com/people/97895362/
http://www.douban.com/people/97895535/
http://www.douban.com/people/97895762/
http://www.douban.com/people/97895736/
http://www.douban.com/people/97895571/
http://www.douban.com/people/97895202/
http://www.douban.com/people/97895764/
http://www.douban.com/people/97894972/
http://www.douban.com/people/97895339/
http://www.douban.com/people/97895933/
http://www.douban.com/people/97895934/
http://www.douban.com/people/97895929/
http://www.douban.com/people/97895266/
http://www.douban.com/people/97895871/
http://www.douban.com/people/97895852/
http://www.douban.com/people/97895945/
http://www.douban.com/people/97895554/
http://www.douban.com/people/97895773/
http://www.douban.com/people/97896061/
http://www.douban.com/people/97895931/
http://www.douban.com/people/97895640/
http://www.douban.com/people/97895728/
http://www.douban.com/people/97895744/
http://www.douban.com/people/97895376/
http://www.douban.com/people/97896110/
http://www.douban.com/people/97896202/
http://www.douban.com/people/97896008/
http://www.douban.com/people/97895525/
http://www.douban.com/people/97931379/
http://www.douban.com/people/97895873/
http://www.douban.com/people/97896135/
http://www.douban.com/people/97896140/
http://www.douban.com/people/97895413/
http://www.douban.com/people/97896349/
http://www.douban.com/people/97895433/
http://www.douban.com/people/97895999/
http://www.douban.com/people/97896398/
http://www.douban.com/people/97894498/
http://www.douban.com/people/97896078/
http://www.douban.com/people/97896239/
http://www.douban.com/people/97896255/
http://www.douban.com/people/97895491/
http://www.douban.com/people/97896383/
http://www.douban.com/people/97895918/
http://www.douban.com/people/97896476/
http://www.douban.com/people/97896390/
http://www.douban.com/people/97894035/
http://www.douban.com/people/97896455/
http://www.douban.com/people/97896243/
http://www.douban.com/people/97896380/
http://www.douban.com/people/97896292/
http://www.douban.com/people/97896329/
http://www.douban.com/people/97894076/
http://www.douban.com/people/97895854/
http://www.douban.com/people/97894048/
http://www.douban.com/people/97896105/
http://www.douban.com/people/97896204/
http://www.douban.com/people/97896320/
http://www.douban.com/people/97894087/
http://www.douban.com/people/97896321/
http://www.douban.com/people/97895546/
http://www.douban.com/people/97895628/
http://www.douban.com/people/97894139/
http://www.douban.com/people/97894021/
http://www.douban.com/people/97894269/
http://www.douban.com/people/97894267/
http://www.douban.com/people/97894149/
http://www.douban.com/people/97896325/
http://www.douban.com/people/97896472/
http://www.douban.com/people/97896167/
http://www.douban.com/people/97894040/
http://www.douban.com/people/97893996/
http://www.douban.com/people/97894218/
http://www.douban.com/people/97930629/
http://www.douban.com/people/97894104/
http://www.douban.com/people/97894343/
http://www.douban.com/people/97896519/
http://www.douban.com/people/97894253/
http://www.douban.com/people/97896270/
http://www.douban.com/people/97893974/
http://www.douban.com/people/97894407/
http://www.douban.com/people/97896559/
http://www.douban.com/people/97896522/
http://www.douban.com/people/97894249/
http://www.douban.com/people/97896535/
http://www.douban.com/people/97896593/
http://www.douban.com/people/97896222/
http://www.douban.com/people/97894142/
http://www.douban.com/people/97894093/
http://www.douban.com/people/97896605/
http://www.douban.com/people/97896544/
http://www.douban.com/people/97894408/
http://www.douban.com/people/97896629/
http://www.douban.com/people/97894208/
http://www.douban.com/people/97896745/
http://www.douban.com/people/97896823/
http://www.douban.com/people/97894327/
http://www.douban.com/people/97894163/
http://www.douban.com/people/97896774/
http://www.douban.com/people/97896764/
http://www.douban.com/people/97896763/
http://www.douban.com/people/97896841/
http://www.douban.com/people/97896712/
http://www.douban.com/people/97896678/
http://www.douban.com/people/97897025/
http://www.douban.com/people/97896752/
http://www.douban.com/people/97894204/
http://www.douban.com/people/97896844/
http://www.douban.com/people/97897058/
http://www.douban.com/people/97894341/
http://www.douban.com/people/97896480/
http://www.douban.com/people/97896877/
http://www.douban.com/people/97896905/
http://www.douban.com/people/97894144/
http://www.douban.com/people/97896980/
http://www.douban.com/people/97897161/
http://www.douban.com/people/97894134/
http://www.douban.com/people/97897251/
http://www.douban.com/people/97896632/
http://www.douban.com/people/97897064/
http://www.douban.com/people/97896484/
http://www.douban.com/people/97896698/
http://www.douban.com/people/97897401/
http://www.douban.com/people/97896944/
http://www.douban.com/people/97894281/
http://www.douban.com/people/97896748/
http://www.douban.com/people/97897172/
http://www.douban.com/people/97897351/
http://www.douban.com/people/97897276/
http://www.douban.com/people/97897333/
http://www.douban.com/people/97897493/
http://www.douban.com/people/97897298/
http://www.douban.com/people/97897200/
http://www.douban.com/people/97897445/
http://www.douban.com/people/97896920/
http://www.douban.com/people/97897290/
http://www.douban.com/people/97897430/
http://www.douban.com/people/97897599/
http://www.douban.com/people/97897382/
http://www.douban.com/people/97897434/
http://www.douban.com/people/97897113/
http://www.douban.com/people/97896927/
http://www.douban.com/people/97897578/
http://www.douban.com/people/97897442/
http://www.douban.com/people/97897139/
http://www.douban.com/people/97897154/
http://www.douban.com/people/97897483/
http://www.douban.com/people/97897610/
http://www.douban.com/people/97897559/
http://www.douban.com/people/97897646/
http://www.douban.com/people/97897299/
http://www.douban.com/people/97897292/
http://www.douban.com/people/97897700/
http://www.douban.com/people/97897152/
http://www.douban.com/people/97897684/
http://www.douban.com/people/97897063/
http://www.douban.com/people/97897461/
http://www.douban.com/people/97897112/
http://www.douban.com/people/97897643/
http://www.douban.com/people/97897683/
http://www.douban.com/people/97896870/
http://www.douban.com/people/97897832/
http://www.douban.com/people/97896861/
http://www.douban.com/people/97897575/
http://www.douban.com/people/97897060/
http://www.douban.com/people/97897917/
http://www.douban.com/people/97897512/
http://www.douban.com/people/97897767/
http://www.douban.com/people/97897715/
http://www.douban.com/people/97897977/
http://www.douban.com/people/97897541/
http://www.douban.com/people/97897955/
http://www.douban.com/people/97897959/
http://www.douban.com/people/97897858/
http://www.douban.com/people/97897245/
http://www.douban.com/people/97897536/
http://www.douban.com/people/97898065/
http://www.douban.com/people/97897602/
http://www.douban.com/people/97897812/
http://www.douban.com/people/97897624/
http://www.douban.com/people/97897696/
http://www.douban.com/people/97897547/
http://www.douban.com/people/97897633/
http://www.douban.com/people/97897811/
http://www.douban.com/people/97898049/
http://www.douban.com/people/97898151/
http://www.douban.com/people/97898309/
http://www.douban.com/people/97897881/
http://www.douban.com/people/97898215/
http://www.douban.com/people/97897976/
http://www.douban.com/people/97897796/
http://www.douban.com/people/97898055/
http://www.douban.com/people/97898235/
http://www.douban.com/people/97898418/
http://www.douban.com/people/97898102/
http://www.douban.com/people/97898419/
http://www.douban.com/people/97898202/
http://www.douban.com/people/97898287/
http://www.douban.com/people/97898378/
http://www.douban.com/people/97898361/
http://www.douban.com/people/97898060/
http://www.douban.com/people/97898216/
http://www.douban.com/people/97898383/
http://www.douban.com/people/97897972/
http://www.douban.com/people/97898504/
http://www.douban.com/people/97897817/
http://www.douban.com/people/97898433/
http://www.douban.com/people/97898209/
http://www.douban.com/people/97898297/
http://www.douban.com/people/97898464/
http://www.douban.com/people/97898578/
http://www.douban.com/people/97898032/
http://www.douban.com/people/97898527/
http://www.douban.com/people/97898439/
http://www.douban.com/people/97898142/
http://www.douban.com/people/97898664/
http://www.douban.com/people/97898753/
http://www.douban.com/people/97898534/
http://www.douban.com/people/97898411/
http://www.douban.com/people/97898657/
http://www.douban.com/people/97898714/
http://www.douban.com/people/97897757/
http://www.douban.com/people/97894399/
http://www.douban.com/people/97898564/
http://www.douban.com/people/97898676/
http://www.douban.com/people/97898845/
http://www.douban.com/people/97898620/
http://www.douban.com/people/97898861/
http://www.douban.com/people/97898108/
http://www.douban.com/people/97898837/
http://www.douban.com/people/97898525/
http://www.douban.com/people/97898876/
http://www.douban.com/people/97898859/
http://www.douban.com/people/97898722/
http://www.douban.com/people/97898979/
http://www.douban.com/people/97897729/
http://www.douban.com/people/97899064/
http://www.douban.com/people/97897909/
http://www.douban.com/people/97898939/
http://www.douban.com/people/97898791/
http://www.douban.com/people/97899039/
http://www.douban.com/people/97898003/
http://www.douban.com/people/97898913/
http://www.douban.com/people/97898160/
http://www.douban.com/people/97898941/
http://www.douban.com/people/97899108/
http://www.douban.com/people/97898599/
http://www.douban.com/people/97899104/
http://www.douban.com/people/97899217/
http://www.douban.com/people/97930454/
http://www.douban.com/people/97899000/
http://www.douban.com/people/97899235/
http://www.douban.com/people/97899006/
http://www.douban.com/people/97899223/
http://www.douban.com/people/97899253/
http://www.douban.com/people/97899221/
http://www.douban.com/people/97899202/
http://www.douban.com/people/97898677/
http://www.douban.com/people/97898762/
http://www.douban.com/people/97899009/
http://www.douban.com/people/97899173/
http://www.douban.com/people/97899112/
http://www.douban.com/people/97898851/
http://www.douban.com/people/97899305/
http://www.douban.com/people/97899216/
http://www.douban.com/people/97898725/
http://www.douban.com/people/97899317/
http://www.douban.com/people/97899558/
http://www.douban.com/people/97899506/
http://www.douban.com/people/97898655/
http://www.douban.com/people/97898507/
http://www.douban.com/people/97899315/
http://www.douban.com/people/97898763/
http://www.douban.com/people/97899580/
http://www.douban.com/people/97899409/
http://www.douban.com/people/97899621/
http://www.douban.com/people/97899481/
http://www.douban.com/people/97899533/
http://www.douban.com/people/97899770/
http://www.douban.com/people/97899623/
http://www.douban.com/people/97899630/
http://www.douban.com/people/97899640/
http://www.douban.com/people/97898708/
http://www.douban.com/people/97899684/
http://www.douban.com/people/97899469/
http://www.douban.com/people/97899189/
http://www.douban.com/people/97899832/
http://www.douban.com/people/97898718/
http://www.douban.com/people/97899784/
http://www.douban.com/people/97899764/
http://www.douban.com/people/97899938/
http://www.douban.com/people/97899665/
http://www.douban.com/people/97899414/
http://www.douban.com/people/97900004/
http://www.douban.com/people/97899373/
http://www.douban.com/people/97898836/
http://www.douban.com/people/97899813/
http://www.douban.com/people/97899735/
http://www.douban.com/people/97900204/
http://www.douban.com/people/97899959/
http://www.douban.com/people/97900162/
http://www.douban.com/people/97900061/
http://www.douban.com/people/97900079/
http://www.douban.com/people/97900318/
http://www.douban.com/people/97899390/
http://www.douban.com/people/97900089/
http://www.douban.com/people/97898957/
http://www.douban.com/people/97900071/
http://www.douban.com/people/97899467/
http://www.douban.com/people/97900250/
http://www.douban.com/people/97900223/
http://www.douban.com/people/97899277/
http://www.douban.com/people/97900326/
http://www.douban.com/people/97900160/
http://www.douban.com/people/97899895/
http://www.douban.com/people/97900148/
http://www.douban.com/people/97900410/
http://www.douban.com/people/97900227/
http://www.douban.com/people/97899712/
http://www.douban.com/people/97898120/
http://www.douban.com/people/97899898/
http://www.douban.com/people/97900144/
http://www.douban.com/people/97900065/
http://www.douban.com/people/97900531/
http://www.douban.com/people/97900044/
http://www.douban.com/people/97899886/
http://www.douban.com/people/97900272/
http://www.douban.com/people/97900401/
http://www.douban.com/people/97900453/
http://www.douban.com/people/97900283/
http://www.douban.com/people/97900540/
http://www.douban.com/people/97900064/
http://www.douban.com/people/97900138/
http://www.douban.com/people/97899559/
http://www.douban.com/people/97900574/
http://www.douban.com/people/97900535/
http://www.douban.com/people/97900433/
http://www.douban.com/people/97900655/
http://www.douban.com/people/97900349/
http://www.douban.com/people/97900267/
http://www.douban.com/people/97901065/
http://www.douban.com/people/97900625/
http://www.douban.com/people/97900953/
http://www.douban.com/people/97901002/
http://www.douban.com/people/97900995/
http://www.douban.com/people/97901072/
http://www.douban.com/people/97900750/
http://www.douban.com/people/97901013/
http://www.douban.com/people/97899800/
http://www.douban.com/people/97901012/
http://www.douban.com/people/97900857/
http://www.douban.com/people/97900838/
http://www.douban.com/people/97901095/
http://www.douban.com/people/97899999/
http://www.douban.com/people/97900501/
http://www.douban.com/people/97900614/
http://www.douban.com/people/97901132/
http://www.douban.com/people/97900660/
http://www.douban.com/people/97900854/
http://www.douban.com/people/97900805/
http://www.douban.com/people/97900502/
http://www.douban.com/people/97901184/
http://www.douban.com/people/97901060/
http://www.douban.com/people/97900778/
http://www.douban.com/people/97900500/
http://www.douban.com/people/97900493/
http://www.douban.com/people/97900650/
http://www.douban.com/people/97901090/
http://www.douban.com/people/97898612/
http://www.douban.com/people/97900473/
http://www.douban.com/people/97900887/
http://www.douban.com/people/97901063/
http://www.douban.com/people/97901164/
http://www.douban.com/people/97900726/
http://www.douban.com/people/97843987/
http://www.douban.com/people/97843883/
http://www.douban.com/people/97843856/
http://www.douban.com/people/97844083/
http://www.douban.com/people/97844080/
http://www.douban.com/people/97844141/
http://www.douban.com/people/97844114/
http://www.douban.com/people/97843906/
http://www.douban.com/people/97843990/
http://www.douban.com/people/97843960/
http://www.douban.com/people/97844125/
http://www.douban.com/people/97844185/
http://www.douban.com/people/97843940/
http://www.douban.com/people/97844202/
http://www.douban.com/people/97844028/
http://www.douban.com/people/97843912/
http://www.douban.com/people/97844155/
http://www.douban.com/people/97844025/
http://www.douban.com/people/97844290/
http://www.douban.com/people/97844120/
http://www.douban.com/people/97844241/
http://www.douban.com/people/97843931/
http://www.douban.com/people/97844001/
http://www.douban.com/people/97843995/
http://www.douban.com/people/97844276/
http://www.douban.com/people/97844177/
http://www.douban.com/people/97844418/
http://www.douban.com/people/97844406/
http://www.douban.com/people/97844327/
http://www.douban.com/people/97844403/
http://www.douban.com/people/97844353/
http://www.douban.com/people/97844315/
http://www.douban.com/people/97844316/
http://www.douban.com/people/97844232/
http://www.douban.com/people/97844271/
http://www.douban.com/people/97844422/
http://www.douban.com/people/97844466/
http://www.douban.com/people/97844469/
http://www.douban.com/people/97844446/
http://www.douban.com/people/97844537/
http://www.douban.com/people/97844404/
http://www.douban.com/people/97844541/
http://www.douban.com/people/97844434/
http://www.douban.com/people/97844530/
http://www.douban.com/people/97844145/
http://www.douban.com/people/97844485/
http://www.douban.com/people/97844461/
http://www.douban.com/people/97844501/
http://www.douban.com/people/97844529/
http://www.douban.com/people/97844617/
http://www.douban.com/people/97844512/
http://www.douban.com/people/97844615/
http://www.douban.com/people/97844546/
http://www.douban.com/people/97844576/
http://www.douban.com/people/97844563/
http://www.douban.com/people/97844599/
http://www.douban.com/people/97844639/
http://www.douban.com/people/97844494/
http://www.douban.com/people/97843968/
http://www.douban.com/people/97844010/
http://www.douban.com/people/97844371/
http://www.douban.com/people/97844673/
http://www.douban.com/people/97844656/
http://www.douban.com/people/97844679/
http://www.douban.com/people/97844681/
http://www.douban.com/people/97844704/
http://www.douban.com/people/97844642/
http://www.douban.com/people/97844693/
http://www.douban.com/people/97844749/
http://www.douban.com/people/97844649/
http://www.douban.com/people/97844460/
http://www.douban.com/people/97844589/
http://www.douban.com/people/97844744/
http://www.douban.com/people/97844667/
http://www.douban.com/people/97844624/
http://www.douban.com/people/97844777/
http://www.douban.com/people/97844645/
http://www.douban.com/people/97844771/
http://www.douban.com/people/97844698/
http://www.douban.com/people/97844581/
http://www.douban.com/people/97844717/
http://www.douban.com/people/97844348/
http://www.douban.com/people/97844769/
http://www.douban.com/people/97906814/
http://www.douban.com/people/97906793/
http://www.douban.com/people/97906664/
http://www.douban.com/people/97906834/
http://www.douban.com/people/97906878/
http://www.douban.com/people/97906920/
http://www.douban.com/people/97906707/
http://www.douban.com/people/97906721/
http://www.douban.com/people/97906680/
http://www.douban.com/people/97906677/
http://www.douban.com/people/97906888/
http://www.douban.com/people/97906672/
http://www.douban.com/people/97906667/
http://www.douban.com/people/97906928/
http://www.douban.com/people/97906995/
http://www.douban.com/people/97907025/
http://www.douban.com/people/97906695/
http://www.douban.com/people/97906734/
http://www.douban.com/people/97906865/
http://www.douban.com/people/97907030/
http://www.douban.com/people/97906953/
http://www.douban.com/people/97906988/
http://www.douban.com/people/97906850/
http://www.douban.com/people/97907099/
http://www.douban.com/people/97906985/
http://www.douban.com/people/97907106/
http://www.douban.com/people/97907086/
http://www.douban.com/people/97907143/
http://www.douban.com/people/97907161/
http://www.douban.com/people/97907150/
http://www.douban.com/people/97907112/
http://www.douban.com/people/97906835/
http://www.douban.com/people/97907068/
http://www.douban.com/people/97907258/
http://www.douban.com/people/97907047/
http://www.douban.com/people/97907273/
http://www.douban.com/people/97907061/
http://www.douban.com/people/97907184/
http://www.douban.com/people/97907269/
http://www.douban.com/people/97907039/
http://www.douban.com/people/97907049/
http://www.douban.com/people/97907277/
http://www.douban.com/people/97907296/
http://www.douban.com/people/97907317/
http://www.douban.com/people/97907339/
http://www.douban.com/people/97907335/
http://www.douban.com/people/97907394/
http://www.douban.com/people/97907224/
http://www.douban.com/people/97906933/
http://www.douban.com/people/97907458/
http://www.douban.com/people/97907493/
http://www.douban.com/people/97906970/
http://www.douban.com/people/97907329/
http://www.douban.com/people/97907220/
http://www.douban.com/people/97907489/
http://www.douban.com/people/97907518/
http://www.douban.com/people/97907304/
http://www.douban.com/people/97907497/
http://www.douban.com/people/97907376/
http://www.douban.com/people/97907480/
http://www.douban.com/people/97907284/
http://www.douban.com/people/97907378/
http://www.douban.com/people/97906929/
http://www.douban.com/people/97907588/
http://www.douban.com/people/97907494/
http://www.douban.com/people/97907642/
http://www.douban.com/people/97907581/
http://www.douban.com/people/97907423/
http://www.douban.com/people/97907565/
http://www.douban.com/people/97907432/
http://www.douban.com/people/97907571/
http://www.douban.com/people/97907687/
http://www.douban.com/people/97907552/
http://www.douban.com/people/97907633/
http://www.douban.com/people/97907592/
http://www.douban.com/people/97907715/
http://www.douban.com/people/97907723/
http://www.douban.com/people/97907382/
http://www.douban.com/people/97907688/
http://www.douban.com/people/97907617/
http://www.douban.com/people/97907702/
http://www.douban.com/people/97907751/
http://www.douban.com/people/97907816/
http://www.douban.com/people/97907685/
http://www.douban.com/people/97907644/
http://www.douban.com/people/97907779/
http://www.douban.com/people/97907805/
http://www.douban.com/people/97907546/
http://www.douban.com/people/97907654/
http://www.douban.com/people/97907738/