Tag Archives: cutt

用Topic组织你的兴趣

文栋兄的cutt真是千呼万唤始出来啊。 文栋专门写了一篇文章介绍他们的系统,大家可以围观一下: http://www.guwendong.com/post/2010/cutt.html 然后再给大家展示一下Logo OK,客套话说完了,来说说我的看法吧。这套系统的核心是利用主题(topic)来联系user和item的关系。推荐领域的一个牛人曾经说过,推荐的本质就是将user和item联系起来,user-cf是用相同兴趣的用户联系user/item, item-cf是用相似的item联系user/item。而cutt是利用topic联系user和item。 其实用topic联系user和item的思想在数据挖掘的领域已经有很悠久的历史了,其代表的模型就是LSI,pLSA, LDA,这些统统被称为latent factor model或者topic model。在理想的情况下,我们可以把item分成一个个的topic,然后更加用户的历史记录计算用户对不同的topic的喜好程度,从而对用户做出推荐。 topic model的好处是可以解决新的item的cold start的问题。如果一个新的item出现了,在collaborative filtering的方法中,如果还没有一个用户对这个item产生过行为,我们是没有办法判断谁会喜欢这个item的。但如果item是一篇文章,我们就可以根据topic model知道这个item属于什么样的topic (可以通过分析文章的内容),这样就可以把这个item推荐到喜欢这个item的topic的用户那儿去。 这个过程听起来很简单,其实还是很复杂的,首先是如何定义topic。举电影的例子,比如大话西游,可以属于古装片,周星驰电影,西游记,香港电影,向华强/向华胜兄弟的电影,搞笑电影,90年代香港电影,等等很多的topic。我们根据不同的数据可以得到不同的topic,而不同的用户对这个电影的看法可能是倾向于不同的topic。比如有的用户就是冲着周星驰去的,而有的用户只是冲着搞笑电影去的。 建立topic model需要的核心数据是拿到不同entity之间的关系。在collaborative filtering里面,用户看过item就是一种关系。语义网络也是一种关系,比如周星驰是演员,也当过导演,这就是一种语义网络定义的关系。cutt在语义网络方面下了很大的功夫。他们更加不同的数据,对item进行了不同种类的聚类,同时找出了用户最关心的聚类展示给用户。 另外cutt在反馈系统的设计上,直接让用户对他们找出来的topic进行反馈,这样就可以更好的给用户做出推荐。当然cutt也有很多的问题,不过这可能是和中国的互联网现状相关的,中国互联网上原创文章比较少,有意思的文章也比较少。这样造成大量的topic相关的文章其实也就是一篇,其他的文章都是相互转载。 另外用户的冷启动问题也比较难解决,因为现在还没有用户的喜好数据,所以cutt目前其实还没有做推荐系统,他们只是提供了一个相关topic的浏览体系,让用户比较容易的找到自己喜欢的topic。 就技术细节而言,cutt比我上面说的要复杂的多,我这儿就算抛砖引玉了,嘿嘿。