TextCNN算法分析

TextCNN

什么是卷积


如上图所示,这其实是一个动图,黄色的3*3的方格在不断滑动,其就是一个图像过滤器的图示,但是这个是针对于图像的。如果说对文本进行过滤器处理的话,过滤器是不能横向滑动的,因为你不能把一个字或者说一个单词从中间分开来进行训练。图像可以一个图像经过处理之后你应该还会认识这个图片,但是当文字从中间分开之后,相当于单词的一半或者说是一个偏旁,这个时候你有可能就不会理解这个文字想要表达什么意思了。

以下是博客作业给出的一个图像滤波器处理的一个例子。是使用其相邻值对每个像素求平均值,这样会得到一个模糊的图像。方格中为1的就乘以1,为0的就乘以0,这样可以将5*5的像素合并为一个像素值,得出一个较为模糊的图像。


经过滤波器处理之后你是完全可以知道这个图片代表什么的,不同的一点就是模糊了一点而已。

下面介绍一个利用卷积检测边缘的例子,图示如下所示,其计算和上面那个计算方法是一样的,其思想是取像素及其邻居之间的差异来检测边缘。


什么是卷积神经网络(CNN)

CNN基本上只是几层卷积,其中非线性激活函数  如ReLU或tanh应用于结果。在传统的前馈神经网络中,我们将每个输入神经元连接到下一层中的每个输出神经元。这也称为完全连接层仿射层。在CNN中我们不这样做。相反,我们在输入层上使用卷积(这个在上面讲到过)来计算输出。这导致局部连接,其中输入的每个区域连接到输出中的神经元。 每一层都应用不同的过滤器,通常是数百或数千,如上所示,并结合其结果。还有一些叫做池(子采样)层的东西。在训练阶段,CNN会根据您要执行的任务自动学习其过滤器的值。例如,在图像分类中,CNN可以学习从第一层中的原始像素检测边缘,然后使用边缘检测第二层中的简单形状,然后使用这些形状来阻止更高级别的特征,例如面部形状在较高层。最后一层是使用这些高级功能的分类器。

这个计算有两个方面值得关注:位置不变性组合性。假设您想要对图像中是否有大象进行分类。因为你在整个图像上滑动你的过滤器,你真的不关心那里的大象发生。实际上,池化还可以为您提供平移,旋转和缩放的不变性。第二个关键方面是(本地)组合性。每个过滤器组成将较低级别功能的本地补丁转换为更高级别的表示。这就是CNN在计算机视觉领域如此强大的原因。直观地说,您可以从像素,边缘形状和形状中更复杂的对象构建边缘。

TextCNN简介

是CNN的一种变形,CNN(2011)主要运用于图片分类,而TextCNN主要用于文本分类(2014),其对于字的表示方式为:使用一个k维向量来表示在句子中的词。

代替图像像素,大多数NLP任务的输入是表示为矩阵的句子或文档。矩阵的每一行对应一个标记,通常是一个单词,但它可以是一个字符。也就是说,每行是表示单词的向量。通常,这些向量是word嵌入  (低维表示),如word2vecGloVe,但它们也可以是将单词索引为词汇表的单热向量。对于使用100维嵌入的10个单词的句子,我们将使用10×100矩阵作为输入。这是我们的“形象”。

这里对上面那段话做一些解释,在文本输入之前,要先根据这些句子中包含的字做一个词典,每个词对应一个序号,假如一个句子有十个单词,那么就将这些单词转换为数字,作为矩阵数据到CNN中,这就类似于图片CNN处理,因为图片本来就是有一个个像素值组成的,输入到CNN中的本来就是像素值,处理图像也比处理文本更加的方便一些。

在视觉中,我们的滤镜会滑过图像的局部色块,但在NLP中,我们通常使用在矩阵的整行上滑动的滤镜(单词)。因此,我们的滤波器的“宽度”通常与输入矩阵的宽度相同。高度或区域大小可以变化,但是通常一次滑动超过2-5个单词的窗口。将上述所有内容放在一起,NLP的卷积神经网络可能看起来像这样

在之前什么是卷积的介绍中的第一张图片我们可以看到,过滤器是上下左右滑动的,从而来提取特征值,最终获得特征矩阵,但是文本的话稍有不同,他不能左右滑动,只能上下滑动,原因很简单,不能将一个单词分开来进行训练,如果非要这样的话,卷积之后获得的数据将会没有什么意义,所以过滤器在进行文本处理的时候只能上下滑动,下面来看一下这个图片。


用于句子分类的卷积神经网络(CNN)架构的例证。这里我们描述了三个滤波器区域大小:2,3和4,每个都有2个滤波器。每个滤波器对句子矩阵执行卷积并生成(可变长度)特征映射。然后在每个地图上执行1最大合并,即,记录来自每个特征地图的最大数量。因此,从所有六个图生成单变量特征向量,并且这六个特征被连接以形成倒数第二层的特征向量。最后的softmax图层然后接收该特征向量作为输入并使用它来对句子进行分类; 这里我们假设二元分类,因此描述了两种可能的输出状态。

过滤器生成的特征向量是由上下滑动产生的,具体的过程可以参照下面这张图片。


参考

理解NLP的卷积神经网络

Text-CNN文本分类

在TensorFlow中实现CNN进行文本分类

理解卷积

keras指南

Tensorflow简介

Scrapy框架入门简介

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,132评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,802评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,566评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,858评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,867评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,695评论 1 282
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,064评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,705评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,915评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,677评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,796评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,432评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,041评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,992评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,223评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,185评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,535评论 2 343