微博用户相似度分析

微博的几个操作:原创、转发、回复、阅读、关注、@。其中,前四个是针对短博文;关注和@则针对的是用户之间的关系,关注某个人就意味着你成为他的粉丝,而他成为你的好友;@某个人意味着你想要他看到你的微博信息。


1)标签传播算法

只针对用户标签:

    a)对每一个用户,根据其初始标签生成标签向量X={x1,x2,...xn}。

    b)对每一个用户,令Y = X1 ∩ X2 ...∩ Xm = {y1,y2,...,yk},表示其好友和粉丝的标签向量的交集;对Y的每一个分量yi,统计yi在X1 ∪ X2 ...∪ Xm中出现的频率。

    c)选择向量Y中频率最高的K个标签分量作为该用户的K个标签。

    d)重复b、c直到每个用户的标签变化不大。

2)关键词拟合算法

只针对用户微博:

    a)对每一个用户,根据其微博内容分词,生成关键词向量X={x1,x2,...xn}。

    b)对该用户的每个好友和粉丝Xi,用 | X ∩ Xi | 除以 | X ∪ Xi | 表示Xi与X的微博相似程度。

    c)根据该相似度对标签传播进行加权。

3)时间差分拟合算法

考虑时间因素造成用户兴趣的变化:

    a)对每一个用户,只选取最近300条或最近100天发出的微博,每30条一组或10天一组,对每组微博的贡献加不同的权值,分别是r,r*r,r*r*r...。

4)转发与@启发式算法

    a)可以将转发、@频率量化为值,作为权重添加到相似度的衡量中。

5)好友聚合算法

    a)两个用户的共同好友越多,这两个好友的关系相似度越高。

    b)两个用户的共同粉丝越多,这两个好友的关系相似度越高。


上面说了那么多,可以采用一种加权函数将它们融合起来,得到最后的相似度。



参考:

http://blog.csdn.net/stdcoutzyx/article/details/18814627

你可能感兴趣的:(微博用户相似度分析)