极简TextCNN,五分钟看懂文本分类基线算法
TextCNN引入TextCNN是基于卷积神经网络实现的用于文本分类的首选基线模型它没有复杂的循环结构也不用花费大量时间训练预训练模型仅通过简单的卷积、池化操作就能快速捕捉文本中的关键特征实现文本分类。TextCNN适用于中短文本分类的场景文本长度通常在几十到几百个词如新闻标题、商品评论、短信、问答等过长文本会导致特征图过长、池化损失过多信息。适用的情况包括文本里局部短语信号强支持并行计算轻量化部署在线推理极低延迟。本文主要介绍TextCNN的网络结构并给出了计算示例便于理解。本文内容参考极简TextCNN五分钟看懂文本分类基线算法TextCNN结构介绍TextCNN主要利用多个不同尺寸的卷积核提取文本中n-gram级别的局部特征再通过最大池化 保留最显著的特征最后送入全连接层 进行分类。TextCNN 的典型结构包含四层1.词嵌入层Embedding Layer将输入文本中的每个词映射为一个低维稠密向量如 Word2Vec或随机初始化。假设文本长度为L词向量维度为d则得到L×d的二维矩阵也就是“文本序列词向量矩阵”。2.卷积层Convolutional Layer通常会使用不同窗口大小h的卷积核例如 h2、3、4 个词每个窗口大小也会使用多个不同的卷积核在“文本序列词向量矩阵”上滑动。每个卷积核窗口 在“文本序列词向量矩阵”上滑动时窗口中“文本序列词向量矩阵”h×d的局部区域 与该卷积核 做点积当一个卷积核 在整个“文本序列向量矩阵”上 完成滑动时会产生一个特征图feature map。3.池化层Pooling Layer对每个特征图 执行最大池化取出该特征图中最大的一个值作用是提取每个卷积核 在整个文本中最强的信号同时使输出长度固定与文本长度无关。4.全连接层 softmax将所有池化后的值concat拼接成一个固定长度的向量传入一个或多个全连接层最后用softmax输出类别概率。TextCNN计算示例针对文本“I love this movie very much!”做情感分类给定的文本长度L7向量嵌入维度取5则有如下形状(7, 5)的嵌入矩阵如果选2*5大小的卷积核也就是卷积核窗口大小为2按步长1滑动则会产生7-216个窗口位置。此时卷积核划过的窗口一次覆盖的token组合是Ilovelovethisthismoviemovieveryverymuchmuch!基于下面的两个2*5卷积核示例计算过程更多详细内容参考极简TextCNN五分钟看懂文本分类基线算法
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2629684.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!