CNN用于文本分类本就是一个不完美的解决方案,因为CNN要求输入都是一定长度的,而对于文本分类问题,文本序列是不定长的,RNN可以完美解决序列不定长问题,

因为RNN不要求输入是一定长度的。那么对于CNN用于解决文本分类问题而言,可以判断文本的长度范围,例如如果大多数文本长度在100以下,极少数在100以上,那就

可以设定文本长度是100,不足100的文本用padding补齐,多于100的文本则截断。具体过程如下图:

  首先把分词之后的句子按照设定的维度展开,这里维度是9,每个单词都会有一个向量表达,维度是6(word embedding),然后用一个一维卷积核(也可以是多个)对其进行卷积操作,注意,单词的Embedding的长度就是原始输入的通道数,也就是卷积核的通道数;卷积操作之后,再对其进行Pooling操作,有max-pool和average-pool操作两种,注意,这里是对时间维度,也就是句子序列上做Pooling;最后再输入到一个全连接神经网络中,得到分类结果。

CNN和RNN用于解决文本分类问题的对比:

    • CNN不能完美解决序列式问题
    • CNN卷积相当于N-gram(使用一定长度的卷积核),LSTM可以提取更长的依赖
    • 双向RNN会增强效果
    • CNN模型并行程度高,更快

最新文章

  1. RESTful API测试工具
  2. Python数据分析之numpy学习
  3. Sprint(第一天11.14)
  4. Unix系统编程_cha11.6_线程同步
  5. sql server 如何在一个数据库中操作另一个数据库中的数据
  6. Sql操作表字段
  7. SPOJ 375 (树链剖分+线段树)
  8. Android HttpClient POST JSON Restful-web-services
  9. escape encodeURI encodeURIComponent区别
  10. 修改MySQL引擎
  11. 通用线程:POSIX 线程详解,第 3 部分 条件互斥量(pthread_cond_t)
  12. SQL Server索引进阶:第六级,标签
  13. 【MongoDB】The description of index(一)
  14. C#私房菜[二][提供编程效率的技巧]
  15. java里Struts2学习登录练习详解
  16. es6之各种数据类型的扩展
  17. JS下计算当前日期(当天)后N天出现NAN或者undefined的情况
  18. 一个很初级的错误 Destructor忘记override导致内存泄露
  19. NSOperation、NSOperationQueue(II)
  20. 破局人工智能:构建AI,与腾讯云一起探索语音应用场景

热门文章

  1. ui自动化之selenium操作(四)简单元素操作
  2. [每日一学]apache camel简介
  3. Vue项目使用域名访问配置
  4. 关于Vue 刷新页面
  5. java面向对象4-多态
  6. Mac SIP系统完整性保护如何关闭
  7. DB2常用指令
  8. 【leetcode】1178. Number of Valid Words for Each Puzzle
  9. 设计模式来替代if-else
  10. jQery Datatables回调函数中文