郑昀@玩聚锐推榜 20090222 (follow @zhengyun)
1、我要follow谁
作为一个各种 memeTracker 工具制造者,我(@zhengyun)一直想知道Twitter上什么样的人值得follow、对我的胃口,当然他得是中文用户,说的事儿怎么着也得跟中国有点儿关系。
我总结了一下自己的需求:
1:发布频率至少一周一两次(follow 哪些一年半载推特一下的名人会不必要地增加全球碳排量,so,可以无视);
2:相对来说,和我(@zhengyun)的Twitter以往历史比较接近。不要光凭followers多就推荐给我,譬如虽然@bookhotel拥有高达1,190个followers,但显然我不可能follow这个疑似Spammer的机器人;
3:我已经 follow 过的就不必再向我推荐了;
4:他/她/它的 Tweet 对我来说足够有趣。“有趣”,多么含混的需求啊。
2、Twitter 用户评价体系
看上去我们需要一个 Twitter (中文)用户评价体系。
followers/friends 的维度不足以作为这个 Twitter 用户是否有趣的判断依据,就像Google的PageRank不会单纯靠inbound links来判断网站是否有用一样。哪有什么依据呢?
譬如,你可以根据一个Twitter用户名被其他用户提及多少次来判断他的流行程度。当然,如果有一群用户拿Twitter作为群聊聊天室,那么这群人的名字(如@zhengyun)必然被常常提及,所以这个维度只能是复杂公式中的一个变量。所以这个维度要被你有多么个followers以及你推特的频率等维度呈正比地抵消。
看上去,要估算出这么一个 Twitter 用户评价体系,比想象中的复杂哦。
whoshouldifollow 貌似推荐的还不错,不过不知道它的技术细节,它只说是“finds interesting people to follow based on who your friends are, and who they follow.”。
twellow 是依据你的Twitter Profile中的关键词来对你分类的;wefollow 应该也是类似原理,并且允许你在Twitter里发表格式化好的tweet来主动向 @wefollow 声明自己的标签和分类。它们俩的分类,也可以作为一个参考维度。
Twitalyzer 的五项衡量指标倒是有指导意义,但毕竟我们不是为了评估某个Twitter用户的影响力,而是为了尽量准确地个性化推荐 twitter 用户。
3、Rank可以参考的变量
这个需求要多少个变量来计算呢?我姑且列出一些供参考的老外统计方式:
1:Ryo Chijiiwa的 TwitterRank (ZDNet、Mashable都给出了正面的评价)。
2:可以统计你有多少时间浪费在 Twitter 上的 Tweetwasters 。
3:可以给出某一个地区Twitter用户排名的 Twitterholic (只是根据Twitter中你设置的Location字段汇总的,排名因素是你的Followers和Friends数量)。
4:Twitalyzer 给出的一个用户的五项指标。
5:twellow或wefollow对一个用户的分类和标签,假如有的话。
4、Rank可能涉及的变量
据此,可以总结出一个公式,来帮你匹配到值得你follow的最有趣的中国Twitter用户。
变量A : 仿照 Tweetwasters 给出的 your total tweets*30 seconds/per tweet ,用户消耗在Twitter上的时间。
变量B: 用户的 TwitterRank 数值,Float类型。
变量C : 用户的 followers 数量;
变量D : 用户的 friends 数量;
变量E : 用户被 retweet 的数量;
变量F : 用户被人提及的次数;
变量G : 用户的Location。系统应该自动映射不同的Location名字为一个地名。譬如,映射“北京”和“Beijing,china”为“Beijing”。
变量H : 用户发言频率,即 your total tweets/timespan your account joined 。
变量I : 用户 retweet 他人的次数。
5、公式
略。
6、mashup一下
看了上面列出的变量,你就知道,这注定是一个 mashup 应用,因为它所引用的数据都来自于其他站点,包括twitter。
#附录A:
疑问1:
是否必须引入自然语言处理来判别Twitter用户的软分类呢?即判断用户的发言百分之多少科技成分、多少娱乐成分等等。而不只是像twellow 一样只根据用户Profile来计算分类。
这么做的好处:
可以按照分类目录寻找有趣用户;
更容易基于某一个给定用户推荐相似分类的用户群。
坏处是:
一条Tweet字数太少。分类未必会准。
疑问2:
是针对每一个发言做分类判别,还是针对所有发言呢?
需要测试看看。
疑问3:
需要对两两用户进行文本相似性计算吗?
不用这么复杂吧?