TextCNN 网络

TextCNN 网络是使用卷积神经网络来解决 NLP 任务的一种网络模型,它利用了了多分支的卷积核来对文本进行特征提取,所以也可以叫多分支的卷积神经网络。

在做图像处理时,我们一般都是使用多通道的相同的 kernel size 的卷积核来提取图像特征,而这里的多分支的卷积核指的就是使用不同 kernel size 的多个卷积核来提取文本的特征。

首先我们看下,为啥序列文本数据可以使用卷积核呢?

我们在进行文本任务时,一般都会把词通过词嵌入转换为向量表示,例如: “我爱你” 三个字都可以数值化为维度为 4 的三个向量,此时就变成了了一个 3 行 4 列的向量表示,如下图所示:

我们这样的一个矩阵表示的句子当做一副图像不也可以么?然后按照图像的处理方式其提取句子的语义。那么,卷积核应用到文本数据中,提取的内容应该怎么理解呢?

其实卷积核应用到文本中更像是 ngram 应用到文本数据中,我们知道通过给句子的表示增加 ngram 特征能够更好的表达句子的内部局部的特征之间的关系,例如:”我爱你” 经过 ngram 算法之后,可能就变成了类似 “我 我你 爱你 你” 这样的表示,其中的 “我爱 爱你” 等信息就表达了句子内部局部的一些语义。而卷积核对文本数据的提取和这个过程很类似。

而多分支的卷积核应用到文本数据,更像是使用了多个不同窗口的 ngram 算法,提取更加丰富的局部语义。经过多分支卷积核计算之后,我们再使用多分支的最大池化对卷积提取的特征进行降维。最后再将特征拼接送入全连接网络,来实现分类任务。

代码后面再补充。

未经允许不得转载:一亩三分地 » TextCNN 网络