大数据学习笔记5·社会计算中的大数据(3)

前两篇文章介绍了我们在用户移动规律的理解方面的研究工作,包括如何处理用户轨迹中的缺失数据以及如何为用户推荐感兴趣的位置。在这一部分,我将展示我们在用户特征研究方面的研究项目。

LifeSpec

首先,我想介绍我们近期开展的LifeSpec项目。这个项目的目标是利用社交网络中的用户数据来探索城市生活方式的方方面面。

我们从多个社交网络收集了数据,包括街旁,微博,图书和电影评论网站豆瓣,以及著名的餐馆评论网站点评。我们收集的数据覆盖了超过140万用户,这些用户在我们的数据集中至少有两个账号。

右边这幅图展示了有多个账号的用户的比例。从图中可以看到,我们的数据集中的所有用户都至少有两个账号。实际上,这是数据集收集的一项要求。数据集中约有40%的用户至少有三个账号。

从社交网络中,我们收集了不同类型的用户足迹,包括推特消息、照片、签到、电影、图书、音乐、线下事件、在线购物历史等。由于用户可能在其中部分社交网络中分享画像,因此我们可以从不同网站获得公开的用户画像,包括年龄、性别、关系、职业、大学、高中等。我们共收集了5300万条足迹。足迹包括签到、电影和音乐评论、事件和图书评论等。我们还有300万条用户的社交关系。足迹中约有3900万条签到数据。这意味着足迹大部分都是位置签到。所以,位置是我们的数据集中的一类重要数据。我们的用户来自中国的不同城市,包括上海、北京、广州等。这些城市的用户数量多于其他城市的用户数量。

让我们来看看数据集的一些简单的统计数据。

  • 左上方的图展示了两个城市每天的签到情况。这里我们以北京和广州为例。X轴表示一年中的每一天,Y轴表示签到次数。从这幅图中,你们可以发现,周末的签到次数要比平时多一些。此外,全国性假期的签到次数也会多一些,如五一假期和十一假期。
  • 如果看看一天中不同时间的签到次数,我们可以看到不同的模式。例如,如果你们看看左下方的这幅图(我们仍然对比北京和广州),你们可以看到,X轴仍然表示一年中的一天,Y轴表示一天中的不同时间。从图中,你们可以发现,人们在晚上的活动要少一些,因为这个时候他们通常要睡觉。但是比较北京和广州的数据,我们还可以发现,北京人比广州人睡得更久。这个观察得到了另一项由中国医师协会开展的问卷调查的验证。这项问卷调查的结果是在2013年世界睡眠日公布的。平均来说北京人在晚上10:15入睡,而广州人则在晚上11:00以后入睡。所以,北京人实际上比广州人睡的更早。
  • 我们研究不同城市的人的移动规律模式。例如,我们研究了在北京的上海人的移动规律模式。也就是说,他们到北京去旅游或者出差。

    这些图展示了北京、上海和香港的签到密度分布。它们展示了不同城市的移动规律模式。这些图左上方的图展示了在北京的北京人的移动规律,也就是本地的移动规律。上方的中间这幅图展示了在北京的上海人,也就是到北京去的上海人的移动规律模式。所以,如果看看这9幅图,我们可以发现,本地移动规律模式通常比非本地的移动规律模式覆盖城市中更大的范围。这意味着,如果你生活在这个城市中,你会到不是那么有名的地方去。但是,如果你到另一个地方去,你很可能去一些旅游景点、会议中心、机场或者火车站。从这一点来说,如果我们知道一个人是否是本地人,我们可以使用这个属性来帮助我们做位置预测。在实验中,我们发现这可以提高位置预测的准确度。

数据收集的方法

现在,我们来介绍数据收集的方法。

我们根据两类自我公开信息来连接用户在不同社交网络中的账号。

  • 跨域发布:这意味着,用户在一个社交网络中发布了一条信息,并把这条消息同步到其他社交网络中。例如,如果你在Foursquare发布了签到信息,那么你还可以把这个信息同步到Facebook中。然后,根据内容、时间和位置,我们可以知道这两个账号是同一个人的。
  • 用户画像:通常,用户会在他们的画像页面公开他们在不同社交网络上的账号。例如,用户可能会在他们的主页上展示他们的领英、脸谱和推特账号。所以,我们也可以利用这些信息来连接不同用户账号。

基于自我展示的信息,我们开发了Iconnect算法。

Iconnect能够发现用户在不同社交网络中的介绍页面,跟踪相互连接的账号,并递归发现更多的账号和连接。通过这种方式,我们爬取多个社交网络并收集用户数据。我们的用户数据包括三个部分。第一部分是画像,包括年龄、性别等个人背景资料。第二部分是足迹,包括推特消息、签到和各种评论。第三部分是朋友关系,即不同用户之间的关系。

收集了这些数据集之后,我们想使用这些数据集来研究一群人的生活方式的方方面面.因为有用户画像,所以我们能够根据位置、大学、年龄或者公司对人们进行分组。如果我们定义了一个组,那么我们就可以得到这个组的所有足迹。我们使用一棵树来表示这组用户的生活方式的方方面面。树的根节点表示这组用户的常见足迹或者生活方式。子树的根节点代表一个子群的常见行为。

这幅图展示了北京人的生活方式。这里,根节点,你们可以看到,可以由三个足迹表示:白天逛街、上班和吃快餐。北京用户的子生活方式的子群包括喜欢喜剧,白天和晚上都会去办公室。对于一个更小的群体,他们喜欢咖啡和西餐,在晚上去酒吧。通过这种方法,我们可以将这群用户的生活方式进行可视化。

我们还可以比较这群用户的生活方式和其他群体的生活方式。我们设计了一个基于关系的层次化LDA来生成这个生活方式树。

在这里,我们把每个用户看成一个文档,把他/她的足迹看成文档中的单词。所以,对于一群人,我们有一组文档。对于这个文档组,我们使用主题模型来生成主题树。因为这是层次化LDA,所以我们可以为这棵树生成层次化结构。在这里,关系是指不同用户之间的社会联系,在这里就是这些文档之间的联系。这与文档之间的引用关系是类似的。

研究实例

现在,让我们来看一些例子。

这里我们根据用户的职业把他们分成两组,一组称为金融从业者,另一组称为软件从业者。对于金融从业者,我们发现,生成树中最常见的节点表明他们喜欢阅读经济类的图书。我们还看到,他们喜欢去酒吧和银行。对于软件从业者,在树中看不到任何经济类的图书,但是我们发现他们中的大部分人都喜欢阅读计算机和编程类的图书。他们中的一些人喜欢用户体验设计类的图书。

另外一个例子:

这里,我们根据用户的出生年份分组。从图中,我们可以看到90后和80后的两个例子。从为90后生成的层次结构中,我们可以看到,他们中的一些人喜欢去咖啡厅这样的地方,一些人喜欢看香港的文章和玩电子游戏。这说明这些用户很年轻。对于80后,他们中的很多人都喜欢火锅,其中一些人喜欢川菜,他们会在白天和晚上去办公室。这意味着,他们年龄要大一些,因为他们需要去上班。

总结

  • 在LifeSpec项目中,为发现城市的生活方式开发了一个计算框架。
  • 在系统中设计了Iconnect算法,这个算法可以基于自我展示的信息识别相互联系的用户账号。
  • 设计了一个基于关系的分层化模型来总结用户的生活方式。
时间: 2024-10-13 14:53:44

大数据学习笔记5·社会计算中的大数据(3)的相关文章

大数据学习笔记6·社会计算中的大数据(4)

上一篇介绍了LifeSpec项目,这个项目是关于用户理解和用户画像的.这篇是社会计算部分的最后一篇,关于用户连接和图隐私. 用户连接与隐私保护 用户连接与隐私保护有很强的相关性. 上图中,左边有两个网络.对于用户连接,我们的目标是映射这两个网络和连接这些网络中的用户节点.然后,我们就能产生一个更大的网络.这样,用户就能够被连接在一起,我们就可以知道跨网络的用户信息. 但是,如果从隐私的角度来看这个问题,把第一个图看成一个匿名化处理后的图,称其为目标图:把第二张图看成辅助图或者攻击者可获得的信息.

大数据学习笔记4·社会计算中的大数据(2)

本篇继续讨论对用户移动规律的理解:结合地理建模和矩阵分解来做兴趣点推荐. 位置推荐是一类非常受欢迎的应用.在位置推荐中,我们需要理解用户的潜在兴趣并熟悉用户所处的环境.然后,我们就可以根据用户的兴趣和位置的属性发现用户可能感兴趣的地点.与普通推荐任务相比,地理位置在位置推荐中是改进推荐性能的一个重要因素. 在前面一篇中,我们讨论了如何恢复用户行为数据用于移动规律的理解.我们发现,用户移动行为通常集中在像家庭.工作场所和最喜欢的餐馆这样的重要地点.而且,两个地点之间的距离通常很短.所以,我们想要利

大数据学习笔记3·社会计算中的大数据(1)

背景信息 什么是用户行为数据,用户行为数据是怎么积累的.为什么我们需要研究用户理解以及为什么用户理解这么重要.在第二部分,我会介绍我们最近关于移动规律理解应用的研究工作.例如,怎样处理用户轨迹中的数据缺失问题,怎么样为用户推荐有趣的地点.在最后一部分,我会展示我们近期在用户分析和隐私保护方面的研究项目. 这张图展示了每分钟用户在一些网站上产生的数据量. 用户数据是怎么样收集的 二十多年之前,那时候普适计算的概念才刚刚被提出来.马克.维瑟提出了普适计算的概念.那时候已经有了大型机和个人计算机,人们

大数据学习笔记2·互联网搜索中的大数据研究

大规模网络搜索的设计 大规模搜索引擎的逻辑结构 上图来自1998年Google两个创始人发表的论文. crawler:爬虫,从互联网上获取文档信息 index:读取这些信息,并记住哪些单词出现在哪些文档中,称为索引 search:使关键词查询成为可能,并对查询结果进行排序 Google的独特性在于:使用anchor text描述目标文档,并利用文档之间的链接对文档的重要性排序,这就是PageRank. Google搜索的主要数据结构 将大文件设计为虚拟文件 每个页面有三个描述维度: sync同步

大数据学习笔记7·城市计算(1)

前言 众所周知,快速的城市化使得很多人的生活变得现代化,同时也产生了很多挑战,如交通拥挤.能源消耗和空气污染. 城市的复杂性使得应对这些挑战看起来几乎是不可能的.近来,传感技术和大规模计算基础设施的进步产生了各种各样的大数据,从社会化媒体数据到交通数据,从地理数据到气象数据.如果使用得当,我们可以使用这些数据去应对城市中面临的各种挑战. 受到这个机会的激励,我们提出了城市计算的解决方案.它把城市传感.城市数据管理.城市数据分析和服务提供变成一个对人的生活.城市运行系统和环境进行不断重复但不显眼的

社会计算中一些名词笔记

社会计算中相关的一些概念,整理下笔记: 1.弱连接[weak tie]:最早来源于Granovetter的"弱连接假设"(weak tie hypothesis),比如下图,弱连接假设是说,如果A和B.C有一条强连接,可以理解成A和B.C是好朋友,则B.C之间形成连接的可能性就会很大,即B.C很有可能也称为好朋友. 也就是说,A和B.C通过强连接连接,则B.C之间的连接一般是存在的,如果B.C之间不存在连接,则B.C之间的连接很容易生成,这个叫做"三元闭包"(For

angular学习笔记(五)-阶乘计算实例(2)

<!DOCTYPE html> <html ng-app> <head> <title>2.3.3计算阶乘实例2</title> <meta charset="utf-8"> <script src="../angular.js"></script> <script src="script.js"></script> </

Android学习笔记_78_ Android开发中使用软引用和弱引用防止内存溢出

在<Effective Java 2nd Edition>中,第6条"消除过期的对象引用"提到,虽然Java有 垃圾回收机制,但是只要是自己管理的内存,就应该警惕内存泄露的问题,例如的对象池.缓存中的过期对象都有可能引发内存泄露的问题.书中还提到可以用 WeakHashMap来作为缓存的容器可以有效解决这一问题.之前也确实遇到过类似问题,但是没有接触过"弱引用"相关的问题,于是查阅了一些资料. <Java 理论与实践: 用弱引用堵住内存泄漏>

angular学习笔记(五)-阶乘计算实例(1)

<!DOCTYPE html> <html ng-app> <head> <title>2.3.2计算阶乘实例1</title> <meta charset="utf-8"> <script src="../angular.js"></script> <script src="script.js"></script> </