第9章 分析文本数据和社交媒体
在前几章中,我们着重讨论了结构化数据的分析,主要涉及列表格式的数据。实际上,跟结构化数据一样,纯文本也是最常见的格式之一。文本分析需要用到词频分布分析、模式识别、标注、链接和关联分析(link and association analysis)、情感分析和可视化等。这里将借助Python自然语言工具包(The Python Natural Language Toolkit,NLTK)来分析文本。NLTK自身带有一个文本样本集,这个样本集名为corpora。同时,scikitlearn程序库也提供了许多文本分析工具,本章也会对这些工具进行简要的介绍。
此外,在本章中还会举例说明网络分析。本章涉及的主题如下。
- 安装NLTK
- NLTK简介
- 滤除停用字、姓名和数字
- 词袋模型
- 词频分析
- 朴素贝叶斯分类
- 情感分析
- 创建词云
- 社交网络分析
9.1 安装NLTK
安装本章所用到的各种库的命令如下。
$ pip3 install nltk scikit-learn
9.2 NLTK简介
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.