显示下载界面
import nltk
nltk.download()
from nltk.book import *
查找在book的text1中monstrous出现的句子
print(text1.concordance("monstrous"))
出现在上下文的相似的词
print(text1.similar("monstrous"))
共用两个或两个以上词汇的上下文
text1.common_contexts(["monstrous", "very"])
上下文出现某词汇的离散图(词汇出现的频率分布)
text4.dispersion_plot(["citizens", "democracy", "freedom", "duties", "America"])
产生类似风格的文本
text3.generate()
统计词汇的数量,及排序
len(text3) &&& sorted(set(text3))
某个特定词出现的次数
text3.count("smote")
找频率分布高的词
from nltk.book import *
fdist = FreqDist(text1)
print(fdist) #词频最高的词的数量及词总数
voc = fdist.keys()
print(list(voc)[:10]) #词频最高的前10,无序
fdist.plot(10, cumulative=True) #累积频数曲线,有序
fdist.plot()#绘制频数分布图
找低频词(高、低频词可能对文本统计上没有帮助)
fdist.hapaxes() #只出现一次的词
长词(或许有更多的特征或信息量),找长度超过7且词频超过7的词汇
from nltk.book import *
fdist = FreqDist(text1)
print(sorted([w for w in set(text5) if len(w) > 7 and fdist[w] > 7]))
词语搭配 red wine是,the wine不是。提取文本中的词对,从双连词开始('more', 'is'),('is', 'said')
import nltk
bigrams = nltk.bigrams(['more', 'is', 'said', 'than', 'done'])
cfd = nltk.ConditionalFreqDist(bigrams)
频繁双连词
text4.collocations() #包含打印
统计某个长度的词汇 的个数
from nltk.book import *
fdist = FreqDist([len(w) for w in text3 if not w.islower()])
#w.lower()转换成小写
print(fdist.keys())#某个长度的词汇 的个数,递减
print(fdist.items())#打印元组 (key:字符长度, value:此长度的字符数量)
print(fdist.max())#value
print(fdist[3])#打印值
增加样本
fdist.inc(sample)
样本的频率
fdist.freq('monstrous')
样本总数
fdist.N()
递减排列的样本
for sample in fdist:
样本频率分布表
fdist.tabulate()
频数比较大小
fdist1 < fdist2
!!!词义消歧、指代消歧(语义角色标注)!!!
双语词典,语句自动配对---文本对齐,有一百万或是更多的句子对,可以检测出相应的单词和短语,建立能用来翻译新文本的模型。