作者flygalaxy (人)
看板ask-why
标题Re: [请益] Facebook 的朋友建议机制是怎麽回事?
时间Tue Sep 22 01:10:07 2009
我简单说一下~~如果有错误 烦请指正
因为我有在写facebook app
所以对於它的好友trace方式大概有了解
你提到的三点基础线索(同一个 network 学校 共同的朋友)
的确是facebook的优先考量
但facebook有一种特殊的演算机制
这可能要拓朴学领域的会比较了解
据说街上每随机抽取50个人 其中至少有两个人是同一天生日
这是建构在机率系统上的假说
同样的 在网络的平面概念中一样适用
只是把一维的机率 延伸到平面而已
用通俗一点的解释如下:(假设你是A)
第0层 A
|
第1层 B---C---D---E
BCDE是在"基础线索"上与你有关的好友
於是BCDE出现在好友的建议名单中
这时候你会加入他们的机率几乎是99%
於是进入第二层
第0层 A
|
第1层 B---C---D---E
| | | |
第2层 F-G H-I J-K L-M
FGHIJKLM是在拓墣观念上与你有关联的好友
这时你可能只加入G.J或M
加入机率可能可能只有37.5%
此时演算法会去检讨0-1与1-2的路径
然後重新调整方向 提升你的加入机率
(为方便说明 举极端的例子)
简单来说 在第2层中FGHIJKLM GJM是你的高中同学的同学
FHIKL是你的高中同学的家人
演算法发现你加入GJM的机率为100% 而FHIKL为0%
因此"同学的同学"这项关联就会成为未来第3层建议名单的原则
而"同学的家人"这项关联就会被舍弃
理想上 之後你的建议名单都是"同学的同学的同学...无限延伸"
而你的加入率也会接近100%
第0层 A
|
第1层 B---C---D---E
| | | |
第2层 F-G H-I J-K L-M
| | |
第3层 N O P .......
以上~你会发现 facebook给你建议的名单好像神一样!! 准到一整个不行
看到这别先END
如果只有这样 facebook也没比无名高明多少
facebook的野心还不只这样
就如同有案例发现 有的人之间的关联完全消失在网路上
facebook一样神的出来 有时候让表特版的乡民也自叹弗如
这就要牵扯到平面机率(或网状机率) 以及部分的心理学
FB演算法由两部分组成
一部分是先前提到的"基础线索"
另一部分是针对前一部分的盲点所设计的"机率线索"
一开始我们有提到"每随机50人中至少有两人生日相同"
我们先假设50人的生日完全不同
机率P=(365/365)*(364/365)*(363/365)......*(316/365)
=0.0296
也就是说 假设"生日"是人与人之间的"关联条件"
那麽我随便找50人 这50人完全没关联的机率小於3%
因此facebook只要随便把没关系的50人的凑一推
会有97%的机率其中"至少"有两人看对眼爆出爱的火花
有这样的基础 就可以产生很多玩法
例如以"学校"作为人与人之间的关联条件
假设全台湾一共有160所大学 (基数)
那麽50人(库数)无关联的机率P=(160/160)*(159/160).....*(111/160)
=0.000185
天哪 0.0185耶~ 随便都中 同学会到处开!!
人与人之间认识的可能性 当然不只是表面上的关联表徵
可能是机率表徵 (你无法预测机天可能会在路上遇到谁 然後和谁成为朋友)
使用机率表徵的计算原则相同
公式化後如下:
关联A 基数=a
库数=a'
关联A完全没命中机率P(a)=a!/{[a^(a')]*[(a-a')!]}
把所有关联集合起来 P=P(a)*P(b)...... P会趋近於零
假设FB很衰小 取样这50个人在任何关系上通通不认识没关联
"机率趋近於零"!!!!!!!!!!!!!!!!! (尤其是考虑越多关联)
因此 咱们的facebook又再度神奇的从陌生人猜出你可能认识谁!!
这样还不够严谨
facebook还有一招
根据社会网络心理学 认识的人其中必定有某种层度的关联
可能是兴趣.居住地.语言.喜爱的食物.善长的技能等等...
如果今天有两个认识的人之间完全查不到任何表面关联
那麽那麽它一定落入"完全没关联区"
恩...什麽跟什麽 一定有人会听不懂
那用下图来说明好了
(下面的数线代表与你有相关的线索数目)
高度相关 轻度相关 完全无相关
<------------------------------------------>
你认识的人 你不认识的人 你可能认识的人
如果画成座标图如下:
你 |*
可 |*
能 | *
认 | * A B
识 | *
的 | * *
人 | * *
数 | * *
|_______*******________
与你相关的线索数目
一般A的状况很能理解 与你共通线索特徵越多的人 你越可能认识他
但是大家往往忽略B的区段
这有点像"反常态曲线"
有部分你认识的人会落在几乎与你没相关的区域
虽然曲率没有A的高
但很明显的可以看出
所谓的半生不熟的关系 却是人们最不可能认识的陌生人
所以 facebook只要把与你"最不相关"与"最相关"的人丢到你的建议名单
你就会有一长串 看似神奇的建议名单噜!!
当然心理学上来说 facebook给你50人 你有49人不认识 但有1人你认识
你的注意会在那一人上 并且直呼好神奇
而"猜错的49人"会被你忽略或是遗忘!!
说了这麽多 麽复杂的演算在程式撰写上来说却不是很难
配合资料库与资料定义演算 就可以在很短的时间算出建议名单了
facebook应该不会无聊到去偷窥大家的信箱啦
虽然技术上是办的到 但完全没C/P值!?
除非是你主动汇入名单~
以上 因为我不太会画BBS图
若难以理解敬请见谅!!^^
※ 引述《Equalmusic (Cosmajoonitist)》之铭言:
: 我知道他会建议
: 1. 同一个 network 的人
: 2. 同一所学校的人
: 3. 如果你们有共同朋友
: 但是有的时候他会出现我认识的人, 但是我跟她在 facebook 上根本没有共同朋友的情况
: 不是同一个 netowrk, 也没有去过同一所学校
: (另外就即使是同一个 network 或是去过同一个学校, network 那麽大, 学校那麽大
: 他却知道要建议谁, 这也还蛮神奇的...)
: 我想过一个状况就是这个人先在 Facebook 上搜寻我, 查看我的资料
: 但後来我稍微 google 了一下发现了这个讨论串
: http://www.topix.com/forum/com/facebook/TIM2PL2T0O5BQJO1C
: 里面有人举了一个例子排除了这个可能性
: 1. 他们八年没联络, 所以这个人主动查询他的可能性不高
: 2. 就算他真的搜寻他的资料, 他的名字是菜市场名, FB 上有千百个跟他同名的
: 3. 如果他用的是他的 email, 他的 email 早就换了
: 我没有看完整个讨论串, 一来实在文章太多, 二来文章的相似性太高
: 特别很多人提出提出 FB 会 tap into 你的 email contact list, yahoo 或 MSN 帐号
: 我觉得是 nonsense
: 虽然我对网路安全不是特别了解, 不过 FB 只是一堆 web applets
: 不可能跑到我的电脑里来碰我的资料(如果是这样那浏览器的安全性也太低了吧)
: 另外有些人也不在我的 AIM, GTalk 或是 MSN 里面
: 但是 FB 还是很尽职的把他们都找出来了 ~_~
: 想请教一下有没有板友对 Facebook 这种查找机制有研究的
: 好想知道阿!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 60.248.76.222
1F:推 void:为什麽玩全无相关那边反而认识人数可能会上升? 09/22 01:19
2F:→ void:可以加以说明阿 不太懂为什麽那样反而可能会认识? 09/22 01:19
3F:→ void: 吗 09/22 01:20
4F:推 H45:可能你走在路上突然结识一位陌生人,之後关系很好,但是好友圈 09/22 01:35
5F:→ H45:完全不同。 09/22 01:35
6F:推 HuangJC:如果这篇当广告是很好,不然的话,说好就好,说歹就歹罗~ 09/22 01:54
7F:→ HuangJC:任50人生日不重覆机率小於3%,也就是有关联是 97%,很惊人 09/22 01:55
8F:→ HuangJC:但如果要说歹的话..大多和我无关,也许是某两个陌生人有关 09/22 01:56
9F:推 KanoLoa:推解析 真棒 09/22 21:20