TextCNN

ç½ç»ç»æ

如上图所示:TextCnn就是利用类似于处理图像的方法,将文本输出组成为矩阵,对文本中语义信息进行学习。

 

 

论文中对textcnn的配图 
cnn在图像处理方面已经取得了不菲的成就. 将句子分割为单词拼接起来可以将文本拼接为图片的格式。
卷积具有局部特征提取的功能, 所以可用 CNN 来提取句子中类似 n-gram 的关键信息. 

 

主要参数:

  • sequence_length 
    Q: 对于CNN, 输入与输出都是固定的,可每个句子长短不一, 怎么处理? 
    A: 需要做定长处理, 比如定为n, 超过的截断, 不足的补0. 注意补充的0对后面的结果没有影响,因为后面的max-pooling只会输出最大值,补零的项会被过滤掉.
  • num_classes 
    多分类, 分为几类.
  • vocabulary_size 
    语料库的词典大小, 记为|D|.
  • embedding_size 
    将词向量的维度, 由原始的 |D| 降维到 embedding_size.
  • filter_size_arr 
    多个不同size的filter.

 

embedding layer

将原数据嵌入到低维度向量中。就是对原数据进行了一次特征提取,在指定的维度中利用低维向量表示原数据。

convolution Layer

对不同的filter都建立一个卷积层,所以会有多个feature map

图像会有三个像素通道,但是文本没有,所以在这一点会有所不一样。

  • xi
    xi∈ℝk, 一个长度为n的句子中, 第 i 个词语的词向量, 维度为k.
  • xi:j
    xi:j=xi⊕xi+1⊕...⊕xj
    表示在长度为n的句子中, 第 [i,j] 个词语的词向量的拼接.
  • h
    卷积核所围窗口中单词的个数, 卷积核的尺寸其实就是 hk
  • w
    w∈ℝhk, 卷积核的权重矩阵.
  • ci
    ci=f(w⋅xi:i+h−1+b), 卷积核在单词i位置上的输出. b∈ℝK, 是 bias. f是双曲正切之类的激活函数.
  • c=[c1,c2,...,cn−h+1]
    filter在句中单词上进行所有可能的滑动, 得到的 feature map.

max-pooling layer

输出卷积的最大值,对其中的补全的0会过滤掉

softmax分类layer

全连接的softmax层,输出每个类别的概率

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值