文本分类新手练习项目
文章平均质量分 55
新手练习
一只NLP的萌新er
这个作者很懒,什么都没留下…
展开
-
Text-RCNN
Text-RCNN模型结构代码模型结构分为三部分,第一部分采用Bi-RNN来获取文本的上下文特征表示,第二部分采用max-pooling进一步提取特征信息,第三部分采用全连接层来获取类别概率。代码class Model(nn.Module): def __init__(self, config): super(Model, self).__init__() if config.embedding_pretrained is not None:原创 2021-04-11 19:19:32 · 550 阅读 · 0 评论 -
TextRNN+attention
TextRNN+attentionattention机制代码attention机制attention机制在文本分类任务中引入注意力机制,可以更好地提升模型效果,增加模型的可解释性。在不利用attention时,文本序列中每个单词对分类任务的贡献程度是相同,然而现实是,分类任务上总会存在一些无用词,因此,引入attention可以很好衡量每个单词对分类任务的贡献程度。αt\alpha_tαt为每个单词经线性注意力后的权重值。代码# coding:utf-8import torch.nn.原创 2021-04-09 16:41:42 · 2209 阅读 · 4 评论 -
Text-RNN
TextRNN模型结构模型结构假定一段文本序列含有n个单词,在输入至网络结构之前,单词需经过预训练的词向量转换为向量形式,那么转换后的文本序列为:普通RNN网络由于其面临梯度爆炸和梯度消失的风险以及其不具备长距离传播信息(虽然理论上可以)的缺点,出现新的变种RNN网络,如LSTM(长短期记忆网络)。双向LSTM网络(Bi-LSTM)可以很好地从前后两个方向对文本进行特征提取,经词向量转化后的文本向量序列依次输入至Bi-LSTM中,利用最后时刻输出的特征信息经全连接层和softmax模块进行分类。原创 2021-04-08 11:08:54 · 338 阅读 · 0 评论 -
TEXTCNN
TEXTCNN出自论文《Convolutional Neural Networks for Sentence Classification》中,作者将CNN网络用于句子级别的文本分类。原文中TEXTCNN网络结构图如图所示:首先,将n个映射为词向量的单词链接成一句话,即:在卷积操作中,作者采用了多个不同高度的卷积核进行卷积操作,即:从而形成特征映射c:在c上采用1-max池化操作得出这个卷积核过滤器的特征向量cˇ=max(c)\check{c}=max(c)cˇ=max(c).由于作者采用原创 2020-08-05 15:32:20 · 1012 阅读 · 0 评论 -
数据预处理
数据预处理数据集预处理构建词向量生成数据集数据集Movie Review Data链接,包含正面和负面评论的影评数据集,数据集分为两个文件:pos和neg,每个文件包含了5331条影视评论。分类类别为正面、负面(二分类)。预处理数据集中包含了常见的标点符号,在处理过程中,并没有对标签符号进行去除。以word为单位,按空格来对数据集进行分词。求取句子最大长度,同时构建word2id,并用0将所有句子pad为最大长度。 pos_samples = open(self.path + "/rt-pola原创 2021-04-08 15:38:17 · 469 阅读 · 0 评论 -
GloVe
GloVe背景介绍GloVe模型讲解原理GloVe模型GloVe模型细节损失函数细节代码背景介绍word2vec最大的问题是基于局部窗口而训练出来的词向量是没有全局性的(一定程度上),还有一种利用全局矩阵分解形式训练的词向量,但这种方法在词对推理任务上表现不是很好。GloVe采用了词频共现的模型来训练词向量,即基于全局词汇共现的统计信息来学习词向量,从而将统计信息和局部上下文窗口两种方法的有点结合起来。GloVe模型讲解原理在日常阅读中,我们会发现一些词汇经常是一起出现的,比如当描述一件衣服的颜原创 2020-07-28 18:04:47 · 635 阅读 · 2 评论 -
Word2Vec
Word2Vec背景知识语言模型词表示对比模型NNLMRNNLM模型结构skip-gram模型CBOW模型关键技术Hierarchical Softmax (层次Softmax)负采样(Negative Sampling)模型复杂度分析代码实现背景知识Word2Vec是一种词向量的表示方式,是在论文《Efficient Estimation of Word Representations inVector Space》中提出,有两种网络模型来训练(Skip-gram和CBOW模型)。由Word2Vec原创 2020-07-22 15:52:02 · 1280 阅读 · 6 评论