NLTK包含众多一系列的语料库,这些语料库可以通过nltk.package 导入使用。每一个语料库可以通过一个叫做“语料库读取器”的工具读取语料库,例如:nltk.corpus
每一个语料库都包含许多的文件或者是很多的文档。若要获取这些文件的列表,可以通过语料库的fileids()方法。
import nltk.corpus.brown #导入brown语料库
brown.fileids()
每一个语料库都提供了众多的多去数据的方法。例如:对于文档类型的语料库提供读取原始为加工过的文本信息,文本的单词列表,句子列表,段落列表
from nltk.corpus import brown
brown.raw(brown.fileids()[1]) #读取brown中第二个文本的信息
brown.words(brown.fileids()[1]) #读取brown中第二个文本的单词
brown.sents(brown.fileids()[1]) #读取brown中第二个文本的句子
brown.paras(brownfileids()[1]) #读取brown中第二个文本的段落
每一个方法的参数都可以提供多个文档名称或单个,当提供多个文档名称并用逗号隔开时,获取的文档将是单个文档的链接总和。
brown.words(["ca02",brown.fileids()[3]]) #获取文档ca02和文档四的单词,此处注意,当多个文档时,传入的参数是一个list
获取文本单词词频
from nltk.corpus import brown
news_text = brown.words(categories='nes')
fdist = FreqDist(news_text)
modals = ['can','must','could','willl,''might']
for m in modals:
print(m + ":", fdist[m])
FreqDist() 方法获取到每个单词的出现次数
FreqDist({'the': 5580, ',': 5188, '.': 4030, 'of': 2849, 'and': 2146, 'to': 2116, 'a': 1993, 'in': 1893, 'for': 943, 'The': 806, ...})
fdist.keys() #获取所有的键
fdist['the'] #获取对应的键的值