多标签⽂本分类三种神经⽹络⽹络模型
多标签⽂本分类
多标签⽂本分类简介
NLP(⾃然语⾔处理),即让计算机去理解⼈类的⾃然语⾔(⽂本、语⾳等),进⽽完成各种各样的任务(NER、⽂本分类、机器翻译、阅读理解、问答系统、智能对话、搜索推荐系统等等),被誉为⼈⼯智能皇冠上的明珠。⾃然语⾔处理任务总结可以分为:⾃然语⾔⽣成和⾃然语⾔理解。
⽂本分类是NLP的⼀项基础任务,属于⾃然语⾔理解,旨在对于给定⽂本⽂档,⾃动地分配正确的标签。⽂本分类在许多⽅⾯的应⽤很多,例如:信息检索、⾃然语⾔推理、情感分析、问答等。⽂本分类任务从分类⽬的上可以划分为三类:⼆元分类、多类别分类以及多标签分类。
⼆元分类,应⽤最多的是情感分析,即对于特定⽂本,分析出⽂本的情感导向(喜欢/厌恶)。对于该情况,通常来说,分类器只需输出正类/负类的标签即可。另外,垃圾邮件分类,也是⼆元分类的⼀种。
惠普电脑怎么样多类别分类,相⽐较于⼆元分类,该情况通常需要在多种类别(>2)的标签集中选出正确的标签分配给特定⽂本。另外,该情况下,每个⽂本也是只有⼀个标签。
合肥社保查询多标签分类,不同于多类别分类,多标签分类的总标签集合⼤,⽽且每个⽂本都包含多种标签,即将多个标签分配给特定⽂本。由于不同⽂本分配的标签集不同,给分类任务带来⼀定程度的困难。另外,当总的标签集合数⽬特别⼤的时候,这种情况可以算作为⼀种新的多标签分类任务,即极端多标签⽂本分类(Extreme multi-label text classification (XMTC))。
⽂本分类任务可以⽤传统机器学习的⽅法来做,也可以⽤深度学习的⽅法来做。
基于机器学习:
基于深度学习:
三种神经⽹络结构
本⼈的主要研究⽅向为基于深度学习的多标签⽂本分类,在此给出⽤于⽂本分类的三种神经⽹络结构:CNN、RNN、Transformer,也可以说是四种(算上NN)。
NN,传统的神经⽹络模型,例如fasttext。
CNN,卷积神经⽹络模型。将图像界流⾏的⽹络结构⽤于⽂本处理,⿐祖为TextCNN。之后基于CNN,⼜出现了CharCNN、VDCNN等等。
RNN,循环神经⽹络模型。RNN⽤于⽂本处理,有天然的优势,但普通RNN会有梯度爆炸/梯度消失的问题,所以有了改进的RNN模型:LSTM、GRU。LSTM/GRU是基于门的概念来解决RNN⽹络的梯度问题。基于上下⽂的概念,⼜有Bi-LSTM/Bi-GRU等。Transformer,17年⾕歌提出的新型的⽹络结构,是⽐CNN/RNN更为强⼤的特征提取器。Transformer的关键点是⾃注意⼒机制。
⽹络模型
在此给出⽬前看过的⽹络模型。
⽂本分类⽹络模型
1.RNN⽹络
RNN⽹络⽤于⽂本分类,通常情况下是最后时刻输出类别信息。应⽤LSTM/GRU等,另外Bi-RNN可以根据上下⽂的信息进⾏分类。
多任务TextRNN:多任务学习。由于传统的RNN⽹络⽂本分类任务都是单任务学习,但多个相关的任务共同学习可以对主任务产⽣很好的效果,所以作者提出了三种多任务学习的⽹络。模型⼀:统⼀层体系结构。即每个任务共享⼀层LSTM结构、共享词向量嵌⼊层,但有各⾃的词向量。模型⼆:耦合层架构。即每个任务有各⾃的词向量嵌⼊层和LSTM结构层,但每个任务的LSTM通过链接可以共享信
息。模型三:共享层架构。即每个任务采⽤双向LSTM结构,但中间的⼀层LSTM结构为两者共⽤,有各⾃的词向量。该⽅法有很好的效果。出⾃论⽂《Recurrent Neural Network for Text Classification with Multi-Task Lerning》。多任务TextRNN⽹络结构图:
2N⽹络
TextCNN,出⾃论⽂《Convolutional Neural Networks for Sentence Classification》,是⾸次将CNN⽹络⽤于⽂本分类,并且取得了很好的效果。作者提出TextCNN来进⾏⽂本分类。针对⼀句话可以利⽤CNN进⾏⼀层卷积(卷积核宽度与词向量维度相同,⾼度可以⾃⾏设置),得到不同维度的特征向量;利⽤1-Max-pooling操作(抽取特征向量的最⼤值)重新拼接成特征向量,从⽽得到新的最终的特征向量;在全连接层之前采⽤dropout算法来防⽌过拟合;全连接层的最终层采⽤softmax函数,输出每个类的概率,进⽽进⾏分类。其⽹络结构图:
CharCnn,出⾃论⽂《character-level-convolutional-networks-for-text-classification》,通常我们在处理⽂本时都是以词为最⼩粒度进⾏处理的,但在该论⽂中,作者将字符定义为最⼩粒度(英⽂:字母、中⽂:字,还有字符、数字等),这样做的好处就是不需要考虑句⼦的结构以及词义,在微博/twitter等社交媒体上的评论使⽤该⽅法进⾏⽂本分析⽐较好(因为社交话语常常体现不出句式等,还有⽹络⽤语表达的意思并不是字⾯上的意思)。其⽹络结构:
VDCNN,出⾃论⽂《Very Deep Convolutional Networks for Text Classification》,作者⾸次将CNN⽹络加深,⽤于⽂本分类。作者分别采⽤⽹络深度为9层、17层、29层、49层的CNN⽹络,以字符为最⼩粒度。
待续》》:⾃然语⾔处理中还有⼀个很重要的机制,即注意⼒机制,将注意⼒机制与RNN/CNN⽹络相结合可以有很好的效果。所谓注意⼒,就是专注于局部的特殊信息。
基于可利⽤上下⽂信息的RNN(Bi-RNN)。
另外基于transformer/BERT的⽂本分类模型。
⽂本分类的推荐论⽂:
⽂本分类实战:
多标签⽂本分类⽹络模型
在此只给出基于神经⽹络的模型,关于传统机器学习⽅法的模型,可以在论⽂《A Review on Multi-Label Learning Algorithms》中查看。
BP-MLL,出⾃论⽂《Multilabel Neural Networks with Applications to Functional Genomics and Text Categorization》,该篇论⽂是⾸次将神经⽹络⽤于多标签⽂本分类,相⽐较于传统的机器学习⽅法,取得了很好的效果。论⽂提出BP-MLL神经⽹络结构,改进了传统单标签学习的全局误差函数,以便适应多标签学习的特殊性,讨论了该⽹络的计算复杂度,并且提出了阈值函数的求解⽅式来对标签排
香酥茄子>两性情感序,另外提出了⽤于多标签学习的五种评估⽅法(hamming loss、one-error、coverage、ranking loss、averge precision)。其⽹络结构:
作者改进了损失函数,使其适合多标签⽂本分类的情况:
关于元宵的古诗词
该损失函数的意思是:使正确分类的标签集合⽐错误分类的标签集合的差异更⼤。
红外通信优化BP-MLL:出⾃论⽂《Large-scale Multi-label Text Classification Revisiting Neural Networks》,针对⼤规模多标签⽂本分类,作者提出了⼀种利⽤各种优化的单隐层神经⽹络。作者采⽤的神经⽹络结构与BP-MLL相同,但隐层采⽤的激活函数为ReLU,同时利⽤了随机梯度下降算法(SGD)、⾃适应学习率⽅案等,在输出层采⽤了dropout思想,该⽹络采⽤交叉熵来训练⽹络(减少了模型计算复杂度),训练相应的阈值预测器。评估⽅法与BP-MLL相同。该论⽂的创新在使⽤了各种先进的优化技术,并且作者采⽤的损失函数为:交叉
熵损失函数。
词向量嵌⼊+CNN/GRU,出⾃论⽂《Large Scale Multi-label Text Classification with Semantic Word Vectors》。由于13年
word2vec的出现,词向量嵌⼊成为主流的⽂本向量输⼊⽅式。该论⽂引⼊词向量,使⽤CNN和GRU来进⾏多标签⽂本分类。
标签共现初始化+CNN,出⾃论⽂《Improved Neural Network-bad Multi-label Classification with Better Initialization Leveraging Label Co-occurrence》,标签之间是有相关性的,⼀种标签的分配,通常与于其相关的标签同时分配到给定⽂本,作者在隐层的权重初始化中加⼊了标签共现的权重。作者⾸先观察特定的标签共现模式出现的次数,再决定隐层单元⽤于标签共现初始化的⾏数。作者采⽤CNN⽹络。其⽹络结构图:
CRNN-MLTC,出⾃论⽂《Enmble Application of Convolutional and Recurrent Neural Networks for Multi-Label Text Categorization》,C-RNN的集成应⽤。作者⾸先训练词向量,将该词向量送⼊CNN⽹络中,经过卷积核卷积、ReLu转换、1-max-pooling操作,最终输⼊提取后的特征序列;将该特征序列送⼊RNN中(输⼊的特征序列增添了⼀附加项),在每⼀个时间点都会对标签进⾏预测,输出当前时间点最⼤概率的标签,直⾄输出所有标签。作者采⽤了Adam的更新⽅法⽽不是SGD,对所有权重采⽤L2正则化,在CNN中使⽤dropout操作。采⽤交叉熵损失函数。另外,标签的⽣产采⽤的是序列⽣成⽅式,前⼀时刻⽣成的标签会作为参数输⼊⾄下⼀时刻,这样体现了标签之间的相关性。
李祖娥现有的多标签⽂本分类⽅法在提取局部语义信息和建⽴标签相关性模型⽅⾯存在不⾜。本⽂提出了⼀种基于卷积神经⽹络(CNN)和递归神经⽹络(RNN)的⽅法,该⽅法能够有效地表⽰⽂本特征,并以合理的计算复杂度对⾼阶标签相关性进⾏建模。我们的评估结果显⽰,所提出的⽅法的效能受训练集⼤⼩的影响。如果数据太⼩,系统可能会出现过度拟合。然⽽,当在⼤规模数据集上进⾏训练时,所提出的模型可
出的⽅法的效能受训练集⼤⼩的影响。如果数据太⼩,系统可能会出现过度拟合。然⽽,当在⼤规模数据集上进⾏训练时,所提出的模型可以达到最先进的性能。其⽹络结构图:
XML-CNN,出⾃论⽂《Deep Learning for Extreme Multi-label Text Classification》,对标签数特⼤情况下的多标签⽂本分类的改进。当数据集的标签数特⼤时(上万)时,计算量较⼤,作者改进了TEXTCNN提出XML-CNN.作者是基于TEXTCNN⽹络结构进⾏改进。⾸先作者在池化操作时采⽤了动态池化的⽅式,动态池化使每个C包含p维的特征,这样即包含了特征向量也包含了位置信息;其次作者采⽤了⼆元交叉熵损失函数;最后作者在全连接层增加了⼀隐层,将⾼维标签映射到低维,来减少计算量并增加执⾏效率。其⽹络结构图:
Den/CNN-Den,出⾃论⽂《Deep Convolution Neural Network for Extreme Multi-label Text Classification》,针对极端情况下多标签⽂本分类的性能分析。作者选⽤两种⽹络结构(全连接⽹络/CNN⽹络)。作者将标签集合的数量进⾏分配(从⼗到万不等)有5类。利⽤从PubMed库中提取的⼤数据训练源,分析了不同SGD函数训练超参数的影响,在每个样本的类别数和平均标签数不断增加的情况下,分析了⽹络的性能和⾏为。作者对SGD超参数与数据集复杂度之间的联系进⾏了初步的实证评估,对所考虑问题的学习率、动量和批量⼤⼩的性能和最佳设置进⾏了概述。其⽹络结构图:
>小猪的图片