写点什么

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:283819

评论

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

Go 入门很简单:如何在 Go 中使用日志包

宇宙之一粟

日志 log Go 语言 4月月更

spring-cloud-kubernetes与SpringCloud Gateway

程序员欣宸

Java spring-cloud 4月月更

组件容器化Statefulset与Deployment的选型与实践

移动云大数据

Deployment statefulset

HDFS小文件分析实践

移动云大数据

hdfs 小文件

Linux驱动框架与杂项字符设备框架介绍

DS小龙哥

4月月更

融云互联网通信安全系列之端到端加密技术

融云 RongCloud

[Day20]-[动态规划]零钱兑换 II

方勇(gopher)

LeetCode 动态规划 数据结构算法

Android C++系列:C++最佳实践6 constexpr与decltype

轻口味

c++ android ndk jni 4月月更

Cilium 原理解析:网络数据包在内核中的流转过程

火山引擎边缘云

Linux 云原生 网络

阿里云发布中国云原生数据湖应用洞察白皮书

阿里云大数据AI技术

大数据 数据湖

GAIA-IR: GraphScope 上的并行化图查询引擎

6979阿强

大数据 并行计算 图计算 GraphScope 图分析

TASKCTL 资源树刷新、重载和重置的不同区别

敏捷调度TASKCTL

DevOps 分布式 敏捷开发 自动化运维 大数据运维

融云首席科学家任杰:互联网兵无常势,但总有人正年轻

融云 RongCloud

微信小程序开发系列(一) :开发环境搭建和微信小程序的视图设计与开发

汪子熙

微信小程序 微信 开发视图 微信小程序专栏 4月月更

面对裁员潮,程序员如何安身立命

融云 RongCloud

架构实战营-外包学生管理系统架构文档

CityAnimal

架构实战营 #架构实战营 「架构实战营」

湖仓一体,Hologres加速云数据湖DLF技术原理解析

阿里云大数据AI技术

sql 大数据 分布式计算 Cloud Native MaxCompute

不要把公司对你的要求作为目标

张泽豪

职场 观点

Mybatis-plus在项目中的应用

Rubble

4月日更 4月月更

面试突击41:notify是随机唤醒吗?

王磊

Java java面试

为什么需要可编程代理

Flomesh

负载均衡 代理 Pipy 可编程代理

Git技巧小能手

西门阿杰

git 版本控制

学生管理系统架构文档

小虾米

架构实战营

制约国内企业知识管理发展的因素

小炮

知识管理 企业知识管理 企业知识管理工具

什么是域名(Domain Name ) ?

源字节1号

行业大咖齐聚 多元主题碰撞 OpenHarmony技术日等你来

Geek_283163

OpenAtom OpenHarmony

深入解析require源码,知其根,洞其源

战场小包

前端 Node 4月月更

解决报错:SSL certificate problem: certificate has expired

liuzhen007

SSL证书 4月月更

Apache ShardingSphere 如何实现分布式事务

SphereEx

Apache 数据库 ShardingSphere SphereEx

Windows注册表内容

Sher10ck

注册表

【高并发】如何解决可见性和有序性问题?这次彻底懂了!

冰河

并发编程 多线程 协程 异步编程 精通高并发系列

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