实时社交媒体分析系统的设计与实现
【摘要】:随着国际互联网络的进一步普及以及网络之上所承载的信息量的进一步丰富,互联网成为新的媒体已经是不争的事实,众多社交网站的访问量已不亚于传统媒体,以脸谱网和推特网为代表的社交网站已经成为了互联网信息传播的新势力,它们散发出的巨大能量使得传播领域出现了一个新的名词社交媒体。同时,由社交媒体产生的社交媒体数据也蕴含着巨大的信息。本文构建了一个以Twitter网站数据为基础,对用户的社交媒体数据进行统计分析的实时社交媒体分析系统。该分析系统以Twitter Storm流计算系统为平台,利用TwitterAPI和Python NLTK等技术,实现对社交媒体数据的关键字提取和情感分析等任务,为用户提供数据推荐。
首先,根据系统的应用场景和需求定义确定技术方案,选择Twitter Storm流计算系统实现对社交媒体数据的快速处理,保证系统持续计算和实时性;并选择Python NLTK解决关键字抽取和情感分析任务。
然后根据需求定义将系统划分为Twitter Streaming API适配模块、流计算和短文本分析模块、数据维护模块、网络结构分析模块、内容推送模块以及配置和日志模块,前五个模块主要用于实现系统功能目标,而配置和日志模块提高了系统的可用性。流计算和短文本分析模块包括Twitter Storm系统执行逻辑和PythonNLTK文本分析逻辑,利用Twitter Storm系统对流数据的处理优势实现对社交媒体流数据的快速处理,利用Python NLTK抽取Twitter数据的关键字,使用朴素贝叶斯分离器实现对社交媒体数据的情感分析,朴素贝叶斯分类器以其简单高效的计算模式和相对合理的计算结果,能够提高系统的计算质量和响应时间;网络结构分析模块利用节点相似度和Q值算法实现对用户群的社群划分工作,节点相似度计算利用矩阵运算得到所有节点的相似度拓扑序列,而Q值算法利用相似度计算结果分析得到相对合理的社群划分方案;系统配置利用Zookeeper提供的锁机制保证配置完整性。
最后,进行模块和系统测试,对系统各个模块和整体工作效果进行功能测试和性能测试。测试结果表明各模块满足需求定义的要求,系统响应速度和运行效果满足设计目标。