Tensorflow使用Char-CNN实现中文文本分类(1)

本文介绍了使用Tensorflow构建Char-CNN模型进行中文文本分类的方法,探讨了Char-CNN在处理时间序列问题上的应用,并对比了与LSTM的差异。通过讲解tf.layers.Conv1D函数的参数,为实现模型奠定了基础。
摘要由CSDN通过智能技术生成

前言

在之前的中文文本分类中,使用了LSTM来进行模型的构建(详情参考:
Tensorflow使用LSTM实现中文文本分类(2)
使用numpy实现LSTM和RNN网络的前向传播过程)。除了使用LSTM来处理时间序列问题,也可以使用在图像处理领域使用更多的卷积神经网络来处理时间序列问题。

LSTM and Char-CNN

  1. 在Char-CNN中,词语embedding的每一列(每一个特征),可以看做是一个通道,是该词语的一种表达。因此,(timesteps, embed_size)中的每一列,都可以看做是这一个句子的不同表达。
    其实想想,在图像领域,不同的卷积核提取出来的feature map,也是该图像的不同表达而已,本质上并没有什么区别。
  2. 一维卷积核应用在时间维度上,也就是应用在timestep(时间步)上,embedding的长度就是通道数目。这就产生了一个问题——句子不等长的处理方式,必须要对不等长的就句子进行截断,令其变成等长序列,这样才能正常运行。这也就是为什么CNN天然的不能很完美的解决序列式问题的原因之一。
  3. CNN的卷积核长度,就相当于可以看到句子中词语的个数,每次只能看到n个词语(虽然说可以将n设置的大一些,但终究是有限个)。而RNN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值