写点什么

Interactions Rank,挖掘用户的社交图谱

  • 2012-02-29
  • 本文字数:1296 字

    阅读完需:约 4 分钟

PageRank 是 Google 十年前提出的一种网页评级方法,也是 Google 用来衡量一个网站质量好坏的重要因素。利用 PageRank,Google 不断地改善搜索结果的排序,打造出目前最受欢迎的搜索引擎。相继搜索业的蓬勃发展,互联网领域又出现了一只新秀——社会网络 (SNS)。如今,Facebook 几乎代表了 SNS 的领航者。在 F8 大会上,来自 Facebook 的工程师介绍了关于 news feed 的算法,称之为 Edge rank。Edge rank 考虑了 SNS 网站用户之间的交互行为和交互的时效性,从而计算新鲜事出现权重,达到优化新鲜事排序、以及改变仅按时间排序的现状的目的。Edge rank 算法的好坏还需要时间来验证。

Interactions Rank 是 Google 的科学家最新提出的一种基于用户交互的社交图谱分析算法【1】,它定义用户与好友圈子之间的交互类别,并对不同的交互行为进行打分,找出与用户最亲密的好友圈子。

在 Interactions Rank 算法框架下,社交图谱用带权值的有向图来表示。图的节点代表用户,图的边代表用户之间的交互关系。考虑到用户之间的交互有主动和被动之分,图的边定义为带方向的,并且不同的方向有不同的权重。

从上面的计算公式中可以看出,Interactions Rank 主要考虑了以下三方面的因素:

  1. 交互频率: 用户与好友圈的交互频率越高,代表该好友圈相对用户的权重越大。
  2. 交互的时效性: 好友圈的权重随着时间不断变化。
  3. 交互的方向: 用户主动与好友交互要比被动交互对 Interactions Rank 产生的影响大。

总之,Interactions Rank 从用户的一组交互数据中计算而来,其中和分别表示好友圈子对该用户和该用户对好友圈子发起的互动行为。是当前时间,是发生交互行为的时间戳。可以调节时间因素对 Interactions Rank 的影响大小,可见,时间对 Interactions Rank 的影响是呈指数型衰减的。

好友推荐是 SNS 网站帮助用户拓展人脉关系的有效途径,Interactions Rank 为好友推荐提供了很好的依据。推荐引擎需要分析用户的社交关系,找到用户最可能认识的人。在拓展用户的好友圈子中,Interactions Rank 作为重要因素来衡量与用户发生交互的人之间的相关度,相关度越高,被推荐的概率越大。

Interactions Rank 的方法已被 Google 的电子邮件服务用来为用户推荐可能的收件人。当用户撰写一封电子邮件,在填写收件人名单时,推荐引擎会根据当前填写的名单为邮件撰写人推荐更多的收件人。其原理就是基于 Interactions Rank,对已填写的收件人群组进行扩充。该方法还被用来对用户的收件人列表进行纠错,对拼写错误的收件人地址提供修改建议。

【1】“Suggesting (More) Friends Using the Implicit Social Graph”, Maayan Roth, Tzvika Barenholz, Assaf Ben-David, David Deutscher, Guy Flysher, Avinatan Hassidim, llan Horn, Ari Leichtberg, Naty Leiser, Yossi Matias, Ron Merom, International Conference on Machine Learning (ICML), 2011.

InfoQ 相关内容:

文章:社会化推荐在人人网的应用

视频:社会化推荐算法在人人网的应用实践

作者简介:张叶银,毕业于中科院自动化所,目前担任人人网 Social Graph 算法工程师,主要负责 Social Graph 算法的研发,感兴趣的方向主要有大规模数据挖掘机器学习的应用及社会化计算。

2012-02-29 21:283317

评论

发布
暂无评论
发现更多内容

为什么我不建议你用阿里巴巴Java规范,而使用 Google Guava 编程?

Java 程序员 后端

产品经理必懂的技术那点事儿(中),mybatis基本工作原理

Java 程序员 后端

000|发刊词:与技术世界保持链接

棒棒彬👻

技术 知识分享

从国企到互联网,程序员六年四段经历,一份被很多 HR 刷掉的简历

Java 程序员 后端

从外卖员到程序员,自学3年终于转行成功,三面

Java 程序员 后端

为什么不想做Java了,6年经验去面试10分钟结束,现在Java面试怎么这么难

Java 程序员 后端

云服务器下centos7,nginx面试题

Java 程序员 后端

五分钟搞懂spring-cloud-square,linux服务器开发需要的技术

Java 程序员 后端

今日头条一面:十道经典面试题解析(1),阿里巴巴java面试几轮

Java 程序员 后端

从 Java 到 Scala,再到 Kotlin,java面试知识点太多

Java 程序员 后端

从0到1,阿里巴巴定制版的JVM高手实战清单!深度广度环环相扣

Java 程序员 后端

从JVM锁到Redis分布式锁,对小白十分友好,java最新技术栈百度网盘

Java 程序员 后端

架构实战营模块二作业

孙志强

架构实战营

001|看!Swift 与 C++ 的交互性

棒棒彬👻

swift 编程语言 CocoaPods 编译优化

什么是服务网格?,P8级别的顶级“并发编程”宝典

Java 程序员 后端

二、docker 镜像容器常用操作(让我们用docker 溜得飞起)

Java 程序员 后端

京东热-key-探测框架新版发布,单机-QPS-可达-35-万

Java 后端

什么是接口的幂等性,如何实现接口幂等性?,mongodb实战第二版下载

Java 程序员 后端

Vue进阶(幺伍玖):动态样式设置

No Silver Bullet

Vue 样式设置 11月日更

今年面试大厂屡屡失败,一波三折最终入职拼多多java岗,我经历啥

Java 程序员 后端

五、redis配置信息以及常用命令,java语言程序设计基础篇第十一版pdf

Java 程序员 后端

京东4面(Java研发):事务隔离,java程序设计案例教程机械工业出版社

Java 程序员 后端

今日头条一面:十道经典面试题解析,我的腾讯Java面试经历分享

Java 程序员 后端

【Flutter 专题】22 图解 PopupMenu 那些事儿

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

什么会导致Java应用程序的CPU使用率飙升?,spring快速入门教程

Java 程序员 后端

从一道 LRU 算法题说到缓存淘汰策略,Java常用面试集合

Java 程序员 后端

主动学习微服务架构深度解析:微服务的采用前提,微服务使用场景

Java 程序员 后端

五位阿里大牛联手撰写的《深入浅出Java多线程》

Java 程序员 后端

五分钟!搞懂 MySQL主从复制原理,还不会算我输

Java 程序员 后端

什么?我往Redis写的数据怎么没了?,java自学教程百度文库

Java 程序员 后端

从月薪 1000 到 2W+,文科生如何逆袭成为大厂程序员

Java 程序员 后端

Interactions Rank,挖掘用户的社交图谱_Google_张叶银_InfoQ精选文章