《Python自然语言处理》第一章笔记

下载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控制结构都以冒号结尾,冒号表示当前语句与后面的缩进块有关联。



















猜你喜欢

转载自blog.csdn.net/RainTicking/article/details/81009752