【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的内…

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

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

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

可以直接修改参数使用,非常的方便。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…

combobox之下拉宽度自适应

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

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

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

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

主要用途:处理图片数据集 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…

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

如今很多有编程能力的小伙伴已经不满足手动搜索内容了,都希望通过编写爬虫软件来快速获取需要的内容,那么如何使用python制作爬虫呢?下面小编给大家讲解一下思路 工具/原料 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类

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

clone是深拷贝还是浅拷贝_Python中的浅拷贝和深拷贝

本文翻译自copy in Python (Deep Copy and Shallow Copy),讲述了在Python语言中浅拷贝与深拷贝的不同用法。全文系作者原创,仅供学习参考使用,转载授权请私信联系,否则将视为侵权行为。码字不易,感谢支持。以下为全文内…

【Pytorch神经网络实战案例】32 使用Transformers库的管道方式实现:加载指定模型+文本分类+掩码语言建模+摘要生成+特征提取+阅读理解+实体词识别

管道方式是Transformers库中高度集成的极简使用方式。使用这种方式来处理NLP任务,只需要编写几行代码就能实现。通过本例的练习可以使读者对Transformers库的使用快速上手。 1 在管道方式中指定NLP任务 Transfomers库的管道方式使用起来非常简单,核心步…

jqprint获取打印页数_如何将每张打印多页PPT的PDF变成常规课件

在工作和学习中,经常会收到各种 PDF 文件,尤其是老师的课件。为了防止学生大量上传到各种文库网站赚积分,或者为了方便学生打印出来预习复习。通常,会在每页 PDF 里面,打印多张 PPT 内容。一般是 6 张或 9 张&#xff…

vba 判断文本框内容是否为空_【VBA】 数据输入 Inputbox 基本语法

在使用Excel 的过程中,如果需要用户输入简单的数据,作为“已知数”,那么可以使用inputbox 函数显示一个对话框,供用户在对话框中输入数据。 Inputbox 函数语法在一对话框来中显示提示,等待用户输入正文或按下按钮&…

无向图的深度优先遍历非递归_LeetCode0429: N叉树的层序遍历

题目介绍描述:给定一个 N 叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。例如,给定一个 3叉树 :返回其层序遍历:[[1],[3,2,4],[5,6] ]说明:树的深度不会超过 1000。 树的节点总数不会超过 5000。解题思路:★ …

一条龙操作有效解决PermissionError: [WinError 5] 拒绝访问的问题

1 问题描述 当在使用pip install 安装包时,如:pip install scrapy scrapyd scrapyd-client spiderkeeper出现报错:PermissionError: [WinError 5] 拒绝访问。: ‘c:\programdata\anaconda3\lib\site-packages\dateutil\easter.py’ 2 解决办…

预订态势图

//预订态势图JS//根据日期得到对应星期几 function getWeekByDay(riqi){//2017-01-23;var getWeek "";var arys1 new Array(); arys1riqi.split(-); //日期为输入日期,格式为 2013-3-10var ssdatenew Date(arys1[0],parseInt(arys1[1]-1),arys1…

altera fpga sdi输出方案_FPGA在电力电子中的应用有哪些?

大家好,很抱歉上周末没有及时更新公众号,本来这期想聊聊IGBT的拖尾电流,但是由于周末去深圳高交会(高新技术成果交易会)逛了一天,时间给耽搁了,感觉要想把拖尾电流讲清楚也不太容易,还得需要点时间&#xf…

【Pytorch神经网络理论篇】 39 Transformers库中的BERTology系列模型

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

Unity之CharacterController2D学习笔记(1)——基础使用

在很多游戏类型中,玩家角色对物理行为的处理往往和场景中其它物体的行为有比较大的区别。比如角色可能会以90多公里的时速狂奔,同时一次跳跃能跳10多米高,与此同时却几乎不会有任何惯性。同时角色在正常情况下当头部碰到障碍物的时候&#xf…

【Pytorch神经网络实战案例】33 使用BERT模型实现完形填空任务

1 案例描述 案例:加载Transformers库中的BERT模型,并用它实现完形填空任务,即预测一个句子中缺失的单词。 2 代码实现:使用BERT模型实现完形填空任务 2.1 代码实现:载入词表,并对输入的文本进行分词转化--…