nltk模块
1. nltk简介
http://www.nltk.org

2. nltk能做什么?
2.1 搜索文本
- 单词搜索
- 相似词搜索
- 相似关键词识别
- 词汇分布图
- 生成文本
from nltk.book import * # 词语搜索
print('搜索词monstrous->')
text1.concordance('monstrous') print('上下文相似词->')
# 上下文相似词, 没有返回值
text2.similar('monstrous') # 共同上下文
print('monstrous, very共同上下文')
text2.common_contexts(['monstrous', 'very']) # 词汇分布表
text4.dispersion_plot(['citizens', 'democracy', 'freedom', 'duties', 'America']) # 词数统计
len(text3) # 出现的不重复词语的词数
len(set(text3)) # 排序
sorted(set(text3)) # 重复词密度
from __future__ import division
len(text3) / len(set(text3)) # 关键词密度
text3.count('smote')
100 * text4.count('a') / len(text4) # 平均词密度, 平均每个词出现的词数
def lexical_diversity(text):
return len(text) / len(set(text)) lexical_diversity(text1)
2.2 计数词汇

3. 词链表
print(sent1) # ['Call', 'me', 'Ishmael', '.']
print(sent1[1:3])
3.1 词频分布
nltk内置的统计类:FeDist
fdist = FreqDist(text1)
print(fdist)
# 频率累计分布图
fdist.plot(50, cumulative=True)
频率累计分布图:

丢弃高频且没有意义的词,或者是抽取具有P特性(例如词的长度大于15)的词汇。
# 细粒度的选择词
V = set(text5)
long_words = [w for w in V if len(w) >= 15]
sorted(long_words) # 综合词的长度和词频,进行筛选
sorted([w for w in set(text5) if len(w) > 7 and fdist[w] > 7])

词语搭配:
from nltk.util import bigrams # 二元语法, trigrams 三元语法
list(bigrams(['more', 'is', 'said', 'than', 'done'])) # [('more', 'is'), ('is', 'said'), ('said', 'than'), ('than', 'done')]
# 经常出现的双联次
text1.collocations()
词长分布,对作者的文章也是有影响的:
# 词长分布
fdist = FreqDist([len(w) for w in text1]) fdist.items()
# dict_items([(1, 47933), (4, 42345), (2, 38513), (6, 17111), (8, 9966), (9, 6428), (11, 1873), (5, 26597), (7, 14399), (3, 50223), (10, 3528), (12, 1053), (
# 13, 567), (14, 177), (16, 22), (15, 70), (17, 12), (18, 1), (20, 1)])
4. 自然语言处理(NLP)
自然语言:自然的随着文化演化的语言,就是人们日常使用的语言。
自然语言处理:用计算机对自然语言进行操作。
自然语言研究的内容:
- 此意消岐
- 指代理解
- 自动生成语言
- 机器翻译
- 人机对话系统
- 文本含义识别
5. nltk语料库
end
nltk模块的更多相关文章
- nltk模块基础操作
几个基础函数 (1)搜索文本:text.concordance(word) 例如,在text1中搜索词”is”在文本中出现的次数以及上下文的词:text1.concordance("is& ...
- 【NLP】Python NLTK 走进大秦帝国
Python NLTK 走进大秦帝国 作者:白宁超 2016年10月17日18:54:10 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公 ...
- 自然语言处理(1)之NLTK与PYTHON
自然语言处理(1)之NLTK与PYTHON 题记: 由于现在的项目是搜索引擎,所以不由的对自然语言处理产生了好奇,再加上一直以来都想学Python,只是没有机会与时间.碰巧这几天在亚马逊上找书时发现了 ...
- NLTK 3.2.2 安装经验
NLTK 3.2.2 安装经验 Nltk 3.2.2要求Python版本是Python2.7 或者Python3.4+. Nltk 3.2.3 如果是从网站上直接下载程序进行安装可能会报错:Pytho ...
- NLP入门(三)词形还原(Lemmatization)
词形还原(Lemmatization)是文本预处理中的重要部分,与词干提取(stemming)很相似. 简单说来,词形还原就是去掉单词的词缀,提取单词的主干部分,通常提取后的单词会是字典中的单 ...
- zwPython,字王集成式python开发平台,比pythonXY更强大、更方便。
zwPython,字王集成式python开发平台,比pythonXY更强大.更方便. 更强大,内置opencv.cuda/opencl.NLTK自然语言.pygame游戏设计等多个重量级模块库. 更方 ...
- 深度学习之 TensorFlow(一):基础库包的安装
1.TensorFlow 简介:TensorFlow 是谷歌公司开发的深度学习框架,也是目前深度学习的主流框架之一. 2.TensorFlow 环境的准备: 本人使用 macOS,Python 版本直 ...
- 词义消除歧义NLP项目实验
词义消除歧义NLP项目实验 本项目主要使用https://github.com/alvations/pywsd 中的pywsd库来实现词义消除歧义 目前,该库一部分已经移植到了nltk中,为了获得更好 ...
- NLP(一)
“自然语言处理”(Natural Language Processing 简称 NLP)包含所有用计算机对自然语言进行的操作. 自然语言工具包(NLTK) 语言处理任务与相应 NLTK 模块以及功能描 ...
随机推荐
- [Perl]Can't link/include C library 'ft2build.h', 'freetype', aborting.
原文:http://www.code-by.org/viewtopic.php?f=60&t=284 错误提示 Font-FreeType-0.07>perl Makefile.PL B ...
- linux安装报错之:ifconfig command not found解决
问题描述: 用虚拟机VMware安装linux系统(镜像文件是从官网下载的CentOS-7.0-1406-x86_64-DVD.iso), 在安装完成之后,输入ifconfig命令报错:ifconfi ...
- Codeforces 464E. The Classic Problem
题目大意 给定一张$n$个点, $m$条边的无向图,求$S$ 到$T$的最短路,其中边权都是$2^k$的形式$n,m,k<=10^5$,结果对$10^9+7$取模 题解 大佬好厉害 跑一边dij ...
- NSCharacterSet 关于字符串编码
此文转自:http://nshipster.cn/nscharacterset/ 只为个人为了查找问题方便才复制过来的....... 正如之前提前过的,基础类库(Foundation)拥有最好的.功能 ...
- Vue---基础笔记 (基础的构建 )
vue 基础 准备工作 chrome浏览器插件安装 完成后出现标记 vue页面标记需要使用vue.js非vue.min.js 调试页面 结构模型MVVM = m:model + v:view + v ...
- HTML-基础及一般标签
HTML 内容 Hyper Text Markup Language 超文本标记语言(包含文本.表格.图片.声音.视频等,同时也是文档) HTML 元素指的是从开始标签(start t ...
- js-查找字符串中出现次数最多的字符
假设有一个字符串,下面让我们一起来查找出现次数最多的字符 var str = 'asdfssaaasasasasaa'; 首先,我们定义一个Object用来存放拆分的字符串,然后遍历字符串. 判断ob ...
- 动态树Link-cut tree(LCT)总结
动态树是个好玩的东西 LCT题集 预备知识 Splay 树链剖分(好像关系并不大) 动态树(Link-cut tree) 先搬dalao博客 什么是LCT? 动态树是一类要求维护森林的连通性的题的总称 ...
- vue-cli项目启动遇到的坑
利用 npm init webpack projectname 之后 切换到项目所在文件夹下,执行命令 npm install ,一直非常慢,卡在那里基本不动. 最后是利用cnpm 安装成功的. 转载 ...
- maven相关的说明以及通过它来创建项目
1.什么是maven maven的本质是一个项目构建工具 2.maven的作用 那么作为一个项目构建工具我们又为什么要使用它以及好处呢 首先项目构建的本质是什么:项目代码从源代码到程序文件的过程是代码 ...
