第9章 分析文本数据和社交媒体

在前几章中,我们着重讨论了结构化数据的分析,主要涉及列表格式的数据。实际上,跟结构化数据一样,纯文本也是最常见的格式之一。文本分析需要用到词频分布分析、模式识别、标注、链接和关联分析(link and association analysis)、情感分析和可视化等。这里将借助Python自然语言工具包(The Python Natural Language Toolkit,NLTK)来分析文本。NLTK自身带有一个文本样本集,这个样本集名为corpora。同时,scikitlearn程序库也提供了许多文本分析工具,本章也会对这些工具进行简要的介绍。

此外,在本章中还会举例说明网络分析。本章涉及的主题如下。

  • 安装NLTK
  • NLTK简介
  • 滤除停用字、姓名和数字
  • 词袋模型
  • 词频分析
  • 朴素贝叶斯分类
  • 情感分析
  • 创建词云
  • 社交网络分析

安装本章所用到的各种库的命令如下。

$ pip3 install nltk scikit-learn

NLTK是一个用来分析自然语言文本(如英文句子)的Python应用程序接口。NLTK起源于2001年,最初设计是用来进行教学的。

虽然我们在9.1节安装了NLTK,但还不够:还需要下载NLTK语料库。需要注意的是,这里的下载量相对较大(约1.8 GB),但是只需要下载一次。除非我们确切地知道自己需要哪种语料库,否则最好下载所有可用的语料库。从Python shell下载语料库的命令如下。

$ python3
>>> import nltk
>>> nltk.download()

这时,会出现一个GUI应用程序,你可以指定要下载的文件以及放到何处,如图9-1所示。

图9-1

Get Python数据分析(第2版) now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.