【语言处理与Python】1.3计算语言:简单的统计

【频率分布】
目的:想通过找到一本书中使用最频繁的词汇,分析这本书的主题和风格。
频率分布:告诉我们每个词汇出现的频率。
分析高频词
-使用FreqDist寻找《白鲸记》中最常见的50个词
 fdist1=FreqDist(text1)
 vocabulary1=fdist.keys()//所有的词汇
 vocabulary1[:50]//前50个出现频率最高的词汇
 fdist1['whale'](906)//出现的次数
-累积频率图
 fdist1.plot(50,cumulative=True)
-在高频词汇中,有很多无用的词汇,称作管道英语。
分析低频词
-只出现了一次的词(hapaxes)
 fdist1.hapaxes()
-低频词汇也很多,如果不分析上下文很难才出他们的意义。高频和低频词汇都很少有帮助,要寻找其他办法分析。
【细粒度的选择词】
-找出长度大于15的词汇
v=set(text1)
long_words=[w for w in v if len(w)>15]
sorted(long_words)
-这样找到了长词。在此基础上,在分析长词出现的概率,会更有效。这样忽略的短高频词(the)和长低频词(antiphilosophists)。
-fdist5=FreqDist(text5)
-sorted([w for w in set(text5) if len(w)>7 and fdist5[w]>7])
【词语搭配和双连词(bigrams)】
-使用bigrams提取文本词汇中的词对,也就是双连词。
 bigrams(['more','is','said','than','done'])
-text4.collocations()找到比我们基于单个词的频率预期得到的更频繁出现的双连词
【计数其他东西】
-查看词长的分布
 [len(w) for w in text1]
 fdist=FreqDist([len(w) for w in text1])
 fdist.keys()
 fdist.items()
 fdist.max()//出现长度最多的数值
 fdist[3]//3对应出现的次数
 fdist.freq(3)//出现的频率
-一些常用的NLTK频率分布类中定义的函数
fdist=FreqDist(samples)创建包含给定样本的频率分布
fist.inc(sample)增加样本
fdist['monstrous']计数给定样本出现的次数
fdist.freq('monstrous')给定样本的频率
fdistN()样本总数
fdist.keys()以频率递减顺序排序的样本链表
for sample in fdist:以频率递减的顺序遍历样本
fdist.max()数值最大的样本
fdist.tabulate()绘制频率分布表
fdist.plot()绘制频率分布图
fdist.plot(cumulative=True)绘制累计频率分布图
fdist1<fdist2测试样本在fdist1中出现的概率是否小于fdist2

转载于:https://www.cnblogs.com/createMoMo/archive/2013/05/14/3078341.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值