• 【语言处理与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

  • 相关阅读:
    php去除数组中重复值,并返回结果!
    SignalR 2 入门
    SignalR支持的平台
    SignalR简介
    作业调度系统quartz.net
    Oracle安装心得
    maven的项目目录解析
    web.xml的<url-parttern>的匹配规则
    Web.xml中四种验证方式
    Web.xml
  • 原文地址:https://www.cnblogs.com/createMoMo/p/3078341.html
Copyright © 2020-2023  润新知