自然语言处理NLTK(一):NLTK和语料库

article/2025/8/28 12:45:46

对于文本的研究,对于语言主要是中文,英文的研究反而会少了很多,主要还是因为应用的问题,而现在对于海外的产品来说,英文的语言处理,会越来越显得重要,其实对英文语言处理资料会比中文的来得多,来得全,很多中文研究的方法是借鉴了英文处理的思想。

NLTK是python中研究自然语言的非常优秀的第三方库,里面集中了非常多的自然语言处理方式的算法,不需要自己去编写算法,可以让我们更多的去关系应用本身。

NLTK的安装

NLTK的安装,跟python安装第三方包并没有太多的区别。

pip install nltk

对于语料库的下载,在有较好的网络环境下可以直接使用python代码

import nltk
nltk.download()

选择所有的语料库下载:

在这里插入图片描述

语料库比较大,压缩文件差不多有500M,如果网络环境一般,可以单独下载,放在相应的目录下,查找目录的方法如下:

import nltk
print ntlk.data.find('*')

可以显示出来,应该把包放在哪个目录下:

 Searched in:- 'C:\\Users、\nltk_data'- 'C:\\nltk_data'- 'D:\\nltk_data'- 'E:\\nltk_data'- 'C:\\Python27\\nltk_data'- 'C:\\Python27\\lib\\nltk_data'- 'C:\\Users\nltk_data'

语料库

所有的语料库都存放在nltk_data\corpora下,corpora为资料库的意思,这里包含了大量的语料库,主要的如下:

古腾堡语料库

NLTK包含古腾堡项目( Project Gutenberg)电子文本档案的经过挑选的一小部分文
本。该项目大约有 25,000(现在是 36,000了) 本免费电子图书,放在 http://www.gutenberg.
org/上。资料库在:nltk_data\corpora\gutenberg下。

网络和聊天文本

虽然古腾堡项目包含成千上万的书籍,它代表既定的文学。考虑较不正式的语言也是
很重要的。 NLTK的网络文本小集合的内容包括 Firefox交流论坛, 在纽约无意听到的对话,
《加勒比海盗》的电影剧本,个人广告和葡萄酒的评论。资料库在:nltk_data\corpora\webtext下。

布朗语料库

布朗语料库是第一个百万词级的英语电子语料库的,由布朗大学于 1961年创建。这个
语料库包含500个不同来源的文本, 按照文体分类, 如: 新闻、 社论等。 表 2-1给出了各个
文体的例子(完整列表,请参阅http://icame.uib.no/brown/bcm-los.html)。资料库在:nltk_data\corpora\brown下。

路透社语料库

路透社语料库包含 10,788个新闻文档, 共计130万字。 这些文档分成90个主题, 按照
“ 训练” 和“ 测试” 分为两组。因此, fileid为“ test/14826” 的文档属于测试组。这样分割
是为了训练和测试算法的,这种算法自动检测文档的主题,资料库在:nltk_data\corpora\webtext下。

就职演说语料库

我们看到了就职演说语料库,但是把它当作一个单独的文本对待。在图 1-2
中使用的“ 词偏移”就像是一个坐标轴, 它是语料库中词的索引数, 从第一个演讲的第一个
词开始算起。然而,语料库实际上是 55个文本的集合,每个文本都是一个总统的演说。

标注文本语料库

许多文本语料库都包含语言学标注,有词性标注、命名实体、句法结构、语义角色等。
NLTK中提供了很方便的方式来访问这些语料库中的几个,还有一个包含语料库和语料样本
的数据包, 用于教学和科研的话可以免费下载。 表 2-2列出了其中一些语料库。 有关下载信
息请参阅 http://www.nltk.org/data。关于如何访问 NLTK语料库的其它例子, 请在http://www.
nltk.org/howto查阅语料库的 HOWTO。

其他语言的语料库

这里可以发现,nltk.download中存在着非常多的资料库,英文的居多,中文的语料库相对来说会少很多,这一点在进行机器对话的编程过程,就发现了这个问题,好的优质的中文资料库相当的少,而从nltk来看,语料库是基础,巧妇难为无米之炊。

文本语料库的结构

目前为止, 我们已经看到了大量的语料库结构。 图 2-3中总结了它们。 最简单的一种
没有任何结构,仅仅是一个文本集合。通常,文本会按照其可能对应的文体、来源、作者、
语言等分类。 有时, 这些类别会重叠, 尤其是在按主题分类的情况下, 因为一个文本可能与
多个主题相关。偶尔的,文本集有一个时间结构,新闻集合是最常见的例子。
NLTK语料库阅读器支持高效的访问大量语料库,并且能用于处理新的语料库。如下列出了语料库阅读器提供的函数。

在这里插入图片描述

图2-3. 文本语料库的常见结构:最简单的一种语料库是一些孤立的没有什么特别的组织的
文本集合; 一些语料库按如文体( 布朗语料库) 等分类组织结构; 一些分类会重叠, 如主题
类别(路透社语料库);另外一些语料库可以表示随时间变化语言用法的改变(就职演说语
料库)。
表2-3. NLTK中定义的基本语料库函数:使用 help(nltk.corpus.reader)可以找到更多的文档,
也可以阅读http://www.nltk.org/howto上的在线语料库的 HOWTO。

在这里插入图片描述

具体的用法如下:

获取gutenberg项目目录下,有哪些文件

import nltk
print nltk.corpus.gutenberg.fileids()

得到如下的文件:

[u'austen-emma.txt', u'austen-persuasion.txt', u'austen-sense.txt', u'bible-kjv.txt', u'blake-poems.txt', u'bryant-stories.txt', u'burgess-busterbrown.txt', u'carroll-alice.txt', u'chesterton-ball.txt', u'chesterton-brown.txt', u'chesterton-thursday.txt', u'edgeworth-parents.txt', u'melville-moby_dick.txt', u'milton-paradise.txt', u'shakespeare-caesar.txt', u'shakespeare-hamlet.txt', u'shakespeare-macbeth.txt', u'whitman-leaves.txt']

条件频率分布

当语料文本分为几类(文体、主题、作者)时,可以计算每个类别独立的频率分布,这样就可以研究类别之间的系统性差异。——nltk.ConditionalFreqDist来实现、条件频率分布是频率分布的集合,每个频率分布有一个不同的‘条件’(通常为文本的类别)——(条件,事件)的形式。

例子:绘制特定演讲中出现[‘america’,‘citizen’]的次数随时间变化情况

#! /usr/bin/python
# -*- coding:utf-8 -*-import nltk
from nltk.corpus import inauguralcfd = nltk.ConditionalFreqDist((target, fileid[:4]) for fileid in inaugural.fileids() for w in inaugural.words(fileid)for target in ['america', 'citizen'] if w.lower().startswith(target))cfd.plot()

显示出在某一年度下,某一个词出现的次数。

在这里插入图片描述


http://chatgpt.dhexx.cn/article/67U5wT2h.shtml

相关文章

NLTK库安装教程(详细版)

NLTK,Natural Language Toolkit(Python自然语言工具包) 安装步骤 1.打开cmd命令,输入: pip install nltk 运行安装 2.安装完成后,搜索IDLE打开python shell,输入 import nltk 引用该工具包&…

NLTK使用方法总结

目录 1. NLTK安装与功能描述 2. NLTK词频统计(Frequency) 3. NLTK去除停用词(stopwords) 4. NLTK分句和分词(tokenize) 5. NLTK词干提取 (Stemming) 6. NLTK词形还原&#xff0…

行人重识别reid数据集

有需要的人,请在评论区留下你的邮箱。 本人,双非学校小硕。研究方向行人重识别。收集了一些常用数据集。 Market-1501-v15.09.15 dukemtmc-reid 顺便附上一个根据相机id划分数据集的代码 import os import shutil import os.path as osp import numpy…

转化类操作符:map、mapTo和pluck

map介绍: import {Observable} from rxjs/Observable; import rxjs/add/observable/of; import rxjs/add/operator/map;// 第一种 const source$ Observable.of(3, 1, 4); const mapFunc function(value, index) { return ${value} ${this.separator} ${index}; …

VulnHub - Pluck靶机

VulnHub - Pluck靶机 arp-scan -l 探测靶机地址 nmap -sV -Pn -A x.x.x.230 dirb http://x.x.x.230 扫描目录 发现index.php 目录下存在文件包含漏洞 直接修改page参数,经几次修改,发现可读本地文件../../../etc/passwd 从上图看到passwd文件最下方有个b…

Pluck Cms文件上传结合命令执行复现

本漏洞影响 Pluck CMS Pluck CMS <4.7.10 部分解释来自零组文库 安装模版文件包含导致任意命令执行 很多CMS都会在安装模版的时候getshell&#xff0c;那么这里笔者也发现了类似的漏洞。 在阅读自己下载下来得源码之后看到 目录下有.htaccess文件&#xff0c;直接把php设置…

春秋云境:CVE-2022-26965(后台RCE)

目录 一、题目 二、 利用cms主题构造木马 一、题目 介绍&#xff1a; Pluck-CMS-Pluck-4.7.16 后台RCE 进入题目&#xff1a; cms页面 点击admin进行登录&#xff1a; 弱口令admin登录&#xff1a; 成功登录进去&#xff1a; 国产化一下&#xff1a; 选项---选择主题 点击…

春秋云境系列靶场记录(合集)-不再更新

春秋云境系列靶场记录 春秋云境系列靶场记录合集&#xff0c;不更新了哈~~~ 2023/1/17日记 感谢各位朋友的关注&#xff0c;2022年11月到12月&#xff0c;利用空闲时间做了春秋云镜的靶场&#xff0c;因为穷&#xff0c;所以也只能做免费的&#xff08;当然还有个原因就是我太…

春秋云境:CVE-2022-26965

春秋云境&#xff1a;CVE-2022-26965 文章合集&#xff1a;春秋云境系列靶场记录&#xff08;合集&#xff09; Pluck-CMS-Pluck-4.7.16 后台RCE&#xff1a;CVE-2022-26965 漏洞介绍 Pluck-CMS-Pluck-4.7.16 后台RCE 解题步骤 过弱口令登录&#xff1a;admin 登录之后按照…

什么是pickle?

什么是pickle? 学习《深度学习》鱼书的源码时&#xff0c;刚看到加载mnist数据集所用到的mnist.pkl文件&#xff0c;理所当然的以为pkg这样的package安装包文件。奇怪安装包为何被包含在代码目录中&#xff0c;结果发现 init_mnist函数还要加载它。 我们来看看这个神秘的mnis…

Laravel SQL查询中first, pluck与lists方法的使用

看到说明文档上面介绍&#xff0c;难免有些迷惑&#xff0c;还是亲自动手试试吧。 sql测试数据表 -- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS users; CREATE TABLE users (id int(10) unsigned NOT…

git chrry pickup

git chrry pickup 目录概述需求&#xff1a; 设计思路实现思路分析1.java2.转移分支3.git merge4.cherry pick. 切换到 master 分支Cherry pick 操作参考资料和推荐阅读 Survive by day and develop by night. talk for import biz , show your perfect code,full busy&#xf…

春秋云镜wp day1

春秋云镜wp day1 (qq.com) 建议关注公众号 websec.space&#xff0c;以后文章来csdn备份一份 今天看到之前买了内网渗透那本书&#xff0c;今天看到靶场上线了&#xff0c;打一天玩一下&#xff0c;总体cve的洞很好刷&#xff0c;比打CTF轻松多了。 CVE-2022-32991 首先登陆…

计算机网络谢希仁第七版 第四章 答案

计算机网络谢希仁第七版 第四章 网络层 计算机网络 第七版 谢希仁 答案 1.网络层向上提供的服务有哪两种?是比较其优缺点。网络层向运输层提供 “面向连接”虚电路(Virtual Circuit)服务或“无连接”数据报服务前者预约了双方通信所需的一切网络资源。优点是能提供服务质…

《计算机网络》谢希仁第七版知识点总结

1 概述1.1 网络的网络1.2 互联网的组成1.2.1 边缘部分1.2.2 核心部分 1.3 计算机网络的类别1.4 计算机网络的性能指标&#xff08;考点&#xff09;1.4.1 速率1.4.2 时延 1.5 计算机网络的体系结构1.5.1 协议与划分层次 1.6 各协议的体系结构1.6.1 各层功能概述1.6.2 主机H1向H…

计算机网络谢希仁第七版课后习题答案(第九章)

1.无线局域网都由哪几部分组成&#xff1f;无线局域网中的固定基础设施对网络的性能有何影响&#xff1f;接入点 AP 是否就是无线局域网中的固定具体设施&#xff1f; 无线局域网由无线网卡、无线接入点(AP)、计算机和有关设备组成&#xff0c;采用单元结构&#xff0c;将整个系…

计算机网络第四章课后答案(第七版谢希仁著)

计算机网络第四章课后答案简介&#xff1a; 平时老师布置的作业自己做的答案&#xff0c;仅是做参考&#xff0c;希望有帮助 还可以把全部的答案分享给大家&#xff1a;>完整答案< 第四章课后作业答案&#xff1a; 第一页&#xff1a; 第二页&#xff1a; 第三页&#…

计算机网络第七版 第四章课后答案

4-55.如图所示&#xff0c;网络145.13.0.0/16划分为四个子网N1,N2,N3和N4。这四个子网与路由器R连接的接口分别是m0&#xff0c;m1&#xff0c;m2和m3。路由器R的第五个接口m4连接到互联网。 有题目可以看出四个网络地址的地址掩码均为/18,故可以得出子网掩码均为255.255.192.0…

计算机网络第七版(谢希仁)第五章——传输层课后习题答案(上)

文章目录 5-01解答 5-02解答 5-03解答 5-04解答 5-05解答 5-06解答 5-07解答 5-08解答 5-09解答 5-10解答 5-11解答 5-12解答 5-13解答 5-14解答 5-15解答 5-16解答 5-17解答 5-18解答 5-19解答 5-20解答 5-21解答 5-22解答 5-23解答 5-24解答 5-25解答 5-26解答 5-27解答 5-28…

计算机网络谢希仁第七版 第二章 课后答案

计算机网络谢希仁第七版 第二章 课后答案 2-01 物理层要解决哪些问题&#xff1f;物理层的主要特点是什么&#xff1f;计算机网络谢希仁 答案&#xff1a;物理层要解决的主要问题&#xff1a; &#xff08;1&#xff09;物理层要尽可能地屏蔽掉物理设备和传输媒体&#xff0c;…