最好走的路越走越难,最难走的路越走越容易

Follow guwendong on Web
  • Subscribe to Beyond Search via RSS
  • Follow @clickstone on SinaWeibo
  • Join Resys Google Group
  • Follow @clickstone on Douban
  • Follow @clickstone on Twitter

Category Archives: 技术研究

Social Media Algorithm: Reddit

毫无疑问,互联网媒体的未来是属于 social media 的。

群体智慧,是 social media 的基础。其基本假设是说,参与到 social 中的群体越多,media 所反应出来的智慧越高超。但如何把群体活动转化为可被使用的智慧呢?这个就是算法发挥作用的地方了。

本文将陆续披露 RedditStumbleuponDel.icio.usHacker News 等一系列站点所使用到的算法。

Reddit,背景介绍可以参考我之前写的两篇短文:1)社会新闻网站:Reddit 和 Findory;2)Reddit 被收购了

Reddit-Rank

1、公式构成

假设有一篇文章《Social Media Algorithm》,与其相关的有两个时间 A 和 B,其中,A 为某篇文章的具体发布时间,精确到秒;B 为一个固定的时间常量,2005-12-8 7:46:43。则可以计算得到 A 和 B 间隔的秒数 ts

reddit01

另外,U 表示 《Social Media Algorithm》一文得到的支持票数,D 表示得到的否定票数,则可以计算得到 x,

reddit02

定义变量 y,

reddit03

定义变量 z,

reddit04

最后定义得分公式 为,

reddit05

2、公式解释

1)时间点 B,2005-12-8 7:46:43,是一个固定的值,猜测应该是 Reddit 的上线时间。ts 反映了文章的新鲜程度。引入 B 是一个非常优雅的技巧,它使得新鲜度的度量可以独立于系统当前时间。
2)y 表示支持数和否定数之间的相对关系。被否定多的文章得负分,这是合乎常理的。
3)45000 代表的是一个 12.5 小时周期内的总秒数。它 与 yts 一起使用,随着时间的推移,新文章的得分会逐渐超越高投票数的老文章,从而实现自动更新的效果。
4)log10 的使用是另外一个技巧,它可以使得早期的投票获得更大的权重。比如,前 10 票获得的权重,与 11 到 101 票所获得的权重是一样的。

整个公式的效果可以简单解释为:在 00:00:00 发布的一个帖子 a,如果它想在 12.5 小时之后,能够取得与在 12:30:00 发布的帖子 b 同样的得分,则必须在 00:00:00 点到 12:30:00 这段时间内,把它的得票数扩大 10 倍。注:这个解释不精确,但容易理解一些,不然写着太绕。
不过,其中 45000 与 log10 的选择不是通用的,得根据自己网站实际的情况进行修正。这是一个 trial-and-error 的过程,也是作算法的人最头大的部分。

3、来源
code.reddit.comRedflavor.com 以及 Hacker News 的用户 Aneesh

 

求助

第一次通过 blog 求助,希望好心的朋友帮忙!

Google 开放出来的英文 ngram 数据,对我的工作很有帮助。但我通过一些途径联系 LDC 购买,始终得不到回复。阅读我 blog 的朋友,如果有能提供帮助的,烦请联系我,谢谢!

另外,Google Alert 的结果提供了 Feed 输出的方式,可以直接在 Google Reader 里面订阅,非常好用。
 

 

Google Suggest and Adwords

Google Suggest 上线已经有一段儿时间了,不知道大家注意到没有。当然我说的是 google.com,不是谷歌。它刚上线的时候,我有一个揣测,“Google 会不会把 Adwords 里比较值钱的词优先 suggest 出来”?抱着这个疑问我关注了一段儿时间的相关文章,结果发现似乎没什么人讨论这个问题。而我个人又没有渠道到 Adwords 系统里面作实验,也就不了了之了。

直到上周,我发现了一篇有意思的文章,'Google Suggest' Could Trump Expensive Keywords – For Now,看来和我一样喜欢瞎琢磨的人还是有的,哈哈。

这篇文章的作者做了实际的实验。

以“virtualization”关键字为例,使用 googe 提供的 keywords tool,限制最高 CPC 最高价为 $5.00,找到的关键字如下图所示。图中列出的是最贵的前 5 个,据作者讲,google keywords tool 找到的前 50 个关键字,CPC 价格全部在 $2 到 $3 之间。这个价格应该算是相当昂贵了。

接下来,有意思的事情来了。

作者在 google.com 上输入“virtualization”,google suggest 给出的建议关键字如下图所示。经研究发现,第 2 位,第 4 位,第 8 位,和第 10 位的四个关健字,

  • Virtualization for Dummies
  • Virtualization technology support
  • Virtualization benefits
  • Virtualization definition

在 Adwords 里面的 CPC 价格仅有 $0.05!
貌似价格比较高的关键字里面,只有“virtualization server”被 suggest 出来。

看起来在这件事情上,google 不作恶的信条保持得还蛮不错。比百度整的恶心事儿要强。

这个发现可以为 SEO 带来不小的市场机会!显而易见,google suggest 列表里面的关键字,被选中进行搜索的机会要比一般的关键字大得多。找出那些便宜的,买下它们,这是个好买卖。行动吧。

 

ResysChina 发起人
1. 持续关注 个性化推荐 技术;
2. 持续关注 Semantic Web 技术;
3. 评论与上两项相关的互联网业务与产品;

我相信技术的力量!
wendell.gu@GMail.com

Archives