《Convolutional Neural Networks for Sentence Classification》——2014年
《基于CNN的句子级别的文本分类》
Abstract 摘要
我们报告了一系列卷积神经网络(CNN)的实验,这些网络是在预先训练好的单词向量上训练的,用于句子的分类任务。我们证明了一个简单的CNN网络通过小的超参数调优和静态向量在多个基准测试中取得了很好的结果。通过微调来学习特定的任务的向量可以进一步提高性能。此外,我们还提出了一个简单的架构的修改,以允许使用特定的任务和静态向量。本文讨论的CNN模型在7个任务中的4个上改进了现有的技术,包括情感分析和问题分类。
1 Introduction 引言
近年来,深度学习模型在计算机视觉(Krizhevskyetal.,2012)和语音识别(Gravesetal.,2013)方面取得了显著的成果。在自然语言加工过程中,大部分深度学习方法的工作都涉及到通过神经语言模型学习词向量表示(Bengio等人,2003;Yih等人,2011;Mikolov等人,2013)和通过学习词向量进行分类(Collobert等人,2011)。词向量,其中的词是从稀疏的,1到v编码(这里的v是词汇量),通过隐藏层投影到一个低维向量空间,本质上是特征提取器在他们的维度上对词的语义特征进行编码。在这种稠密表示中,语义相近的单词(在欧氏距离或余弦距离中)在低维向量空间中同样接近。
卷积神经网络(CNN)利用应用于局部特征的卷积滤波器层(LeCun等人,1998)。最初为计算机视觉而发明的,后来CNN模型被证明对NLP是有效的,并且在语义分析(Yihetal.,2014)、搜索查询检索(Shenetal.,2014)、句子建模(Kalch-brenneretal.,2014)和其他传统的NLP任务(bertcolloetal.,2011)中取得了优异的结果。
在目前的工作中,我们训练了一个简单的CNN,它是从一个无监督神经语言模型中得到的基于词向量的简单CNN,其中包含一层卷积。这些向量由Mikolov等人(2013年)用1000亿个Google新闻单词进行训练,并且是公开可用的[1]。最初,我们使单词向量保持静态,仅学习模型的其他参数。尽管很少调整超参数,这个简单的模型在多个基准上取得了优异的结果,这表明预先训练的向量是可以用于各种分类任务的“通用”特征提取器。通过微调结果进一步改进学习特定于任务的向量。最后,我们描述了对体系结构的简单修改,以允许通过具有多个通道使用预训练向量和特定于任务的向量。
我们的工作在哲学上与Razavian等人(2014年)的研究相似,后者表明,对于图像分类,从预先训练的深度学习模型中获得的特征提取器在一系列任务中表现良好,包括与特征提取器训练的原始任务有很大不同的任务。
2 Model 模型
如图1所示模型架构,是Collobert等人(2011)提出的CNN架构的轻微变体。
设 x i ∈ R k \mathbf{x}_{i} \in \mathbb{R}^{k} xi∈Rk 为句子中第i个单词对应的k维词向量。一个长度为n的句子(在必要时加上填充)表示为
x 1 : n = x 1 ⊕ x 2 ⊕ … ⊕ x n \mathbf{x}_{1: n}=\mathbf{x}_{1} \oplus \mathbf{x}_{2} \oplus \ldots \oplus \mathbf{x}_{n} x1:n=x1⊕x2⊕…⊕xn ————(1)
其中 ⊕ 为串联运算符。通常, x i : i + j \mathbf{x}_{i: i+j} xi:i+j 表示单词 x i , x i + 1 , … , x i + j \mathbf{x}_{i}, \mathbf{x}_{i+1}, \ldots, \mathbf{x}_{i+j} xi,xi+1,…,xi+j 的串联。卷积运算涉及一个滤波器 w ∈ R h k \mathbf{w} \in \mathbb{R}^{h k} w∈R