首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

CNN中文文本分类-基于TensorFlow实现

代码地址:Github 转载请注明出处:Gaussic - 写干净的代码 基于CNN文本分类问题已经有了一定的研究成果,CNN做句子分类的论文可以参看: Convolutional Neural Networks...本章的目的是基于TensorFlow的API来重新实现一个在中文文本上的分类器。如果你觉得对你有些许帮助或者疑惑,欢迎star和交流。...数据集 本文采用了清华NLP组提供的THUCNews新闻文本分类数据集的一个子集(原始的数据集大约74万篇文档,训练起来需要花较长的时间)。...数据集请自行到THUCTC:一个高效的中文文本分类工具包下载,请遵循数据提供方的开源协议。 本次训练使用了其中的10个分类,每个分类6500条,总共65000条新闻数据。...可看到它使用了多个不同宽度的卷积核然后将它们做了一个max over time pooling转换为一个长的特征向量,再使用softmax进行分类。 实验发现,简单的cnn也能达到较好的效果。

1.1K21

CNN-RNN中文文本分类,基于TensorFlow 实现

使用卷积神经网络以及循环神经网络进行中文文本分类 CNN做句子分类的论文可以参看: https://arxiv.org/abs/1408.5882 还可以去读dennybritz大牛的博客: http...://arxiv.org/abs/1509.01626 本文是基于TensorFlow在中文数据集上的简化实现,使用了字符级CNN和RNN对中文文本进行分类,达到了较好的效果。...使用THUCNews的一个子集进行训练与测试,数据集请自行到THUCTC:一个高效的中文文本分类工具包 下载,请遵循数据提供方的开源协议。...代码、子数据集获取: 关注微信公众号 datayx 然后回复 文本分类 即可获取。 本次训练使用了其中的10个分类,每个分类6500条数据。...从混淆矩阵可以看出分类效果非常优秀。 对比两个模型,可见RNN除了在家居分类的表现不是很理想,其他几个类别较CNN差别不大。 还可以通过进一步的调节参数,来达到更好的效果。

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    基于Text-CNN模型的中文文本分类实战

    本文介绍NLP中文本分类任务中核心流程进行了系统的介绍,文末给出一个基于Text-CNN模型在搜狗新闻数据集上二分类的Demo。...数据处理流程 5、 文本分类模型 文本分类模型,可以大体上分为基于传统机器学习的文本分类模型,基于深度学习的文本分类模型,目前基于深度学习模型的文本分类模型已经成为了主流,下面基于CNN文本分类模型...文本分类技术路线 本文选择使用2013年Kim提出的Text-CNN模型作为文本分类模型,通过验证实验以及业界的共识,在文本分类任务中,CNN模型已经能够取到比较好的结果,虽然在某些数据集上效果可能会比...模型的中文文本分类demo 我从搜狗的开源的的新闻数据集(small版)中,选择了两个类别的数据:计算机与交通两个类别,构建了一个中文文本分类的数据集。...以上就是简单的介绍了NLP中文本分类所涉及的主要流程,并给出了一个中文文本分类的Demo代码。

    2.5K40

    基于 tensorflow 使用 CNN-RNN 进行中文文本分类

    使用卷积神经网络以及循环神经网络进行中文文本分类。...CNN做句子分类的论文可以参看: Convolutional Neural Networks for Sentence Classification;还可以去读dennybritz大牛的博客:Implementing...Classification 本文是基于TensorFlow在中文数据集上的简化实现,使用了字符级CNN和RNN对中文文本进行分类,达到了较好的效果。...环境 Python 3.5 TensorFlow 1.3 numpy scikit-learn 数据集 使用THUCNews的一个子集进行训练与测试,数据集请自行到THUCTC:一个高效的中文文本分类工具包下载...从混淆矩阵可以看出分类效果非常优秀。 对比两个模型,可见RNN除了在家居分类的表现不是很理想,其他几个类别较CNN差别不大。 还可以通过进一步的调节参数,来达到更好的效果。

    6.4K10

    NLP系列学习:CNN文本分类

    这篇文章也可以算是CNN用于文本分类的开山之作了,尽管第一个使用CNN进行文本分类的不是Yoon Kim,但是Kim在这篇文章里提出来不少的方法,并且调参的过程也很详细,这些是我们应该学习的。...我们传统的分类器比如朴素贝叶斯和SVM这样的,大多数将文本表示的方法是将其转换为“词袋模型”,主要还是根据在文本中出现的词频来做的,这样也会导致词与词之间的序列信息丢失,我们分词之后,句子本身相当于切成一块一块...,这些 word vector 也当做是可优化的参数,在训练过程中被 Fine tuned; CNN-multichannel: CNN-static 和 CNN-non-static 的混合版本,即两种类型的输入...全连接层+softmax层 池化之后的一维向量通过全连接的方式接入一个softmax层进行分类,并且在全连接部分使用Dropout,减少过拟合。...显然利用了更大规模的文本数据信息); CNN-non-static较于CNN-static大部分要好,说明适当的Fine tune也是有利的,是因为使得vectors更加贴近于具体的任务; CNN-multichannel

    60250

    python 中文文本分类

    一,中文文本分类流程: 预处理 中文分词 结构化表示–构建词向量空间 权重策略–TF-IDF 分类器 评价 二,具体细节 1,预处理 1.1得到训练集语料库 即已经分好类的文本资料(例如:语料库里是一系列...\art\21.txt) 推荐语料库:复旦中文文本分类语料库,下载链接:http://download.csdn.net/detail/github_36326955/9747927 将下载的语料库解压后...测试预料可以从1.1中的训练预料中随机抽取,也可以下载独立的测试语料库,复旦中文文本分类语料库测试集链接:http://download.csdn.net/detail/github_36326955/...未来,博主会集中介绍两种技术: 1.利用LDA模型进行文本分类 2.利用深度学习进行文本分类 利用深度学习进行文本分类,要求你必须对深度学习的理论有足够多的掌握。...与网上其他介绍CNN的博文不同的是: 我们会全方位,足够深入的为你讲解CNN的知识。包括很多,你之前在网上找了很多资料也没搞清楚的东西。 我们会利用CNN文本分类的实践。

    1.2K20

    译:Tensorflow实现的CNN文本分类

    翻译自博客:IMPLEMENTING A CNN FOR TEXT CLASSIFICATION IN TENSORFLOW 原博文:http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow.../ github:https://github.com/dennybritz/cnn-text-classification-tf 在这篇文章中,我们将实现一个类似于Kim Yoon的卷积神经网络语句分类的模型...本文提出的模型在一系列文本分类任务(如情感分析)中实现了良好的分类性能,并已成为新的文本分类架构的标准基准。 本文假设你已经熟悉了应用于NLP的卷积神经网络的基础知识。...使用与原始文献相同的代码清理文本数据。 将每个句子加到最大句子长度(59)。我们向所有其他句子添加特殊的操作,使其成为59个字。...分类问题的标准损失函数是交叉熵损失 cross-entropy loss。 ?

    1.3K50

    吾爱NLP(4)—基于Text-CNN模型的中文文本分类实战

    本文介绍NLP中文本分类任务中核心流程进行了系统的介绍,文末给出一个基于Text-CNN模型在搜狗新闻数据集上二分类的Demo。...,基于深度学习的文本分类模型,目前基于深度学习模型的文本分类模型已经成为了主流,下面基于CNN文本分类模型。...spm=a2c4e.11153959.blogcont60601.11.815eea72lw2ij 6.基于Text-CNN模型的中文文本分类Demo: 我从搜狗的开源的的新闻数据集(small版)中,...选择了两个类别的数据:计算机与交通两个类别,构建了一个中文文本分类的数据集。...以上就是简单的介绍了NLP中文本分类所涉及的主要流程,并给出了一个中文文本分类的Demo代码。

    8.1K91

    CNN文本分类之网络结构

    本文主要是基于Yoon Kim的Convolutional Neural Networks for Sentence Classification,用中文重新梳理一遍。...第一层网络是词嵌入层,用来将文本转换成低维度的向量;第二层是卷积层,使用多个卷积核;第三层是max-pool最大池化层,产出一个长的feature向量,添加dropout;最后是softmax层,进行分类...num_classes – 分类类别数量 vocab_size – 词典的大小,embedding层的向量维度为 [vocabulary_size, embedding_size]. embedding_size...在分类中常用交叉损失。 对于准确率,我们也定义以个表达式,它是跟踪训练和测试的有效衡量标准。 可视化 下图是整个网的络结构。...Implementing a CNN for Text Classification in TensorFlow Convolutional Neural Networks for Sentence Classification

    92960

    文本分类(下)-卷积神经网络(CNN)在文本分类上的应用

    1 简介 原先写过两篇文章,分别介绍了传统机器学习方法在文本分类上的应用以及CNN原理,然后本篇文章结合两篇论文展开,主要讲述下CNN文本分类上的应用。...4 一个CNN文本分类的简单例子 ? I like this movie very much!...5 文本分类实战 下面是利用Keras实现的CNN文本分类部分代码: # 创建tensor print("正在创建模型...") inputs=Input(shape=(sequence_length,...准训练结果:验证集91%左右 项目地址:https://github.com/yanqiangmiffy/Text-Classification-Application 6 相关资料 中文文本分类对比...(经典方法和CNN) - 简书 文本分类(上)- 基于传统机器学习方法进行文本分类 - 简书 CNN中文文本分类的应用 - 代码王子 - 博客园 卷积神经网络(CNN)在句子建模上的应用 | Jey

    1.5K20

    文本分类(下) | 卷积神经网络(CNN)在文本分类上的应用

    1、简介 原先写过两篇文章,分别介绍了传统机器学习方法在文本分类上的应用以及CNN原理,然后本篇文章结合两篇论文展开,主要讲述下CNN文本分类上的应用。...4、一个CNN文本分类的简单例子 ? I like this movie very much!...5、文本分类实战 下面是利用Keras实现的CNN文本分类部分代码: 1# 创建tensor 2print("正在创建模型...") 3inputs=Input(shape=(sequence_length...准训练结果:验证集91%左右 项目地址: https://github.com/yanqiangmiffy/Text-Classification-Application 6、相关资料 中文文本分类对比...(经典方法和CNN) - 简书 文本分类(上)- 基于传统机器学习方法进行文本分类 - 简书 CNN中文文本分类的应用 - 代码王子 - 博客园 卷积神经网络(CNN)在句子建模上的应用 | Jey

    1.2K31

    基于CNN中文文本分类算法(可应用于垃圾文本过滤、情感分析等场景)

    文本分类任务是一个经久不衰的课题,其应用包括垃圾邮件检测、情感分析等。 传统机器学习的做法是先进行特征工程,构建出特征向量后,再将特征向量输入各种分类模型(贝叶斯、SVM、神经网络等)进行分类。...随着深度学习的发展以及RNN、CNN的陆续出现,特征向量的构建将会由网络自动完成,因此我们只要将文本的向量表示输入到网络中就能够完成自动完成特征的构建与分类过程。...就分类任务而言,CNN比RNN更为合适。CNN目前在图像处理方向应用最为广泛,在文本处理上也有一些的应用。...文本分类 即可获取。...那篇文章中实现的CNN是用于英文文本分类的,并且在卷积之前,有一层embedding层,用于得到文本的向量表示。 而本博文中实现的CNN在上面的基础上略有修改,用于支持中文文本分类

    1.4K30

    Implementing a CNN for Text Classification in TensorFlow(用tensorflow实现CNN文本分类) 阅读笔记

    paper:Convolutional Neural Networks for Sentence Classification 源代码:https://github.com/dennybritz/cnn-text-classification-tf...原博客:http://www.wildml.com/2015/12/implementing-a-cnn-for-text-classification-in-tensorflow/ 数据和预处理...Rotten Tomatoes,包含5331个积极的评论和5331个消极评论,同时包含一个20k的词表 注意:数据集过小容易过拟合,可以进行10交叉验证 步骤: 加载两类数据 文本数据清洗...第一层把词嵌入到低纬向量;第二层用多个不同大小的filter进行卷积;第三层用max-pool把第二层多个filter的结果转换成一个长的特征向量并加入dropout正规化;第四层用softmax进行分类...时allow_soft_placement使得可以在cpu操作 log_device_placement用于设备的log,方便debugging FLAGS是程序的命令行输入 CNN

    72430

    【NLP实战】手把手带你CNN文本分类

    NLP中的CNN 论文中是使用的CNN框架来实现对句子的分类,积极或者消极。当然这里我们首先必须对CNN有个大概的了解,可以参考我之前的这篇【Deep learning】卷积神经网络CNN结构。...目前主流来看,CNN主要是应用在computer vision领域,并且可以说由于CNN的出现,使得CV的研究与应用都有了质的飞跃。...但是在文本分类问题上,相比于RNN,CNN的构建和训练更为简单和快速,并且效果也不差,所以仍然会有一些研究。 那么,CNN到底是怎么应用到NLP上的呢?...弄清楚了CNN的结构,下面就可以开始实现文本分类任务了。...进行NLP分类任务(文本分类,情感分析等)的baseline,可以看出准确率并不是很高,后续还有很多可以优化的地方,包括使用pre-trained的Word2vec向量、加上L2正则化等等。

    89911

    基于tensorflow+CNN的搜狐新闻文本分类

    CNN是convolutional neural network的简称,中文叫做卷积神经网络。 文本分类是NLP(自然语言处理)的经典任务。...编程环境 操作系统:Win10 tensorflow版本:1.6 tensorboard版本:1.6 python版本:3.6 1.致谢声明 本文是作者学习《使用卷积神经网络以及循环神经网络进行中文文本分类...的搜狐新闻文本分类中有8个文件,如下图所示: ?...推荐博客《Text-CNN 文本分类》从模型原理上辅助理解,链接:https://blog.csdn.net/chuchus/article/details/77847476 本文作者解释每行代码含义如下...3.本文进行了类的封装,小型中文文本分类项目经过数据处理得到内容列表content_list和标签列表label_list之后,即可直接使用类做模型训练和预测,并且得到详细的预测结果报告表。

    1.6K20

    基于tensorflow+CNN的报警信息短文本分类

    CNN是convolutional neural network的简称,中文叫做卷积神经网络。 文本分类是NLP(自然语言处理)的经典任务。...操作系统:Win10 python版本:3.6 集成开发环境:jupyter notebook tensorflow版本:1.6 1.致谢声明 本文是作者学习《使用卷积神经网络以及循环神经网络进行中文文本分类...image.png 1.data文件夹是原始数据,其中有4个csv文件,分别代表4个分类; 2.cnn_package.py文件是代码文件,可以通过python cnn_package.py命令运行...1.理解cnn_test.ipynb文件推荐阅读《基于tensorflow+CNN的新浪新闻文本分类》,链接:https://www.jianshu.com/p/b1000d5345bb 2.理解cnn_package.py...文件推荐阅读《基于tensorflow+CNN的垃圾邮件文本分类》,链接:https://www.jianshu.com/p/f3ca7c75401b 6.总结 1.本文是作者第9个NLP小型项目,数据共有

    1.3K21

    详解文本分类之多通道CNN的理论与实践

    阅读大概需要4分钟 导读 最近在梳理文本分类的各个神经网络算法,特地一个来总结下。接下来将要一个文章一个文章的讲解各个算法的理论与实践。...目录暂定为: 多通道卷积神经网络(multi_channel_CNN) 深度卷积神经网络(deep_CNN) 基于字符的卷积神经网络(Char_CNN) 循环与卷积神经网络并用网络(LSTM_CNN)...先前知识补充 先说点基础的,我们最刚开始的分类其实就是embedding层之后直接经过线性层进行降维,将其映射到分类上,图为: ?...有了上面的基础,我们引出multi_channel_CNN就容易多了。 multi_channel_CNN 多通道,就是CNN中的一次性卷积要处理的多少组数据。...(pytorch) class Multi_Channel_CNN 初始化: def __init__(self, opts, vocab, label_vocab): super(Multi_Channel_CNN

    3.3K30

    BERT中文实战:文本相似度计算与文本分类

    对于NLP的正常流程来说,我们需要做一些预处理,例如分词、W2V等,BERT包含所有的预训练过程,只需要提供文本数据即可,接下来我们会基于NLP常用的文本相似度计算问题来介绍如何使用BERT。...BERT中文实战:文本相似度计算与文本分类 代码下载: 关注微信公众号 datanlp 然后回复 bert 即可获取下载链接。...下载预训练模型 谷歌提供了以下几个版本的BERT模型,每个模型的参数都做了简单的说明,中文的预训练模型在11月3日的时候提供了,这里我们只需要用到中文的版本 https://storage.googleapis.com...get_labels方法返回的是一个数组,因为相似度问题可以理解为分类问题,所以返回的标签只有0和1,注意,这里我返回的是参数是字符串,所以在重写获取数据的方法时InputExample中的label也要传字符串的数据...下有测试数据,测试完成后会在output_dir路径下生成一个test_results.tsv文件,该文件包含了测试用例和相似度probabilities 总结 除了相似度计算,以上的代码完全能够用来做文本分类

    5.2K20
    领券