社交媒体中有哪些有趣的数据?能挖掘出哪些价值?
导读:社交媒体在当今的重要性不用多说,大量的用户每天都在创造数不清的数据。从这些数据中,我们能挖掘出哪些价值?又该怎样做?本文将为你科普一些相关的常识。
自从Web 2.0问世以来,赋予用户主动变更和贡献内容的权力的站点及服务受到了广泛欢迎。
社交媒体起源于早期的社交网络和社区通信服务,包括20世纪80年代的公告牌系统(Bulletin Board System,BBS)以及其后出现的Usenet新闻组和20世纪90年代的地理城市(geocity),它们中的社区围绕着受关注的热门话题进行组织,并为用户提供电子邮件或聊天室作为交流平台。
被称为Internet的全球信息通信网络则带来了一个更高层次的网络系统:在志同道合的个人和群体之间建立的全球性的关联网络。
从那时开始,尽管跨越全球建立人与人之间联系的基本理念变化不大,但是社交媒体服务的范围和影响却达到了前所未有的程度。虽然大部分的交流仍然很自然地发生在“现实世界”,但是转向电子信息交换进行人际交互的趋势已经愈加强烈。
移动设备的快速发展和联网程度的快速提升使得“口袋里的Internet”成为现实。在此基础上,在任何时间、任何地点与朋友、家人保持联系以及持续关注喜欢的事情都已经成为可能。
无怪乎用于满足人们交流和分享需要的服务大量涌现,并引领了公共和私人生活方式的改变。借助这些服务,我们可以即时了解其他人对品牌、产品以及彼此的看法。通过私下或匿名分享自己的想法,人们有了一个新的渠道,可以通过比传统媒体更自由的方式表达自己的想法。
如果人们愿意的话,每个人的声音都可以被他人听到,所以从人们贡献的大量内容中大海捞针似地寻找相关信息也就成为这些服务的责任。也就是说,这些服务要为我们推送相关并且有趣的内容。
这些服务有什么共同点呢?那就是它们依赖于我们,因为它们只是人与人之间的媒介。这也意味着在某种程度上,通过分析这些服务的使用数据而发现的数学规律其实反映的是我们自身的行为。
所以可以预期,在分析这些数据集时将遇到相似的发现和挑战。借助一些技术手段可以通过这些服务所收集的数据来理解用户如何参与其中。
01 人际交互行为挖掘
顾名思义,社交媒体是由在线服务所提供的内容所引发的社会互动来驱动的。例如,社交网络使每个个体能够很容易地相互连接,共享图片、多媒体、新闻文章、Web内容以及各种其他信息。
在这些服务最常见的使用场景中,人们会去Facebook获取朋友、亲戚和熟人的最新信息,并与他们分享一些自己生活的信息。
而在Twitter,因为无须相互关注,所以用户可以了解任何其他用户的想法、所分享的内容,或者与其他人进行交流。
LinkedIn则是一个专业的社交网络,它的目标是通过网络和团体将志同道合的专业人士彼此联系起来,并充当求职者和用人单位之间的桥梁。
也有其他类型的社交媒体服务,其社交互动的网络特性更多只是起到辅助作用,而不是以共同创建或欣赏被分享的内容为目的(例如,Wikipedia、YouTube或Instagram)。对这些社交媒体而言,尽管用户之间的连接是存在的,但连接的目的是让用户更易于管理内容的发现,并使内容的创建更有效率(例如,Wikipedia的文章)。
当然,还有许多针对特定的兴趣或领域的社交媒体站点和服务,如艺术、音乐、摄影、学术机构、地理位置、爱好等。这些都表明在线用户有着最深切的愿望同那些志同道合者建立联系。
尽管这些服务所关注的范围大不相同,但是它们有一个共同点:它们完全是因为拥有了用户和受众才能存在的。这也就是这些服务不同于那些“预先创建”的或静态的站点之处,此类站点包括传统媒体新闻网站、公司主页、目录以及任何以授权的内容生产者的特定小群体为中心所创建的网络资源。
这里的“小”是相对于使用社交媒体服务的数以百万计的用户群体而言的。
深入挖掘这些服务的使用模式能够观察到数以百万计的社交媒体用户的群体动力学的结果。
02 通过收集数据理解在线行为
当我们从社交媒体服务收集使用日志数据时,会一睹人类群体的统计行为,这些群体的聚集或是因为具有相似的动机或期望,或是因为朝着同一个目标而努力。
给定服务的组织方式以及其展示内容的方式自然会对我们在用户活动日志中所看到的内容有很大的影响。这些访问和使用日志存储在服务的数据库中,因此,我们与他人交互的统计模式以及服务主机所包含的内容必然会通过这些痕迹展现出来。
只要这样的模式存在,并且我们不是以一种完全反复无常、随机的方式进行日常活动,我们就将看到统计规律无处不在,这也是直觉可能预期的。
幸运的是,这些服务(多数情况下)在设计上并不会有非常极端的差异,从而导致完全不同的用户行为特征。这是什么意思呢?举个例子,我们想要度量一件简单的事情:一周之内用户返回我们的服务并参与某些活动的频繁程度。
对每个用户来说,这只不过是一个从0到理论上为无穷大的数字。当然,在有限时间内,我们不会看到任何人在服务上进行无穷次的操作,不过可能会出现一个很大的数字。
所以,当决定要统计活动的次数时,我们能否期望对于两个不同的系统有不同的统计结果呢,比如用户将视频发布到YouTube频道和将照片上传到Flickr账号?
答案显然是一个响亮的“是”。如果分别观察YouTube和Flickr使用频次的分布,我们自然会发现,每周上传一个视频的YouTube用户比例与每周上传一个图像的Flickr用户比例并不相同。这是很自然的,因为这两个服务以不同的使用场景吸引具有不同特征的用户群体,所以具体的分布当然不同。
然而,在研究者分析过的大多数在线系统当中,我们发现了一个可能不那么直观的结果:这些分布具有一种相似的定性统计行为。
所谓“定性”是指,尽管两个服务所对应的使用模型的具体参数取值可能不同,但是用以描述这两个系统中用户行为的模型本身却是相同或者非常相似的(可能存在微小差异)。
关于这一点的好消息是,我们有理由相信,从活动日志中挖掘出的确实是在这些站点上驱动内容创建、传播、分享等操作的潜在的人类行为。另一个好消息是,如果遇到新的运行机制为由用户产生内容的服务,我们可以有根据地推测能够从中挖掘些什么。
如果在数据分析结果中发现与以前看到的一般模式有所区别的新情况,那么我们应该为其寻找特定服务的原因,以便进一步研究。
因此,在某种程度上,只要一个全新的服务也由同样的潜在人类行为支配,我们的方法和结果也可以很好地应用于这个新服务。对于目前我们所知被研究过的社交媒体服务而言,这一结论基本正确,几乎没有例外。
因此,我们倾向于认为这些系统提供了洞察人类行为的机会,由于人们在服务的日志中留下了数字足迹,这种观察和描述由许多人的松散聚集所产生的群体行为的机会是前所未有的。
当然,在实践中必须考虑隐私问题,但此处我们感兴趣的只是大图景下的统计结果,而不是某个个体的具体行为。
03 需要收集何种数据
我们最终希望通过数据回答的问题决定了需要收集哪些数据。一般而言,拥有的数据越多,也就越能更好地回答当前以及未来的问题。由于我们永远不会知道何时需要完善或扩展对数据的分析,所以如果设计一个服务,最好提前考虑在日志中记录全部或者近乎全部的用户与服务及用户之间的交互行为。
当前存储设备并不昂贵,所以明智的做法是尽可能满足未来的数据需求,而非过早地尝试优化存储空间。当然,随着服务的发展和其关注领域的日渐清晰,可以根据需要减少收集数据的总量并重构现有的数据源。
为了更好地理解一般需要的用户活动数据,下面列出一些大家可能感兴趣的关于社交媒体使用的典型问题:
谁是最活跃或最不活跃的用户?有多少这样的用户?
用户的使用习惯如何随着时间演化?能够提前预测每类用户(基于地理属性、用户特征、使用方式进行分类)的使用行为吗?
如何将用户与内容进行匹配?如何关联用户与用户?如何及时向用户推送感兴趣的内容?
用户的关系网络是什么样子的?吸引更多的用户会构成不同种类的网络吗?
如果用户确实会流失的话,他们为什么离开服务?用户流失是否有预兆,能否预测?
是什么使新用户加入服务?他们喜欢新的服务吗?如果不喜欢,乐在其中的用户与不满意的用户差异何在?
有没有用户在以某种方式利用我们的服务?用户中是否存在滥发信息、不道德的使用以及欺骗行为?
在任意给定时刻,最“有趣”的内容或者最有“风向标”意义的内容是什么?用户中有哪些参与其中?怎样才能找到这些内容,它是关于什么方面的?
能在用户产生的海量的新数据或历史数据中找到感兴趣的特定内容吗?例如,能找到最近提到某个词或某个主题的用户吗?
用户中的“流行”内容有哪些?它们的流行程度有很大差别吗?如果有,有多大?
显而易见,有些问题可以通过与用户进行主动实验(active experiment)得到很好的答案,特别是A/B测试实验。
在A/B测试实验中,对用户集A展示一个特征或使用一个算法,而对用户集B使用另一个。通过测量A和B之间用户活动的差异,可以判定特征的改变对用户有什么影响。
然而,由于我们更多地关注于分析已经收集的数据并尽可能地了解它们,我们不会涵盖这种通常用于优化用户服务体验的强大技术。
那么,应该从自己运营的服务或者从其他能够访问的社交媒体服务中采集哪些数据呢?为了回答前述问题,需要分析日志数据的以下几个方面:
用户使用服务时,他们会执行特定的动作,如阅读文章、查看图片、标记照片,以及分享状态的更新。当我们问自己用户在做什么以及对这些动作的描述时,用户(经过匿名化处理)的身份是我们希望知道的。
我们还需要知道用户执行这些动作的时间。对数据收集来说,亚秒级的时间(毫秒或微秒)通常就足够了。
显然,每个动作都可能产生多种元数据片段。例如,如果一个用户赞成或喜欢一个帖子,我们显然希望把那个帖子的唯一标识符和用户动作一起记录下来。
由于每个用户在一段时间内都可能有许多动作,以这种方式记录下来的原始数据最终会占用大量的后台存储空间。在这种情况下,即使是回答一些简单的问题,也需要很长的时间进行处理,而且对于最常见的问题,我们也并不总是需要所有的信息。
因此,通常在生产环境中通过自动的ETL过程(提取、转换、加载)创建聚合数据的快照,例如记录用户之间所有关系的社交网络的当前状态、用户创建或共享的Tweet、帖子和照片的数量等,这些聚合数据通常是回答问题的首要信息来源。
尽管需要考虑如何将所有这些数据最好地存储在适当的数据库中,但是这些数据库模式的设计和实现所涉及的科学知识已经超出了本文的范围。我们更愿意聚焦于能够从数据中有所发现的方法,因此我们通常使用可以公开获得的来自社交媒体服务的数据来展示如何进行不同类型的分析。
04 用数据提出和回答问题
我们的目标是在理解社交媒体服务所生成的数据的同时,让读者接触几种未来可能遇到的情况。经验现象研究(不仅仅与社交媒体有关)的常规方法一直遵循着数百年来科学研究的传统:
1. 首先是用一般术语提出问题
这尚未涉及对数据的进一步假设,只是形式化地描述了我们想要了解特定行为的哪些方面。例如,“让我们能够预测用户在服务上的会话持续时间的用户重返服务的时序动态是什么?”
2. 视情况提出一项关于输出的预期结果的假设
这有助于验证我们的预判是否有意义。此外,如果读者认为自己有一个能够很好地定量描述输出结果的模型,可以加以检验。在提出假设之后,预测一下若假设成立,则结果应该是什么样的。这个步骤是可选的,因为如果我们并不想围绕问题构建模型,并且目标只是通过结果来有所发现,那么可以跳过这个步骤。
例如,对步骤1中问题的一个可能的假设是“用户将以随机的方式重返服务,这独立于他们近期是否使用过该服务”。
3. 收集数据
为了回答步骤1所提出的问题,要确定所采用的分析过程以及需要收集哪些输入数据。
虽然在给定计算工具和已有技术时,分析过程通常是显而易见的,但是我们通常有很高的自由度从社交媒体中选择测试数据集。想从用户中抽样还是分析所有用户?准备使用哪个日期范围的数据?要过滤掉某些被认为不需要的动作吗?
显然,我们希望尽可能深入地研究数据以保证结果的可信性,如采用不同时间段的数据或不同用户组的数据。例如,对于想要回答的问题(参见步骤1),读者可能希望获取用户在给定月份进行的所有操作的时间戳,然后分析不同时间戳子集的时间差异,从而分析它们的时间相关性。
4. 进行数据分析
理想情况下,无论是自己动手,还是别人为你准备好了,数据收集工作都已经完成,所以无须等待数据。如果我们的目的是检验假设,那么还需要进行统计检验。如果只是想了解情况,那么我们获得的分析结果就是所提出的问题的答案。
关于作者:Gabor Szabo博士,是Tesla的高级软件工程师,曾作为数据科学家任职于Twitter,期间专注于预测众包在线服务中的用户行为和内容流行度,以及对大规模内容的动力学进行建模。
Gungor Polatkan博士,是一名技术主管和工程经理,他为LinkedIn学习相关的后端设计并实现了端到端的机器学习和人工智能离线及在线管道。
P. Oscar Boykin博士,是Stripe的软件工程师,从事机器学习基础设施的建设工作。他曾在Twitter任职高级工程师,解决数据基础设施的问题。他参与了Scala大数据库Algebird、Scalding和Summingbird的开发。
Antonios Chalkiopoulos硕士,是分布式系统专家。一位曾在媒体、博彩和金融领域交付过快速和大型数据项目的系统工程师。
本文摘编自《社交媒体数据挖掘与分析》,经出版方授权发布。
有奖小调查👇
▲请根据自己情况如实填写,完成后有机会获赠《数据中台》一本。(不是送楼哦!)
有话要说👇
Q: 你想从社交媒体中挖掘出哪些数据?
欢迎留言与大家分享
猜你想看👇
原来你也在看