用于计算最常见词汇类别的频率分布

NLTK 提供了 FreqDist 类,让我们可以轻松地计算给定列表作为输入的频率分布。

在这里,我们使用一部分语音标签(POS 标签)来查看棕色语料库中使用最多的词汇类别。

import nltk

brown_tagged = nltk.corpus.brown.tagged_words()
pos_tags = [pos_tag for _,pos_tag in brown_tagged]

fd = nltk.FreqDist(pos_tags)
print(fd.most_common(5))

# Out: [('NN', 152470), ('IN', 120557), ('AT', 97959), ('JJ', 64028), ('.', 60638)]

我们可以看到名词是最常见的词汇类别。可以像字典一样访问频率分布。因此,通过这样做,我们可以计算出棕色语料库中的单词的百分比是名词。

print(fd['NN'] / len(pos_tags))
# Out: 0.1313