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

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

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

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

CSDN独家 | 全网首发 | Pytorch深度学习·理论篇(2023版)目录本专栏将通过系统的深度学习实例,从可解释性的角度对深度学习的原理进行讲解与分析,通过将深度学习知识与Pytorch的高效结合,帮助各位新入门的读者理解深度学习各个模板之间的关系,这些均是在Pytorch上实现的,可以有效的结合当前各位研究生的研究方向,设计人工智能的各个领域,是经过一年时间打磨的精品专栏!https://v9999.blog.csdn.net/article/details/127587345欢迎大家订阅(2023版)理论篇

以下为2021版原文~~~~

 

在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 成功

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

🚀torchtext是一个用于文本预处理的库,使用起来也十分简便。
这是torchtext的github链接:https://github.com/pytorch/text

2.1 torchtext库简介

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

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库中内置若干个预训练词向量,可以在模型中直接拿来对本地的权重进行初始化。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/469189.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海龟画图 python太阳花_python 简单的绘图工具turtle使用详解

目录 1. 画布(canvas) 1.1 设置画布大小 2. 画笔 2.1 画笔的状态 2.2 画笔的属性 2.3 绘图命令 3. 命令详解 4. 绘图举例 4.1 太阳花 4.2 绘制小蟒蛇 4.3 绘制五角星 python2.6版本中后引入的一个简单的绘图工具,叫做海龟绘图(Turtle Graphics),turtle库是python的内…

RK平台ubuntu安装vbox

1、安装ubuntu14.04 2、在ubuntu下添加权限,根据lsusb出来的 vid pid来添加 3、安装vbox 不是最高版本越好。 4、安装xp, 5、在xp里面安装RK驱动 6、试着用RK的工具连接进入烧录模式的板子,如果连接不上修改vbox的usb,确保是usb2.0

【Pytorch神经网络实战案例】31 TextCNN模型分析IMDB数据集评论的积极与消极

卷积神经网络不仅在图像视觉领域有很好的效果,而且在基于文本的NLP领域也有很好的效果。TextCN如模型是卷积神经网络用于文本处理方面的一个模型。 在TextCNN模型中,通过多分支卷积技术实现对文本的分类功能。 1 TextCNN 1.1 TextCNN模型结构 TexCNN…

rk3188开机失败(ump_file_open() 251)

刚开始配置rk3188板子的时候&#xff0c; 基本配置&#xff0c;RK3188 RK616 ACT8846 8G的flash, 开机的时候提示如下&#xff1a; <6>[ 18.729270] request_suspend_state: wakeup (0->0) at 18680347129 (1970-01-01 00:00:18.671397630 UTC) <4>[ 23.8…

python怎么画出好看的统计图_用最简单的 Python ,画最好看的图 [简单数据可视化]...

可以直接修改参数使用&#xff0c;非常的方便。import numpy as np import pandas as pd import holoviews as hv hv.extension(bokeh) macro_df pd.read_csv(http://assets.holoviews.org/macro.csv, \t) key_dimensions [(year, Year), (country, Country)] value_dimensio…

project ‘org.springframework.boot:spring-boot-starter-parent:2.1.4.RELEASE‘ not found

复制别人的的依赖&#xff0c;在parent里面版本号爆红&#xff0c;解决方案&#xff1a; 在左上方file里找到nvalidate Caches/Restart&#xff0c;清理一下idea缓存&#xff0c;重启idea以后不会爆红了

combobox之下拉宽度自适应

效果对比 先看下优化前后的效果&#xff0c;再看实现过程. 优化前 优化后 从上图中可看到&#xff0c;combobox优化后可以自适应不同长度的字符串&#xff0c;保证每个字符串都能够显示完整。 实现过程 当我们触发CBN_DROPDOWN事件时&#xff0c;不再使用默认的实现&#xff0c…

android studio入门

1、首先要安装好java jdk&#xff0c;然后再设置好环境变量 2、下载android studio 这个可以从百度上下载 3、导入Android studio工程&#xff0c;注意&#xff0c;是导入而不是打开。这时候Android studio会帮你自己建立一些连接。

Python工具:将文件夹下的视频按照帧数输出图片文件(含代码)

1、描述 将一个视频流按帧数截取大量的图片 2、用途 AI的数据集制作&#xff0c;得到大量的图片&#xff0c;之后将其打标签 3、案例文件截图 4、代码实现&#xff1a; import cv2 import argparse import os# 边里该文件夹下的文件名称 def read_directory(directory_nam…

python模块讲解_python模块详解

使用python时&#xff0c;常常会涉及到库的调用&#xff0c;这就需要掌握模块的基本知识。 本文分为如下几个部分概念说明 模块的简单调用 包的导入 特殊的__init__.py文件 导入模块的搜索路径 __all__ 绝对引用与相对引用 import运行本质 if __name__ __main__ 概念说明 这里…

QT常用问题

Int 装QString QString::number(changInt, 10) QString 转 QByteArray QByteArray macValueui->lineEdit->text().mid(4,8).toLatin1(); 把QByteArray转成QString QString s; s.prepend(postData); ui->textBrowser->append(s); 获取系统时间 QDateTime time QD…

用Python语言对任意图像进行m*n的均匀分块(思路非常清晰,步骤简单)

主要用途&#xff1a;处理图片数据集 1 对单个图片进行分块 import numpy as np import matplotlib.pyplot as plt import cv2def divide_method1(img,m,n):#分割成m行n列print(img.shape)h, w img.shape[0],img.shape[1]gx np.round(h).astype(np.int)gy np.round(w).asty…

17.3.12---urlparse模块的URL下载

1---urlparse模块是一个解析与泛解析Web网址URL字符串的一个工具 urlparse模块会将一个普通的url解析为6个部分&#xff0c;返回的数据类型都是元祖&#xff0c;同时&#xff0c;他还可以将已经分解后的url在组合成url地址 返回六个部分&#xff0c;分别是&#xff1a;scheme&a…

C语言变量和函数命名规范

C 语言变量和函数命名规范: 关于C语言变量和函数命名规范 据考察&#xff0c;没有一种命名规则可以让所有的程序员赞同&#xff0c;程序设计教科书一般都不指定命名规则。命名规则对软件产品而言并不是“成败悠关”的事&#xff0c;我们不要化太多 精力试图发明世界上最好的命据…

python爬虫用什么软件写_python爬虫怎么写

如今很多有编程能力的小伙伴已经不满足手动搜索内容了&#xff0c;都希望通过编写爬虫软件来快速获取需要的内容&#xff0c;那么如何使用python制作爬虫呢&#xff1f;下面小编给大家讲解一下思路 工具/原料 python 方法/步骤 1 首先我们需要确定要爬取的目标页面内容&#xf…

花书《深度学习》代码实现:01 线性代数:基本概念+代码实现基本运算

1 标量、向量、矩阵和张量 2 矩阵和向量相乘 3 单位矩阵和逆矩阵 3.0 单位矩阵 a np.identity(3) # 三行三列单位矩阵 3.1 矩阵的逆 A [[1.0,2.0],[3.0,4.0]] A_inv np.linalg.inv(A) print("A 的逆矩阵", A_inv) 3.1 转置 A np.array([[1.0,2.0],[1.0,0…

【Pytorch神经网络理论篇】 38 Transformers:安装说明+应用结构+AutoModel类

同学你好&#xff01;本文章于2021年末编写&#xff0c;获得广泛的好评&#xff01; 故在2022年末对本系列进行填充与更新&#xff0c;欢迎大家订阅最新的专栏&#xff0c;获取基于Pytorch1.10版本的理论代码(2023版)实现&#xff0c; Pytorch深度学习理论篇(2023版)目录地址…

python微信自动发消息_如何利用python3实现微信定时自动发消息和图片?

python代码&#xff1a; import itchat import time itchat.auto_login(hotReloadTrue) AutoList ["",""]#需要发送消息的好友,可以不止一个 message ""#需要发送的消息 path ""#需要发送图片的位置 while True: time_now time.st…

C# 委托 / 跨线程访问UI / 线程间操作无效: 从不是创建控件“Form1”的线程访问它...

C# 委托 / 跨线程访问UI / 线程间操作无效: 从不是创建控件“Form1”的线程访问它 网上的代码都比较复杂&#xff0c;还是这个简单 见代码&#xff0c; 简易解决办法&#xff1a; 主窗体代码 using System; using System.Collections.Generic; using System.ComponentModel;…

AttributeError: module ‘torch.utils‘ has no attribute ‘data‘

一、解决问题 AttributeError: module torch.utils has no attribute data 二、解决思路 属性错误:模块的torch.utils没有属性data 三、解决方法 只需在顶行添加此代码即可&#xff01; import torch.utils.data # 新添加代码