社交是人类的一个最基本的需求。但是,自然给我们人类的大脑,只能让我们维系150-200个左右的好友。超出这个范围,就会有好友慢慢地被淡忘。很多社 会群体的平均大小是150,这个数也被称为顿巴数(Dunbar Number)。例如,公元前6000年左右,中东地区新石器时代村落的人数大约在120-150人之间。在罗马共和国时期,罗马军队的一个基本作战单位 的人数大约为130。20世纪50年代以来,社会学家了解到,150-200人之间的公司可以基于人际关系运作,一旦超过,就需要各类等级制度和管理结 构。
在近代以前,绝大部分人生活在150-200人之间的固定圈子里。圈子里的人之间有着良好的人际关系,而与圈子外的人很少有联系。因此,他们仅仅用大脑就可以管理整个圈子中的社交关系。当然,在这150个人中也有亲疏不同。其中最亲密的,大概包括3-5人,组成一个很小的核心圈。其次是稍大一些的圈子,大约30-50人。再次就是整个圈子。
但是,现代社会的流动性改变了这一切。我们随着成长,从一个地方迁移到另一个地方,从一个圈子迁移到另一个圈子。对于大多数人而言,我们在一个地方出生和长大,去一个新的地方求学,认识新的朋友。毕业后,我们再去一个新的地方工作,认识新的同事……在每一个阶段,我们都会有好友,也会有密友。但是随着迁移,旧的好友慢慢地被淡忘。Dunbar等人指出,每年我们会遗忘大约15%的好友,而旧时的密友也会从我们社交圈的中心,慢慢地退到圈子的边缘,甚至最终消失。
遗忘旧朋友并不是唯一的问题。当我们到一个新的地方,需要结识新的朋友,融入新的环境,这一过程又变得有些吃力。尽管我们有各种各样的技术手段,但是,面对面的沟通和交流仍然是结识朋友的主要手段。据研究统计,我们每天40%的时间,只用来和5个人打交道。而这5个人,往往还是我们的密友。在现在这样一个快节奏的时代,面对面交流,对于快速地结交好友而言,效率显然有些低下。
我们期望“结识新朋友,不忘老朋友”。可事实上,我们正处在一种“难交新朋友,忘却老朋友”的尴尬处境中。现在社交网络类的网站和软件,正在努力地帮我们改变这种尴尬的处境。通过社交网络,我们可以添加相当多的好友,数百个甚至数千个。这似乎解决了我们的问题,但这只是表面现象:实际上,我们还是管不过来。在一个成熟的社交网络中,用户的平均好友数仅为120-130。当好友数超过150-200,有些好友几乎就认不出来。这昭示了一个可笑的,但是却不得不让人接受的事实:社交网络的确进化到了21世纪,可是我们大脑,并不比几千年前有多大的改观。看起来,顿巴数就像个魔咒。尽管我们做了很多努力,仍然摆脱不了。
可是,为什么我们不直接把我们的生活圈子(包括过去的、当前的、正在进入的)直接地在社交网络中列出来呢?那样的话,我们就可以很好地管理和识别我们多年来积攒的好友,有些也许已经淡忘,但是当把他们放回到他们所在的圈子中时,那些忘却的姓名将再度清晰;我们也可以利用圈子中人脉的力量,去寻找失散多年的好友;我们也可以跟旧时的玩伴分享现在的故事,他们也一定很渴望知道我们的近况;当我们进入一个新的环境,只需要加几个QQ好友,圈子就能为我们展示更多的潜在好友,帮助我们快速地融入新的环境……是啊,为什么不呢?
QQ圈子,就这么诞生了。
理念到实现的距离
理念到实现的距离,是一个合适的技术方案。QQ圈子的计算思想很简单:第一步,找到可能的圈友;第二步,分圈。
寻找可能的圈友,相对来说比较简单。众所周知,QQ使用的账号是QQ号码。正是QQ号码,天然地成为了寻找好友的障碍——因为我们并不知道他们的QQ号码是多少。但是,我们相信,如果他们有QQ号码,总会有人知道。而这些人,就藏在我们的好友列表中。换句话说,那些失散多年的好友,很有可能就藏在我们的好友的好友(下文称为潜在好友)中。经过长期的数据分析和评估,我们最后做了个简单而又有效的设定,那就是把我们的圈友限定在好友和与我们关系紧密的潜在好友中。基于这个圈友列表,我们又设计了一套严谨的清洗、筛选和过滤算法。设计这些清洗、筛选和过滤算法的目的,一是为了保护隐私,二是为了提高推送的准确度。
分圈是最关键,也是最难的步骤。在真实的社交网络中,同一个圈子的人彼此熟识,而不同圈子的人之间,却鲜有交情。映射到QQ的账号体系中,这就等价于,同一个圈子的人互相加为好友,而不同圈子的人则彼此为“陌生人”。这一从现实生活中得来的经验,是我们整个分圈算法的基本假设。
其实,基于这一假设的分圈算法并不罕见。学术界对与社交网络的分圈算法早有研究,其中较为流行的是Newman等人提出的分圈算法。我们在初期也尝试了Newman等人的方法,却发现这个算法比较消耗计算能力,而分出来的效果,远远达不到我们的要求。我们还尝试了文献中的另外一些方法,如Raghavan 等人的一种随机扩散算法等。Raghavan 等人的算法大幅度地减少了运算量,可惜分出来的效果,仍然达不到我们的要求。我们想要展示的圈子,要更好一些,更准确一些。
最后我们决定自己开发一套算法。经过长时间的尝试和实验,我们设计了一种“找朋友”算法。如同已有的社交网络分圈算法,“找朋友”算法只使用了QQ号码之间是否为好友这一最简单而直接的数据。这一算法的计算相对简单,效果却优于我们尝试过的所有方法。在算法里,每个圈子都在通过“找朋友”让自己变得更好。这里“好”的标准,也就是让圈子内的好友联系尽可能地紧密,而与圈子外的好友则尽可能地没有联系。
为了能让大家更好地识别圈子和圈友,我们还设计了特别的算法,尝试为圈子和圈友提供参考名称。在算法设计的过程中,我们花了相当多的时间和精力去保护隐私。例如,在一个圈子里,只有大部分圈子成员对某一个圈子成员都使用严格相同的备注名,这个备注名才会被聚合出来。而且这个备注名也仅仅只展现给这个圈子中的核心成员。所有的名称也都经过了非常严格和全面的脏词、敏感词等的过滤。此外,我们还基于小世界网络的理论精心设计了圈友的排序。我们还做了智能备注这样的功能,如果你愿意,可以快速地将圈子上的备注名复制到QQ的好友列表中……
新的开始
我们所做的一切,都是为了帮助我们有限的大脑来应对现在多变的社交环境。QQ圈子将会是一个智能的平台。这个平台可以辅助我们做很多琐碎的,有时也很困难的事情:譬如分组,备注,寻找好友。这个平台可以集成好友的通信方式,也能集成好友的消息动态,省去我们到处检索和浏览的精力。这个平台可以帮助我们维系现有关系,重拾失散的好友,也能帮助我们探索更多好友,拓展我们的社交网络。这个平台能帮助我们盘活我们的社会资本,为我们的生活带来更多的精彩!
QQ圈子,将是一个崭新的开始!