【语言处理与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
【语言处理与Python】1.3计算语言:简单的统计相关推荐
- 有c语言基础学python要多久-C语言是学python的基础吗?
先说结论: 不是! 没有C语言的基础 完全可以从零开始学习Python! 两种编程语言完全不同的风格与属性,非常独立. 所以看你自己的目标是否需要学习. 推荐直接上手Python,除非你是科班学生,或 ...
- python和别的脚本语言_PHP与Python与其它脚本语言
南京,微风,周五,晴. 今天在这里记录下php的一个功能点:执行外部其它语言程序 感觉很赞吧,是的,php可以执行外部程序,如python语言编写的脚本程序. 先来知晓一下php的几个函数吧: 1. ...
- c语言代码可以python运行吗_c语言如何运行python脚本
目前的C/C++与python的混合编程分为两大类: 1.使用python调用c/c++编写的扩展库,扩展python的功能,我们暂且称为python调用c/c++ 2.使用c/c++程序调用执行py ...
- Python圆面积的计算、简单的人名对话、同切圆的绘制、日期和时间的输出。
圆面积的计算.根据圆的半径计算圆的面积. 代码如下: #1.1 CalCirArea.py radius = 25 area = 3.1415 * radius * radius print(area ...
- python函数封装计算n_python | 高效使用统计语言模型kenlm:新词发现、分词、智能纠错等...
py-kenlm-model python | 高效使用统计语言模型kenlm:新词发现.分词.智能纠错等 之前看到苏神[重新写了之前的新词发现算法:更快更好的新词发现]中提到了kenlm,之前也自己 ...
- 【Python 自然语言处理 第二版】读书笔记1:语言处理与Python
文章目录 前言 语言处理与Python 一.语言计算:文本和单词 1.NLTK入门 (1)安装(nltk.nltk.book) (2)搜索文本 (3)词汇计数 2.列表与字符串 (1)列表操作 (2) ...
- 《Python自然语言处理(第二版)-Steven Bird等》学习笔记:第01章 语言处理与Python
第01章 语言处理与Python 1.1 语言计算:文本和单词 Python入门 NLTK 入门 搜索文本 计数词汇 1.2 近观Python:将文本当做词链表 链表(list,也叫列表) 索引列表 ...
- 【计算理论】可判定性 ( 计算模型与语言 | 区分 可计算语言 与 可判定语言 | 证明 通用图灵机语言是 可计算语言 | 通用任务图灵机 与 特殊任务图灵机 )
文章目录 一.计算模型与语言 二.区分 可计算语言 与 可判定语言 三.证明 ATM\rm A_{TM}ATM 语言 可计算 四.通用 ( Universal ) 任务图灵机 与 特殊任务图灵机 一 ...
- c+和python先学哪个,c语言和python先学哪个比较简单
c语言和python相比来说,python要简单一些,先学python容易上手.不过,c语言比python难,若是先学c语言可以或许打好基础,日后再学习别的语言要简单得多.不管先学哪个都可以,看大家自 ...
- 《Python自然语言处理》——第1章 语言处理与Python 1.1 语言计算:文本和词汇...
本节书摘来自异步社区<Python自然语言处理>一书中的第1章,第1.1节,作者[美]Steven Bird,Ewan Klein,Edward Loper, 陈涛,张旭,崔杨,刘海平 译 ...
最新文章
- [leetcode] remove duplicate letters
- C++之类型萃取技巧
- Spring4 MVC HelloWorld 注解和JavaConfig实例
- ESlint全局安装(安装教程) - cmd篇
- vscode用作markdown入门2--代码上下标目录字体
- android studio table居中代码_html table表格标签内容如何居中显示?表格的align属性的用法介绍...
- #define 与 typedef
- 询问任意区间的min,max,gcd,lcm,sum,xor,or,and
- java使用tar算法压缩解压缩文件、数据流、byte[]字节数组
- 8.jenkins 忘记管理员密码
- 147.有序数组的TwoSum(力扣leetcode) 博主可答疑该问题
- 计算机二级——C语言程序设计 知识点整理
- cmake安装及下载
- python中的auto_ml自动机器学习框架学习实践
- 修改xshell的配色方案
- UNITY接入ANDROID密匙
- 宋智孝那个机器人_陈柏霖机器人竟然冷落宋智孝
- Hi3512的IPCAM开发
- Lesson 43 Smart 组件 vs Dumb 组件
- 使用EPW计算孤立ME方程
热门文章
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_20-CMS前端页面查询开发-页面原型-页面内容完善...
- 阶段3 3.SpringMVC·_01.SpringMVC概述及入门案例_02.SpringMVC框架的介绍
- 阶段3 1.Mybatis_07.Mybatis的连接池及事务_5 mybatis中使用poolead配置连接的原理分析...
- Appium脚本(2):元素检测
- 设置和获取函数体现的软件工程
- [ACM训练] 算法初级 之 基本算法 之 枚举(POJ 1753+2965)
- 三 数据结构 --数和二叉树
- (转)C# 解析 json
- 【Hibernate3.3复习知识点一】 - 配置hibernate环境(XML)。
- 公务员工资分配的一种方法