目录

nltk资料下载

import nltk

nltk.download()

其中,download() 参数默认是all,可以在脚本里面加上nltk.download(需要的资料库) 来进行下载

文本和词汇

首先,通过from nltk.book import * 引入需要的内置9本书

搜索文本

上下文:Text.concordance('monstrous') ,concordance是一致性的意思。即在Text对象中monstrous出现的上下文

相同上下文单词:Text.similar('monstrous') ,查找哪些词还有相同的上下文 。(比如 the__size 空格上可以是big/small),这个函数会自动找出来并返回。

多个单词上下文: Text.common_contexts(['very','monstrous']) ,返回共用两个或两个以上词汇的上下文

多个单词频率绘图工具: Text.dispersion_plot(['citizens','freedom']) , 可以得到很好看的离差散点图

计数词汇(去重、定位)

不去重的计算用BIF里面的len() 就可以了:len(text1)

去重计算 需要用到内置结构set: len(set(text1))

可以使用nltk内置BIF:Text.count(word) 查找单词出现次数;使用Text.index(word)可以进行定位

词链表

主要是结合python内置list的特点,可以进行链接等一些链表操作,十分方便,对于一些基本的list操作,可以自行看文档

自然语言简单数学统计

频率分布

用法:FreqDist(WordList) ,参数可以实List或者其子类,所以 Text(text1,text2...)也可以作为参数。函数返回字典形式,可以调用dict.keys() 查询所有单词和符号

from nltk import *

fdist = FreqDist(text1)

print(fdist['whale'])

可以通过 fdist.plot(TopK,cumulative=True) 画出来出现频率前K的词汇的光滑曲线,去掉第二个参数,是折线图。个人感觉曲线好看。。。

对于只出现一次的词汇,通过fdist.hapaxes() 返回的list查看。

细粒度的选择词

细粒度: 细粒度模型,通俗的讲就是将业务模型中的对象加以细分,从而得到更科学合理的对象模型,直观的说就是划分出很多对象。对于词汇,我们可能需要长度大于5的不重复词汇,这就是一个Model

v = set(text1)

long_words = [w for w in v if len(w) > 5]

如果我们需要频率大于7,长度大于10的呢?

fdist = FreqDist(text1)

long_words = [w for w in set(text1) if len(w)>10 and fdist[w] > 7]

双连词和词汇搭配

双连词就是n-gram模型中n=2,组成的词链表

在nltk里面有BIF,bigrams(wordlist) ,生成词链表

>>> list(bigrams(['a','b','c']))

[('a', 'b'), ('b', 'c')]

通过这个词链表,我们可以找到搭配(定义:不经常在一起出现的词序列).Text.collocations() 可以查找出现频率比预期频率更频繁的双连词

>>> text4.collocations()

United States; fellow citizens; four years; years ago; Federal

Government; General Government; American people; Vice President; Old

World; Almighty God; Fellow citizens; Chief Magistrate; Chief Justice;

God bless; every citizen; Indian tribes; public debt; one another;

foreign nations; political parties

词长分布

代码实现:

fdist = FreqDist([len(w) for w in text1])

print(fdist.items())

print(fdist.freq(3))#查找频率

词长可以帮助我们理解作者、文本和语言之间的差异

Java学习笔记:语言基础

Java学习笔记:语言基础 2014-1-31   最近开始学习Java,目的倒不在于想深入的掌握Java开发,而是想了解Java的基本语法,可以阅读Java源代码,从而拓展一些知识面.同时为学习An ...

[java学习笔记]java语言核心----面向对象之this关键字

一.this关键字 体现:当成员变量和函数的局部变量重名时,可以使用this关键字来区别:在构造函数中调用其它构造函数 原理:         代表的是当前对象.         this就是所在函数 ...

[java学习笔记]java语言核心----面向对象之构造函数

1.构造函数概念 特点: 函数名与类名相同 不用定义返回值类型 没有具体的返回值 作用:                给对象进行初始化 注意: 默认构造函数 多个构造函数是以重载出现的 一个类中如果 ...

IOS学习笔记07---C语言函数-printf函数

IOS学习笔记07---C语言函数-printf函数 0 7.C语言5-printf函数 ------------------------- ----------------------------- ...

IOS学习笔记06---C语言函数

IOS学习笔记06---C语言函数 --------------------------------------------  qq交流群:创梦技术交流群:251572072              ...

python学习笔记-(一)初识python

1.python的前世今生 想要充分的了解一个人,无外乎首先充分了解他的过去和现在:咱们学习语言也是一样的套路 1.1 python的历史 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈp ...

python学习笔记系列----(一)python简介

一个月前,就按下决心要系统的学习下python了,虽然之前有学习过java,学习过c++,也能较为熟练的使用java做自动化测试看懂c++里的业务逻辑,但是实际上有那么多的东西自己还是不清楚,今天下定 ...

Python学习笔记(一)初识Python以及安装Python

一.Python简介 1.Python发展史 Python 是由 Guido van Rossum 在八十年代末和九十年代初,在荷兰国家数学和计算机科学研究所设计出来的. Python 本身也是由诸多 ...

ios开发学习笔记001-C语言基础知识

先来学习一下C语言基础知识,总结如下: 在xcode下编写代码. 1.编写代码 2.编译:cc –c 文件名.c 编译成功会生成一个 .o的目标文件 3.链接:把目标文件.o和系统自带的库合并在一起, ...

随机推荐

[书目20160624]Android应用开发从入门到精通

卢海东 著 第1章 揭开神秘面纱——Android系统简介 1   1.1 认识Android系统 2   1.1.1 Android成长历程 2   1.1.2 发行版本 3   1.1.3 得到大 ...

cpu进程调度---RT Throttling【转】

转自:http://book.2cto.com/201302/16291.html RT Throttling是对分配给实时进程的CPU时间进行限制的功能.使用实时调度策略的进程由于bug等出现不可控 ...

PHP 概述 特点 基础语法

PHP是什么 http://php.net/manual/zh/intro-whatis.php#intro-whatis  PHP(Hypertext Preprocessor,超文本预处理器)是一 ...

Qt日常备注(函数/接口实现)

1.判断QString是否为纯数字 2.查找自身最长重复子字符串 3.树形列表复选框操作 4.更改文件权限 5.判断系统64位 6.文件生成md5值 7.版本号比较(字符串比较) //-----实现- ...

App界面设计规范-字体规范

通过对不同类型的app进行总结,总结出app的字体规范. 一.字体选择 1.IOS:苹果ios 9系统开始,系统最新的默认中文字体是:苹方.英文字体是: San Francisco 2.Android ...

Win10 安装 Anaconda3 用 Anaconda3 安装TensorFlow 1.2 (只支持python3.5)

Win10 安装 Anaconda3 1.安装Anaconda3 选择相应的Anaconda进行安装,下载地址点击这里,下载对应系统版本的Anaconda,官网现在的版本是Anaconda 4.3.1 ...

Lotusscript统计在线用户数

使用notessession的SendConsoleCommand方法向服务器控制台发送“show inetusers”命令,该命令返回一个结果(字符串),字符串类似如下: admin   192.1 ...

idea 安装uml 画图工具

centos7上: yum -y install graphviz mac上: brew install Graphviz file -> setting->plugins 安装plant ...

文件夹操作之判断是否存在(Directory)

Directory类用于操作文件夹,用于创建.移动和枚举目录和子目录的静态方法.DirectoryInfo类用于典型操作,如复制,移动,重命名,创建和删除目录.他们都可用于获取和设置相关属性或有关创建 ...

socket的几个配置函数

body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...

nltk和python的关系_NLTK学习笔记(一):语言处理和Python相关推荐

  1. python nltk book_NLTK学习笔记(一):语言处理和Python

    目录 nltk资料下载 import nltk nltk.download() 其中,download() 参数默认是all,可以在脚本里面加上nltk.download(需要的资料库) 来进行下载 ...

  2. Python快速编程入门#学习笔记03# |第二章 :Python基础(代码格式、标识符关键字、变量和数据类型、数字类型以及运算符)

    全文目录 ==先导知识== 学习目标: 2.1 代码格式 2.1.1 注释 2.1.2 缩进 2.1.3 语句换行 2.2 标识符和关键字 2.2.1 标识符 2.2.2 关键字 2.3 变量和数据类 ...

  3. Python快速编程入门#学习笔记01# |第一章 :Python基础知识 (Python发展历程、常见的开发工具、import模块导入)

    全文目录 ==先导知识== 1 认识Python 1.1.1 Python的发展历程 1.1.2 Python语言的特点 2. Python解释器的安装与Python程序运行 1.2.1 安装Pyth ...

  4. Python快速编程入门#学习笔记02# |第十章 :Python计算生态与常用库(附.小猴子接香蕉、双人乒乓球小游戏源码)

    全文目录 学习目标 1. Python计算生态概述 1.1 Python计算生态概述 2. Python生态库的构建与发布 2.1 模块的构建与使用 * 2.1.1第三方库/模块导入的格式 2.2 包 ...

  5. dbscan算法python实现_挑子学习笔记:DBSCAN算法的python实现

    DBSCAN(Density-Based Spatial Clustering of Applications with Noise)聚类算法,是一种基于高密度连通区域的.基于密度的聚类算法,能够将具 ...

  6. Scipy Lecture Notes学习笔记(一)Getting started with Python for science 1.2. The Python language

    Scipy Lecture Notes学习笔记(一)Getting started with Python for science 1.2. The Python language 1.2.2. 基本 ...

  7. 36篇博文带你学完opencv :python+opencv进阶版学习笔记目录

    基础版学习笔记传送门 36篇博文带你学完opencv :python3+opencv学习笔记汇总目录(基础版) 进阶版笔记 项目 opencv进阶学习笔记1: 调用摄像头用法大全(打开摄像头,打开摄像 ...

  8. python爬取b站评论_学习笔记(1):写了个python爬取B站视频评论的程序

    学习笔记(1):写了个python爬取B站视频评论的程序 import requests import json import os table='fZodR9XQDSUm21yCkr6zBqiveY ...

  9. Python中索引的学习笔记

    1 前言 今天在学习FaceBoxes- 看到一个比较奇怪的代码,"order = scores.argsort()[::-1][:args.top_k]",不太懂这个" ...

最新文章

  1. xmind 模板_xmind模板打包下载
  2. 【转】调试JavaScript 错误的解决方案
  3. Win 7/10 安装Oracle 11g
  4. C++中的explicit关键字用法
  5. eric python mysql,python入门教程13-07 (python语法入门之ORM框架SQLAlchemy)
  6. 华为 “Telnet” 登录设备
  7. Kubernetes 小白学习笔记(33)--kubernetes云原生应用开发-总结
  8. matlab里直线拟合,matlab如何拟合直线
  9. Hierarchy Viewer的基本使用
  10. 三个视频教你如何找到另一半
  11. 养花追美女的java游戏,小米有品上架懒人鱼缸:上面养花 下面养鱼
  12. php采集一言代码_php抓取一言数据
  13. android 启动流程
  14. 《软件开发与创新:ThoughtWorks文集:续集》
  15. XunSearch(讯搜)的使用教程步骤(笔记2)
  16. 基础论文 (一) ADDA
  17. dll 库文件下载地址
  18. 「HTML+CSS」--自定义加载动画【027】
  19. 计算机二级知识点速记,二级计算机考试速记
  20. 英语学习打卡day4

热门文章

  1. redistemplate.opsforvalue 设置不过期_民法典即将实施!“离婚冷静期”倍受关注
  2. java json转xml_关于JSON与XML的区别比较
  3. php5.6 mongo 扩展,PHP5.6的安装及redis、memcache、mongo扩展
  4. flowable springboot 集成 flowableDMN_05
  5. VBA 精选示例代码库
  6. 用友u8年度账文件服务器错误,用友u8erp软件出纳管理模块年度数据结转常见问题...
  7. qt中解析json字符串的时候出现错误missingNameSeperator
  8. C语言格式控制符/占位符 - C语言零基础入门教程
  9. 电脑服务器传文件夹吗,服务器和电脑传文件夹吗
  10. php 条形码生成器,PHP条形码图像生成器