CNN文本分类

  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会增强效果

原文地址:https://www.cnblogs.com/yqpy/p/11051810.html

时间: 2024-11-11 17:37:35

CNN文本分类的相关文章

pytorch -- CNN 文本分类 -- 《 Convolutional Neural Networks for Sentence Classification》

论文  < Convolutional Neural Networks for Sentence Classification>通过CNN实现了文本分类. 论文地址: 666666 模型图: 模型解释可以看论文,给出code and comment: 1 # -*- coding: utf-8 -*- 2 # @time : 2019/11/9 13:55 3 4 import numpy as np 5 import torch 6 import torch.nn as nn 7 impor

简单的CNN文本分类

假设我们一句话有十个词,每个词语都可以用128维来表示,那么一句话就是一个10*128的矩阵图片.建立一个如下图的卷积神经网络:上面对这个图片进行卷积核大小分别为2.3.4的卷积计算形成feature_map 最后通过softmax进行分类 代码如下: #coding:utf-8 import tensorflow as tf import numpy as np import pickle class TextCNN(object): """ A CNN for text

用深度学习(CNN RNN Attention)解决大规模文本分类问题 - 综述和实践

转自https://zhuanlan.zhihu.com/p/25928551 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类领域特别是应用深度学习解决文本分类的相关的思路.做法和部分实践的经验. 业务问题描述: 淘宝商品的一个典型的例子见下图,图中商品的标题是"夏装雪纺条纹短袖t恤女春半袖衣服夏天中长款大码胖mm显瘦上衣夏".淘宝网后台是通过树形的多层的类目体系管理商品的,覆盖叶子类目数量达上万个,商品量也

文本分类需要CNN?No!fastText完美解决你的需求(后篇)

http://blog.csdn.net/weixin_36604953/article/details/78324834 想必通过前一篇的介绍,各位小主已经对word2vec以及CBOW和Skip-gram有了比较清晰的了解.在这一篇中,小编带大家走进业内最新潮的文本分类算法,也就是fastText分类器.fastText与word2vec的提出者之所以会想到用fastText取代CNN(卷积神经网络)等深度学习模型,目的是为了在大数据情况下提高运算速度. 其实,文本的学习与图像的学习是不同的

文本分类需要CNN?No!fastText完美解决你的需求(前篇)

http://blog.csdn.net/weixin_36604953/article/details/78195462?locationNum=8&fps=1 文本分类需要CNN?No!fastText完美解决你的需求(前篇) fastText是个啥?简单一点说,就是一种可以得到和深度学习结果准确率相同,但是速度快出几个世纪的文本分类算法.这个算法类似与CBOW,可爱的读着是不是要问CBOW又是个什么鬼?莫急,听小编给你慢慢到来,一篇文章,让你了解word2vec的原理,CBOW.Skip-

dnn文本分类

简介 文本分类任务根据给定一条文本的内容,判断该文本所属的类别,是自然语言处理领域的一项重要的基础任务.具体的,本任务是对文本quey进行分类,任务流程如下: 收集用户query数据. 清洗,标记. 模型设计. 模型学习效果评估. 运行 训练: sh +x train.sh 预测: python infer.py 输入/输出 输入样本: label text(分词后) 0 龙脉温泉 住宿 1 龙马 机场 飞机 2 龙里 旅游 其中,label 0,1和2分别代表:酒店,票务和住宿. 预估样本:

Tensorflor实现文本分类

Tensorflor实现文本分类 下面我们使用CNN做文本分类 cnn实现文本分类的原理 下图展示了如何使用cnn进行句子分类.输入是一个句子,为了使其可以进行卷积,首先需要将其转化为向量表示,通常使用word2vec实现.d=5表示每个词转化为5维的向量,矩阵的形状是[sentence_length × 5],即[7 ×5].6个filter(卷积核),与图像中使用的卷积核不同的是,nlp使用的卷积核的宽与句子矩阵的宽相同,只是长度不同.这里有(2,3,4)三种size,每种size有两个fi

转:文本分类问题

作者:西瓜军团链接:https://www.zhihu.com/question/58863937/answer/166306236来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 一.传统文本分类方法 文本分类问题算是自然语言处理领域中一个非常经典的问题了,相关研究最早可以追溯到上世纪50年代,当时是通过专家规则(Pattern)进行分类,甚至在80年代初一度发展到利用知识工程建立专家系统,这样做的好处是短平快的解决top问题,但显然天花板非常低,不仅费时费力,覆

【搜索引擎(四)】文本分类

Q1. 为什么搜索引擎要用到文本分类? 搜索引擎要处理海量文本,人工分类不现实,机器的自动分类对提高文本的分类效率至少起到了一个基准的效果.另外,文本分类跟搜索引擎系统可以进行信息互通,文本分类的输入是文本,输出可以是标签或者是否从属于某个分类. Q2.文本分类基础算法 文本分类基础算法与机器学习.人工智能.数据挖掘中用到的算法都是联系紧密的,它从属的自然语言处理也正是人工智能的分支.你可能会想到文本分类肯定要用到基础的分类器,而且在更复杂的情况下可能还要用到人工智能的一些学习方法,比如双向LS