首页 理论教育微博用户画像分析

微博用户画像分析

【摘要】:微博用户画像的功能结构图如图9-4所示。图9-4微博用户画像功能图数据爬取模块主要功能是定期使用爬虫得到最新的新浪微博用户数据并且更新数据库。对于诸如“性别”“是否加V”“是否允许所有人发给我私信”等可枚举的字段,使用柱状图和饼图进行统计结果的展示;对于诸如“粉丝数”“关注数”“微博数”“收藏数”等结果不可枚举的字段,使用散列图描述样本的分布。最后,给出多个指标的联合分析,帮助更好地分析用户分布。

微博用户画像系统基于新浪微博的开放接口,使用真实的微博用户数据。数据的爬取、更新和维护是系统的关键。在使用系统的时候,需求主要分为两方面:一是基于单个用户的详细画像,单个画像可用于为单个案例的分析提供细粒度的证据支持;二是批量数据的统计分析,批量画像主要用于一批用户的分析,挖掘用户之间的共同特征。接入系统的多少,是衡量一个系统成败的关键。因此,还需要提供一个友好的查询接口,在本系统中,查询接口模块提供接入查询功能。

微博用户画像的功能结构图如图9-4所示。

图9-4 微博用户画像功能图

(1)数据爬取模块

主要功能是定期使用爬虫得到最新的新浪微博用户数据并且更新数据库。爬虫模块分四部分:鉴权模块,鉴权通过之后接口才会开放;频率限制模块,太快的调用开放接口会导致接口无法使用;接口调用模块,调用接口得到用户数据;数据清洗模块,清洗数据请求模块得到的数据,然后存储在临时数据库中。

(2)单个画像模块

单个画像模块主要描述单个用户的画像信息,通常分三部分:单个用户画像,通过安全策略分析给出安全标签,通过K-means聚类算法给出用户类型标签,根据粉丝数、关注数、微博数、收藏数等指标在总体中的分布,给出统计标签;用户行为分析,包括每日登录时长分析、关注数分析、粉丝数分析、微博数分析、收藏数分析等,通过观察对应指标的趋势,可以对用户行为进行分析和预测;关系链分析,主要分析用户好友的年龄分布、关注数分布以及城市分布等。

(3)批量画像模块

批量画像是在单个画像的基础上进行统计分析,然后展示。对于诸如“性别”“是否加V”“是否允许所有人发给我私信”等可枚举的字段,使用柱状图和饼图进行统计结果的展示;对于诸如“粉丝数”“关注数”“微博数”“收藏数”等结果不可枚举的字段,使用散列图描述样本的分布。最后,给出多个指标的联合分析,帮助更好地分析用户分布。

(4)查询接口模块

查询接口模块提供根据协议进行查询的功能,能同时处理大量的并发请求,同时又有很好的扩展性,可以自动化地更新网络拓扑结构,添加新的机器到当前的集群中负载均衡。查询接口模块分三层:接口层,负责对流量进行清洗,当请求包不符合约定协议时则不响应,当流量过大时进行过载保护,只处理能力所及之内的流量包;逻辑处理层,接收来自接口层的请求包,根据用户请求的类型进行结果数据的重组,然后发给请求的用户;数据层,接收来自逻辑层的请求包,返回数据给逻辑层,数据层主要的要求是能快速地检索数据。