3.2.1 词向量

  • 肆意初始化 (CNN-rand)
  • 预训练词向量进行初始化,在教练过程中固定 (CNN-static)
  • 预训练词向量进行初始化,在训练过程中开展微调 (CNN-non-static)
  • 基本上通道(CNN-multichannel):将定位的预训练词向量和微调的词向量分别作为一个大路(channel),卷积操作以在及时有限独通道上开展,可以接近比较给图像RGB三通道。

皇冠娱乐 1

  • 达到图为模型架构示例,在演示中,句长\(n=9\),词向量维度\(k=6\),filter有星星点点种植窗口大小(或者说kernel
    size),每种有2只,因此filter总个数\(m=4\),其中:

    • 相同种植的窗口大小\(h=2\)(红色框),卷积后的向量维度为\(n-h+1=8\)
    • 任何一样种植窗口大小\(h=3\)(黄色框),卷积后的向量维度为\(n-h+1=7\)
      (论文原图中少画了一个维度,感谢@shoufengwei指正)

      ### 3.2.2 正则化

  • Dropout: 对全连接层的输入\(z\)向量进行dropout
    \[y=W \cdot (z \circ
    r)+b\]其中\(r\in\Re^m\)为masking向量(每个维度值非0即1,可以由此伯努利分布随机变化),和向量\(z\)进行元素以及素对应相乘,让\(r\)向量值为0的岗位对应之\(z\)向量中的元素值失效(梯度无法创新)。

  • L2-norms: 对L2正则化项增加限制:当正则项\(\lVert W \rVert_2 > s\)时,
    令\(\lVert W \rVert_2 =
    s\),其中\(s\)为超越参数。

3.4.2 超参数怎么调整?

论文A Sensitivity Analysis of (and Practitioners’ Guide to)
Convolutional Neural Networks for Sentence
Classification%20Convolutional/note.md)提供了片策略。

  • 据此什么的词向量
    • 动用预训练词向量较自由初始化的作用使好
    • 以微调策略(non-static)的职能比较固定词向量(static)的效能使好
    • 没辙确定为此啦种预训练词向量(Google word2vec / GloVe
      representations)更好,不同的职责结果不同,应该于你时之天职进展尝试;
  • filter窗口大小、数量
    • 历次用同样种类型的filter进行尝试,表明filter的窗口大小设置在1交10里面是一个于客观之选取。
    • 率先以平等种植类型的filter大小上实施搜,以找到时数据集的“最佳”大小,然后探讨这个超级大小附近的有余filter大小的组合。
    • 每种窗口类型的filter对应之“最好”的filter个数(feature
      map数量)取决于具体数据集;
    • 可,可以见见,当feature
      map数量过600经常,performance提高有限,甚至会损害performance,这也许是了多的feature
      map数量导致了拟合了;

      • 在实践中,100暨600凡是一个比客观之搜空间。
  • 激活函数 (tanh, relu, …)
    • Sigmoid, Cube, and tanh
      cube相较于Relu和Tanh的激活函数,表现异常糟糕;
    • tanh比sigmoid好,这或者是由于tanh具有zero centering
      property(过原点);
    • 与Sigmoid相比,ReLU具有非饱和形式(a non-saturating
      form)
      的长,并能够加速SGD的消亡。
    • 对某些数据集,线性变换(Iden,即无下非线性激活函数)足够捕获词嵌入与出口标签内的相关性。(但是一旦有多单隐藏层,相较于非线性激活函数,Iden就非太符合了,因为完全用线性激活函数,即使有差不多单隐藏层,组合后整个模型或线性的,表达能力可能不足,无法捕获足够信息);
    • 就此,建议首先考虑ReLU和tanh,也可以品尝Iden
  • 池化策略:最充分池化就是极端好之吧
    • 对于句子分类任务,1-max pooling往往比较另外池化策略要好;
    • 就也许是为上下文的具体位置对于预测Label可能并无是可怜重大,而句子某个具体的n-gram(1-max
      pooling后filter提取出来的底特色)可能再次可以描绘整个句子的一点意义,对于预测label更有意义;
    • (但是当其余职责要释义识别,k-max pooling可能又好。)
  • 正则化
    • 0.1暨0.5次的非零dropout
      rates能够增进部分performance(尽管提升幅度大粗),具体的特级设置在具体数据集;
    • 对l2 norm加上一个羁绊往往无会见增长performance(除了Opi数据集);
    • 当feature
      map的多少超出100时,可能致了拟合,影响performance,而dropout将减轻这种影响;
    • 于卷积层上开展dropout帮助特别粗,而且于充分的dropout
      rate对performance有坏的影响。

3.5 字符级别之CNN用于文书分类

论文Character-level convolutional networks for text
classification用文件看成字符级别的队列,使用字符级别(Character-level)的CNN进行文本分类。

3.1 CNN模型推演

  • 一个句子是由多只词拼接而成的,如果一个句有\(n\)个词,且第i单词表示也\(x_i\),词\(x_i\)通过embedding后表示为k维的朝量,即\(x_i\in\Re^k\),则一个句\(x_{1:n}\)为\(n*k\)的矩阵,可以形式化如下:
    \[X_{1:n}=x_1\oplus x_2\oplus
    \dots \oplus x_n\]
  • 一个含有\(h\)个之乐章之歌词窗口表示也:\[X_{i:i+h-1}\in\Re^{hk}\]
  • 一个filter是深浅为\(h*k\)的矩阵,表示为:\[W\in\Re^{hk}\]
  • 经一个filter作用一个乐章窗口取可以提取一个特性\(c_i\),如下:
    \[c_i=f(W \cdot
    X_{i:i+h-1}+b)\]其中,\(b\in\Re\)是bias值,\(f\)为激活函数如Relu等。
  • 卷积操作:通过一个filter在任何句子上从句首到句尾扫描一布满,提取每个词窗口的性状,可以收获一个特色图(feature
    map) \(c\in\Re^{n-h+1}\),表示如下(这里默认不对准句进行padding):
    \[c= [c_1, c_2, \dots ,
    c_{n-h+1}]\]
  • 池化操作:对一个filter提取到之feature map进行max pooling,得到\(\hat{c}\in\Re\)即:
    \[\hat{c}=max(c)\]
  • 若有\(m\)个filter,则通过平等叠卷积、一层池化后好取得一个长也\(m\)的向量\(z\in\Re^m\):
    \[z = [\hat{c}_1, \hat{c}_2,
    \dots, \hat{c}_m]\]
  • 最后,将向量\(z\)输入到全连接层,得到最终的特征提取向量\(y\) (这里的\(W\)为全连接层的权重,注意和filter进行分):
    \[y=W \cdot z+b\]

1. 文件分类任务介绍

文本分类是自然语言处理的一个核心职责,试图想出加的文书(句子、文档等)的价签或者标签集合。
文本分类的动特别大。如:

  • 垃圾邮件分类:二分拣问题,判断邮件是否为垃圾邮件
  • 情感分析
    • 次分类问题,判断文本情感是积极(positive)还是半死不活(negative)
    • 多分类问题,判断文本情感属于{非常被动,消极,中立,积极,非常主动}中之啦一样接近
  • 讯主题分类:判断新闻属于哪个项目,如金融、体育、娱乐等
  • 自行问答系统受到的问句分类
  • 社区问答系统受之问题分类:多标签分类,如知乎看山杯
  • 重复多应用:
    • 让AI当法官:
      基于案件事实描述文本的罚金等级分类(多分类)和法条分类(多标签分类)。
    • 认清新闻是否为机器人所写:
      二分类
    • ……

不同类别的文件分类往往产生例外之评说指标,具体如下:

  • 二分类:accuracy,precision,recall,f1-score,…
  • 多分类: Micro-Averaged-F1, Macro-Averaged-F1, …
  • 大多标签分类:Jaccard相似系数, …

  • 风土机器上方式

风土人情的机械上方式要采取自然语言处理中的n-gram概念对文件进行特征提取,并且使TFIDF对n-gram特征权重进行调,然后拿提及之公文特征输入到Logistics回归、SVM等分类器中开展训练。但是,上述的特征提取方法在数码稀疏维度爆炸等于题材,这对准分类器来说是惨痛的,并且让训练的型皇冠娱乐泛化能力简单。因此,往往得运用一些国策进行降维:

  • 人工降维:停用词了滤,低频n-gram过滤等
  • 机关降维:LDA等

值得指出的凡,将深度上着之word2vec,doc2vec作文本特征和上文提取的特点进行融合,常常可以加强型精度。

3. CNN用于文书分类

论文Convolutional Neural Networks for Sentence
Classification提出了采取CNN进行句子分类的方式。

3.2 优化CNN模型

6.1.1 Neural Bag-of-Words Models

论文首先提出了一个顶简便的无序模型Neural Bag-of-Words Models (NBOW
model)。该模型直接以文件中具有词向量的平均值作为文本的象征,然后输入到softmax
层,形式化表示如下:

  • Word embedding average : \(z=g(w \in
    X)=\frac{1}{X} \sum\limits_{w \in X} v_w\)
  • Softmax Layer: \(\hat{y} = softmax(W_s
    \cdot z + b)\)
  • Loss function: cross-entropy error, $\iota(\hat{y})
    =\sum\limits_{p=1}^{k}y_p\log(\hat{y_p}) $

6.1 深层无序组合措施

论文Deep Unordered Composition Rivals Syntactic Methods for Text
Classification提出了NBOW(Neural
Bag-of-Words)模型和DAN(Deep Averaging
Networks)模型。对比了深层无序组合措施(Deep Unordered
Composition)和句法方法(Syntactic
Methods)应用在文书分类任务中之优缺点,强调深层无序组合措施的行之有效、效率与灵活性。

3.2.1 词向量

  • 擅自初始化 (CNN-rand)
  • 预训练词向量进行初始化,在教练过程中固定 (CNN-static)
  • 预训练词向量进行初始化,在教练过程被进行微调 (CNN-non-static)
  • 大多通道(CNN-multichannel):将一定的预训练词向量和微调的词向量分别作为一个通路(channel),卷积操作以以马上点儿单通道上拓展,可以接近比较为图像RGB三通道。

皇冠娱乐 2

  • 直达图为模型架构示例,在演示中,句长\(n=9\),词向量维度\(k=6\),filter有点儿种窗口大小(或者说kernel
    size),每种有2只,因此filter总个数\(m=4\),其中:

    • 如出一辙栽之窗口大小\(h=2\)(红色框),卷积后底向量维度为\(n-h+1=8\)
    • 其余一样栽窗口大小\(h=3\)(黄色框),卷积后的向量维度为\(n-h+1=7\)
      (论文原图中少画了一个维度,感谢@shoufengwei指正)

      ### 3.2.2 正则化

  • Dropout: 对全连接层的输入\(z\)向量进行dropout
    \[y=W \cdot (z \circ
    r)+b\]其中\(r\in\Re^m\)为masking向量(每个维度值非0即1,可以经伯努利分布随机变化),和向量\(z\)进行元素与素对应相乘,让\(r\)向量值为0的职对应的\(z\)向量中之元素值失效(梯度无法创新)。

  • L2-norms: 对L2正则化项增加限制:当正则项\(\lVert W \rVert_2 > s\)时,
    令\(\lVert W \rVert_2 =
    s\),其中\(s\)为超参数。

3.5.3 使用同一词表进行数量增长

对深度上型,采用适当的数码增长(Data
Augmentation)技术可以加强型的泛化能力。数据增长在计算机视觉领域较泛,例如对图像进行盘,适当扭曲,随机增加噪声等操作。对于NLP,最精的数量增长方法是动人类复述句子(human
rephrases of
sentences),但是这正如不具体还要于周边语料来说代价高昂。
一个重自然之抉择是采用词语或者短语的同义词或一致短语进行轮换,从而达到多少增长的目的。具体做法如下:

  • 英文同义词典: from the mytheas component used in LibreOffice1
    project. http://www.libreoffice.org/
  • 起给定的文书中抽取产生所有可以替换的词,然后轻易挑选\(r\)个拓展调换,其中\(r\)由一个参数为\(p\)的几哪分布(geometric
    distribution)确定,即\(P[r] \sim
    p^r\)
  • 吃一定一个用替换的歌词,其和义词可能发生多单(一个列表),选择第\(s\)个底票房价值为由此任何一个几哪里分布确定,即\(P[s] \sim
    q^s\)。这样是以当前词的同义词列表中之距离比较远(\(s\)较生)的同义词被增选的几率再粗。
  • 舆论实验装置: \(p=0.5, q=0.5\)。

  • RNN用于文书分类

  • 策略1:直接采用RNN的终极一个单元输出向量作为文本特征

  • 政策2:使用双向RNN的星星点点只趋势的输出向量的连(concatenate)或均值作为文本特征
  • 策略3:将有着RNN单元的输出向量的均值pooling或者max-pooling作为文本特征
    皇冠娱乐 3
  • 策略4:层次RNN+Attention, Hierarchical Attention
    Networks

  • RCNN(RNN+CNN)用于文书分类

论文Recurrent Convolutional Neural Networks for Text
Classification规划了同栽RNN和CNN结合的型用于文书分类。

3.5 字符级别的CNN用于文书分类

论文Character-level convolutional networks for text
classification用文件看成字符级别的队列,使用字符级别(Character-level)的CNN进行文本分类。

3.5.2 字符级CNN的连带总结与思考

  • 字符级CNN是一个实用之措施
  • 数据集的高低可以啊选择传统办法还是卷积网络模型提供点:对于几百上千对等稍框框数据集,可以先行考虑传统办法,对于百万圈圈的数据集,字符级CNN开始展现是。
  • 字符级卷积网络特别适用于用户生成数据(user-generated
    data)
    (如拼写错误,表情符号等),
  • 从未免费之午宴(There is no free lunch)
  • 汉语怎么惩罚
    • 设将中文中的每个字作一个字符,那么字母表将老酷
    • 是不是可以将中文先转为拼音(pinyin)?
      • 汉语中的同音词非常多,如何战胜?
    • 论文Character-level Convolutional Network for Text
      Classification Applied to Chinese
      Corpus开展了相关试验。
  • 用字符级和词级进行整合是否结实再次好
    • 英文怎么整合
    • 汉语如何结合

6.1 深层无序组合方式

论文Deep Unordered Composition Rivals Syntactic Methods for Text
Classification提出了NBOW(Neural
Bag-of-Words)模型和DAN(Deep Averaging
Networks)模型。对比了深层无序组合措施(Deep Unordered
Composition)和句法方法(Syntactic
Methods)应用在文件分类任务中之利害,强调深层无序组合措施的有效、效率及灵活性。

3.4.1 为什么CNN能够用于文书分类(NLP)?

  • 怎CNN能够用于文书分类(NLP)?
    • filter相当于N-gram ?
    • filter只领到部分特征?全局特征怎么惩罚?可以融合也?
      • RNN可以提取全局特征
      • RCNN(下文说明): RNN和CNN的做

3.4 进一步考虑CNN

3.4.2 超参数怎么调整?

论文A Sensitivity Analysis of (and Practitioners’ Guide to)
Convolutional Neural Networks for Sentence
Classification%20Convolutional/note.md)提供了一部分政策。

  • 据此什么的词向量
    • 运预训练词向量比自由初始化的效果使好
    • 以微调策略(non-static)的效应比固定词向量(static)的效益使好
    • 无法确定为此啦种预训练词向量(Google word2vec / GloVe
      representations)更好,不同之任务结果不同,应该对你眼前之天职拓展实验;
  • filter窗口大小、数量
    • 历次用同样种类型的filter进行尝试,表明filter的窗口大小设置在1至10之内是一个比较客观之选。
    • 先是以同等种类型的filter大小上推行搜,以找到时数据集的“最佳”大小,然后探讨是最佳大小附近的有余filter大小的咬合。
    • 每种窗口类型的filter对应的“最好”的filter个数(feature
      map数量)取决于具体数据集;
    • 唯独,可以看到,当feature
      map数量超越600常,performance提高有限,甚至会见误performance,这可能是喽多的feature
      map数量导致了拟合了;

      • 在实践中,100到600是一个比合理之搜寻空间。
  • 激活函数 (tanh, relu, …)
    • Sigmoid, Cube, and tanh
      cube相较于Relu和Tanh的激活函数,表现异常不好;
    • tanh比sigmoid好,这说不定是由于tanh具有zero centering
      property(过原点);
    • 与Sigmoid相比,ReLU具有非饱和形式(a non-saturating
      form)
      的助益,并能够加快SGD的一去不复返。
    • 于一些数据集,线性变换(Iden,即未动非线性激活函数)足够捕获词嵌入与输出标签中的相关性。(但是若来差不多独隐藏层,相较于非线性激活函数,Iden就未极端符合了,因为完全用线性激活函数,即使出差不多只隐藏层,组合后一切模型或线性的,表达能力可能不足,无法捕获足够信息);
    • 故而,建议首先考虑ReLU和tanh,也堪尝试Iden
  • 池化策略:最酷池化就是最好的呢
    • 于句子分类任务,1-max pooling往往比较另外池化策略要好;
    • 当时说不定是为上下文的具体位置对于预测Label可能并无是生重点,而句子某个具体的n-gram(1-max
      pooling后filter提取出来的之特色)可能再也足形容整个句子的少数意义,对于预测label更有意义;
    • (但是于另职责要释义识别,k-max pooling可能还好。)
  • 正则化
    • 0.1暨0.5期间的非零dropout
      rates能够提高部分performance(尽管提升幅度颇有些),具体的特级设置在具体数据集;
    • 针对l2 norm加上一个羁绊往往不见面增长performance(除了Opi数据集);
    • 当feature
      map的数超出100时常,可能引致了拟合,影响performance,而dropout将减轻这种影响;
    • 以卷积层上展开dropout帮助特别粗,而且于生之dropout
      rate对performance有坏的影响。

5.2 RCNN相关总结

  • NN vs. traditional methods:
    在该论文的享有实验数据集上,神经网络比传统艺术的职能还设好
  • Convolution-based vs. RecursiveNN:
    基于卷积的章程比较基于递归神经网络的方而好
  • RCNN vs. CFG and C&J: The RCNN可以捕获更增长之模式(patterns)
  • RCNN vs. CNN: 在该论文的兼具实验数据集上,RCNN比CNN更好
  • CNNs使用一定的乐章窗口(window of words), 实验结果为窗口大小影响
  • RCNNs使用循环结构捕获广泛的上下文信息

  • 一定要CNN/RNN吗

上述的深度上方式通过引入CNN或RNN进行特征提取,可以上比较好的效能,但是呢存部分问题,如参数较多招训练时间过长,超参数较多型调整麻烦等。下面两首论文提出了有些简的模子用于文书分类,并且于简短的型上采取了有优化策略。

6.2.1 fastText模型架构

fastText模型直接指向具备开展embedded的性状取均值,作为文本的特征表示,如下图。

皇冠娱乐 4

近年读了有的纵深上在文件分类中的动相关论文(舆论笔记),同时为与了CCF
大数据以及计量智能大赛(BDCI)2017底一个文件分类问题的竞技:让AI当法官,并获了最后评测第四称的实绩(比赛之实际思路以及代码参见github项目repo)。因此,本文总结了文件分类相关的深浅上型、优化思路以及后得进行的有的工作。欢迎转载,请保留本文链接:http://www.cnblogs.com/llhthinker/p/8127788.html

6.1.3 Deep Averaging Networks

Deep Averaging Networks (DAN)是在NBOW
model的底蕴及,通过增加多只隐藏层,增加网络的深(Deep)。下图为带有两层隐藏层的DAN与RecNN模型的比。

皇冠娱乐 5

3.3 一些定论

  • Multichannel vs. Single Channel Models:
    虽然作者一开始觉得多通道可以防止过拟合,从而应该展现又胜似,尤其是当小框框数量集上。但真相是,单通道在一些语料上比多通道还好;
  • Static vs. Non-static Representations:
    在多数之语料上,CNN-non-static都优于CNN-static,一个说:预训练词向量可能觉得‘good’和‘bad’类似(可能她来那么些近似的上下文),但是对于感情分析任务,good和bad应该要起举世瞩目的界别,如果用CNN-static就无法开调整了;
  • Dropout可以增长2%–4%性(performance);
  • 对此未以预训练的word2vec中的乐章,使用均匀分布\(U[-a,a]\)随机初始化,并且调动\(a\)使得随机初始化的词向量和预训练的词向量保持类似之方差,可以来弱提升;
  • 可尝试任何的词向量预训练语料,如Wikipedia[Collobert et al.
    (2011)]
  • Adadelta(Zeiler, 2012)和Adagrad(Duchi et al.,
    2011)可以抱近似的结果,但是所用epoch更少。

3.1 CNN模型推演

  • 一个句子是出于多独词拼接而改为的,如果一个句有\(n\)个词,且第i只词表示为\(x_i\),词\(x_i\)通过embedding后代表也k维的往量,即\(x_i\in\Re^k\),则一个句\(x_{1:n}\)为\(n*k\)的矩阵,可以形式化如下:
    \[X_{1:n}=x_1\oplus x_2\oplus
    \dots \oplus x_n\]
  • 一个蕴含\(h\)个的乐章的乐章窗口表示也:\[X_{i:i+h-1}\in\Re^{hk}\]
  • 一个filter是大小为\(h*k\)的矩阵,表示为:\[W\in\Re^{hk}\]
  • 由此一个filter作用一个乐章窗口取可以提取一个特性\(c_i\),如下:
    \[c_i=f(W \cdot
    X_{i:i+h-1}+b)\]其中,\(b\in\Re\)是bias值,\(f\)为激活函数如Relu等。
  • 卷积操作:通过一个filter在全体句子上从句首到句尾扫描一一体,提取每个词窗口的性状,可以收获一个特色图(feature
    map) \(c\in\Re^{n-h+1}\),表示如下(这里默认不对准句进行padding):
    \[c= [c_1, c_2, \dots ,
    c_{n-h+1}]\]
  • 池化操作:对一个filter提取到之feature map进行max pooling,得到\(\hat{c}\in\Re\)即:
    \[\hat{c}=max(c)\]
  • 若有\(m\)个filter,则经过一致交汇卷积、一交汇池化后可以得到一个长短也\(m\)的向量\(z\in\Re^m\):
    \[z = [\hat{c}_1, \hat{c}_2,
    \dots, \hat{c}_m]\]
  • 最后,将向量\(z\)输入到全连接层,得到终极之特征提取向量\(y\) (这里的\(W\)为全连接层的权重,注意与filter进行分):
    \[y=W \cdot z+b\]

5.1 2 文书表示学习

经卷积层后,获得了所有词的代表,然后于经极其可怜池化层和全连接层得到文本的表示,最后经过softmax层进行分拣。具体如下:

  • Max-pooling layer: \(y^{(3)}=\max
    \limits_{i=1}^{n} y^{(2)}_i\)
  • Fully connected layer: \(y^{(4)}=W^{(4)}y^{(3)}+b^{(4)}\)
  • Softmax layer: \(p_i=\frac{\exp(y^{(4)}_i)}{\sum_{k=1}^n
    \exp(y^{(4)}_k)}\)
    产图也上述过程的一个图解:

皇冠娱乐 6

3. CNN用来文书分类

论文Convolutional Neural Networks for Sentence
Classification提出了利用CNN进行句子分类的章程。

6.1.3 Deep Averaging Networks

Deep Averaging Networks (DAN)是在NBOW
model的基本功及,通过多多个隐藏层,增加网络的深(Deep)。下图为涵盖两层隐藏层的DAN与RecNN模型的相比。

皇冠娱乐 7

5.1 RCNN模型推演

6.2 fastText

论文Bag of Tricks for Efficient Text
Classification提出一个高效进行文本分类的模子与一部分trick。

6.1.1 Neural Bag-of-Words Models

论文首先提出了一个尽简单易行的无序模型Neural Bag-of-Words Models (NBOW
model)。该模型直接拿文件中具备词向量的平均值作为文本的意味,然后输入到softmax
层,形式化表示如下:

  • Word embedding average : \(z=g(w \in
    X)=\frac{1}{X} \sum\limits_{w \in X} v_w\)
  • Softmax Layer: \(\hat{y} = softmax(W_s
    \cdot z + b)\)
  • Loss function: cross-entropy error, $\iota(\hat{y})
    =\sum\limits_{p=1}^{k}y_p\log(\hat{y_p}) $

5.1 RCNN模型推演

6.1.2 Considering Syntax for Composition

部分设想语法的艺术:

  • Recursive neural networks (RecNNs)
  • 可考虑有错综复杂的语言学现象,如否定、转折等 (优点)
  • 兑现力量依赖输入序列(文本)的句法树(可能不适合长文本和不太专业之公文)
  • 待再次多的教练时
  • Using a convolutional network instead of a RecNN
  • 日子复杂度同样比较充分,甚至更不行(通过实验结果得出的结论,这取决filter大小、个数等越参数的安装)

6.2.2 特点

  • 当型数量比生时,使用Hierachical Softmax
  • 以N-gram融入特征被,并且采取Hashing trick[Weinberger et
    al.2009]提高效率

  • 最新研究

  • 根据github repo:
    state-of-the-art-result-for-machine-learning-problems
    ,下面两首论文提出的模型可以于文书分类取得最妙的结果(让AI当法官比赛第一叫以了舆论Learning
    Structured Text Representations中的模型):

    • Learning Structured Text
      Representations
    • Attentive Convolution
  • 论文Multi-Task Label Embedding for Text
    Classification
    认为签以及标签内来或来挂钩,所以无是诸如之前的深度上型将标签看成one-hot
    vector,而是本着每个标签进行embedding学习,以增进公文分类的精度。

References
[1] Le and Mikolov – 2014 – Distributed representations of sentences
and documents
[2] Kim – 2014 – Convolutional neural networks for sentence
classification
[3] Zhang and Wallace – 2015 – A Sensitivity Analysis of (and
Practitioners’ Guide to) Convolutional Neural Networks for Sentence
Classification
[4] Zhang et al. – 2015 – Character-level convolutional networks for
text classification
[5] Lai et al. – 2015 – Recurrent Convolutional Neural Networks for
Text Classification
[6] Iyyer et al. – 2015 – Deep unordered composition rivals syntactic
methods for Text Classification
[7] Joulin et al. – 2016 – Bag of tricks for efficient text
classification
[8] Liu and Lapata – 2017 – Learning Structured Text Representations
[9] Yin and Schütze – 2017 – Attentive Convolution
[10] Zhang et al. – 2017 – Multi-Task Label Embedding for Text
Classification

6.1.4 Word Dropout Improves Robustness

  • 针对DAN模型,论文提出同样种word
    dropout策略:在伸手平均词向量前,随机使得文本中的少数单词(token)失效。形式化表示如下:

\[ \begin{align} r_w \sim Bernoulli(p) ;
\\ \hat{X} = \{w|w \in X and r_w > 0\} ; \\ z = g(w \in X )
= \frac{\sum_{w \in \hat{X}}v_w}{|\hat{X}|} ; \\ \end{align}
\]

  • Word Dropout可能会见叫一些老主要之token失效。然而,使用word
    dropout往往确实来提升,这可能是因,一些针对性标签预测起至核心作用的word数量往往小于无关紧要的word数量。例如,对于感情分析任务,中立(neutral)的单词往往是极致多的。
  • Word dropout 同好用来其它因神经网络的办法。
  • Word Dropout或许起及了仿佛数据增长(Data Augmentation)的意?

1. 文本分类任务介绍

文件分类是自然语言处理的一个主导任务,试图想出加的文件(句子、文档等)的标签或者标签集合。
文件分类的采取很常见。如:

  • 垃圾邮件分类:二分类问题,判断邮件是否也垃圾邮件
  • 情感分析
    • 亚分拣问题,判断文本情感是主动(positive)还是半死不活(negative)
    • 基本上分类问题,判断文本情感属于{非常消沉,消极,中立,积极,非常积极}中的哪一样好像
  • 快讯主题分类:判断新闻属于哪个品种,如金融、体育、娱乐等于
  • 自动问答系统受之问句分类
  • 社区问答系统被的题材分类:多标签分类,如知乎看山杯
  • 还多用:
    • 让AI当法官:
      基于案件实际描述文本的罚款等级分类(多分类)和法条分类(多签分类)。
    • 判定新闻是否也机器人所勾画:
      二分类
    • ……

差品类的公文分类往往时有发生两样的品指标,具体如下:

  • 二分类:accuracy,precision,recall,f1-score,…
  • 多分类: Micro-Averaged-F1, Macro-Averaged-F1, …
  • 大抵标签分类:Jaccard相似系数, …

  • 风土人情机器上方法

风的机器上方法主要采用自然语言处理中之n-gram概念对文本进行特征提取,并且动用TFIDF对n-gram特征权重进行调整,然后用提取及的文本特征输入到Logistics回归、SVM等分类器中展开训练。但是,上述的特征提取方法存在多少稀疏维度爆炸相当于题材,这对分类器来说是惨痛的,并且使训练的模子泛化能力简单。因此,往往要以部分方针进行降维:

  • 事在人为降维:停用词了滤,低频n-gram过滤等
  • 机关降维:LDA等

值得指出的是,将深度上着之word2vec,doc2vec当文本特征与上文提取的特点进行融合,常常可以增进型精度。

5.2 RCNN相关总结

  • NN vs. traditional methods:
    在拖欠论文的装有实验数据集上,神经网络比传统方式的效能都使好
  • Convolution-based vs. RecursiveNN:
    基于卷积的道较基于递归神经网络的计要好
  • RCNN vs. CFG and C&J: The RCNN可以捕获更增长的模式(patterns)
  • RCNN vs. CNN: 在拖欠论文的富有实验数据集上,RCNN比CNN更好
  • CNNs使用固定的乐章窗口(window of words), 实验结果为窗口大小影响
  • RCNNs使用循环结构捕获广泛的上下文信息

  • 一定要CNN/RNN吗

上述的深浅上方式通过引入CNN或RNN进行特征提取,可以齐比较好之功效,但是呢有有问题,如参数较多招训练时间了长,超参数较多型调整麻烦等。下面两篇论文提出了有些概括的型用于文书分类,并且于简短的模型上以了有优化策略。

3.2 优化CNN模型

6.2 fastText

论文Bag of Tricks for Efficient Text
Classification提出一个高效拓展文本分类的范与组成部分trick。

3.5.2 字符级CNN的相关总结和思维

  • 字符级CNN是一个行的法
  • 数据集的轻重可以为挑选传统方法还是卷积网络型提供指导:对于几百上千齐小圈圈数据集,可以优先考虑传统办法,对于百万范围之数据集,字符级CNN开始表现是。
  • 字符级卷积网络大适用于用户生成数据(user-generated
    data)
    (如拼写错误,表情符号等),
  • 莫免费的午宴(There is no free lunch)
  • 汉语怎么惩罚
    • 一旦把中文中之每个字作一个字符,那么字母表将好很
    • 是否可拿中文先转为拼音(pinyin)?
      • 汉语中之同音词非常多,如何克服?
    • 论文Character-level Convolutional Network for Text
      Classification Applied to Chinese
      Corpus展开了系实验。
  • 以字符级和词级进行结合是否结实又好
    • 英文怎么构成
    • 中文如何做

5.1.1 词表示学习

采取双向RNN分别上时词\(w_i\)的左上下文表示\(c_l(w_i)\)和右边上下文表示\(c_r(w_i)\),再跟当前词自身之代表\(e(w_i)\)连接,构成卷积层的输入\(x_i\)。具体如下:
\[ \begin{align} c_l(w_i) =
f(W^{(l)}c_l(w_{i-1})+W^{(sl)}e(w_{i-1})) ; \\ c_r(w_i) =
f(W^{(r)}c_r(w_{i-1})+W^{(sr)}e(w_{i-1})) ; \\ x_i =
[c_l(w_i);e(w_i);c_r(w_i)] ; \\ \end{align} \]
然后将\(x_i\)作为\(w_i\)的代表,输入到激活函数为tanh,kernel
size为1之卷积层,得到\(w_i\)的黑语义向量(latent semantic
vector) $y^{(2)}_i=tanh(W^{(2)}x_i+b^{(2)}) $
将kernel size设置为1是因为\(x_i\)中已包含\(w_i\)左右高达下文的音信,无需更用窗口大于1之filter进行特征提取。但是需要证明的凡,在实践中仍然可同时用多种kernel
size的filter,如[1, 2,
3],可能得更好的意义,一种植或的解释是窗口大于1之filter强化了\(w_i\)的左右以来的上下文信息。此外,实践着好运用还扑朔迷离的RNN来捕获\(w_i\)的上下文信息如果LSTM和GRU等。

3.4.1 为什么CNN能够用于文书分类(NLP)?

  • 干什么CNN能够用于文书分类(NLP)?
    • filter相当于N-gram ?
    • filter只领到部分特征?全局特征怎么惩罚?可以融合为?
      • RNN可以领取全局特征
      • RCNN(下文说明): RNN和CNN的组成

5.1 2 文书表示学习

经过卷积层后,获得了所有词的象征,然后于经过极其老池化层和全连接层得到文本的意味,最后通过softmax层进行分类。具体如下:

  • Max-pooling layer: \(y^{(3)}=\max
    \limits_{i=1}^{n} y^{(2)}_i\)
  • Fully connected layer: \(y^{(4)}=W^{(4)}y^{(3)}+b^{(4)}\)
  • Softmax layer: \(p_i=\frac{\exp(y^{(4)}_i)}{\sum_{k=1}^n
    \exp(y^{(4)}_k)}\)
    生图为上述过程的一个图解:

皇冠娱乐 8

6.2.1 fastText模型架构

fastText模型直接对拥有开展embedded的风味取均值,作为文本的表征表示,如下图。

皇冠娱乐 9

3.4 进一步考虑CNN

6.1.4 Word Dropout Improves Robustness

  • 针对DAN模型,论文提出同样种植word
    dropout策略:在恳求平均词向量前,随机使得文本中的少数单词(token)失效。形式化表示如下:

\[ \begin{align} r_w \sim Bernoulli(p) ;
\\ \hat{X} = \{w|w \in X and r_w > 0\} ; \\ z = g(w \in X )
= \frac{\sum_{w \in \hat{X}}v_w}{|\hat{X}|} ; \\ \end{align}
\]

  • Word Dropout可能会见使得一些老主要之token失效。然而,使用word
    dropout往往确实来升迁,这或是坐,一些针对性标签预测起至核心作用的word数量往往小于无关紧要的word数量。例如,对于感情分析任务,中立(neutral)的单词往往是无比多的。
  • Word dropout 同可以用来其他根据神经网络的计。
  • Word Dropout或许起及了近似数据增长(Data Augmentation)的作用?

3.3 一些定论

  • Multichannel vs. Single Channel Models:
    虽然作者一开始以为多通道可以防范过拟合,从而应该展现又胜似,尤其是当小框框数据集上。但真相是,单通道在部分语料上比多通道重新好;
  • Static vs. Non-static Representations:
    在大部分之语料上,CNN-non-static都优于CNN-static,一个讲:预训练词向量可能觉得‘good’和‘bad’类似(可能她有多近似的上下文),但是于感情分析任务,good和bad应该要是来肯定的区别,如果下CNN-static就无法开调整了;
  • Dropout可以增进2%–4%性(performance);
  • 对此未以预训练的word2vec中之词,使用都匀分布\(U[-a,a]\)随机初始化,并且调动\(a\)使得随机初始化的词向量和预训练的词向量保持类似的方差,可以有微弱提升;
  • 得品味任何的词向量预训练语料,如Wikipedia[Collobert et al.
    (2011)]
  • Adadelta(Zeiler, 2012)和Adagrad(Duchi et al.,
    2011)可以博得近似之结果,但是所待epoch更不见。

3.5.1 字符级CNN的范设计

首先用针对字符进行数字化(quantization)。具体如下:

  • 定义字母表(Alphabet):大小为\(m​\) (对于英文\(m=70​\),如下图,之后会考虑将特别小写字母都带有在内作为对照)
    皇冠娱乐 10
  • 字符数字化(编码): “one-hot”编码
  • 序列(文本)长度:\(l_0\)
    (定值)
    下一场论文设计了点儿种类型的卷积网络:Large和Small(作为比实验)
  • 它还产生9层,其中6层为卷积层(convolutional
    layer);3层为全连接层(fully-connected layer):
  • Dropout的概率都为0.5
  • 以高斯分布(Gaussian distribution)对权重进行初始化:
  • 说到底一层卷积层单个filter输出特征长度(the output frame length)为
    \(l_6 = (l_0 – 96) / 27\),推
  • 率先重叠全连接层的输入维度(其中1024同256呢filter个数或者说frame/feature
    size):

    • Large: \(l_6 * 1024\)
    • Small: \(l_6 * 256\)
  • 下图也模型的一个图解示例。其中文本长度也10,第一层卷积的kernel
    size为3(半透明黄色正方形),卷积个数为9(Feature=9),步长为1,因此Length=10-3+1=8,然后开展非重叠的max-pooling(即pooling的stride=size),pooling
    size为2,因此池化后的Length = 8 / 2 = 4。
    皇冠娱乐 11

3.5.1 字符级CNN的模型设计

率先需要对字符进行数字化(quantization)。具体如下:

  • 定义字母表(Alphabet):大小为\(m​\) (对于英文\(m=70​\),如下图,之后会设想用那个小写字母都富含在内作为比)
    皇冠娱乐 12
  • 字符数字化(编码): “one-hot”编码
  • 序列(文本)长度:\(l_0\)
    (定值)
    接下来论文设计了少于栽档次的卷积网络:Large和Small(作为对比实验)
  • 其还发出9层,其中6层为卷积层(convolutional
    layer);3层为全连接层(fully-connected layer):
  • Dropout的几率都也0.5
  • 采用高斯分布(Gaussian distribution)对权重进行初始化:
  • 最后一重合卷积层单个filter输出特征长度(the output frame length)为
    \(l_6 = (l_0 – 96) / 27\),推
  • 第一叠全连接层的输入维度(其中1024与256吧filter个数或者说frame/feature
    size):

    • Large: \(l_6 * 1024\)
    • Small: \(l_6 * 256\)
  • 产图也模型的一个图解示例。其中文本长度为10,第一重合卷积的kernel
    size为3(半透明黄色正方形),卷积个数为9(Feature=9),步长为1,因此Length=10-3+1=8,然后进行非重叠的max-pooling(即pooling的stride=size),pooling
    size为2,因此池化后的Length = 8 / 2 = 4。
    皇冠娱乐 13

5.1.1 词表示学习

运双向RNN分别上时词\(w_i\)的左上下文表示\(c_l(w_i)\)和右手上下文表示\(c_r(w_i)\),再跟当下词自身的意味\(e(w_i)\)连接,构成卷积层的输入\(x_i\)。具体如下:
\[ \begin{align} c_l(w_i) =
f(W^{(l)}c_l(w_{i-1})+W^{(sl)}e(w_{i-1})) ; \\ c_r(w_i) =
f(W^{(r)}c_r(w_{i-1})+W^{(sr)}e(w_{i-1})) ; \\ x_i =
[c_l(w_i);e(w_i);c_r(w_i)] ; \\ \end{align} \]
然后将\(x_i\)作为\(w_i\)的意味,输入到激活函数为tanh,kernel
size为1的卷积层,得到\(w_i\)的黑语义向量(latent semantic
vector) $y^{(2)}_i=tanh(W^{(2)}x_i+b^{(2)}) $
将kernel size设置为1是因为\(x_i\)中已经包含\(w_i\)左右上下文的消息,无需再次用窗口大于1之filter进行特征提取。但是要证实的是,在实践中仍然可同时以多kernel
size的filter,如[1, 2,
3],可能得到更好的功能,一栽可能的解说是窗口大于1之filter强化了\(w_i\)的横近来的上下文信息。此外,实践备受可以应用重复复杂的RNN来捕获\(w_i\)的上下文信息要LSTM和GRU等。

6.2.2 特点

  • 当型数量较生时,使用Hierachical Softmax
  • 将N-gram融入特征被,并且利用Hashing trick[Weinberger et
    al.2009]提高效率

  • 新型研究

  • 根据github repo:
    state-of-the-art-result-for-machine-learning-problems
    ,下面两篇论文提出的模型可以在文件分类取得最出色的结果(让AI当法官比赛第一叫作用了舆论Learning
    Structured Text Representations中之范):

    • Learning Structured Text
      Representations
    • Attentive Convolution
  • 论文Multi-Task Label Embedding for Text
    Classification
    看签和标签中发生或发生关系,所以无是比如说前的纵深上型将标签看成one-hot
    vector,而是对每个标签进行embedding学习,以加强文书分类的精度。

References
[1] Le and Mikolov – 2014 – Distributed representations of sentences
and documents
[2] Kim – 2014 – Convolutional neural networks for sentence
classification
[3] Zhang and Wallace – 2015 – A Sensitivity Analysis of (and
Practitioners’ Guide to) Convolutional Neural Networks for Sentence
Classification
[4] Zhang et al. – 2015 – Character-level convolutional networks for
text classification
[5] Lai et al. – 2015 – Recurrent Convolutional Neural Networks for
Text Classification
[6] Iyyer et al. – 2015 – Deep unordered composition rivals syntactic
methods for Text Classification
[7] Joulin et al. – 2016 – Bag of tricks for efficient text
classification
[8] Liu and Lapata – 2017 – Learning Structured Text Representations
[9] Yin and Schütze – 2017 – Attentive Convolution
[10] Zhang et al. – 2017 – Multi-Task Label Embedding for Text
Classification

3.5.3 使用相同词表进行数量增长

对深度上型,采用适当的数量增长(Data
Augmentation)技术可增长型的泛化能力。数据增长在处理器视觉领域较宽泛,例如对图像进行盘,适当扭曲,随机增加噪声等操作。对于NLP,最出色的多寡增长方法是使人类复述句子(human
rephrases of
sentences),但是及时比不具体还要于广大语料来说代价高昂。
一个重新当之挑三拣四是应用词语或者短语的同义词或平等短语进行调换,从而达到数增长的目的。具体做法如下:

  • 英文同义词典: from the mytheas component used in LibreOffice1
    project. http://www.libreoffice.org/
  • 由给定的文书中抽取产生有可以轮换的乐章,然后轻易选\(r\)个拓展轮换,其中\(r\)由一个参数为\(p\)的几乎何分布(geometric
    distribution)确定,即\(P[r] \sim
    p^r\)
  • 叫一定一个需要替换的歌词,其与义词可能发生多独(一个列表),选择第\(s\)个底票房价值为经过其它一个几哪里分布确定,即\(P[s] \sim
    q^s\)。这样是为着当前词的同义词列表中之距离比较远(\(s\)较充分)的同义词被选的概率又粗。
  • 论文实验装置: \(p=0.5, q=0.5\)。

  • RNN用于文书分类

  • 策1:直接以RNN的末段一个单元输出向量作为文本特征

  • 策略2:使用双向RNN的片独方向的出口向量的连(concatenate)或均值作为文本特征
  • 策略3:将拥有RNN单元的输出向量的均值pooling或者max-pooling作为文本特征
    皇冠娱乐 14
  • 策略4:层次RNN+Attention, Hierarchical Attention
    Networks

  • RCNN(RNN+CNN)用于文书分类

论文Recurrent Convolutional Neural Networks for Text
Classification规划了一致栽RNN和CNN结合的型用于文书分类。

近年来阅读了部分纵深上以文书分类中之应用相关论文(论文笔记),同时也到庭了CCF
大数据及计算智能大赛(BDCI)2017的一个文件分类问题之竞赛:让AI当法官,并得到了最终评测第四名叫之实绩(比赛的求实思路及代码参见github项目repo)。因此,本文总结了文本分类有关的深浅上型、优化思路以及之后足拓展的一些工作。欢迎转载,请保留本文链接:http://www.cnblogs.com/llhthinker/p/8127788.html

6.1.2 Considering Syntax for Composition

有些考虑语法的办法:

  • Recursive neural networks (RecNNs)
  • 可考虑有犬牙交错的语言学现象,如否定、转折等 (优点)
  • 兑现力量依赖输入序列(文本)的句法树(可能无适合长文本以及无顶正统的文书)
  • 急需再次多的训日
  • Using a convolutional network instead of a RecNN
  • 时复杂度同样比较异常,甚至又特别(通过实验结果得出的下结论,这在filter大小、个数等超参数的安装)

相关文章