![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NLP
向阳争渡
这个作者很懒,什么都没留下…
展开
-
pytorch加载保存查看checkpoint文件
<div class="main_father clearfix d-flex justify-content-center" style="height:100%;"> <div class="container clearfix" id="mainBox"> <aside class="blog_container_aside"> <!--主页引入--> <div id="asideProfile"...转载 2020-07-22 15:53:51 · 3130 阅读 · 1 评论 -
深度学习之Embedding
在深度学习模型中,Embedding层在代码层面上的意义是:一个保存了固定字典和大小的简单查找表。这个模块常用来保存词嵌入和用下标检索它们。模块的输入是一个下标的列表,输出是对应的词嵌入。当输入是一个batch时,则这个输入矩阵是一个N维矩阵([batch_size,Seq_len]),输出矩阵([batch_size,Seq_len,embed_size])import torchf...原创 2020-03-16 17:13:14 · 991 阅读 · 0 评论 -
显存不够,如何训练大型神经网络
之前写过一篇PyTorch节省显存的文章,在此基础上进行补充老博文传送门本篇参考自夕小瑶的卖萌屋公众号一、单卡加载大型网络1.1 梯度累加Gradient Accumulation单卡加载大型网络,一般受限于大量的网络参数,训练时只能使用很小的batch_size或者很小的Seq_len。这里可以使用梯度累加,进行N次前向反向更新一次参数,相当于扩大了N倍的batch_size。正...原创 2020-03-04 13:32:47 · 5312 阅读 · 0 评论 -
TorchText实践总结
TorchText详细介绍1传送门 TorchText入门教程,轻松玩转文本处理传送门from torchtext.data import Field,TabularDataset,Iterator,BucketIterator'''声明式加载数据方式tokenize:分词方式 可以先定义好函数'''#Field定义怎么处理原始数据TEXT = Field(sequent...原创 2019-04-11 15:10:56 · 1009 阅读 · 2 评论 -
PyTorch DataLoader、DataSet
研究了下DataLoader大批量加载数据的原理:DataLoader只负责数据的抽象,一次调用getitem只返回一个样本import torchfrom torch.utils.data import DataLoader,Datasetimport numpy as npimport pandas as pdclass DataSet(Dataset): def __...原创 2019-04-12 10:26:32 · 613 阅读 · 0 评论 -
N-gram 新词发现总结
jieba与N-gram结合进行新词发现使用jieba作为基础分词组件 针对新的文本,利用信息熵进行新词发现 使用字典树存储单词和统计词频 取TopN作为新词此方法主要依托互信息和左右信息熵互信息表示的是两个词的凝聚力,或者说是两个词在一起表示一个可被接收的常用词的概率左右熵:表示预选词的自由程度,或者说可与其他词搭配组成新词的概率越高,其也就更可能是一个单独的词左右熵=m...原创 2019-04-19 14:58:35 · 2398 阅读 · 0 评论 -
深度学习基础
深度学习反向传播的作用:梯度下降法中需要利用损失函数对所有参数的梯度来寻找局部最小点;反向传播是用于计算梯度的具体方法,本质是利用链式法则对每个参数求偏导激活函数使用激活函数的目的是为了向网络中加入非线性隐藏层;加强网络的表达能力,解决线性模型无法解决的问题某些数据是线性可分的,所以用一条线就可以将数据分开但有些数据不是线性可分的,就需要引入非线性模型,增强网络的表示能...原创 2019-04-29 19:50:23 · 224 阅读 · 0 评论 -
自然语言处理特征处理器
学习自张俊林大佬的知乎https://zhuanlan.zhihu.com/p/54743941想整理下NLP任务中特征提取的发展脉络流程,整理了下张大神的博客。RNN特征提取方案:在输入的线性序列中,从前向后传播收集输入信息存在的问题:反向传播路径太长,容易导致严重的梯度消失变种RNN:LSTM、GRULSTM为什么能一定程度上解决梯度消失的问题?LSTM通过增加...原创 2019-05-08 15:33:08 · 229 阅读 · 0 评论 -
Language Model
Word2vecword2vec有两种训练方法CBOW:在句子序列中,从当前次的上下文去预测当前词 skip-gram:与CBOW相反,输入某个词,预测当前词的上下文NNLM的训练:输入一个单词的上文,与预测这个单词word Embedding 存在的问题:多义词问题ELMO:ELMO对这一问题有了好的解决:使用预先训练的语言模型学习好单词的word Embeddi...原创 2019-03-18 17:31:29 · 382 阅读 · 0 评论 -
keras Tokenizer实践
科学使用Tokenizer步骤:用Tokenizer的fit_on_texts学习出文本的字典 word_index是对应单词和数字的映射关系dict 通过dict将每个String的每个词转成数字,可以用texts_to_sequences...原创 2019-03-25 10:53:57 · 686 阅读 · 0 评论 -
gensim
1、corpora和dictionarycorpora是gensim中的一个基本概念,是文档集的表现形式。corpora就是一个二维矩阵#_*_coding:utf-8_*_from collections import defaultdictfrom gensim import corporadocuments = [&amp;quot;Human machine interface for lab...原创 2018-12-13 22:17:01 · 488 阅读 · 0 评论 -
关键词提取
Python实现文本关键字提取算法步骤:加载已有的文档数据集加载停用词表对数据集中的文档进行分词根据停用词表,过滤干扰词根据数据集训练算法根据训练好的关键词提取算法对新文档进行关键词提取步骤:对新文档进行分词根据停用词表,过滤干扰词根据训练好的算法提取关键词未完待续...原创 2018-12-11 21:49:04 · 587 阅读 · 0 评论 -
pytorch 实现LSTM
#_*_coding:utf-8_*_import osimport codecsimport stringfrom nltk.corpus import stopwordsimport snowballstemmerimport refrom itertools import chainfrom gensim import modelsimport torchfrom tor...原创 2019-01-10 10:58:38 · 5032 阅读 · 1 评论 -
Seq2Seq2、Attention的多种模式
关于seq2seq的多种模式模式一:Encoder端、Decoder端都采用RNN。在编码的每个时刻,RNN除了上一时刻产生的隐层状态编码时,还有当前时刻的输入字符;而在解码阶段没有这种输入。最简单的一种方式是:把编码端得到的隐层向量作为解码端的每一时刻的输入向量。模式二:带回馈的解码模式:在解码阶段,每一时刻依赖于上一时刻的输出与隐层向量模式三:带编码向量的解码模式模式四:带...原创 2019-02-11 17:30:41 · 692 阅读 · 0 评论 -
pytorch节省显存小技巧
使用pytorch进行文本多分类问题时遇到了显存out of memory的情况,实验了多种方法,主要比较有效的有两种:1、尽可能使用inplace操作,比如relu可以使用inplace=True进一步将BN归一化和激活层Relu打包成inplace,在BP的时候再重新计算。做一步使用pytorch1.0的checkpoint特性代码与论文参考mapillary/inplace_abn...原创 2019-03-01 11:03:52 · 4321 阅读 · 2 评论 -
HMM学习心得
HMM由初始状态概率向量、状态转移概率矩阵A和观测概率矩阵B决定。初始状态概率矩阵=是时刻t=1处于状态的概率 初始状态概率与状态转移概率矩阵A决定了影藏的隐马尔科夫链,生成了不可观测的状态序列 观测概率矩阵B决定了如何从状态生成观测HMM模型的两个基本假设:隐藏的马尔科夫链在任意时刻t的状态只依赖于其前一时刻的状态,与其他时刻的状态、观测、时刻t均无关(状态转换只与前一状态有关)...原创 2019-03-19 14:43:07 · 291 阅读 · 0 评论 -
CRF
随机场:由若干个子集组成的一个整体,而每个子集都按照某个分布随机赋予一个值,这个场就叫随机场。马尔科夫随机场:随机场中某一位置的赋值仅与其相邻位置的赋值有关,和与其不相邻位置的赋值无关。CRF是马尔科夫随机场的特例,它假设马尔科夫随机场中只有X和Y两种变量,X一般是给定的,而Y一般是在给定X的条件下的输出。BiLSTM-CRF在NER上的实践总结使用基于字的BILSTM-CRF,可...原创 2019-03-19 15:20:30 · 1913 阅读 · 0 评论 -
预训练语言模型
常用的抽取文本特征有:TFIDF/LDA/LSI gensim glove fasttext ELMO Bertword2vec的训练与简易使用glove的训练与简易使用简易版的glove安装使用比较方便pip install glove-pythonword_list = []with codecs.open(path,'r','utf-8') as f:...原创 2019-03-21 17:02:31 · 519 阅读 · 0 评论 -
pytorch nn.LSTM()参数详解
import torchimport torch.nn as nnfrom torch.autograd import Variablernn = nn.LSTM(10,20,2) #构建网络模型---输入矩阵特征数input_size、输出矩阵特征数hidden_size、层数num_layers'''input of shape (seq_len, batch, input_si...原创 2018-11-28 16:09:09 · 56905 阅读 · 7 评论