NLTK语言处理与文本

NLTK语言处理与文本

----语言处理与文本----

从NLTK中导入文本

from nltk.book import *
texts()
help(Text)

文本操作

1. 文本检索

接受一个单词字符串,打印出输入单词在文本中出现的上下文,查看单词的上下文可以帮助我们了解单词的词性。可指定窗口大小

text1.concordance('have',30,10)
text1.concordance('have')

2. 根据上下文寻找
打印出和输入单词具有相同上下文的其他单词,也就是说找到用法、意义与该单词相似的词。第二个参数为显示目标个数,默认为20

text1.similar('have'5)
text1.similar('time')

运行结果:

had be see was say
whale ship sea boat way man hand night deck world whales crew it one side water head moment pequod day

找到两个或多个特定单词上下文中的公共词汇即共同的上下文

text1.common_contexts(['have','time'])
text2.common_contexts(['monstrous','very'])

s_a s_that
am_glad a_pretty a_lucky is_pretty be_glad

3.找搭配词
经常一起出现的双连词text4.collocations()

4.词汇分布图的绘制
生成散点图

text4.dispersion_plot(["citizens","democracy","freedom","duties","American"])

5.文本词汇计数与排序

len(text3)			//text3文章词汇个数
len(set(text3))		//去重后的词汇个数
sorted(set(text3))	//去重后排序

练习:文本词汇计数与排序
1.统计text4文本单词总数;
2.统计text4文本中不重复的单词个数;
3. 打印text4文本中前100个单词;
4. 打印text4去重后文本中的前100个单词;
5. 对text4去重后,并排序,然后打印前20个单词。

print(len(text4))
print(len(set(text4)))
print(text4[:100])
a = list(set(text4))
print(a[:100])
b = list(sorted(set(text4)))
print(b[:20])

注意:set不可切片,转换成list再进行切片即可

6.文本词汇丰富度度量
平均每个词在文本中被使用的次数len(x)/len(set(x))
统计某个词在文本中出现次数x.count("y")
其占据百分比100*x.count("y")/len(x)

def lexical_diversity(text):
    return len(text) / len(set(text));  # 建立函数测算某个文本中所有单词出现的平均次数  

def percentage(count, total):
    return 100 * count / total;  # 建立函数测算某个单词在某个文本中所占的百分比 

文本简单统计

1.频率分布
用FreqDist进行频率分布统计,注意得到的是字典型数据结构,需要转换成list才能进行切片处理。

fdist1 = FreqDist(text1)

FreqDist({’,’: 18713, ‘the’: 13721, ‘.’: 6862, ‘of’: 6536, ‘and’: 6024, ‘a’: 4569, ‘to’: 4542, ‘;’: 4072, ‘in’: 3916, ‘that’: 2982, …})

vocabulary1=list(fdist1.keys())
vocabulary1
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值