基于Pytorch的自然语言处理入门与实践
文章平均质量分 93
《基于Pytorch的自然语言处理入门与实践》是一本深入浅出的NLP教程,结合理论与实战,让你轻松掌握自然语言处理的核心概念和技巧。通过本专栏的学习,你将了解词向量表示、文本分类、情感分析等重要技术,并能够运用Pytorch框架进行实际项目的开发。
CV视界
专注于深度学习、计算机视觉和自然语言处理等多个方向技术分享。
展开
-
《基于pytorch的自然语言处理入门与实践》系列讲解 - 总目录
作者简介:人工智能和硬件设计博士生、CSDN与阿里云开发者博客专家,多项比赛获奖者,发表SCI论文多篇。ლ(°◕‵ƹ′◕ლ)希望在传播知识、分享知识的同时能够启发你,大家共同进步。ヾ(◍°∇°◍)ノ゙。原创 2023-07-10 21:56:54 · 781 阅读 · 2 评论 -
第十章(6):Transformer模型中的参数共享:减少参数量和计算量的优化策略
作者:安静到无声。原创 2023-09-27 19:40:57 · 848 阅读 · 0 评论 -
第十章(5):基于pytorch的transformer代码实现与详细解析(万字长文)
第一步是将 Q 和 K 的转置相乘没什么好说的,相乘之后得到的 scores 还不能立刻进行 softmax,需要和 attn_mask 相加,把一些需要屏蔽的信息屏蔽掉,attn_mask 是一个仅由 True 和 False 组成的 tensor,并且一定会保证 attn_mask 和 scores 的维度四个值相同(不然无法做对应位置相加)总之,位置编码在Transformer模型中起着重要的作用,它帮助模型理解输入序列中的单词顺序和位置信息,从而更好地捕捉序列中不同单词之间的依赖关系。原创 2023-07-25 23:53:18 · 903 阅读 · 0 评论 -
第十章(4):Transformer之Layer Normalization与Transformer整体结构
按照顺序将要介绍Layer Normalization,谈起这个模块,就会想起CV领域比较重要BN层 ,被称为批归一化,它具有加快训练速度、防止过拟合等优点。可是,在NLP领域应用更为广泛的是Layer Normalization。在最后我们介绍Encoder和Deconder的整体结构。原创 2022-10-27 21:57:42 · 1708 阅读 · 1 评论 -
第十章(3):Transformer之Positional encoding
我在学习NLP的时候,围绕着我不懂得技术点,逐个击破,以此期望能够把各个模块理解的更深入,使我在今后的学习中,能够更深入的分析,让自己更通透。接下来切入正题,介绍下Transformer中需要使用的Positional encoding,它主要为Transformer这种并行计算模型,难以理解输入句子的语序而针对性设计的。原创 2022-10-27 15:04:50 · 2111 阅读 · 0 评论 -
第十章(2):Transformer之Self-attention
本文主要介绍在看李宏毅自注意机制视频的一些自我总结。原创 2022-10-23 12:06:59 · 1007 阅读 · 0 评论 -
第十章(1):基于Attention的Seq2Seq
昨天有位大神在CSDN上发表了一篇题为[BERT通俗笔记:从Word2Vec/Transformer逐步理解到BERT的文章,仔细阅读前两章后,可谓是受益匪浅。但是在研读时,由于自身对NLP相关知识有所缺乏,使我对一些基础概念不甚理解(尽管作者的描述已经特别简单易懂~)。其中**Attention**便是其中之一,在此之前,我一直以为在Seq2Seq之后便是Self-attention原创 2022-10-24 21:44:49 · 1452 阅读 · 2 评论 -
第九章(3):双向循环神经网络(BiRNN):理解与应用
双向循环神经网络(Bidirectional Recurrent Neural Network,Bi-RNN)是一种循环神经网络(Recurrent Neural Network,RNN)的变体。与传统的单向RNN不同,双向RNN引入了时间上的反向连接,使得网络能够同时考虑过去和未来的信息。原创 2023-07-22 10:33:31 · 534 阅读 · 0 评论 -
第五章(1):词嵌入进阶之Glove模型讲解与pytorch实现
在自然语言处理领域,"GloVe"指的是Global Vectors for Word Representation(全局向量词表示)的缩写。该模型是一种用于将单词表示为向量的技术,它旨在将语义上相关的单词捕捉到同一向量空间中。GloVe模型的核心思想是利用大量的语料库数据,通过计算共现矩阵来建立单词之间的联系。共现矩阵记录了在相邻的上下文窗口中,每对单词出现在一起的频率。通过对这个共现矩阵进行数学处理,GloVe模型可以得到每个单词的词向量表示。原创 2023-07-17 11:24:57 · 607 阅读 · 0 评论 -
自然语言处理(扩展学习1):Scheduled Sampling(计划采样)与Teacher forcing(教师强制)
作者:安静到无声作者简介:人工智能和硬件设计博士生、CSDN与阿里云开发者博客专家,多项比赛获奖者,发表SCI论文多篇。o( ̄▽ ̄)d。原创 2023-07-14 15:27:35 · 1442 阅读 · 1 评论 -
第九章(2):长短期记忆网络(Long short-term memory, LSTM)与pytorch示例(简单字符级语言模型训练器)
长短期记忆网络(Long Short-Term Memory, LSTM)是一种递归神经网络(Recurrent Neural Network, RNN)的变体,专门用于处理和预测序列数据。它通过引入门控机制和记忆细胞,能够更好地捕捉序列中的长期依赖关系,并解决传统RNN中的梯度消失或爆炸问题。长短时记忆网络(LSTM)是一种强大的循环神经网络变体,通过引入记忆细胞和门控机制来处理长期依赖关系。它在自然语言处理、时间序列预测等领域取得了巨大成功,并成为深度学习中的重要组成部分。原创 2023-07-12 14:18:58 · 1381 阅读 · 1 评论 -
第九章(1):循环神经网络与pytorch示例(RNN实现股价预测)
循环神经网络(Recurrent Neural Network,RNN)是一种基于神经网络的机器学习模型,主要用于处理序列数据。与传统的前馈神经网络不同,RNN引入了循环连接,使得模型能够捕捉到输入序列中的上下文信息和时间依赖关系。假设给定一个序列,x1Tx1x2xtxTx1Tx1x2xtxT,RNN神经网络通过下面公式更新带反馈边的隐藏层的活性值hth_tht。原创 2023-07-13 20:13:44 · 2571 阅读 · 5 评论 -
第七章(2):深度学习在自然语言处理NLP中的应用
深度学习是2006年提出的基于机器学习的概念,其框架在于通过模拟人脑的神经网络,在进行分析、学习、解释,属于一种含有多层、隐层的学习结构。其跟浅层学习不同,因为其所建立的模型结构足够的深,一般都有3层以上的隐层节点,最高可达10层以上,可以完成非常复杂的函数分析,详见表1。并且其强调了特征学习,因为深度学习属于无监督的一种,通过非监督预训练算法,将原始的样本通过输入的方式来映射到一个新的特征空间,从而更好的实现预测、分类等。原创 2023-07-13 22:08:34 · 629 阅读 · 3 评论 -
第七章(1):深度神经网络的基本结构、训练方法和在机器学习中的重要性
深度神经网络(Deep Neural Networks,DNN)是一种基于多层神经元的人工神经网络结构。在过去几年中,深度学习方法在各个领域都取得了显著的突破,在图像识别、语音处理、自然语言处理等任务上取得了优异的性能。本文将介绍深度神经网络的基本结构和训练方法,并探讨其在机器学习中的重要性。原创 2023-07-13 21:27:22 · 1410 阅读 · 0 评论 -
第四章(1):词向量定义与意义
在自然语言处理的领域中,每个单词都可以被表示为一个向量,这些向量叫做“词向量”。换句话说,每个单词都可以被用数字表示,而这些数字可以被用于机器学习模型的训练之中。这样就可以大幅缩小所需要的存储空间,同时也可以提高机器学习模型的速度和表现。原创 2023-04-20 09:00:00 · 1299 阅读 · 6 评论 -
第三章(4):自然语言处理入门
在本节中,我们将在简单文本数据上(例如一个句子上),执行一系列基本操作,来帮助你熟悉NLP的工作原理,其中一些技术在第三章(2):深入理解NTLK库基本使用方法_安静到无声的博客-CSDN博客和第三章(3):深入理解Spacy库基本使用方法_安静到无声的博客-CSDN博客两个章节有所提及。但是,本节将系统性地阐述NLP基本操作,以帮助读者获得更深入的理解。主要内容包括:正则表达式进行文本搜索、将文本转换为列表、文本预处理、移除停止词、计数向量化和TF-IDF分数等。原创 2023-04-19 08:30:00 · 503 阅读 · 0 评论 -
第三章(3):深入理解Spacy库基本使用方法
Spacy是一个Python自然语言处理库,它被广泛应用于文本分类、命名实体识别、信息抽取、聊天机器人和垃圾邮件分类器等各种自然语言处理任务中。Spacy库以其高性能、易用性和可定制性而闻名,并已成为自然语言处理领域的领导者之一。本篇博客主要介绍Spacy库的基础使用方法,帮助读者了解Spacy的基本功能和使用方法。Spacy是2014年由Matthew Honnibal创建的一个Python自然语言处理库。该库最初的目的是为了解决现有自然语言处理库的性能问题。原创 2023-04-18 08:00:00 · 711 阅读 · 4 评论 -
第三章(2):深入理解NTLK库基本使用方法
NLTK(Natural Language Toolkit)是一个广泛使用的Python库,是由Steven Bird和Edward Loper在宾夕法尼亚大学计算机和信息科学系开发。该库提供了丰富的自然语言处理工具和语料库,可以用于文本分类、词性标注、实体识别、情感分析等任务。在本节,我们将介绍NLTK的基本用法,并通过实例展示如何使用NLTK进行文本处理和分析。希望通过本篇文章,读者对于如何使用NLTK进行自然语言处理有一个基本的了解。原创 2023-04-17 08:30:00 · 481 阅读 · 16 评论 -
第三章(1):自然语言处理概述:应用、历史和未来
自然语言处理(英语:Natural Language Processing,缩写作NLP)是人工智慧和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言处理包括多方面和步骤,基本有认知、理解、生成等部分。自然语言认知和理解是让电脑把输入的语言变成有意思的符号和关系,然后根据目的再处理。自然语言生成系统则是把计算机数据转化为自然语言。NLP采用的主要方法包括:分词:将一段文本分割成词语并进行词性标注,是NLP任务的一个起始,其好坏会影响整体模型的准确性和效率。原创 2023-04-15 17:47:01 · 820 阅读 · 1 评论 -
第二章(2):从零开始掌握PyTorch基础知识,打造NLP学习利器
本章节主要介绍了 PyTorch 的基础知识,包括如何安装 PyTorch 和配置环境、如何创建张量(包括直接创建、通过数值创建和利用已有的张量创建新的张量)、如何设置张量的类型和形状、以及如何对张量进行数学和逻辑运算、索引、切片和连接。除此之外,还介绍了计算图的概念及其在 PyTorch 中的应用。具体内容包括:PyTorch 安装:介绍了如何在 Linux 或 Windows 系统中安装 PyTorch,并介绍了如何根据需要选择 ROCm 或 CUDA。原创 2023-04-15 11:39:04 · 483 阅读 · 11 评论 -
第二章(1):Python入门:语法基础、面向对象编程和常用库介绍
在Pythondef function_name(parameters) : """函数功能描述""" # 函数主体 return [ expression ]其中,def关键字用于定义函数。是函数的名称,我们需要遵循程序的命名规则。parameters是传递给函数的参数列表。它们可以是位置参数、关键字参数或默认参数。return语句用于从函数中返回某个值(可选)。下面的函数def sum_two_numbers(a , b) : """此函数返回两个a和b数字的和""" return a + b。原创 2023-04-12 23:39:17 · 532 阅读 · 5 评论 -
第一章 序言:Pytorch在自然语言处理中的应用
首先,我们需要介绍一下PyTorch。PyTorch是一个基于Python的科学计算包,主要有两个特点:第一,它可以利用GPU和CPU加快计算;第二,在实现深度学习模型时,我们可以使用动态图形而不是静态图形。动态图形允许我们更加灵活地进行模型构建,并且易于调试。因此,PyTorch支持深度学习的研究和应用,并受到学术界和业界的广泛关注。PyTorch的一个重要特点是它的动态计算图机制。相比较静态计算图,动态计算图允许用户在构建和修改神经网络时更加灵活,同时也便于调试。原创 2023-04-11 20:13:36 · 717 阅读 · 0 评论