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模块的更多相关文章

  1. nltk模块基础操作

     几个基础函数 (1)搜索文本:text.concordance(word) 例如,在text1中搜索词”is”在文本中出现的次数以及上下文的词:text1.concordance("is& ...

  2. 【NLP】Python NLTK 走进大秦帝国

    Python NLTK 走进大秦帝国 作者:白宁超 2016年10月17日18:54:10 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公 ...

  3. 自然语言处理(1)之NLTK与PYTHON

    自然语言处理(1)之NLTK与PYTHON 题记: 由于现在的项目是搜索引擎,所以不由的对自然语言处理产生了好奇,再加上一直以来都想学Python,只是没有机会与时间.碰巧这几天在亚马逊上找书时发现了 ...

  4. NLTK 3.2.2 安装经验

    NLTK 3.2.2 安装经验 Nltk 3.2.2要求Python版本是Python2.7 或者Python3.4+. Nltk 3.2.3 如果是从网站上直接下载程序进行安装可能会报错:Pytho ...

  5. NLP入门(三)词形还原(Lemmatization)

      词形还原(Lemmatization)是文本预处理中的重要部分,与词干提取(stemming)很相似.   简单说来,词形还原就是去掉单词的词缀,提取单词的主干部分,通常提取后的单词会是字典中的单 ...

  6. zwPython,字王集成式python开发平台,比pythonXY更强大、更方便。

    zwPython,字王集成式python开发平台,比pythonXY更强大.更方便. 更强大,内置opencv.cuda/opencl.NLTK自然语言.pygame游戏设计等多个重量级模块库. 更方 ...

  7. 深度学习之 TensorFlow(一):基础库包的安装

    1.TensorFlow 简介:TensorFlow 是谷歌公司开发的深度学习框架,也是目前深度学习的主流框架之一. 2.TensorFlow 环境的准备: 本人使用 macOS,Python 版本直 ...

  8. 词义消除歧义NLP项目实验

    词义消除歧义NLP项目实验 本项目主要使用https://github.com/alvations/pywsd 中的pywsd库来实现词义消除歧义 目前,该库一部分已经移植到了nltk中,为了获得更好 ...

  9. NLP(一)

    “自然语言处理”(Natural Language Processing 简称 NLP)包含所有用计算机对自然语言进行的操作. 自然语言工具包(NLTK) 语言处理任务与相应 NLTK 模块以及功能描 ...

随机推荐

  1. img标签中onerror用法

    <img src="/statics/bazi/images/150x100.jpg" alt="#" onerror="this.style. ...

  2. 关于C#低版本升级高版本时,项目中引用Microsoft.Office.Interop.Word,程序提示不存在类型或命名空间名office.

    Report.cs里using Microsoft.Office.Interop.Word;就会报错:编译器错误消息: CS0234: 命名空间“Microsoft.Office”中不存在类型或命名空 ...

  3. “全栈2019”Java第五十二章:继承与初始化详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  4. 【redis基础】

    基础知识 http://www.runoob.com/redis/redis-partitioning.html redis性能分析 https://www.cnblogs.com/mushroom/ ...

  5. Python爬取网上车市[http://www.cheshi.com/]的数据

    #coding:utf8 #爬取网上车市[http://www.cheshi.com/]的数据 import requests, json, time, re, os, sys, time,urlli ...

  6. 公司git流程图,广告业务术语

  7. [开源JVM] yvm - 自制Java虚拟机

    中文 | English | | | YVM是用C++写的一个Java虚拟机,现在支持Java大部分功能,以及一个基于标记清除算法的并发垃圾回收器. 不过还有很多bug等待修复. 感兴趣的朋友pull ...

  8. POJ1330 Nearest Common Ancestors (JAVA)

    经典LCA操作.. 贴AC代码 import java.lang.reflect.Array; import java.util.*; public class POJ1330 { // 并查集部分 ...

  9. Python3学习札记

    1.- (按位取反) x的按位取反结果为-(x+1)   e.g. -5输出-6 更多细节,阅:http://stackoverflow.com/a/11810203 2.DocString约定 为一 ...

  10. Bootrap 项目实战(微金所前端首页)第一部分

    微金所前端首页成果图:(这是本人自己按照微金所官网首页,采用Bootrap,JS,JQuery,css制作的网页效果图,在第二部分我会公布网页源代码) 如需网页源代码,请在下方留言,备注你的qq邮箱. ...