1.一种海量用户的二度人脉关系MapReduce推荐方法,包括:
在海量用户的关注关系中,根据用户的一度人脉关系通过两步MapReduce的计算方法获得用户的二度人脉关系,并予以推荐;其中,在所述海量用户的关注关系中,若用户A关注用户B,用户C关注用户A,则用户B为用户A的好友,用户C为用户A的粉丝;并且,若用户C通过用户A推荐关注用户B,则用户B为用户C的二度人脉,用户A为用户C和用户B之间的间接关注者;若用户C通过在所述海量用户的关注关系中除用户A之外的其他用户关注用户B,则其他用户为用户C和用户B的间接关注者;并且,在所述两步MapReduce的计算方法中的第一步MapReduce的计算方法中,在所述海量用户的关注关系中,根据所述用户A的一度人脉,将用户A的好友与用户A的粉丝合并归类,获得用户A的好友集合和用户A的粉丝集合,同时并统计用户A的粉丝的数量;
其中,所述用户B在所述用户A的好友集合中,所述用户C在所述用户A的粉丝集合中;并且,在所述海量用户的关注关系中,根据所述其他用户的一度人脉,获得所述其他用户的好友集合和所述其他用户的粉丝集合,同时并统计所述其他用户的粉丝数量;
在所述两步MapReduce的计算方法中的第二步MapReduce的计算方法中,在所述海量用户的关注关系中,所述用户A的粉丝集合通过所述用户A推荐关注所述用户A的好友集合,所述用户A的粉丝集合的二度人脉为所述用户A的好友集合,其中,所述用户A为所述用户A的粉丝集合中的所述用户C和所述用户A的好友集中的所述用户B的间接关注者;并且,根据所述用户A的粉丝的数量获得所述用户A的推荐权重值,根据所述其他用户的粉丝的数量获得所述其他用户的推荐权重值;
将所述用户A的推荐权重值和所述其他用户的推荐权重值进行合并从而获得最大的推荐权重值,并统计所述用户C和所述用户B之间的间接关注者的数量,其中,所述用户C和所述用户B之间的间接关注者的数量为所述用户A和所述其他用户的数量之和;
将所述用户B推荐给所述用户C,同时将所述最大的推荐权重值以及所有间接关注者推荐给所述用户C,以完成所述用户的二度人脉关系推荐。
2.如权利要求1所述的海量用户的二度人脉关系MapReduce推荐方法,其中,在所述用户A的粉丝集合通过所述用户A推荐关注所述用户A的好友集合的过程中,若在所述用户A的粉丝集合中有所述用户B,同时在所述用户A的好友集合中也有所述用户B,则所述用户B的二度人脉不能为所述用户B本身;
若所述用户A的粉丝集合的所述用户C已经关注所述用户A的好友集合中的所述用户B,则所述用户C的二度人脉不能为所述用户B。
3.如权利要求1所述的海量用户的二度人脉关系MapReduce推荐方法,其中,所述用户A根据所述用户A的粉丝数量采用LogNormal函数拟合的方式获得所述用户A的推荐权重值;
所述LogNormal函数拟合公式为:
其中,在所述LogNormal函数拟合中,X为所有海量用户的粉丝数量的数组,μ是所述数组X的对数的平均值,σ是所述数组X对数的数据期望;
所述数组X的数学期望和方差分别为E[X]、Vra[X];
参数的拟合公式为:
所述LogNormal函数的定向积分数值为所述用户A的推荐权重值。
4.一种海量用户的二度人脉关系MapReduce推荐系统,
所述推荐系统,用于在海量用户的关注关系中,根据用户的一度人脉关系通过第一步MapReduce计算单元和第二步MapReduce计算单元获得用户的二度人脉关系,并予以推荐;
其中,
在所述海量用户的关注关系中,若用户A关注用户B,用户C关注用户A,则用户B为用户A的好友,用户C为用户A的粉丝;并且,若用户C通过用户A推荐关注用户B,则用户B为用户C的二度人脉,用户A为用户C和用户B之间的间接关注者;若用户C通过在所述海量用户的关注关系中除用户A之外的其他用户推荐关注用户B,则所述其他用户为所述用户C和所述用户B的间接关注者;
所述第一步MapReduce计算单元,用于在所述海量用户的关注关系中,根据所述用户A的一度人脉,将用户A的好友与用户A的粉丝合并归类,获得用户A的好友集合和用户A的粉丝集合,同时并统计用户A的粉丝的数量;其中,所述用户B在所述用户A的好友集合中,所述用户C在所述用户A的粉丝集合中;并且,在所述海量用户的关注关系中,根据所述其他用户的一度人脉,获得所述其他用户的好友集合和所述其他用户的粉丝集合,同时并统计所述其他用户的粉丝数量;
所述第二步MapReduce计算单元包括推荐权重值获取单元和二度人脉推荐单元;其中,所述推荐权重值获取单元,用于获取用户的推荐权重值;其中,在所述海量用户的关注关系中,所述用户A的粉丝集合通过所述用户A推荐关注所述用户A的好友集合,所述用户A的粉丝集合的二度人脉为所述用户A的好友集合,其中,所述用户A为所述用户A的粉丝集合中的所述用户C和所述用户A的好友集中的所述用户B的间接关注者;并且,根据所述用户A的粉丝的数量获得所述用户A的推荐权重值,根据所述其他用户的粉丝的数量获得所述其他用户的推荐权重值;
所述二度人脉推荐单元,用于完成用户的二度人脉推荐;其中,将所述用户A的推荐权重值和所述其他用户的推荐权重值进行合并从而获得最大的推荐权重值,并统计所述用户C和所述用户B之间的间接关注者的数量,其中,所述用户C和所述用户B之间的间接关注者的数量为所述用户A和所述其他用户的数量之和;
将所述用户B推荐给所述用户C,同时将所述最大的推荐权重值以及所有间接关注者推荐给所述用户C,以完成所述用户的二度人脉推荐。
5.如权利要求4所述的海量用户的二度人脉关系MapReduce推荐系统,其中,所述推荐权重值获取单元在所述用户A的粉丝集合通过所述用户A推荐关注所述用户A的好友集合的过程中,若在所述用户A的粉丝集合中有所述用户B,同时在所述用户A的好友集合中也有所述用户B,则所述用户B的二度人脉不能为所述用户B本身;
若所述用户A的粉丝集合的所述用户C已经关注所述用户A的好友集合中的所述用户B,则所述用户C的二度人脉不能为所述用户B。
6.如权利要求4所述的海量用户的二度人脉关系MapReduce推荐系统,其中,在所述推荐权重获取单元中,所述用户A根据所述用户A的粉丝数量采用LogNormal函数拟合的方式获得所述用户A的推荐权重值;
所述LogNormal函数拟合公式为:
其中,在所述LogNormal函数拟合中,X为所有海量用户的粉丝数量的数组记,μ是所述数组X的对数的平均值,σ是所述数组X对数的数据期望;所述数组X的数学期望和方差分别为E[X]、Vra[X];
参数的拟合公式为:
所述LogNormal函数的定向积分数值为所述用户A的推荐权重值。