Python自然语言处理笔记(三)------频率分布

一. 频率分布

频率分布:显示每一个词项在文本中出现的频率,它告诉我们文本中词标识符的总数是如何分布在词项中的。

1.如何能自动识别文本中最能体现文本主题和风格的词汇?

  • 找到高频词。
  • 找到只出现一次的词
  • 长词(通常是唯一的)
  • 短高频词和长低频词
  • 搭配与双连词(搭配基本上是频繁的双连词)
  • 查看文本中词长的分布

2.如何找到高频词?

  • 使用FreqDist

FreqDist

       函数FreqDist()方法获取在文本中每个出现的标识符的频率分布,通常情况下函数得到的是每个标识符出现的次数与标识符的map映射。

      使用fdist1.plot(50,cumulative=True)可以绘制文本中50个最常用的词的累计频率图(但是此处得到的计数,不是很懂)

3. 如何找到低频词?

    使用fdist1.hapaxes()

4. 如何寻找短低频词和长高频词?

5.找到词语搭配和双连词?

使用函数bigrams(),此处要加list()函数才能得到与书上一样的结果。

6.如何查看文本中词长的分布?

从text1中每个词的长度的链表开始,然后计数FreqDist计数链表中的每个数字出现的次数。每一个元素是一个数字,对应文本中一个词标识符。但是只有19个不同的元素被计数,从1到20(不包含19),也就是说只有19个不同的词长。没有19个或者21个活更多字符组成的词。

不同长度的词的频率是多少?

注:关于词长的分析可以帮助我们了解作者、文体和语言之间的差异。

 

二. NTLK频率分布类中定义的函数总结

fdist = FreqDist()  创建包含给定样本的频率分布

fdist['monstrous']  计数给定样本出现的次数

fdist.freq('monstrous')  给定样本的频率

fdist.keys()  以频率递减的顺序遍历样本

fdist.max()  数值最大的样本

fdist.tabulate()  绘制频率分布表

fdist.plot()  绘制频率分布图

fdist.plot(cumulative= True)  绘制频率分布图

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值