安装NLTK
pip install nltk |
NLTK语料与模型包管理器下载
import nltk nltk.download() |
完整代码实例如下:
#!/usr/bin/python
# _*_ coding:utf-8 _*_
# author: robinn
import nltk
import jieba
#Text类介绍
with open(u"被遗忘的时光.txt") as f:
content = f.read()
x = jieba.cut(content)
y = nltk.text.Text(jieba.lcut(content))
#看下风花雪月这个词出现的情况
text = y.concordance(u"风花雪月")
print("###############################")
#看下文章常用的二词搭配
y.collocations(num=20,window_size=2)
#看下作者对于某些同义词的使用习惯
text = y.common_contexts([u'一起',u'一块'])
#查看关心的词在文中出现的位置
y.dispersion_plot([u'校园',u'大学'])
print("###############################")
#显示word的相似词
y.similar(U"校园")
print("###############################")
#word出现的词数
x = y.count(u"大学")
print(x)
#返回文章去重的词典
x = y.vocab()
for word in x:
print(word)
#FreqDist类介绍
with open("The day you went away.txt") as f:
content = f.read()
fdist = nltk.FreqDist(nltk.word_tokenize(content))
#绘制频率分布图,若cumu为True,则是累积频率分布图
fdist.plot(30,cumulative=True)
#词典的长度
x = fdist.B()
print(x)
#生成频率分布的表格形式
fdist.tabulate()
#返回出现次数最频繁的词与频度
x = fdist.most_common(10)
for x1,x2 in x:
print(x1+" | "+str(x2))
#返回只出现过一次的词
x = fdist.hapaxes()
print(x)
|
关于Text类介绍和FreqDist类介绍更多大家参考官方文档。上面例子仅供参考。