http://engineering.twitter.com/2012/11/dimension-independent-similarity.html
这篇博客,还有其中的文章。
在twitter,计算用户与用户之间的相似度时,每个用的feature就是一条又一条的tweet,而这些tweet的sparse应该是很高的。在计算相似度时,如果我们就这么算下去,会很浪费的,同时,相似度会因为用户的tweet不同而发生变化,计算量也是变化的。于是twitter提出,降低这种维度的影响。
所用的方式就是,用户的tweet可能是N条,但是这N条只可能来自字典中的单词,而字典中的单词是有限的。于是吧,以字典中的单词为key,而这个单词在那个tweet中出现了,用0,1表示。这样的话,key是一定的,但是key的dimension随着tweet的条数而变化。那么在计算相似度时,引进了一种方法,以一定概率选择该相似度是否输出,如此一来,相似的大小受到了dimension的影响就小了。同时文中给出了证明,验证这么做是可靠地。
我想这种方式大概对tweet来说是非常有必要的,毕竟他们的数据特征决定了。但是,感觉吧,一般情况下,数据量没有那么大情况下,这种方式可能不需要,至少对我们目前的数据感觉一时半会用不上啊……待思考……