赞
踩
传统文本分类器通常依赖于许多人为设计的特性,如字典、知识库和特殊的树核。与传统方法相比,引入了一种循环卷积神经网络来进行文本分类,而不需要人为设计特征。在我们的模型中,在学习单词表示时,我们使用循环结构来尽可能捕获上下文信息,与传统的基于窗口的神经网络相比,这样可以引入较少的噪声。还使用了一个最大池层,自动判断哪些词在文本分类中扮演关键角色,以捕获文本中的关键组件。在四个常用数据集上进行实验,结果表明该方法在多个数据集,特别是文档级数据集上的性能优于现有方法。
特征表示:通常是基于词包的(BoW)模型,其中unigrams(一元语法), bigrams(二元语法), n-grams或一些精美设计的图案通常提取为特征。
N-grams:第N个词的出现只与前面N-1个词相关,而与其它任何词都不相关,整句的概率就是各个词出现概率的乘积。这些概率可以通过直接从语料中统计N个词同时出现的次数得到。
N-gram模型是一种语言模型(Language Model,LM),语言模型是一个基于概率的判别模型,它的输入是一句话(单词的顺序序列),输出是这句话的概率,即这些单词的联合概率(joint probability)。N-gram本身也指一个由N个单词组成的集合,各单词具有先后顺序,且不要求单词之间互不相同。
虽然高阶n-gram和更复杂的特征(如树核(Post和Bergsma 2013))用来捕捉更多的上下文信息和词序,但它们仍然存在数据稀疏性问题,严重影响分类精度。
单词嵌入是单词的分布式表示,极大地缓解了数据稀疏性问题。预先训练的单词嵌入可以捕获有意义的语法和语义规律。在单词嵌入的帮助下,提出了一些基于组合的方法来捕获文本的语义表示。
递归神经网络Recursive Neural Network(RecursiveNN)
优点:已被证明在构建句子表示方面是有效的。
缺点:
循环神经网络Recurrent Neural Network(RecurrentNN)
优点:
缺点:
卷积神经网络Convolutional Neural Network (CNN)
优点:
缺点:
为解决上述模型的局限性,提出循环卷积神经网络Recurrent Convolutional Neural Network(RCNN),并将其应用到文本分类的任务中。
传统的文本分类工作主要集中在特征工程、特征选择和使用不同类型的机器学习算法三方面。
特性工程使用最广泛的特性是单词包特性。此外,还设计了一些更复杂的特性,如词性标记、名词短语和树内核。特征选择的目的是消除噪声特征,提高分类性能。
最常见的特征选择方法是去除停用词(如“The”)。
高级方法使用信息增益、相互信息或L1正则化来选择有用的功能。
机器学习算法经常使用分类器,如logistic回归(LR), naive Bayes贝叶斯(NB)和支持向量机(SVM)。
但这些方法都存在数据稀疏性问题。
深度神经网络和representation learning表示学习提出了解决数据稀疏问题的新思路,并提出了许多学习单词表示的神经模型。
一个词的神经表示称为词嵌入,是一个重值向量。单词嵌入使我们能够通过简单地使用两个嵌入向量之间的距离来衡量单词的相关性。
通过预先训练的单词嵌入,神经网络在许多NLP任务中表现出色。
Socher等人使用semi-supervised recursive autoencoders半监督递归自动编码器预测句子的情绪。
Socher et al提出了一种用 recurrent neural network循环神经网络进行意译检测的方法。
Socher等引入recursive neural tensor network递归神经张量网络来分析短语和句子的情绪。
Mikolov使用 recurrent neural network循环神经网络构建语言模型。
Kalchbrenner和Blunsom提出了一种新的对话行为分类循环网络。
Collobert等引入卷积神经网络用于语义角色标记。
提出一个深度神经模型来捕获文本的语义。图1显示了模型的网络结构。网络的输入是一个文档D,它是一个单词序列w1, w2,…wn。用p(k|D, θ)来表示文档是类k的概率,θ为网络中的参数。
图1. 循环卷积神经网络的结构。此图是句子: “A sunset stroll along the South Bank affords an array of stunning vantage points”的部分例子,下标表示对应词在原句中的位置。
长短期记忆网络(LSTM,Long Short-Term Memory) 是一种时间循环神经网络,是为了解决一般的RNN(循环神经网络)存在的长期依赖问题而专门设计出来的,所有的RNN都具有一种重复神经网络模块的链式形式。在标准RNN中,这个重复的结构模块只有一个非常简单的结构,例如一个tanh层。
把一个词结合上下文来表示这个词。语境可以帮助获得更准确的词义。模型中使用一个双向循环神经网络,来捕捉上下文。
cl(wi)和cr(wi)都是具有|c|实值元素的稠密向量。
W(l)是一个矩阵,它将隐含层(上下文)转换为下一个隐含层。W(sl)是一个矩阵,用于将当前单词的语义与下一个单词的左上下文结合起来。f是一个非线性激活函数。
任何文档中第一个单词的左侧上下文使用相同的共享参数cl(w1),文档中最后一个单词的右侧上下文共享参数cr(wn)。
c
l
(
w
i
)
=
f
(
W
(
l
)
c
l
(
w
i
−
1
)
+
W
(
s
l
)
e
(
w
i
−
1
)
)
c
r
(
w
i
)
=
f
(
W
(
r
)
c
r
(
w
i
+
1
)
+
W
(
s
r
)
e
(
w
i
+
1
)
)
如上述公式所示,上下文向量捕获了所有左右上下文的语义。
定义式(3)中单词wi的表示,即左侧上下文向量cl(wi)、嵌入单词e(wi)和右侧上下文向量cr(wi)的串联。
通过这种方式,使用上下文信息,可以更好地消除wi这个词的歧义,而传统的神经模型只使用一个固定的窗口。
x
i
=
[
c
l
(
w
i
)
;
e
(
w
i
)
;
c
r
(
w
i
)
]
\boldsymbol{x}_{i}=\left[\boldsymbol{c}_{l}\left(w_{i}\right) ; \boldsymbol{e}\left(w_{i}\right) ; \boldsymbol{c}_{r}\left(w_{i}\right)\right]
xi=[cl(wi);e(wi);cr(wi)] (3)
循环结构可以在文本正向扫描时得到所有cl,在文本逆向扫描时得到所有cr。时间复杂度为O(n)。得到wi的表示xi后
,对xi应用线性变换和tanh激活函数,并将结果发送到下一层。
y
i
(
2
)
=
tanh
(
W
(
2
)
x
i
+
b
(
2
)
)
\boldsymbol{y}_{i}^{(2)}=\tanh \left(W^{(2)} \boldsymbol{x}_{i}+\boldsymbol{b}^{(2)}\right)
yi(2)=tanh(W(2)xi+b(2)) (4)
模型中卷积神经网络被设计用来表示文本。从卷积神经网络的角度来看,前面提到的循环结构就是卷积层。
当计算单词的所有表示形式时,我们应用一个最大池化层。
y
(
3
)
=
max
i
=
1
n
y
i
(
2
)
\boldsymbol{y}^{(3)}=\max _{i=1}^{n} \boldsymbol{y}_{i}^{(2)}
y(3)=maxi=1nyi(2) (5)
池化层将不同长度的文本转换为固定长度的向量。有了池化层,我们可以在整个文本中捕获信息。
最大池层试图找到文档中最重要的潜在语义因素。池化层利用循环结构的输出作为输入。池化层的时间复杂度为O(n)。整个模型是循环结构和最大池化层的级联,因此模型的时间复杂度仍然是O(n)。
模型的最后一部分是输出层。与传统的神经网络相似,定义为:
y
(
4
)
=
W
(
4
)
y
(
3
)
+
b
(
4
)
\boldsymbol{y}^{(4)}=W^{(4)} \boldsymbol{y}^{(3)}+\boldsymbol{b}^{(4)}
y(4)=W(4)y(3)+b(4) (6)
最后,对
y
(
4
)
{y}^{(4)}
y(4)应用softmax函数,可以将输出数转换为概率。
p
i
=
exp
(
y
i
(
4
)
)
∑
k
=
1
n
exp
(
y
k
(
4
)
)
p_{i}=\frac{\exp \left(\boldsymbol{y}_{i}^{(4)}\right)}{\sum_{k=1}^{n} \exp \left(\boldsymbol{y}_{k}^{(4)}\right)}
pi=∑k=1nexp(yk(4))exp(yi(4)) (7)
将所有要训练的参数定义为
θ
\theta
θ :
θ
=
{
E
,
b
(
2
)
,
b
(
4
)
,
c
l
(
w
1
)
,
c
r
(
w
n
)
,
W
(
2
)
,
W
(
4
)
,
W
(
l
)
,
W
(
r
)
,
W
(
s
l
)
,
W
(
s
r
)
}
\theta=\left\{E, \boldsymbol{b}^{(2)}, \boldsymbol{b}^{(4)}, \boldsymbol{c}_{l}\left(w_{1}\right), \boldsymbol{c}_{r}\left(w_{n}\right), W^{(2)},\right. \left.W^{(4)}, W^{(l)}, W^{(r)}, W^{(s l)}, W^{(s r)}\right\}
θ={E,b(2),b(4),cl(w1),cr(wn),W(2),W(4),W(l),W(r),W(sl),W(sr)} (8)
偏差向量 bias vectors
b
(
2
)
{b}^{(2)}
b(2)
θ
↦
∑
D
∈
D
log
p
(
class
D
∣
D
,
θ
)
\theta \mapsto \sum_{D \in \mathbb{D}} \log p\left(\text {class}_{D} \mid D, \theta\right)
θ↦∑D∈Dlogp(classD∣D,θ) (9)
其中
D
\mathbb{D}
D是训练文档集,classD是文档D的正确类。
使用随机梯度下降来优化训练目标。在每一步中,我们随机选择一个例子(D, classD)并做一个渐变步骤。
θ
←
θ
+
α
∂
log
p
(
class
D
∣
D
,
θ
)
∂
θ
\theta \leftarrow \theta+\alpha \frac{\partial \log p\left(\text {class}_{D} \mid D, \theta\right)}{\partial \theta}
θ←θ+α∂θ∂logp(classD∣D,θ) (10)
α为学习速率。
在训练阶段,将神经网络中的所有参数按照均匀分布进行初始化。最大值或最小值等于“fan-in扇入”的平方根。数字是我们模型中前一层的网络节点。
扇入: 一个模块被多个模块调用。
词嵌入是词的分布式表示。分布式表示适合于神经网络的输入。通过适当的无监督预训练过程,神经网络可以收敛到一个更好的局部极小值。
使用Skip-gram模型对单词嵌入进行预训练。Skip-gram模型训练单词w1, w2…的嵌入。通过最大化平均对数概率:
1
T
∑
t
=
1
T
∑
−
c
≤
j
≤
c
,
j
≠
0
log
p
(
w
t
+
j
∣
w
t
)
p
(
w
b
∣
w
a
)
=
exp
(
e
′
(
w
b
)
T
e
(
w
a
)
)
∑
k
=
1
∣
V
∣
exp
(
e
′
(
w
k
)
T
e
(
w
a
)
)
word2vector模型 通过学习文本,用词向量的方式表征词的语义信息,即通过一个嵌入空间使得语义上相似的单词在该空间内距离很近。embedding其实就是一个映射,将单词从原先所属的空间映射到新的低维空间中,这样就解决了向量稀疏问题。
word2vector主要有Skip-Gram和CBOW两种模型。
Skip-Gram模型 分为两个部分:
表1:数据集的总结,包括类的数量,训练/开发/测试集条目的数量,平均文本长度和数据集的语言。
对数据进行预处理。
神经网络的超参数设置可能取决于所使用的数据集。
提出了几个强基线用于文本分类。这些基线主要使用机器学习算法,以unigram和bigrams为特征。分别使用logistic回归(LR)和SVM8。每个特征的权重的术语是频率。
这个基线使用单词嵌入的加权平均值,然后应用softmax层。每个单词的权重是它的tfidf值。
TF-IDF(term frequency–inverse document frequency,词频-逆向文件频率) 是一用于信息检索(information retrieval)与文本挖掘(text mining)的常用加权技术。
TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
TF-IDF的主要思想:若某个单词在一篇文章中出现的频率TF高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。
TF:单词词频,即一个词在文章中出现的频率。
TF=词在文章(句子)中出现的次数/文章(句子)总的词汇数。
IDF:逆文件频率,词在所有文档中出现的次数越少,越能够代表该文章。
IDF=log(语料库的总文档数/包含该词条的文档数+1),分母+1是为了避免分母为0。
TFIDF=TF*IDF
基于逻辑分析的方法在捕获几个分类任务中的文本语义方面取得了良好的性能。
LDA 降维的目标:将带有标签的数据降维,投影到低维空间同时满足三个条件:
使用不同的树核作为特征,是ACL本机语言分类任务中最先进的工作。
递归神经网络。
卷积神经网络,它的卷积内核只是将单词嵌入到一个预定义的窗口中。
CNN
RCNN
比较RCNN和RNTN提取的积极、消极特征。
与RNTN中最积极和最消极的短语相比,本文模型不依赖于语法分析器,因此所呈现的n-grams通常不是“短语”。
本文模型使用循环结构捕获上下文信息,并使用卷积神经网络构造文本的表示。实验表明,本文模型优于CNN和RecursiveNN等其他原有模型。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。