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