【Pytorch神经网络理论篇】 37 常用文本处理工具:spaCy库+torchtext库

简介: spacy是一个具有工业级强度的PythonNLP工具包,它可以用来对文本进行断词、短句、词干化、标注词性、命名实体识别、名词短语提取、基于词向量计算词间相似度等处理。

同学你好!本文章于2021年末编写,获得广泛的好评!


故在2022年末对本系列进行填充与更新,欢迎大家订阅最新的专栏,获取基于Pytorch1.10版本的理论代码(2023版)实现,


Pytorch深度学习·理论篇(2023版)目录地址为:


CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录


本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理进行讲解与分析,通过将深度学习知识与Pytorch的高效结合,帮助各位新入门的读者理解深度学习各个模板之间的关系,这些均是在Pytorch上实现的,可以有效的结合当前各位研究生的研究方向,设计人工智能的各个领域,是经过一年时间打磨的精品专栏!

https://v9999.blog.csdn.net/article/details/127587345


欢迎大家订阅(2023版)理论篇

以下为2021版原文~~~~



463cbbc9d83a48a0a26602446816b2d4.png


在NLP的发展过程中,人们也开发了很多非常实用的工具,这些工具可以帮助开发人员快速地实现自然语言相关的基础处理,从而可以更好地将精力用在高层次的语义分析任务中下面详细介绍该领域中比较优秀的工具。


1 spaCy库


1.1 简介


spacy是一个具有工业级强度的PythonNLP工具包,它可以用来对文本进行断词、短句、词干化、标注词性、命名实体识别、名词短语提取、基于词向量计算词间相似度等处理。


spaCy库里大量使用了Cython来提高相关模块的性能,因此在业界应用中很有实际价值。


1.2 安装


1.2.1 安装spacy本体


pip install spacy
# 查看安装的spacy版本
python -m spacy info
# 显示
Location           /usr/local/lib/python3.5/dist-packages/spacy
Platform           Linux-4.15.0-45-generic-x86_64-with-Ubuntu-16.04-xenial
Installed models    en_core_web_md, en
Python version     3.5.2          
spaCy version      1.8.0    


1.2.2 安装语言包(en)


意下载与自己spacy对应版本的en_core_web_sm:

https://github.com/explosion/spacy-models/tags

https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-3.2.0/en_core_web_sm-3.2.0.tar.gz

1.2.3 安装 en_core_web_sm-3.2.0.tar.gz


pip install en_core_web_sm-3.2.0.tar.gz
# en_core_web_xx,xx代表模型大小{sm:小型,md:中型…}


1.2.4 增加软连接


python -m spacy download en


1.2.5 成功


1ccd5ac6d13842bdbb154a4ff333bdb4.png


2 与PyTorch深度结合的文本处理库torchtext


🚀torchtext是一个用于文本预处理的库,使用起来也十分简便。


这是torchtext的github链接:https://github.com/pytorch/text


2.1 torchtext库简介


torchtext是一个可以与PyTorch深度结合的文本处理库。它可以方便地对文本进行预处理,如截断补齐、构建词表等。


28dc7185cb244ffd9f9c27c285c8a1f6.png


torchtext对数据的处理主要包Field、Dataset和迭代器这3部分。


2.1.1 ⭐Field


指定要如何处理某个字段,比如指定分词方法,是否转成小写,起始字符,结束字符,补全字符以及词典等。


2.1.2 ⭐Dataset


用于加载数据,torchtext的Dataset是继承自pytorch的Dataset,提供了一个可以下载压缩数据并解压的方法(支持.zip, .gz, .tgz)。splits方法可以同时读取训练集,验证集,测试集。TabularDataset可以很方便的读取CSV, TSV, or JSON格式的文件


2.1.3 ⭐迭代器


迭代器:返回模型所需要的、处理后的数据,主要分为Iterator、Bucketlerator、BPTTIterator这3种。


迭代器的3种类型具体如下。
iterator:标准迭代器。
Bucketlerator:相比于标准迭代器,会将类似长度的样本当作一批来处理。因为在文本处理中经常需要将每一批样本长度补齐为当前批中最长序列的长度,所以当样本长度差别较大时,使用Bucketlerator可以提高填充效率。除此之外,我们还可以在Field中通过fx_length参数来对样本进行截断补齐操作。
BPTTIterator :基于时间的反向传播(Back-Prepagation Through Time,BPTT)算法的迭代器,一般用于语言模型中。


2.2 torchtext库及其内置数据集与调用库的安装


为了方便文本处理,torchtext库又内置了一些常用的文本数据集,并集成了一些常用的其他文本处理库。在使用时,可以利用torchtext库中提供的API进行内置数据集的下载和其他文本处理库的间接调用。


2.2.1 安装torchtext


pip install torchtext==0.9.0


2.2.2 查看torchtext库的内置数据集


安装好torchtext库后,可以在如下路径中查看torchtext库的内置数据集:
本地Anaconda的虚拟环境路径\Lb\site-packages\txt\datasets\__init__.Py


2.2.3 安装torchtext库的调用模块


安装torchtext库的调用模块在使用torchtext库的过程中,如果还要间接使用其他的文本处理库,则需要额外下载并安装。


2.3 torchtext库中的内置预训练词向量


torchtext库中内置若干个预训练词向量,可以在模型中直接拿来对本地的权重进行初始化。

目录
相关文章
|
13天前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
60 5
|
3月前
|
JavaScript 前端开发 API
网络请求库 – axios库
网络请求库 – axios库
202 60
|
2月前
|
网络协议 安全 Linux
网络工具ping的使用方式
【10月更文挑战第19天】网络工具ping的使用方式
52 6
|
3月前
|
数据采集 JSON API
🎓Python网络请求新手指南:requests库带你轻松玩转HTTP协议
本文介绍Python网络编程中不可或缺的HTTP协议基础,并以requests库为例,详细讲解如何执行GET与POST请求、处理响应及自定义请求头等操作。通过简洁易懂的代码示例,帮助初学者快速掌握网络爬虫与API开发所需的关键技能。无论是安装配置还是会话管理,requests库均提供了强大而直观的接口,助力读者轻松应对各类网络编程任务。
116 3
|
3月前
|
机器学习/深度学习 JSON API
HTTP协议实战演练场:Python requests库助你成为网络数据抓取大师
在数据驱动的时代,网络数据抓取对于数据分析、机器学习等至关重要。HTTP协议作为互联网通信的基石,其重要性不言而喻。Python的`requests`库凭借简洁的API和强大的功能,成为网络数据抓取的利器。本文将通过实战演练展示如何使用`requests`库进行数据抓取,包括发送GET/POST请求、处理JSON响应及添加自定义请求头等。首先,请确保已安装`requests`库,可通过`pip install requests`进行安装。接下来,我们将逐一介绍如何利用`requests`库探索网络世界,助你成为数据抓取大师。在实践过程中,务必遵守相关法律法规和网站使用条款,做到技术与道德并重。
55 2
|
3月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
72 3
|
3月前
|
数据采集 网络协议 API
HTTP协议大揭秘!Python requests库实战,让网络请求变得简单高效
【9月更文挑战第13天】在数字化时代,互联网成为信息传输的核心平台,HTTP协议作为基石,定义了客户端与服务器间的数据传输规则。直接处理HTTP请求复杂繁琐,但Python的`requests`库提供了一个简洁强大的接口,简化了这一过程。HTTP协议采用请求与响应模式,无状态且结构化设计,使其能灵活处理各种数据交换。
83 8
|
3月前
|
机器学习/深度学习
小土堆-pytorch-神经网络-损失函数与反向传播_笔记
在使用损失函数时,关键在于匹配输入和输出形状。例如,在L1Loss中,输入形状中的N代表批量大小。以下是具体示例:对于相同形状的输入和目标张量,L1Loss默认计算差值并求平均;此外,均方误差(MSE)也是常用损失函数。实战中,损失函数用于计算模型输出与真实标签间的差距,并通过反向传播更新模型参数。
|
3月前
|
网络协议 Linux C++
超级好用的C++实用库之网络
超级好用的C++实用库之网络
49 0
|
6月前
|
机器学习/深度学习 PyTorch 算法框架/工具
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
【从零开始学习深度学习】28.卷积神经网络之NiN模型介绍及其Pytorch实现【含完整代码】
下一篇
无影云桌面