Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >NLTK-004:加工原料文本

NLTK-004:加工原料文本

作者头像
李玺
发布于 2021-11-22 06:17:38
发布于 2021-11-22 06:17:38
59000
代码可运行
举报
文章被收录于专栏:爬虫逆向案例爬虫逆向案例
运行总次数:0
代码可运行

从网络和硬盘访问文本

编号 2554 的文本是《罪与罚》的英文翻译,我们可以用如下方式访问它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from urllib import request
url = "http://www.gutenberg.org/files/2554/2554.txt"
response = request.urlopen(url)
raw = response.read().decode('utf8')

(如果是404之类的,得找个代理外网IP,下面访问的都一样… )

所以假设获取到了内容。变量raw是这本书原始的内容,包括很多我们不感兴趣的细节,如空格、换行符和空 行。请注意,文件中行尾的\r 和\n,是 Python 用来显示特殊的回车和换行字符的方式

我们要对其进行分词操作,产生一个词汇和标点符号的链表。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tokens = nltk.word_tokenize(raw)

我们现在采取进一步的步骤从这个链表创建一个 NLTK 文本

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
text = nltk.Text(tokens)

我们可以进行我们在之前看到的所有的其他语言的处理,也包括常规的链表操作,例如切片:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 text[1024:1062]

处理HTML 网络上的文本大部分是 HTML 文件的形式。 HTML 的全部内容包括: meta 元标签、图像标签、map 标 签、JavaScript、表单和表格。

我们可以使用BeautifulSoup或者其他库来从HTML中提取文本,然后我们可以对原始文本进行分词:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from bs4 import BeautifulSoup
raw = BeautifulSoup(html).get_text()
tokens = nltk.word_tokenize(raw)

你可以选择你感兴趣的标识符,按照前面讲的那样初始化一个文本。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tokens = tokens[110:390]
text = nltk.Text(tokens)
text.concordance('gene')

访问单个字符 我们可以计数单个字符。通过将所有字符小写来忽略大小写的区分,并过滤掉非字母字符。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from nltk.corpus import gutenberg
raw = gutenberg.raw('melville-moby_dick.txt')
fdist = nltk.FreqDist(ch.lower() for ch in raw if ch.isalpha())
fdist.most_common(5)
fdist.plot()

使用 Unicode 进行文字处理 Unicode支持超过一百万种字符。每个字符分配一个编号,称为 编码点。在 Python 中 ,编码点写作\uXXXX 的形式,其中 XXXX是四位十六进制形式数。 解码:将文本翻译成Unicode; 编码:将Unicode 转化为其它编码的过程;

从文件中提取已编码文本 : 假设我们有一个小的文本文件,我们知道它是如何编码的。例如:polish-lat2.txt 顾名思义是波兰语的文本片段(来源波兰语 Wikipedia;可以在 http://pl.wikipedia.org/wiki/Biblioteka_Pruska中看到)。此文件是 Latin-2 编码的,也称为 ISO-8859-2。nltk.data.find()函数为我们定位文件。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 path = nltk.data.find('corpora/unicode_samples/polish-lat2.txt')

codecs模块:提供了将编码数据读入为Unicode 字符串和将Unicode 字符串以编码形式写出的函数。 codecs.open()函数:encoding 参数来指定被读取或写入的文件的编码。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 f = open(path, encoding='latin2')
 for line in f:
    line = line.strip()
    print(line)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/17 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python NLTK 处理原始文本
关于处理原始文本部分导入语句: >>> from __future__ import division >>> import nltk,re,pprint 1 从网络和硬盘访问文本(在线获取伤寒杂病论) ---- python网络访问程序: >>> from __future__ import division >>> import nltk,re,pprint >>> from urllib.request import urlopen >>> url=r'http://www.gutenberg
机器学习AI算法工程
2018/03/14
1.5K0
Python NLTK 处理原始文本
【Python环境】Python自然语言处理系列(1)
一:python基础,自然语言概念 from nltk.book import* 1,text1.concordance("monstrous") 用语索引 2,text1.similar("best") 3,text2.common_contexts(["monstrous","very"]) 4,text4.dispersion_plot(["citizens","democracy", "freedom", "duties","America"]) 5,text3.generate() 6,
陆勤_数据人网
2018/02/27
9000
【Python环境】Python自然语言处理系列(1)
NLTK-005:分类和标注词汇
之前大家也肯定学过名字、动词、形容词、副词之间的差异,这些词类不是闲置的,而是对许多语言处理任务都有用的分类,正如我们将看到的,这些分类源于对文本中词的分布的简单的分析。
李玺
2021/11/22
6270
NLTK-005:分类和标注词汇
Python NLTK解读
自然语言处理工具包(Natural Language Toolkit,简称NLTK)是一个用于处理人类语言数据的强大工具包。它提供了丰富的语言处理功能,包括文本分析、词性标注、语法分析、语料库管理等。本教程将介绍如何使用NLTK来处理文本数据,进行各种自然语言处理任务。
Michel_Rolle
2024/01/31
2.7K0
NLTK文本整理和清洗示例代码
from nltk.tokenize import regexp_tokenize
用户7886150
2020/12/27
8850
自然语言处理NLP(一)
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
1.2K0
自然语言处理NLP(一)
NLP自然语言处理002:NLTK中的语料和词汇资源
import nltk 直接获取语料库的所有文本:nltk.corpus.gutenberg.fileids()
李玺
2021/11/22
6750
NLP自然语言处理002:NLTK中的语料和词汇资源
【自然语言处理篇】--以NLTK为基础讲解自然语⾔处理的原理和基础知识
Python上著名的⾃然语⾔处理库⾃带语料库,词性分类库⾃带分类,分词,等等功能强⼤的社区⽀持,还有N多的简单版wrapper。
LhWorld哥陪你聊算法
2018/09/13
1.2K0
【自然语言处理篇】--以NLTK为基础讲解自然语⾔处理的原理和基础知识
Python 处理纯文本,12个常用的库
Python 提供了多种库来处理纯文本数据,这些库可以应对从基本文本操作到复杂文本分析的各种需求。以下是一些常用的纯文本处理相关的库:
统计学家
2023/12/28
7830
Python 处理纯文本,12个常用的库
【Python】已解决:ModuleNotFoundError: No module named ‘nltk‘
已解决:ModuleNotFoundError: No module named ‘nltk‘
屿小夏
2024/07/01
4910
【Python】已解决:ModuleNotFoundError: No module named ‘nltk‘
自动文本摘要
摘要的主要思想是找到包含整个集合的“信息”的数据子集。这种技术在今天的工业中被广泛使用。搜索引擎就是一个例子;其他的例子包括文档、图像集合和视频的汇总。文档摘要试图通过寻找信息最丰富的句子,对整个文档进行有代表性的总结或抽象,而在图像摘要中,系统会找到最具代表性和最重要的(或最显著的)图像来做代表。对于监控视频,则会从平平无奇的环境中提取出重要的事件。
AI研习社
2018/11/30
1.9K0
自动文本摘要
Python数据挖掘-NLTK文本分析+jieba中文文本挖掘
NLTK的全称是natural language toolkit,是一套基于python的自然语言处理工具集。
用户7886150
2021/01/15
3K0
学习笔记CB001:NLTK库、语料库、词概率、双连词、词典
聊天机器人知识主要是自然语言处理。包括语言分析和理解、语言生成、机器学习、人机对话、信息检索、信息传输与信息存储、文本分类、自动文摘、数学方法、语言资源、系统评测。
利炳根
2018/02/12
1.6K0
用Python从头开始构建一个简单的聊天机器人(使用NLTK)
我相信你一定听说过Duolingo:一款流行的语言学习应用。它以其创新的外语教学风格而广受欢迎,其概念很简单:一天五到十分钟的互动训练就足以学习一门语言。
liuxuewen
2018/10/12
3.9K0
用Python从头开始构建一个简单的聊天机器人(使用NLTK)
在Python中使用NLTK建立一个简单的Chatbot
也许你听说过Duolingo(多邻国):一种流行的语言学习应用程序,它可以通过游戏来练习一种新的语言。由于其创新的外语教学风格,它非常受欢迎。它的思想很简单:每天五到十分钟的交互式培训足以学习一门语言。
AiTechYun
2018/10/25
3.3K0
在Python中使用NLTK建立一个简单的Chatbot
Python 数据科学入门教程:NLTK
欢迎阅读自然语言处理系列教程,使用 Python 的自然语言工具包 NLTK 模块。
ApacheCN_飞龙
2022/12/01
4.5K0
Python 数据科学入门教程:NLTK
Python NLTK 自然语言处理入门与例程
那么 NLP 到底是什么?学习 NLP 能带来什么好处?
Sepmer Fi
2018/02/23
6.2K1
NLTK-008:分类文本(有监督分类的更多例子)
句子分割可以看作是一个标点符号的分类任务:每当我们遇到一个可能会结束的句子的符号,我们必须决定他是否终止了当前句子。
李玺
2021/11/22
5700
关于NLP中的文本预处理的完整教程
在下面的python代码中,我们从Twitter情感分析数据集的原始文本数据中去除噪音。之后,我们将进行删除停顿词、干化和词法处理。
PHP开发工程师
2022/04/15
6470
关于NLP中的文本预处理的完整教程
几种简单的文本数据预处理方法
本文将介绍几种简单的文本数据预处理方法,希望与大家共同学习分享。
杨熹
2018/04/03
9650
推荐阅读
相关推荐
Python NLTK 处理原始文本
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验