基于汉字字频特征实现99.99%准确率的新闻文本分类器(一)

原创 2016年05月30日 17:00:48


基于汉字字频特征实现99.99%准确率的新闻文本分类器(一)

基于汉字字频特征实现99.99%准确率的新闻文本分类器(二)

基于汉字字频特征实现99.99%准确率的新闻文本分类器(三)

简介

文本分类系列文章,详细并且公开源码的一步一步实现一个新闻文本分类器,准确率搞的夸张一点99.99%并且不是过拟合的99.99%而是具备良好推广性的99%,主要技术特点是采用汉字字频作为特征,和SVM、多层神经网络的应用。

目标

对新闻文本进行二分类,即判断一篇新闻是属于军事类还是非军事类。新闻定义为50个汉字以上的短文,而不是一句话新闻。

99%以上的分类准确率,不陷于局部最优解,能够对语料库里的瑕疵数据进行容错。

具备良好的推广性,即使用训练集以外的海量新闻文本作为测试用例,仍具备不低于98%的分类准确率。

方法

现在自然语言处理做中文文本分类,多是采用词袋模型提取文本特征值。需要切词(分词)去停止符,选取关键词等步骤,对于分词又有多种中文分词器选择,作为特征的关键词选择更是有多种方法。汉字不同于字母文字,字母文字必须由字母组成单词才能表达语义,基于汉字是表义文字而不是表音文字,笔者认为直接采用字频作为文本的特征,比词频更能精确描述文本的内容。所以做了一个尝试,使用文章的汉字字频和常见的算法,希望能得到一个比现有模型更好的文本分类器。使用文本汉字字频,而不是词频有这些优点:无需切词,分词,去停止词,选取关键词等步骤;准确率高。

步骤

这个系列的文章,将采用开门见山的步骤,即

1、用开源的源代码抽取特征数据作为训练/测试集

2、用开源的人工智能算法,对训练集获得一个初步的分类成绩

3、详解源代码,并优化特征数据的处理

4、实现99.99%的分类准确率

5、神秘提升,****加成

好了,说了这么多,让我们开始行动吧。

数据准备

此次分类器的数据,采用搜狗文本分类语料库 http://www.sogou.com/labs/dl/c.html

 

请下载完整版(107M)的文件 http://www.sogou.com/labs/sogoudownload/SogouC.tar.gz

但是在笔者尝试下载的时候,发现此文件已经损坏,下载到一个49M的压缩包。只能解压缩出前4万3千个文本文件。百度网盘完整备份,http://pan.baidu.com/s/1qXLo9cS

ClassFile.7z,MD5 【1BF6D63389C2AF844A299D0D62621FBA】 将下载的数据压缩文件解压缩,可以看到如图所示,共八万个文本文件,分别属于十个类别。

下节预告

下节,将会提供两个程序的源代码,项目采用C#语言编写,请在计算机上安装好

Visual Studio 2013 社区免费版,当然,Visual Studio 2012或者Visual Studio 2015的社区版/Express桌面版或者更高版本也可以兼容,只需一个即可。

下载地址:https://www.visualstudio.com/zh-cn/downloads/download-visual-studio-vs.aspx

我们会用这些源代码,生成程序并从文本文件中提取字频特征,并一睹99.xx%的风采。

八万分之八的错误,哦,有些挑战。

基于汉字字频特征实现99.99%准确率的新闻文本分类器(二)

版权声明:本文为博主原创文章,转载请注明原始链接

相关文章推荐

基于汉字字频特征实现99.99%准确率的新闻文本分类器(五)

5层神经网络的泛化能力优异...

基于汉字字频特征实现99.99%准确率的新闻文本分类器(三)

五层人工神经网络对汉字字频特征的分类效果令人...

基于汉字字频特征实现99.99%准确率的新闻文本分类器(四)

PreData - 文本汉字字频特征向量提取项目代码解读

新闻推荐系统之朴素贝叶斯分类器文本分类

因为最近需要为自己团队的项目开发新闻推荐的功能模块,在推荐算法这一块涉及到了基于内容的推荐算法(Content-Based Recommendation),因此用到了朴素贝叶斯来对抓取的新闻进行分类,...

【机器学习实战】网格搜索--贝叶斯新闻文本分类器调优

#对文本分类的朴素贝叶斯模型的超参数组合进行网格搜索 #从sklearn.datasets中导入20类新闻文本抓取器 from sklearn.datasets import fetch_20news...

数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(下)

本文接 数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文档分类器的JAVA实现(上)  (update 2012.12.28 关于本项目下载及运行的常见问题 FAQ见 newsg...

数据挖掘-基于贝叶斯算法及KNN算法的newsgroup18828文本分类器的JAVA实现(上)

(update 2012.12.28 关于本项目下载及运行的常见问题 FAQ见 newsgroup18828文本分类器、文本聚类器、关联分析频繁模式挖掘算法的Java实现工程下载及运行FAQ )本文主...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)