自然语言处理——NLTK文本语料库

1.获取文本语料库

NLTK库中包含了大量的语料库,下面一一介绍几个:

(1)古腾堡语料库:NLTK包含古腾堡项目电子文本档案的一小部分文本。该项目目前大约有36000本免费的电子图书。

>>>import nltk
>>>nltk.corpus.gutenberg.fileids()
[‘austen-emma.txt‘,‘austen-persuasion.txt‘ ‘austen-sense.txt‘, ‘bible-kjv.txt‘, ‘blake-poems.txt‘,‘bryant-stories.txt‘,‘burgess-busterbrown.tx‘carroll-alice.txt‘, ‘chesterton-ball.txt‘,‘chesterton-brown.txt‘,‘chesterton-thursday.tx‘edgeworth-parents.txt‘
 ‘melville-moby_dick.txt‘milton-paradise.txt‘, ‘shakespeare-caesar.txt, ‘shakespeare-hamlet.txt, ‘shakespeare-macbeth.txt ‘whitman-leaves.txt‘]

使用:from nltk.corpus import gutenberg

写一段简短的程序,通过遍历前面所列出的与gutenberg文体标识符相应的fileid,然后统计每个文本:

import nltk
from nltk.corpus import gutenberg

for fileid in gutenberg.fileids():
	num_chars=len(gutenberg.raw(fileid))  ###统计字符数
	num_words=len(gutenberg.words(fileid))  ##统计单词书
	num_sent=len(gutenberg.sents(fileid))  ###统计句子数
	num_vocab=len(set([w.lower() for w in gutenberg.words(fileid)]))  ###唯一化单词
	print(int(num_chars/num_words),int(num_words/num_sent),int(num_words/num_vocab),fileid)

结果为:4 24 26 austen-emma.txt
4 26 16 austen-persuasion.txt
4 28 22 austen-sense.txt
4 33 79 bible-kjv.txt
4 19 5 blake-poems.txt
4 19 14 bryant-stories.txt
4 17 12 burgess-busterbrown.txt
4 20 12 carroll-alice.txt
4 20 11 chesterton-ball.txt
4 22 11 chesterton-brown.txt
4 18 10 chesterton-thursday.txt
4 20 24 edgeworth-parents.txt
4 25 15 melville-moby_dick.txt
4 52 10 milton-paradise.txt
4 11 8 shakespeare-caesar.txt
4 12 7 shakespeare-hamlet.txt
4 12 6 shakespeare-macbeth.txt
4 36 12 whitman-leaves.txt

这个结果显示了每个文本的3个统计量:平局词长,平均句子长度和文本中每个词出现的平均次数。

(2)网络和聊天文本:

这部分代表的是非正式的语言

时间: 2024-07-31 15:43:28

自然语言处理——NLTK文本语料库的相关文章

自然语言处理——NLTK中文语料库语料库

Python NLTK库中包含着大量的语料库,但是大部分都是英文,不过有一个Sinica(中央研究院)提供的繁体中文语料库,值得我们注意. 在使用这个语料库之前,我们首先要检查一下是否已经安装了这个语料库. >>>import nltk >>>nltk.download() 检查箭头所指的sinica_treebank是否安装,如果未安装,则首先要进行安装. 安装完毕后就可以使用了 import nltk from nltk.corpus import sinica_t

Mac OS10.9 下python开发环境(eclipse)以及自然语言包NLTK的安装与注意

折腾了大半天,终于把mbp上python自然语言开发环境搭建好了. 第一步,安装JDK1.7 for mac MacOS10.9是自带python2.7.5的,够用,具体的可以打开终端输入python显示版本号码.在10.9中MacOS没有自带的JDK1.7所以我们得先安装JDK1.7 for mac 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 选择Mac OS

Python自然语言处理 NLTK包中的 text3.generate() 命令出错 'Text' object has no attribute 'generate'

<python自然语言处理时>第28页有这样一个命令--text3.generate()---功能是:产生一些与text3风格类似的随机文本. 用NLTK3.0.4和Python2.7.6来实现时却出现错误:'Text' object has no attribute 'generate' . 探索一下后发现问题所在: 打开nltk文件夹中的text.py发现了,原来新版本的NLTK没有了"text1.generate()"这个功能作者已经把demo里的text.gener

Python自然语言工具包(NLTK)入门

在本期文章中,小生向您介绍了自然语言工具包(Natural Language Toolkit),它是一个将学术语言技术应用于文本数据集的 Python 库.称为“文本处理”的程序设计是其基本功能:更深入的是专门用于研究自然语言的语法以及语义分析的能力. 鄙人并非见多识广, 语言处理(linguistic processing) 是一个相对新奇的领域.如果在对意义非凡的自然语言工具包(NLTK)的说明中出现了错误,请您谅解.NLTK 是使用 Python 教学以及实践计算语言学的极好工具.此外,计

自然语言处理:文本预处理、语言模型、RNN

文本是一类序列数据,一篇文章可以看作是字符或单词的序列,本节将介绍文本数据的常见预处理步骤,预处理通常包括四个步骤: 读入文本 分词 建立字典,将每个词映射到一个唯一的索引(index) 将文本从词的序列转换为索引的序列,方便输入模型 现有的工具可以很好地进行分词,spaCy和NLTK. 使用示例: text = "Mr. Chen doesn't agree with my suggestion." ####spaCy: import spacy nlp = spacy.load('

Textual Entailment(自然语言推理-文本蕴含) - AllenNLP

自然语言推理是NLP高级别的任务之一,不过自然语言推理包含的内容比较多,机器阅读,问答系统和对话等本质上都属于自然语言推理.最近在看AllenNLP包的时候,里面有个模块:文本蕴含任务(text entailment),它的任务形式是: 给定一个前提文本(premise),根据这个前提去推断假说文本(hypothesis)与premise的关系,一般分为蕴含关系(entailment)和矛盾关系(contradiction),蕴含关系(entailment)表示从premise中可以推断出hyp

nltk——文本分类

http://www.nltk.org/book/ch06.html 原文地址:https://www.cnblogs.com/webRobot/p/6272538.html

吴裕雄--天生自然 pythonTensorFlow自然语言处理:文本数据预处理--生成词汇表

import codecs import collections from operator import itemgetter # 1. 设置参数. MODE = "PTB" # 将MODE设置为"PTB", "TRANSLATE_EN", "TRANSLATE_ZH"之一. if MODE == "PTB": # PTB数据处理 RAW_DATA = "F:\\TensorFlowGoogle

Python基本数据统计

1. 便捷数据获取 1.1 本地数据获取:文件的打开,读写和关闭(另外的单独章节) 1.2 网络数据获取: 1.2.1 urllib, urllib2, httplib, httplib2 (python3中为urllib.request, http.client) 正则表达式(另外的单数章节) 1.2.2 通过matplotlib.finace模块获取雅虎财经上的数据 In [7]: from matplotlib.finance import quotes_historical_yahoo_