精华内容
下载资源
问答
  • 一种基于LSTM网络及其变体的短文本分类框架,石逸轩,肖波,随着互联网的普及,用户越来越接触到所谓的
  • CRNN(A C-LSTM Neural Network for Text Classification),是Chunting Zhou等提出的一种联合CNN和RNN的优点的混合神经网络,可称之为"卷积-递归"神经网络。 不同于RCNN先对文本句子上下文本信息、以及word-...

    一.概述

            CRNN(A C-LSTM Neural Network for Text Classification),是Chunting Zhou等提出的一种联合CNN和RNN的优点的混合神经网络,可称之为"卷积-递归"神经网络。

            不同于RCNN先对文本句子上下文本信息、以及word-embedding本身特征的提取,CRNN中的CNN可以看成另外一种形式的句子信息的Embedding(char、word and n-gram),它具有实际意义上的解释性;也可以看成是对局部短语特征的提取,用于文本表达和文本分类。而LSTM便很善于捕捉文本的全局特征,在它接入CNN后,可以有效缓解CNN对于长文本句子信息捕获不足的缺点。

            其实现在看来,CRN算是比较古老的版本的了,也没什么特别多可说的,不就是把CNN和RNN堆砌起来么,没什么那么多值得大惊小怪的。

            github项目地址:

                  https://github.com/yongzhuo/Keras-TextClassification/tree/master/keras_textclassification/m09_TextCRNN

     

    二. CRNN模型原理等

    2.1  CRNN模型图

                                                           

    2.2  tricks等

           初始化: 词向量dim=100, OOV词=随机初始化为均匀分布(uniform distribution [-0.25, 0.25])

           规范化(Regularization): dropout 和 L2

                   似乎就没有了

     

    三. CRNN代码实现

    3.1   很简单的一个模型,就是把CNN和LSTM连在一起,似乎就好了

             github项目地址:

                https://github.com/yongzhuo/Keras-TextClassification/blob/master/keras_textclassification/m09_TextCRNN/graph.py

    3.2 核心代码

        def create_model(self, hyper_parameters):
            """
                构建神经网络
            :param hyper_parameters:json,  hyper parameters of network
            :return: tensor, moedl
            """
            super().create_model(hyper_parameters)
            x = self.word_embedding.output
            embedding_output_spatial = SpatialDropout1D(self.dropout_spatial)(x)
    
            if self.rnn_units=="LSTM":
                    layer_cell = LSTM
            elif self.rnn_units=="GRU":
                    layer_cell = GRU
            elif self.rnn_units=="CuDNNLSTM":
                    layer_cell = CuDNNLSTM
            elif self.rnn_units=="CuDNNGRU":
                    layer_cell = CuDNNGRU
            else:
                layer_cell = GRU
            # CNN
            convs = []
            for kernel_size in self.filters:
                conv = Conv1D(self.filters_num,
                                kernel_size=kernel_size,
                                strides=1,
                                padding='SAME',
                                kernel_regularizer=regularizers.l2(self.l2),
                                bias_regularizer=regularizers.l2(self.l2),
                                )(embedding_output_spatial)
                convs.append(conv)
            x = Concatenate(axis=1)(convs)
            # Bi-LSTM, 论文中使用的是LSTM
            x = Bidirectional(layer_cell(units=self.rnn_units,
                                         return_sequences=True,
                                         activation='relu',
                                         kernel_regularizer=regularizers.l2(self.l2),
                                         recurrent_regularizer=regularizers.l2(self.l2)
                                         ))(x)
            x = Dropout(self.dropout)(x)
            x = Flatten()(x)
            # 最后就是softmax
            dense_layer = Dense(self.label, activation=self.activate_classify)(x)
            output = [dense_layer]
            self.model = Model(self.word_embedding.input, output)
            self.model.summary(120)

     

    希望对你有所帮助!

    展开全文
  • NLP 中文短文本分类项目实践(下)

    千次阅读 2018-07-03 02:46:00
    在《NLP 中文短文本分类项目实践(上)》中,我们主要分享了词云、LDA 主题模型和朴素贝叶斯和 SVM 的分类,本次 Chat,我将带领大家继续文本分类的内容。 你将主要学习到如下内容: 用数据科学比赛大杀器 XGBOOST ...

    《NLP 中文短文本分类项目实践(上)》中,我们主要分享了词云、LDA 主题模型和朴素贝叶斯和 SVM 的分类,本次 Chat,我将带领大家继续文本分类的内容。

    你将主要学习到如下内容:

    1. 用数据科学比赛大杀器 XGBOOST 来进行文本分类和调参实战;
    2. 中文文本词向量 Fasttext 和 Word2vec 对比实战;
    3. 中文文本分类之神经网络 CNN 和 LSTM 实战。

    阅读全文: http://gitbook.cn/gitchat/activity/5afcf897109cd76e3c1dcd99

    您还可以下载 CSDN 旗下精品原创内容社区 GitChat App ,阅读更多 GitChat 专享技术内容哦。

    FtooAtPSkEJwnW-9xkCLqSTRpBKX

    展开全文
  • 短文本分类的 ResLCNN 模型

    千次阅读 2018-06-28 11:34:16
    收稿时间: 2017-06-30;...同样,在 Donahue 等人研究中也提到,双层的 LSTM 模型效果是最好的,多层的 LSTM 效果出现退化现象.为解决此退化问题,He 等人[8]提出了残差网络.受此启发,为了提高模型性能。ResLCNN模型以wor...

    收稿时间: 2017-06-30; 采用时间: 2017-10-20

    Journal of Software

    在 He 等人研究中,34 层的 CNN 比 18 层的 CNN 效果差.同样,在 Donahue 等人研究中也提到,双层的 LSTM 模型效果是最好的,多层的 LSTM 效果出现退化现象.为解决此退化问题,He 等人[8]提出了残差网络.受此启发,为了提高模型性能。

    ResLCNN模型以word2vec和Glove词向量构成的句子矩阵作为输入。第1层根据隐藏层和记忆单元获取文本时序特征,随后

    用残差层包含两层LSTM,接着CNN使用多个卷积核进行进行卷积运算,提取最优卷积特征,通过softmax分类,

    类.ResLCNN 模型为了获取更复杂的特征,将 3 层 LSTM 结合 CNN 构建深层网络,同时在第 1 层 LSTM 输出与 CNN 层输入之间添加恒等映射,构建残差层缓解训练模型阶段低网络层梯度消失问题.

    模型结构图:


    数据集:影评数据集MR

    该数据集包括相同数量的正面和负面评论,共 10 662 条,每条评论都是一条短句.实验中训练集、验证集和测试集的比例是 8:1:1.

    模型参数:

    LSTM大小均为300,CNN卷积核大小为3,数量100,relu和sigmoid,使用bn和dropout操作,

    利用adadelta梯度下降法。


    论文思路不错所以整理一下,利用到了ResNet的思想,并将LSTM与CNN结合起来,将LSTM的输出输入到CNN。

    展开全文
  • 由于短文本具有长度短、特征稀疏以及上下文依赖性强等特点,传统方法对其直接进行分类精度有限。针对该问题,提出了一种基于字符级嵌入的卷积神经网络(CNN)和长短时记忆网络(LSTM)相结合的神经网络模型进行短...
  •  2.LSTM  3.Attention 二、与传统机器学习模型的比较  1.SVM  2.LR  3.GBDT  4.XGBoost  5.RandomForest  6.LightGBM 三、文本特征选择  1.一般短文本的长度在200字符左右,需要更加精巧的模型来...

    一、深度学习模型

      1.CNN

      2.LSTM

      3.Attention

    二、与传统机器学习模型的比较

      1.SVM

      2.LR

      3.GBDT

      4.XGBoost

      5.RandomForest

      6.LightGBM

    三、文本特征选择

      1.一般短文本的长度在200字符左右,需要更加精巧的模型来判别

      2.对于网络群聊短文本,包含各种特殊字符,表情符,@符号等。那么这些字符在预处理的时候是否需要去掉?还是将所有的字符都扔进模型中?这是需要考虑的问题

      3.语言模型是nlp领域处理的基础,特征抽取时需要注意不要丢掉语言学信息

      4.预训练词向量的选择,是否使用预训练词向量,需要做结果对比。如果引入预训练词向量带来的效果不大,可以使用随机初始。预训练词向量的选择:腾讯开源,自身构建

      5.结合单词词向量、分词位置词向量、词性信息三者提取文本特征,通过concat构建新的特征向量

      6.在文本表示上,可以使用RNN最后一个时刻的输出作为文本的表示,也可以综合考虑每个时刻的输出

    转载于:https://www.cnblogs.com/demo-deng/p/10150005.html

    展开全文
  • 该存储库包含使用递归神经网络(LSTM)和卷积神经网络(来自[ ])的朴素和简单文本分类的实现。 您需要指定要训练的体系结构,并且可以同时选择两者。 如果您同时选择两种关节结构来对句子进行分类,则推理将由整体...
  • charCNN不同于TextCNN,不同语言级别(字符级char-level、词级word-level、句子级sentence-level)对应不同的策略,论文Character-Aware Neural Language Models(Yoon Kim)可以看成CRNN(cnn-lstm)结构,论文地址:...
  • 因为有了代码的经验,再看之前的那些论文似乎就觉得很容易了,今天这篇是很简单的一篇《基于 BERT-BiLSTM短文本情感分析 杨奎河,刘智鹏》,没有什么创新的,不过他在论文中写的内容倒是可以帮助我理解代码。...
  • DeepMoji(Using millions of emojio ccurrences to learn any-domain representations for detecting sentiment, emotion and sarcasm),是Bjarke Felbo等提出的一种联合Bi-LSTM和Attention的混合神经网络,对表情...
  • 这个短文本情感分类开始照着别人的baselline做了一次,用的LSTM,后来自己改用了一下双向的,也就是Bi-LSTM 模型 代码如下: import numpy as np import pandas as pd import re train = pd.read_csv("C:/Users/...
  • 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处理过程与结果差别 工具 深度学习:keras 传统机器学习:sklearn 参与比较的...
  • 本文使用的数据集为网站爬取的短文本评论,其中由于数据量较少,不区分验证集与测试集,并按照4:1的比例将原始有标签数据分为训练集与测试集。 原始数据文件压缩包网盘链接:...
  • 目标:对句子二分类,检测两个句子是否表达是同一个意思,模型数据来自天池全球人工智能技术创新大赛【赛道三】详情 数据格式: 模型:textcnn,lstm,lstm+attention最后选择用最后一种方法 步骤: 1.如果想利用词...
  • nlp_xiaojiang AugmentText - 回译(效果比较好) - EDA(同义词替换、插入、交换和删除)(效果还行) - HMM-marko(质量较差) - syntax(依存句法、句法、语法书)(简单句还可) ...聊天宝 - 检索式ChatBot ...
  • 目标从头开始实践中文短文本分类,记录一下实验流程与遇到的坑运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处理过程与结果差别工具深度学习:keras传统机器学习:sklearn参与比较的机器学习方法...
  • 我们建议使用卷积核(ala CNN)和长短期记忆(LSTM)单元的“多通道”组合,将短文本序列(在我们的示例中为tweet)分类为五个情感类别之一,而不是典型的二元(正/负)或三元(正/负/中性)类。 将短文本序列分类...
  • 为了减少分词对中文短文本分类系统的影响,提高中文短文本分类系统的整体性能,提出了一种基于递归神经网络(RNN)和长短时记忆网络(LSTM)的字符级和单词级特征混合模型。通过将字级特征与词级特征相结合,可以构造出...
  • 动手实战基于ML的中文短文本分类 动手实战基于ML的中文短文本聚类 从自然语言处理角度看HMM和CRF 一网打尽神经序列模型之RNN及其变种LSTM、GRU 动手实战基于CNN的电影推荐系统 动手实战基于LSTM轻松...
  • Python实用宝典曾写过一篇文章(《短文本分类识别自杀倾向》),教你从构建数据集到训练数据,再到测试数据,整个流程确实需要耐心的人才能成功走通。 不过现在有了paddlehub,我们可以先省略掉构建数据集和训练数据这...
  • [Python人工智能] 九.gensim词向量Word2Vec安装及《庆余年》中文短文本相似度计算 原文查阅: [Python人工智能] 一.TensorFlow2.0环境搭建及神经网络入门 [Python人工智能] 二.TensorFlow基础及一元直线...
  • 、词语拼音数据、高效模糊搜索工具、NLP数据增广资源集、微软对话机器人框架 、 GitHub Typo Corpus:大规模GitHub多语言拼写错误/语法错误数据集、TextCluster:短文本聚类预处理模块 Short text cluster、面向语音...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

lstm短文本分类