下载nltk data
>>>import nltk
>>>nltk.download()
引入book包
>>>from nltk.book import *
搜索文本,显示指定单词及其上下文
>>>text1.concordance('monstrous')
查找出现在相似上下文中的词
>>>text1.similar('monstrous')
查找两个或两个以上词汇的上下文
>>>text2.common_contexts(['monstrous','very'])
文本中单词出现的频次分布
>>>text4.dispersion_plot(['citizens','democracy','freedom','duties','America'])
标识符:表示一组字符序列(单词或标点符号)的术语。
词类型:一个词在文本中独一无二的出现或拼写形式。
计数词汇
>>>len(text3)
>>>sorted(set(text3)) --包含单词和标点符号,不叫词类型,而叫项目类型
索引:元素在链表中出现的位置,从零开始,指示计算机从链表第一个元素开始向前多少个元素。
>>>text4[174]
>>>text.index('awaken')
计算文本中的词频
>>>fdist1 = FreqDist(text1)
查看词汇的累积频率分布图:
>>>fdist1.plot(50,cumulative=True)
出现频率只有一次的词:
>>>fdist1.hapaxes()
搭配:不经常在一起出现的词序列
提取文本中的双连词
>>>list(bigrams(sent1))
提取更频繁的双连词
>>>text4.collocations()
NLTK频率分布类中定义的函数:
fdist = FreqDist(simples) 创建包含给定样本的频率分布
fdist.inc(sample) 增加样本 ?error:没有这个属性
fdist['monstrous'] 计数给定样本出现的次数
fdist.N() 样本总数
fdist.keys() 样本链表
for sample in fdist: 遍历样本
fdist.max() 数值最大的样本
fdist.tabulate() 绘制频率分布表
fdist.plot() 绘制频率分布图
fdist.plot(cumulative=True) 绘制累积频率分布图
fdist1 < fdist2 测试样本在fdist1中出现的频率是否小于fdist2
链表推导
[f(w) for w in text if condition]
词汇比较运算符
s.startswith(t) 测试s是否以t开头
s.endswith(t) 测试s是否以t结尾
t in s 测试s是否包含t
s.islower() 测试s中所有字符是否都是小写字母
s.isupper() 测试s中所有字符是否都是大写字母
s.isalpha() 测试s中所有字符是否都是字母
s.isalnum() 测试s中所有字符是否都是字母或数字
s.isdigit() 测试s中所有字符是否都是数字
s.istitle() 测试s是否首字母大写(s中所有的词都首字母大写)
所有pyhon控制结构都以冒号结尾,冒号表示当前语句与后面的缩进块有关联。
>>>import nltk
>>>nltk.download()
引入book包
>>>from nltk.book import *
搜索文本,显示指定单词及其上下文
>>>text1.concordance('monstrous')
查找出现在相似上下文中的词
>>>text1.similar('monstrous')
查找两个或两个以上词汇的上下文
>>>text2.common_contexts(['monstrous','very'])
文本中单词出现的频次分布
>>>text4.dispersion_plot(['citizens','democracy','freedom','duties','America'])
标识符:表示一组字符序列(单词或标点符号)的术语。
词类型:一个词在文本中独一无二的出现或拼写形式。
计数词汇
>>>len(text3)
>>>sorted(set(text3)) --包含单词和标点符号,不叫词类型,而叫项目类型
索引:元素在链表中出现的位置,从零开始,指示计算机从链表第一个元素开始向前多少个元素。
>>>text4[174]
>>>text.index('awaken')
计算文本中的词频
>>>fdist1 = FreqDist(text1)
查看词汇的累积频率分布图:
>>>fdist1.plot(50,cumulative=True)
出现频率只有一次的词:
>>>fdist1.hapaxes()
搭配:不经常在一起出现的词序列
提取文本中的双连词
>>>list(bigrams(sent1))
提取更频繁的双连词
>>>text4.collocations()
NLTK频率分布类中定义的函数:
fdist = FreqDist(simples) 创建包含给定样本的频率分布
fdist.inc(sample) 增加样本 ?error:没有这个属性
fdist['monstrous'] 计数给定样本出现的次数
fdist.N() 样本总数
fdist.keys() 样本链表
for sample in fdist: 遍历样本
fdist.max() 数值最大的样本
fdist.tabulate() 绘制频率分布表
fdist.plot() 绘制频率分布图
fdist.plot(cumulative=True) 绘制累积频率分布图
fdist1 < fdist2 测试样本在fdist1中出现的频率是否小于fdist2
链表推导
[f(w) for w in text if condition]
词汇比较运算符
s.startswith(t) 测试s是否以t开头
s.endswith(t) 测试s是否以t结尾
t in s 测试s是否包含t
s.islower() 测试s中所有字符是否都是小写字母
s.isupper() 测试s中所有字符是否都是大写字母
s.isalpha() 测试s中所有字符是否都是字母
s.isalnum() 测试s中所有字符是否都是字母或数字
s.isdigit() 测试s中所有字符是否都是数字
s.istitle() 测试s是否首字母大写(s中所有的词都首字母大写)
所有pyhon控制结构都以冒号结尾,冒号表示当前语句与后面的缩进块有关联。