处理自然语言包括自然语言工具包和数据概括。
处理自然语言
概括数据
在之前我们了解了如何把文本内容分解成 n-gram
模型,或者说是n
个单词长度的词组。从最基本的功能上说,这个集合可以用来确定这段文字中最常用的单词和短语。另外,还可以提取原文中那些最常用的短语周围的句子,对原文进行看似合理的概括。
例如我们根据威廉 ·亨利 ·哈里森的就职演全文进行分析。文章地址
1 | from urllib.request import urlopen |
自然语言工具包
自然语言工具包(Natural Language Toolkit,NLTK
)就是这样一个 Python
库,用于识别和标记英语文本中各个词的词性(parts of speech
)。
安装与配置
NLTK
网站(http://www.nltk.org/install.html
)。安装软件比较简单,例如pip
安装。
1 | ➜ psysh git:(master) pip install nltk |
检测一下就OK
1 | ➜ psysh git:(master) python |
输入nltk.download()
就可以看到NLTK下载器。
默认下载全部的包,新手减少排除的相关的麻烦。
用NLTK做统计分析
用NLTK
做统计分析一般是从Text
对象开始的。Text
对象可以通过下面的方法用简单的 Python
字符串来创建:
1 | from nltk import word_tokenize |
word_tokenize
函数的参数可以是任何Python
字符串。如果你手边没有任何长字符串,但是还想尝试一些功能,在NLTK
库里已经内置了几本书,可以用import
函数导入:
1 | from nltk.book import * |
统计文本中不重复的单词,然后与总单词数据进行比较:>>> len(text6)/len(words)
。