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 模块以及功能描 ...
随机推荐
- ansible 常用模块的使用
安装 yum -y install ansible 配置文件/etc/ansible/hosts 模块介绍与使用 ping模块 [root@node1 config]# ansible k8s -m ...
- 波利亚(Polya)罐子模型
(波利亚(Polya)罐子模型)罐中有a个白球,b个黑球,每次从罐中随机抽取一球,观察其颜色后,连同附加的c个同色球 (波利亚(Polya)罐子模型)罐中有a个白球,b个黑球,每次从罐中随机抽取一 ...
- RDLC报表的相关技巧二(主从报表)
为了广泛支持客户端,系统框架运行在.Net Framework 4.0之上,Report viewer的版本也限制在11.0.3366.16. 使用NUGET安装Microsoft.ReportVie ...
- MVC模式学习--雇员管理系统项目开发
1, 项目开发,使用原型开发, ① 开发流程: 需求分析->设计阶段->编码阶段->测试阶段->发布阶段/维护阶段 需求阶段:PM/项目经理 对客户 设计阶段:技术人员(架构师 ...
- P4168 [Violet]蒲公英 区间众数
$ \color{#0066ff}{ 题目描述 }$ 在乡下的小路旁种着许多蒲公英,而我们的问题正是与这些蒲公英有关. 为了简化起见,我们把所有的蒲公英看成一个长度为n的序列 \((a_1,a_2.. ...
- leetcode-747-Largest Number At Least Twice of Others(求vector的最大值和次大值)
题目描述: In a given integer array nums, there is always exactly one largest element. Find whether the l ...
- jquery 实现省市二级联动
效果: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- Rx
more detailed in WIKI's document SDP :session description protocal book AAA AA-Answer 鉴权授权应答AAR AA-R ...
- Jenkins windows部署
1.安装jenkins 进入https://jenkins.io/download/,下载windows安装包,解压后运行jenkins.msi进行安装. 配置jenkins (1)打开http:// ...
- Mbps、Kbps、KBps的关系
1. 每秒钟传输的二进制位数的单位:bps.Kbps.Mbps Mbps是Million bits per second的缩写,它的意思是时间内传输数据的平均比特数. Mbps=Mbit/s即兆比特每 ...