深度学习用于文本分类的论文及代码集锦

[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)

相关研究组

[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 TextClassification

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 Networksfor 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 toBe 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)

为方便大家交流,已开通以下几个群

自然语言处理交流群

计算机视觉交流群

推荐系统交流群

广告算法交流群

自动驾驶交流群

语音识别交流群

其他推荐的群(暂未开通)

欢迎感兴趣的朋友加入,入群方式:

关注公众号之后在后台发送"入群"或"加群",小编会把您拉进相应的群,谢谢

可以通过以下方式关注

本公众号(微信号:mlanddlanddm)专注于机器学习(主要包含但不限于深度学习)相关知识分享,其中涉及自然语言处理、推荐系统以及图像处理前沿论文等,欢迎大家关注交流

您可能感兴趣

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181015G0AWJK00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动