使用LSTM对Region Embeddings进行监督&半监督文本分类

原文标题

Supervised and Semi-Supervised Text Categorization using LSTM for Region Embeddings

Intro

初始文本分类使用线性分类模型,输入为词袋或n-gram词袋向量

CNN原理

  1. 在卷积层内,小region的文本被转换为保存了信息的低维向量(使用embedding 函数)

以one hot为例,首先将一篇文章表示成one-hot矢量序列
而后在卷积层中将每句话转换为低维向量
而后在池化层中将文本region embedding后的结果汇总,取均值或最大值
在顶层中使用线性分类器进行分类


  1. 使用半监督学习扩展的one-hot CNN表现出比其他方法更优越的性能

本文方法

  1. embedding function v(xl) = max(0, Wxl + b)
    其中xl是第l个region的词语one-hot向量的串联,W,b需要训练

  2. 基于embedding+pooling,探索了一种新的基于LSTM的embedding方式,用来解决embed不同size的region的问题

  3. 目标是尽可能简化LSTM,包括减少word embedding层

  4. 发现:a 在监督学习中,简化策略得到更高的准确度和训练速度
    b 在无标签数据上训练LSTM来获得额外输入
    c 最好的效果来自于混合LSTM embedding和CNN embedding
    http://riejohnson.com/cnndownload.htmlhttp://riejohnson.com/cnn download.html

  5. 基础LSTM模型

使用LSTM对Region Embeddings进行监督&半监督文本分类

变量含义:
σ:将变量归一化的函数,此处使用sigmoid函数
x_t:t时刻从低层来的d维输入向量,其中d是字典的维度或词向量的维度
q:LSTM的单元数
W:q*d,权重矩阵
b:q,偏差矩阵
U:q*q,对t-1时刻结果的权重矩阵
c_t:记忆单元,对抗梯度消失/爆炸
f_t:遗忘门,重置记忆单元
i_t、o_t:输入门、输出门,控制记忆单元的输入和输出
  1. wv-LSTM
    对于每一个文档,LSTM输出层都是最后一个时间步的输出代表全文输出。
    词——词向量——输出
    发现wv-LSTM不如线性分类器,且训练不稳定。原因:文本较长
    wv-LSTM训练用时是one-hot CNN的20倍,且准确性不如,原因:依赖t-1的输出,无法并行计算加速
    预训练模型可以提高LSTM的稳定性和准确性

  2. 监督LSTM
    当移除word embedding层时,可以将一个word vector LSTM转化成一个one-hot LSTM
    原方案:x_t -> Vx_t -> WVx_t
    现方案:x_t -> (WV)x_t
    直接训练WV的矩阵
    在未分类标签文本上半监督学习word embedding会改善结果,但不如本文提到的在未分类文本上无监督学习one-hot LSTM的region embedding

  3. 简化方法
    原方法:将整篇用一个向量表示(document embedding)
    新方法:检测与任务相关的文本区块,并将其表示为向量(region embedding),而后使用pooling layer将它们拼成一个document vector,用这种方法可以遗忘较老的信息。

  4. 切分以加速训练
    将文章切分成固定长度的区块(小文本),并且并行处理所有区块
    为了避免将固定词组切开,可以使用overlapping的方式,但实践证明收益较小

  5. 移除input、output gate以加速流程
    当以pooling跟随LSTM时,input、output gates的存在不能改善准确性,删除它们可以减半运行实践
    简化后的方程:

使用LSTM对Region Embeddings进行监督&半监督文本分类

此方程等价于将gates视为纯1矩阵。
  1. 使用双向LSTM获得更高准确性
    使用one-hot bidirectional LSTM with pooling(oh-2LSTMp)

  2. 实验配置
    database: IMDB ELec RCV1 20NG
    compared model: JZ15 DL15

    文章全部小写,最常见的30k单词,最小化平方损失函数,dropout,初始权重使用N(0,0.01),优化方法为SGD,mini-batch为50或100,momentum or optionally rmsprop加速

    使用JZ15的pooling method,使用k-max pooling

  3. 结论
    oh-2LSTMp全局优于wv-LSTM
    在词序不严格的数据集上,SVM、oh-CNN要优于oh-2LSTMp
    oh-CNN在简单数据集上的优异表现提醒我们可以使用两种region embedding方式的联合

半监督LSTM

  1. two-view embedding (tv-embedding)
    view1: words seen in document
    view2: next few words
    目标: 根据view1预测view2
    方式:对无标签数据进行正向、反向同时训练
    注意:在此种方式中,input output forget gates都是有效的
    优化:进行vocabulary control——将功能词从target view中剔除
    增加输入数据:
    使用LSTM对Region Embeddings进行监督&半监督文本分类

    其中新增的sigma项是tv-embedding的输出项

  2. 联合LSTM tv-embedding和CNN tv-embedding