从另一个角度看个人喜好和社会对个人选择的影响

上篇文章我说了,一个人在决定干某件事的时候总是同时受到他自己的个性和社会舆论的双重影响,在不同的系统中,这两种影响的强度也不同。忽然我想到了另一个造成这种不同影响的原因,就是你需要item还是item需要你。

比如大部分人看论文,是出于自己的需要,一个研究者不看论文是活不下去的,看论文是他的生活方式。在这个时候,他会自己去仔细研究每个作者的领域,哪些会议比较好,越是资深的研究人员越有自己独特的个性。所以在这种论文推荐系统中,社会对人的影响很小,但也不是没有,比如刚刚入门的研究生会受他的导师的影响,一个实验室的人也会互相影响,但这种影响相比研究者的个性,还是小了一点。

但反过来看电子商务,一个卖东西的网站,这个时候是商品需要用户,这个世界上商品太多了,都等着卖出去。这个时候网站就会通过广告不停的忽悠用户,所以我们在这些网站的行为受忽悠的成分也就高一点。

所以说这里面存在着用户主动和被动两种成分,主动成分多的系统用户受个性影响更大,而被动多的系统里,用户受社会舆论的影响更大

Post to Twitter Tweet This Post

社会舆论和用户个性的两难选择

在传统的推荐算法中,有两个基本算法,也就是所谓的user-baseditem-based。其实,前一种算法的观点是认为用户的行为比较受舆论的影响,而后一种认为用户的行为受自己喜好的影响。当然这两者算法都是偏于极端的,现实社会中用户的行为往往受两种的共同影响,而两种影响的大小主要取决于用户和舆论谁更强势。

就比如拿最近的孔子来说,其实本人自从来了北京之后,每个月都会看一部电影,不管好还是烂,反正我个人看电影的习惯就是放松,不管多烂的电影,只要能放松就行了。而且我个人还是比较有主见的,不大受社会太多的影响(当然这也是相比较而言)。但是,有的时候舆论的影响却是潜移默化的,鉴于我的社会圈子里的舆论都认为孔子不怎么样,首先这就降低了我的期望,也就是说我去看孔子也不抱大希望了,但因为我的习惯,我还是觉得去看孔子,也就是说,在我到电影院之前,我的行为还是受我的习惯影响,舆论虽然有影响,但还没有大到改变我决定的地步。

不过当我到了电影院,发现孔子打折票还买50,这时我犹豫了,身在价格和舆论的双重context下,再强的人也不得不改变习惯了,于是经过激烈的思想斗争,我放弃了看孔子,用8元钱去买了个面包(现烤的,味道很不错)吃了一下,算是本周末奢侈了一把。

由此可见,舆论和个性的博弈在我看孔子这件事情上体现的非常的明显,当一个个人还在如此犹豫的时候,去追求推荐的精度还有什么意义了?也许我明天又后悔了,而这个事情推荐系统拿到了我没看孔子的数据,还在沾沾自喜着准备利用这个信息来调整精度。

Post to Twitter Tweet This Post

再也不换主题了

嘿嘿,这个主题至少要坚持半年,嘿嘿,不然大家就怒了

Post to Twitter Tweet This Post

Twitter上用户的专家度评分

当我们在twithunter上输入一个topic的词,如何来判断什么人是这个词的专家呢,目前我综合考虑了以下因素:

1. 这个人要在自己的tweets里面提到这个词,提到一次+1分

2. 这个人被别人问到这个词,比如对与用户xlvector和词recsys, 如果clickstone说了一句,@xlvector what is resys?。那么这个时候xlvector相对于recsys的专家度就会+2分

3. 如果xlvector提到了recsys的一个tweets被别人转发了,这个时候xlvector相对于recsys的专家度+3分

当然,这里的1分,2分,3分都可以再定义。上面显示的是一个人相对于一个topic的专家度。当然,一个人本身也有专家度,如果我们考虑一个人的全局专家度,主要应该考虑下面的因素:

1. 这个人的follower数

2. 和这个人交流过的用户数,也就是在tweets里出现这个人用户名的次数

3. 这个人发出的信息被转发的次数,越多显然是专家

4. 一些扩散的影响,比如一个人说了话之后,经过所有的转发所能影响的用户数目。

当然前面的要综合考虑,而且也有些帐号满足所有的条件,却不是人们传统意义上的专家,比如zhenyun的rtmeme帐号,他显然满足上面的条件,但是不是专家,就是不同人各自的看法了。不过我有个看法,专家还有个特点,就是一般只对一,两个领域在行,也就是说他的topic还是比较集中的,这一条rtmeme帐号就不具备了,因为他什么热门的都会转发。

当然,这里说的专家不一定是大牛,或者教授什么的,是指有一技之长的人,比如蛋炒饭做的好,也可以算专家,这个社会上的任何一个人都有自己擅长的领域,都可以在自己擅长的领域成为别人的专家。

Post to Twitter Tweet This Post

Find users who have similar preference in Twitter

Twithunter has support user search now. If you want to search a user, you can use @u1 as search name, then, twithunter will return a list of users who has similar preference as u1 and a list of topics u1 care about. Following are some examples:

http://xlvector.net/twithunter/users.php?q=%40techcrunch

http://xlvector.net/twithunter/users.php?q=%40xlvector

The result may be not very accurate because we do not have enough data now.

Twithunter现在开始支持人名搜索,你只需要在你想搜索的人名前面加上@做为查询词就可以了。搜索一个人名后,将返回两个列表,左边是和你搜索的user有共同喜好的人,右边是和你搜索的user相关的topic.

Post to Twitter Tweet This Post

A tool for finding people and related topics in twitter

I make a tool called twithunter ( this name is not good, I want to change it). It can find people if you give a keyword (we only support single word, if you search machine learning, we will search “machine” or “learning”)

This tool is designed by two weeks data in twitter (6 million tweets), I only use a PC (3G CPU 2G RAM) to do all things becasue twitter is blocked in China and only windows system can visit them by “翻墙”. This service is on my dreamhost now.

We only support English now, and the next language we want to support is Chinese.

This tool has not finished yet and welcome every one test it and give us feedback.

P.S. we can do many things by data mining on twitter’s data. The next service may be user suggestion by the topic of active user’s past preference.

Post to Twitter Tweet This Post

Fans and experts of recommender system in Twitter

I have collected more than 3 million tweets about technology from twitter. I use these data to build a web app call geeksensor to find fans and experts of the keywords you provide.

For example, following is fans and experts of recommender system in twitter:

http://www.geeksensor.com/users.php?q=resys+recsys+recommender

resysguru

Post to Twitter Tweet This Post

Twitter的用户推荐系统

Twitter今天在他的官方blog中介绍了他们为新用户设计的推荐系统,用来给新用户推荐可以follow的对象。

Twitter认为,对于一个新注册者,最困难的就是找到合适的follow对象。Twitter的解决方案是让新用户选择他们喜欢的Topic,然后再这些Topic中找到expert推荐给用户。

因为twitter前一段时间推出了list系统,这使得他们可以更容易的对用户进行聚类。现在找人往往比找信息还重要,因为信息可以过时,但人却永远不停的释放出信息。

Post to Twitter Tweet This Post

Netflix Can use similar data to promote research in other recommendation problem

After Netflix Prize, Netflix inc. announce that they will hold another competition by using more user data (gender, zipcode, age, etc) to improve prediction accuracy of recommender system. However, many Netflix users think this is violate to they privacy rules and do not want Netflix to reveal such data.

http://www.wired.com/threatlevel/2009/12/netflix-privacy-lawsuit/

As a competitor of Netflix Prize, I also agree with these users and I think we do not need more user data to improve accuracy. I think, we should focus on different problem. Netflix Prize use RMSE to measure the quality of different recommending algorithms. However, in real systems, our main task is recommendation not prediction.

In real recommender system, we have to recommend a list of product a user may like. This task is different from the problem solved by Netflix Prize. The problem of Netflix prize is to predict the rating a user will assign to a movie. In this competition, we already know what movie a user is watching and our task is only to predict rating. In this way, Netflix Prize does not solve the main problem of recommendation: how to recommend a list of items to active user?

Further more, users do not only rating items in a system, they may view/buy/comment items and rating behavior is only a small part of user behaviors. So, I think, Netflix do not need to reveal user data, they can reveal more behavior data rather than rating.

Netflix can also reveal nothing to hold another competition only data revealed in NetflixPrize1. They can propose different problems, such as how to recommend a list of items for an active user. One disadvantage of Netflix Prize is that, after Netflix Prize, most of researchers in recommender system thinks rating prediction is the only thing in recommendation. I think, Netflix should not focus on rating prediction now. They should promote research in other recommendation problems, such as Top-N problem, diversity, novelty, etc.

Post to Twitter Tweet This Post

Resys精华帖:推荐系统和长尾

最近在Resys Group上关于推荐系统和长尾的讨论让我很受启发,现转载如下:

xlvector:
Subject: 大家觉得推荐系统和长尾的关系是什么
有人说,推荐长尾可以增加销售额,把很多本来卖不出去的东西卖出去了
有人说,推荐长尾会引入很多误差
大家怎么看这个问题

王立才:
先看看是否符合长尾理论。。
如果符合的话,我觉得长尾是有意义的,因为世界是丰富多彩的,人和物之间的关联也不可能停留于局部。

Loeb:
就銷售而言,庫存壓力可能可以靠這解決,但是商品天生是不該被庫存,這是個矛盾
長尾是時間函數,但是除此外因子太多不可預測,例如某過氣歌手在某些狀態下
又突然紅了
推薦應該是,處理這些不可控"某些狀態",長尾之於銷售,比較像是沒辦法中想辧法

Gray Wang:
有一个问题是,从理论上来说,长尾越长越好,但是实际上大部分零售或者在线销售者,希望的是总量,也就是长尾和大头覆盖下的阴影。并不一定长尾超过大头就是好的。
“推荐长尾可以增加销售额,把很多本来卖不出去的东西卖出去了”,如果从销售长尾的成本大于大于大头,为什么要销售呢?我想这种只有在充分竞争的情况下才有可能发生。

kuber:
“任何革新都在于找到一个可以解释变化中的世界的新的参照标准”。长尾理论是基于生产能力的大大力高,产品极度丰富,同时顾客的要求也越来越个性化。因
此从销售商的角度来说,有时仅仅卖那20%的商品已经不能满足增长的需要,必须要向那80%的产品要利润。同时顾客也不满足于20%的产品,如果你不
卖,顾客有可能去人家那买了。
所以1。不是家家都一定要去做长尾的。2。长尾不一定意味着塞满库存,比如说zara。

安德森提出的办法是,提供尽可能多的产品(每样件数未必多,还是如zara)和让用户很容易的找到它。
要让客户从无尽的产品中找到自己要的,首先当然是搜索。但是个性化推荐绝对是不可忽略的。如果大家有陪女朋友/老婆逛街的话,一定能体会到,一个好的销
售员恰到好处的推荐肯定会大大提高销售机会,如果我们不讨论理性消费还是冲动消费的话,呵呵。我老婆就常常中招。我觉得推荐应该就是一个好的销售员。
除了cross saling 外,推荐应该还有一个功能,就是个性化,找到顾客的小众需求。

xlvector:
很受启发,我最近在做一个实验,这个数据集上,用户的行为过于集中在头部,可能是因为产生这个数据集的系统没有能很好的让用户找到长尾,所以在这个数据
集上,popular推荐的精度反而是最好的。

所以我就在想,这也算是一个盲目追求精度不利于设计好的个性化推荐的反例。个性化推荐还是应该focus在长尾上吧。

比如如果大家拿很多门户网站的日志数据,以追求精度来设计推荐系统,那就只推荐首页,肯定精度最高,但这不符合个性化推荐的本质,是吧?

Guozhu.Wen
的确,在item的头部有足够的用户行为数据可以做出精确的推荐来,长尾部分因为缺乏足够的数据支持往往很难做好。但如果不解决这个问题,这个情况会愈演愈烈,越来越难以解决。解决方案除了算法,也可以考虑从产品层面去解决。

feng ya dong:
如果仅仅集中在头部 推荐就失去了他的意义
比如在sns上 给一个用户推荐一个用户 ,除了满足用户的口味之外,另外一个目的也是想让非活跃的用户活跃起来,促进用户圈子的交融

tinyfool:
从产品角度,我经常想,没有靠谱推荐(尤其是推荐有反作用的时候),产品上应该考虑让推荐消失,这样其实可能会更好。

Google曾试验过一个功能:如果Google发现用户每次搜索后都不会点击顶端的广告的话,就会把这些广告移到右边(搜索结果显示广告的传统位置)去。
http://tiny4.org/tinygoogle/2006/09/google.html

最后这个方法采用了与否我不知道,不过这个思路,我觉得是值得借鉴的。

Post to Twitter Tweet This Post