大数据学习笔记·社会计算(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算法,这个算法可以基于自我展示的信息识别相互联系的用户账号。
  • 设计了一个基于关系的分层化模型来总结用户的生活方式。

你可能感兴趣的:(大数据与机器学习,大数据)