文栋兄的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比我上面说的要复杂的多,我这儿就算抛砖引玉了,嘿嘿。
Related Posts
- LDA的实现 (1.000)
Comments 2
这个在淘宝或者B2B很常见了。他们前一段时间在做一个SPU(standard product unit)。他们提取商品的属性,然后聚类。这样就有了一个个SPU了。SPU是以一些关键字的形式存在。当你买一个商品的时候,他会判断你这个商品属于哪个SPU。进而推荐。
Posted 26 七 2010 at 4:54 下午 ¶是的,topic model已经有20多年的历史了,不过不同人的实现方法不同。另外不同领域也有区别,比如文栋是做新闻的,新闻的特点是时效性强。另外对新闻网页的自然语言理解相比半结构话的product信息也困难一点。
Posted 29 七 2010 at 7:08 上午 ¶Trackbacks & Pingbacks 2
[...] 项亮,用TOPIC组织你的兴趣; Posted in 未分类 | Tagged cutt 相关文章: 又闻夜半翻墙声朋友们,来相会!核心价值在哪里?上来冒个泡 [...]
[...] 2、《用Topic组织你的兴趣》——项亮; [...]
Post a Comment