深度学习用于文本分类的论文及代码集锦
原创: FrankLearningMachine 机器学习blog 4天前
[1] Convolutional Neural Networks for Sentence Classification
Yoon Kim
New York University
EMNLP 2014
http://www.aclweb.org/anthology/D14-1181
这篇文章主要利用CNN基于预训练好的词向量中对句子进行分类。作者发现利用微调来学习任务相关的词向量可以提升模型效果。
网络结构示例如下
各个数据集统计信息如下
各模型结果对比如下
a
通道对模型结果影响示例如下
代码地址
https://github.com/yoonkim/CNN_sentence (Theano)
https://github.com/dennybritz/cnn-text-classification-tf (Tensorflow)
https://github.com/harvardnlp/sent-conv-torch (Torch)
相关研究组
http://nlp.seas.harvard.edu/ (哈佛大学)
我是分割线
[2] A Convolutional Neural Network for Modelling Sentences
Nal Kalchbrenner
University of Oxford
ACL 2014
http://www.aclweb.org/anthology/P14-1062
这篇文章提出一种动态卷积神经网络,并将其用于句子中的语义建模。该网络中的池化算子为动态k最大池化法,该算子用于线性序列。本文中的网络可以处理变长的句子,并对句子推理出特征图,该特征图不仅可以捕获短距离关系,也可以捕获长距离关系。另外,该网络不依赖解析树,可以用于任何种类的语言。
网络结构示例如下
宽窄卷积对比如下
整体结构如下
各模型结果对比如下
模型结果示例如下
代码地址
https://github.com/FredericGodin/DynamicCNN (Theano/Lasagne)
我是分割线
[3] Character-level Convolutional Networks for Text Classification
Xiang Zhang et al.
NIPS 2015
https://papers.nips.cc/paper/5782-character-level-convolutional-networks-for-text-classification.pdf
这篇文章主要讨论字符级别的卷积神经网络。
模型结构示例如下
卷积层示例如下
全连接层示例如下
数据集统计信息如下
各模型结果对比如下
代码地址
https://github.com/zhangxiangxiao/Crepe (Torch)
https://github.com/mhjabreel/CharCNN (Tensorflow)
https://github.com/srviest/char-cnn-text-classification-pytorch (PyTorch)
我是分割线
[4] Hierarchical Attention Networks for Document Classification
Zichao Yang et al.
Carnegie Mellon University, Microsoft Research
NAACL-HLT 2016
http://www.aclweb.org/anthology/N16-1174
这篇文章提出分层注意力网络用于文档分类。该模型的分层结构可以对应到文档的分层结构;该网络的注意力机制包含单词级别和句子级别的两种注意力机制,这有助于发现文档中的重要内容。
分层注意力网络结构如下
数据集统计信息如下
各方法结果对比如下
代码地址
https://github.com/richliao/textClassifier (keras)
https://github.com/ematvey/hierarchical-attention-networks (Tensorflow)
https://github.com/EdGENetworks/attention-networks-for-classification (Pytorch)
我是分割线
[5] Recurrent Convolutional Neural Networks for Text Classification
Siwei Lai et al.
Chinese Academy of Sciences
AAAI 2015
https://www.aaai.org/ocs/index.php/AAAI/AAAI15/paper/viewFile/9745/9552
这篇文章提出循环卷积神经网络用于文本分类,无需人工设计特征。循环结构用于捕捉上下文信息,该结构相对传统基于窗口的神经网络方法可以减少噪声。该文中利用最大值池化法来自动选择文本中比较重要的词,使其对文本分类作用较大。
网络结构示例如下
数据集统计信息如下
各方法效果对比如下
上下文窗口大小影响示例如下
代码地址
https://github.com/airalcorn2/Recurrent-Convolutional-Neural-Network-Text-Classifier (Keras)
我是分割线
[6] Very Deep Convolutional Networks for Text Classification
Alexis Conneau et al.
Facebook AI Research
ACL 2017
http://www.aclweb.org/anthology/E17-1104
这篇文章利用VDCNN在字符级别上处理文本,并且卷积和池化算子都比较小,即所依赖的单元数较少。该文中利用了29个卷积层。
样本及标签示例如下
网络结构如下
其中卷积块结构如下
各卷积块对应的卷积层数如下
数据集统计信息如下
各方法效果对比如下
代码地址
https://github.com/geduo15/Very-Deep-Convolutional-Networks-for-Natural-Language-Processing-in-tensorflow (TensorFlow)
https://github.com/zonetrooper32/VDCNN (TensorFlow keras)
我是分割线
[7] Do Convolutional Networks Need to Be Deep for Text Classification?
Hoa T. Le et al.
LORIA
AAAI 2018
https://aaai.org/ocs/index.php/WS/AAAIW18/paper/viewFile/16578/15542
这篇文章讨论了文本分类中卷积网络的深度的重要性。
浅宽卷积神经网络示例
字符级别的DenseNet示例如下
Dense Block 示例如下
各模型效果对比如下
数据集统计信息如下
代码地址
https://github.com/lethienhoa/Very-Deep-Convolutional-Networks-for-Natural-Language-Processing (Tensorflow)
原文地址:https://www.cnblogs.com/timxgb/p/9818629.html