文章目录

  • NLTK库简介
    • NLTK库重要模块及功能
    • 安装NLTK库
  • NLTK中的语料库
    • 英文文本语料库
    • 标注文本语料库
    • 其他语言的语料库
    • 文本语料库常见结构
    • NLTK 中定义的基本语料库函数
    • 加载自己的语料库

NLTK库简介

Natural Language Toolkit(简称NLTK库),自然语言处理工具包,是一个当下流行的,用于自然语言处理的Python 库。
NLTK 包含大量的软件、数据和文档,所有这些都可以从http://nltk.org/ 免费下载。
NLTK 创建于2001 年,最初是宾州大学计算机与信息科学系计算语言学课程的一部分。从那以后,在数十名贡献者的帮助下不断发展壮大。如今,它已被几十所大学的课程所采纳,并作为许多研究项目的基础。

NLTK库重要模块及功能

安装NLTK库

pip install nltk

通过运行以下代码来安装NLTK扩展包

import nltknltk.download()

NLTK中的语料库

在自然语言处理的实际项目中,通常要使用大量的语言数据或者语料库。
一个文本语料库是一大段文本。
nltk.corpus包提供了许多语料库。

英文文本语料库

  • gutenberg 一个有若干万部的小说语料库,多是古典作品
  • webtext 网络和聊天文本
  • nps_chat 有上万条聊天消息语料库,即时聊天消息为主
  • brown 第一个百万词级的英语语料库,按文体进行分类
  • reuters 路透社语料库,上万篇新闻方档,约有1百万字,分90个主题,并分为训练集和测试集两组
  • inaugural 演讲语料库,几十个文本,都是总统演说

标注文本语料库

许多文本语料库都包含语言学标注,有词性标注、命名实体、句法结构、语义角色等

其他语言的语料库

udhr,是超过300种语言的世界人权宣言

更多语料库,可以用==nltk.download()==在下载管理器中查看corpus。

文本语料库常见结构

  • 最简单的一种语料库是一些孤立的没有什么特别的组织的文本集合;
  • 一些语料库按如文体(布朗语料库)等分类组织结构;
  • 一些分类会重叠,如主题类别(路透社语料库);
  • 另外一些语料库可以表示随时间变化语言用法的改变(就职演说语料库)。

NLTK 中定义的基本语料库函数

fileids()    #语料库中的文件
fileids([categories])   #这些分类对应的语料库中的文件
categories()    #语料库中的分类
categories([fileids])   #这些文件对应的语料库中的分类
raw()   #语料库的原始内容
raw(fileids=[f1,f2,f3])    #指定文件的原始内容
raw(categories=[c1,c2])    #指定分类的原始内容
words() #整个语料库中的词汇
words(fileids=[f1,f2,f3])  #指定文件中的词汇
words(categories=[c1,c2])  #指定分类中的词汇
sents() #整个语料库中的句子
sents(fileids=[f1,f2,f3])  #指定文件中的句子
sents(categories=[c1,c2])  #指定分类中的句子
abspath(fileid) #指定文件在磁盘上的位置
encoding(fileid)    #文件的编码(如果知道的话)
open(fileid)    #打开指定语料库文件的文件流
root    #本地安装的语料库根目录的路径
readme()    #语料库的README 文件的内容

举个例子

import nltk
from nltk.corpus import reutersreuters.fileids()#查看文件
reuters.categories()#查看分类
reuters.fileids(['barley', 'corn'])#查看属于两个分类的文件

加载自己的语料库

如果你有自己收集的文本文件,可以在NLTK 中的PlaintextCorpusReader帮助下加载它们。
变量corpus_root [1]的值设置为文件储存目录。
第二个参数file_pattern[2]可以是一个如[‘a.txt’, ‘test/b.txt’]这样的fileids列表,或者一个正则表达式
如’[abc]/.*.txt’。

from nltk.corpus import BracketParseCorpusReader
corpus_root = r"C:\corpora\penntreebank\parsed\mrg\wsj"# [1]
file_pattern ='.*'ptb = BracketParseCorpusReader(corpus_root,file_pattern)#[2]
 ptb.fileids()

NLTK(1.2)NLTK简介相关推荐

  1. python nltk语义分析_Python nltk 如何解析出英语短语?

    花了点时间研究 nltk,也试着去写点代码,我有这样一段文字, >>> text = "i would't have the Scotland Yarders know i ...

  2. Py之nltk:nltk包的简介、安装、使用方法、代码实现之详细攻略

    Py之nltk:nltk包的简介.安装.使用方法.代码实现之详细攻略 目录 nltk包的简介 nltk包的安装 nltk包的使用方法 nltk包的代码实现 nltk包的简介 NLTK is a lea ...

  3. 中文实体命名识别工具使用汇总:Stanza、LAC、Ltp、Hanlp、foolnltk、NLTK、BosonNLP

    实体命名识别 相关知识 Stanford CoreNLP 命名实体识别 一.简介: 二.java版本使用 三.python版本使用 NLTK 命名实体识别 一.简介: 二.搭建环境 三.nltk使用 ...

  4. montypython买火柴_python nltk 笔记(持续更新)

    1 基础对象与方法 1.1 nltk.text.Text >>> from nltk.book import * *** Introductory Examples for the ...

  5. 【NLP】Python NLTK结合Stanford NLP工具包进行分词、词性标注、句法分析

    1 NLTK和StandfordNLP简介 NLTK:由宾夕法尼亚大学计算机和信息科学使用python语言实现的一种自然语言工具包,其收集的大量公开数据集.模型上提供了全面.易用的接口,涵盖了分词.词 ...

  6. Python数据挖掘-NLTK文本分析+jieba中文文本挖掘

    一.NLTK介绍及安装 (注:更多资源及软件请W信关注"学娱汇聚门") 1.1 NLTK安装 NLTK的全称是natural language toolkit,是一套基于pytho ...

  7. 【NLP】干货!Python NLTK结合stanford NLP工具包进行文本处理

    干货!详述Python NLTK下如何使用stanford NLP工具包 作者:白宁超 2016年11月6日19:28:43 摘要:NLTK是由宾夕法尼亚大学计算机和信息科学使用python语言实现的 ...

  8. 如何使用工具包 (NLTK) 开发NLP 项目?(附教程)

    基础概念: 自然语言处理 (NLP) 是机器学习的一个子领域,它使计算机能够理解.分析.操纵和生成人类语言. 在本文中,小普将向您展示如何使用自然语言工具包 (NLTK) 开发您自己的 NLP 项目, ...

  9. Python自然语言处理 NLTK 库用法入门教程

                                                               NLP (Natural Language Processing):自然语言处理 ...

  10. 如何检查电脑是否安装了python-python-如何检查安装了scikit的nltk版本?

    python-如何检查安装了scikit的nltk版本? 在外壳程序脚本中,我正在检查是否已安装此软件包,如果未安装,请先安装它. 因此,使用shell脚本: import nltk echo nlt ...

最新文章

  1. 修改Spring boot内置的tomcat端口
  2. annotation-config vs component-scan – Spring Core--转
  3. 用matlab求残余误差,matlab在测量误差分析中的应用
  4. Docker 方式安装 zipkin (linux 、阿里云ECS上安装)
  5. python标准库os的方法listdir_使用python标准库快速修改文件名字
  6. pep8 python 编码规范_编码规范的重要性
  7. sqlserver2014内存数据库特性介绍
  8. php只显示指定文件类型_PHP 上传时的文件类型
  9. 计算机英语中motherboard,计算机英语--Motherboard.doc
  10. NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
  11. C++结构体,联合体与枚举类
  12. ImageLoader简单分析(三)
  13. 单例模式的懒汉模式跟恶汉模式的区别
  14. 电脑分辨率怎么调?教你调整电脑屏幕分辨率
  15. 资深程序员和你重学五线谱 - 第一篇
  16. Facebook母公司:混合现实走向市场还需要数年时间
  17. 打印机经常遇到的一些问题
  18. bugku-加密-题解
  19. Windows间歇性高ping(高延迟)解决办法
  20. ctr多少正常_你知道亚马逊的点击率多少算正常的吗?

热门文章

  1. http 301、302、304、400、405、415状态码解释
  2. 短信验证码实现(京东万象第三方接口)
  3. 天才少年!他们的内心世界你懂吗?道翰天琼认知智能机器人平台API接口为您揭秘。
  4. notifyDataSetInvalidated()和notifyDataSetChanged()的区别
  5. nmon下载及使用方法
  6. 弯下腰,只为一个昂起头的机会
  7. ES6 Set数组操作
  8. JavaScript 中 mouseenter 与mouseover 区别
  9. Oracle的定时任务
  10. GitLab-CI 基础介绍