《Convolutional Neural Networks for Sentence Classification》论文结构解读

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hao5335156/article/details/84890802

1.数据

以某一双鞋子为例,评论结果作为标签(2分类:好评,差评)
【穿了一段时间,不错,喜欢的下单吧;好评】
【鞋子收到了,不是很满意。没有吊牌,一直都是还是只有我这一双是;差评】
数据处理步骤:
把所有评论数据集分词,去除停用词,然后构建word2index,然后表示“句子”,以“穿了一段时间,不错,喜欢的下单吧”为例子,分词后为【穿了/一段/时间/,/不错/,/喜欢/的/下单/吧】,则表示成【2/3/677/89/…】等等,这里句子长度为10,如果某个词作为停用词去掉,比如“的”,则在词汇表中映射不到index,用某个数字比如“0”填充。这里不需要每个句子的长度都统一固定。因为Embedding层能处理。

2.Embedding层的处理

Embedding层把“数据处理步骤”后得到的评论表示【2/3/677/89/…】重新解析为one-hot的表示形式,如果【2/3/677/89/…】的长度为46,则表示为【46 x 词汇表长度】,Embedding层的输入为(词汇表长度)个神经元,输出为(向量的表示长度,假设是128)个神经元,这里的Embedding层只有weight,没有bias。即【46 x 词汇表长度】则代表有46条数据,输入Embedding层,最终的输出为【46 x 128】。

3.CNN_Text 层

假设一条数据的句子长度为46,向量的表示长度128,则Embedding层的处理之后有46*128的一张“图”。
在这里插入图片描述

注意:假如下一条数据长度不是46,比如是68,则也是经过这个网络。所以,不需要固定句子长度。

参考
1.代码
2.《Convolutional Neural Networks for Sentence Classification》

猜你喜欢

转载自blog.csdn.net/hao5335156/article/details/84890802