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

七月 上海 | 高性能计算之GPU CUDA培训

7月27-29日640?wx_fmt=jpeg三天密集式学习  快速带你入门阅读全文>


正文共5260个字,21张图,预计阅读时间28分钟。


640?wx_fmt=png

Text-CNN


640?wx_fmt=png1、文本分类

转眼学生生涯就结束了,在家待就业期间正好有一段空闲期,可以对曾经感兴趣的一些知识点进行总结。


本文介绍NLP中文本分类任务中核心流程进行了系统的介绍,文末给出一个基于Text-CNN模型在搜狗新闻数据集上二分类的Demo。


文本分类是自然语言处理领域最活跃的研究方向之一,从样本数据的分类标签是否互斥上来说,可以分为文本多分类与文本多标签分类。


640?wx_fmt=png

文本分类


目前文本分类在工业界的应用场景非常普遍,从新闻的分类、商品评论信息的情感分类到微博信息打标签辅助推荐系统,了解文本分类技术是NLP初学者比较好的切入点,较简单且应用场景高频。


640?wx_fmt=png

640?wx_fmt=png2、  数据准备

在机器学习领域有一句话:数据决定了模型最终的高度,不断优化的模型只不过是为了不断逼近这个高度而已。


文本分类作为一种有监督学习的任务,毫无疑问的需要一个可用于有监督学习的语料集(X,Y)。本文中使用以下标记,X为特征,文本分类中即为文本序列,Y是标签,即文本的分类名称。


机器学习与传统编程技术的明显区别就是:机器学习是以数据为驱动的,传统的编程中,我们核心任务是人工设计分类规则(指令代码),然后实现输入特征X获得分类标签Y。而在机器学习的方式中,我们首要的是获得一个高质量的、大数据量的有监督语料集(X,Y),然后机器学习的方式会自动的从已构建的数据集上归纳出(训练出)一套分类规则(分类模型),最后我们利用获得的分类规则来实现对未标记文本的分类。


640?wx_fmt=png

机器学习VS传统编程


换言之,传统的编程方式输入的是指令代码,而机器学习输入的是结构化数据。

因此,在机器学习任务中,数据的质量与数量对最终模型的预测结果好坏具有决定性的作用。


常言道:Garbage in, garbage out!


在文本分类中,语料集(X,Y)的质量、数量决定了文本分类模型的分类效果。


语料集的质量:即数据集的特征X对应的标签Y是否标记的正确,一般在众包平台中会采用多人重复标记,然后基于投票的机制来控制语料集的标记质量。


语料集的数量:有监督语料集的标注复杂度,想要获得海量的高质量语料集的成本是十分高昂的,这也限制的语料集的数量。


在实际的文本分类任务中,一般通过搜集开源的数据集,或者利用爬虫获取结构化的网页信息来构建特定任务的语料集。不过,我还是更喜欢关注一些公开的竞赛项目,能够获得企业准备的高质量、应对真实业务场景的数据集,例如:kaggle、知乎的看山杯、mrc2018-cipsc等,但大多数情况下企业只给脱敏之后的数据

阅读更多
上一篇深度学习与TensorFlow:FCN论文学习笔记
下一篇谈谈复杂多分类问题上的一些个人理解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭