智能网络功能,算法(您可能关注的人,与您类似...)

4 algorithm twitter soundex

我有3个关于智能网络算法的主要问题(web 2.0)

这本书我正在阅读http://www.amazon.com/Algorithms-Intelligent-Web-Haralambos-Marmanis/dp/1933988665,我想更深入地学习算法

1.您可能关注的人(推特)

如何确定我的请求的最近结果?数据挖掘?哪种算法?

2.你如何连接功能(Linkedin)

简单的算法就是这样的.它利用两个节点之间的路径让之间说和其他人是Ç. 我- > A,B - > A的连接件- "ç.它不是任何强力算法或任何其他类似的图算法:)

3.类似于你(Twitter,Facebook)这个算法类似于1.它只是简单地使用Twitter中的max(count)朋友(facebook)或max(count)粉丝吗?或他们实施的任何其他算法?我认为第二部分是正确的,因为运行循环

 dict{count, person}
 for person in contacts:
        dict.add(count(common(person)))
 return dict(max)
Run Code Online (Sandbox Code Playgroud)

在每个令人耳目一新的页面中都是愚蠢的

4.您的意思是(谷歌),我知道,他们可能有实现它语音算法 http://en.wikipedia.org/wiki/Phonetic_algorithm简单的同音 http://en.wikipedia.org/wiki/Soundex这里是谷歌工程副总裁兼首席信息官Douglas Merrill讲http://www.youtube.com/watch?v=syKY8CrHkck#t=22m03s

前三个问题怎么样?欢迎任何想法!

谢谢

mau*_*ris 7

你可能会跟随的人

您可以使用基于因子的计算:

factorA = getFactorA(); // say double(0.3)
factorB = getFactorB(); // say double(0.6)
factorC = getFactorC(); // say double(0.8)

result = (factorA+factorB+factorC) / 3 // double(0.5666666666666667)
// if result is more than 0.5, you show this person
Run Code Online (Sandbox Code Playgroud)

因此,在Twitter的情况下,"您可能关注的人"可以基于以下因素(用户A是用户查看此"您可能关注的人"功能,可能会有或多或少的因素):

  • 在用户A和用户B的推文中找到的常用关键字之间的相关性
  • 两个用户的配置文件描述之间的相关性
  • 用户A和B的位置之间的相关性
  • 人们用户A是否跟随用户B?

那么他们在哪里比较"你可能会跟随的人"呢?该列表可能来自具有大量粉丝的人(他们可能是名人,阿尔法极客,着名产品/服务等)和[用户A关注的人]正在关注的组合.

基本上,这里有一定程度的数据挖掘,阅读推文和bios,计算.当服务器负载当天最少(或者可能在单独的服务器上全天候完成)时,可以在每日或每周的cron作业上完成此操作.

你是如何联系的?

这可能是一个聪明的工作,让你觉得已经做了大量的蛮力来确定路径.然而,经过一些表面研究,我发现这很简单:

说你是用户A; 用户B是你的联系; 用户C是用户B的连接.

要访问用户C,您需要先访问用户B的个人资料.通过访问用户B的个人资料,该网站已经保存了指示用户A在用户B的个人资料中的信息.因此,当您从用户B访问用户C时,该网站会立即告诉您"用户A - >用户B - >用户C",忽略所有其他可能的路径.

这是用户C的最高级别,用户Acannot继续查看他的连接,直到用户C是用户A的连接.

资料来源:观察LinkedIN

与你相似

它与#1(你可能会关注的人)完全相同,只是算法会读入不同的人员列表.算法读入的人员列表是您关注的人员.

你的意思是

嗯,你在那里得到它,除了谷歌可能使用的不仅仅是soundex.有语言翻译,单词替换以及用于Google案例的许多其他算法.我不能对此发表太多评论,因为它可能会非常复杂,我不是处理语言的专家.

如果我们对Google的基础架构进行更多研究,我们会发现Google拥有专门用于拼写和翻译服务的服务器.您可以在http://en.wikipedia.org/wiki/Google_platform上获取有关Google平台的更多信息.

结论

高强度算法的关键是缓存.缓存结果后,您不必每页都加载它.谷歌做到了,Stack Overflow做了它(在大多数带有问题列表的页面上)和Twitter也不例外!

基本上,算法由开发人员定义.您可以使用其他人的算法,但最终,您也可以创建自己的算法.