文档章节

文本分类算法的效果

mickelfeng
 mickelfeng
发布于 2017/06/15 09:55
字数 1536
阅读 15
收藏 0

基于统计的分类算法是主流,主要包括以下几种分类模型:

  • 相似度模型(Rocchio、K-近邻)、
  • 概率模型(贝叶斯)、
  • 线性模型(LLSF、SVM)、
  • 非线性模型(决策树、神经网络)、
  • 组合模型。对于这些分类算法,

国内外很多研究者进行了客观评测(Yang,1999;Joachims,1998;He,2000;Tsay,2000;庞剑锋,2001;王灏,2003;李保利,2003;周雪忠,2003)。

 

分类算法效果评述

来源:《基于关键短语的文本分类研究》

很多实验证明无论分类算法如何改进,分类效果总难以提高,而且众多分类算法在训练集充分的情况下,几乎没有什么区别。

在周雪忠的实验中,统计数据表明词频特征表示的TFIDF/Rocchio的分类准确率在测试集相对充分时高于SVM,在特征表示和分类器相结合的实验中,TFIDF/Rocchio(W)取得了最好的效果,最后他得出结论,采用相对高维的特征表示(如词)和简单的分类方法(如TFIDF/Rocchio)即可达到理想的分类性能要求。

另外,Yiming Yang和Xin Liu(1999)对五种文本分类方法进行了受限的统计显著性测试研究:支持向量机(SVM)、k-近邻(KNN),神经网络(NNet)、线性最小平方拟合(LLSF)映射和朴素贝叶斯(NB)。结果表明当训练集平均,每个类中的正例数目较少时(少于10),SVM、 KNN和LLSF比NNet、NB显然要好,而当处理大分类(超过300个正例样本)时所有的分类方法性能相当。

这些都证明在算法改进提高分类效果的基础上,文本分类效果的进一步提高已经不能单纯依靠算法了。

 

文本分类算法的进一步说明

来源:《简单的分类模型》 

基于TFIDF的Rocchio算法

Rocchio的发音是"Rockey-O"。

Rocchio算法来源于向量空间模型理论,向量空间模型Vector space model的基本思想为采用向量来表示一个文本,之后的处理过程就可以转化为空间中向量的运算。基于TFIDF的Rocchio是这种思想的一种实现方法,其中以一个N维向量来表示文本,向量维数N即特征数,向量分量是特征的某种权重,表示该权值的计算方法称为TFIDF方法。通过TFIDF方法,首先将训练集中的文本表示为向量,然后生成类别特征向量,即可以用来代表一个类别的向量,类别特征向量取值为该类中所有文本向量的平均值。

Rocchio算法训练的过程,其实就是建立类别特征向量的过程,分类的时候给定一个未知文本,先生成该文本的向量,然后计算该向量与各类别特征向量的相似度,最后将该文本分到与其最相似的类别中去。

向量的相似度度量方法有两种:欧几里德距离和cosin。

总体来看,Rocchio算法简单易行运行速度尤其是分类速度较快。

 

朴素贝叶斯

贝叶斯分类是一种统计学分类方法,它基于贝叶斯定理,可以用来预测类成员关系的可能性,给出文本属于某特定类别的概率,分类时根据预测结果将该样本分到概率最高的类别中去即可。

朴素贝叶斯分类模型训练的过程其实就是统计每一个特征在各类中出现规律的过程,从理论上,讲贝叶斯分类的出错率最小,就试验结果来看,朴素贝叶斯在大型的数据集上表现出来难得的速度和准确度。

 

决策树Decision Tree

决策树是一个类似于流程图的树结构,其中每个节点代表一个属性上的测试,每个分支代表一个测试输出,最后的叶结点代表类别。决策树方便改写为形如if- then的分类规则,易于理解。

决策树的核心算法是一种贪心算法,它以自顶向下的方式在训练集的基础上构造决策树之后,取未知文本的属性,在决策树上测试路径由根结点到叶结点,从而得到该文本的所属类别。

决策树的算法有C4.5(发展于ID3)CART,CHAID等,他们的区别在于构造决策树与树枝剪除的算法细节不同。

决策树可以很好的抵抗噪声,最大的缺点在于不适应大规模的数据集,此种情况下决策树的构造会变得效率低下。

 

K近邻分类K-nearest neighbor

KNN的思想也来源于向量空间模型,同样采用将文本转化为向量的思想。KNN是一种基于类比的分类方法,在训练的过程中,KNN会生成所有训练例的特征向量,并将其保存下来。给定一个未知文本,首先生成它的特征向量之后,KNN会搜索所有的训练例,通过向量相似度比较,从中找出K个最接近的训练例,然后将未知文本分到这K个近邻中最普遍的类别中去,相似度可以通过欧几里德距离或cosin来度量

KNN是一种懒散的方法,即它没有学习过程,只是存放所有的训练例直到接到未知文本的时候才建立分类。

KNN的训练过程较快,而且可以随时添加或更新训练例来调整。但它分类的开销会很大,因为需要很大的空间来保存训练例,而且分类效率很差,有看法认为在小数据集上KNN的表现优异。

本文转载自:http://blog.csdn.net/zhoubl668/article/details/7793838

mickelfeng

mickelfeng

粉丝 237
博文 2784
码字总数 604219
作品 0
成都
高级程序员
私信 提问
公开课报名 | 那些年,我们在文本分类中遇到的坑

文本分类问题是企业在 NLP 领域中处理文本数据时经常会遇到的一个问题,很多时候,我们需要将文本信息进行分类,或提相关的接口以供外部进行文本上传,在针对于用户所上传的文档信息就需要进...

AI科技大本营
2018/12/08
0
0
今晚8点直播 | 详讲NLP的经典应用实践——文本分类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/dQCFKyQDXYm3F8rB0/article/details/84984354 文本分类问题是企业在 NLP 领域中处理文本数据时经常会遇到的一...

AI科技大本营
2018/12/13
0
0
免费报名 | WPS专家教你文本分类在企业中的应用实践

文本分类问题是企业在 NLP 领域中处理文本数据时经常会遇到的一个问题,很多时候,我们需要将文本信息进行分类,或提相关的接口以供外部进行文本上传,在针对于用户所上传的文档信息就需要进...

AI科技大本营
2018/12/09
0
0
自然语言处理(nlp)比计算机视觉(cv)发展缓慢,而且更难!

https://mp.weixin.qq.com/s/kWw0xce4kdCx62AflY6AzQ 1. 抢跑的nlp nlp发展的历史非常早,因为人从计算机发明开始,就有对语言处理的需求。各种字符串算法都贯穿于计算机的发展历史中。伟大的...

Terminator2050
2018/11/05
0
0
深度学习文本分类在支付宝投诉文本模型上的应用

小蚂蚁说: 随着深度学习的快速发展,以及在图像、语音领域取得的不错成果,基于深度学习的自然语言处理技术也日益受到人们的关注。计算机是怎么理解人类的语言的呢? 传统机器学习的应用,常...

阿里云云栖社区
2018/08/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Taro 兼容 h5 踩坑指南

最近一周在改造 公羊阅读🐏 Taro 版本适配 h5 端,过程中改改补补,好不酸爽。 本文记录📝遇到的问题,希望为有相同需求的哥们👬节约点时间。 Taro 版本:1.3.9。 client_mobile_taro...

dkvirus
今天
4
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
今天
3
0
hash slot(虚拟桶)

在分布式集群中,如何保证相同请求落到相同的机器上,并且后面的集群机器可以尽可能的均分请求,并且当扩容或down机的情况下能对原有集群影响最小。 round robin算法:是把数据mod后直接映射...

李朝强
今天
4
0
Kafka 原理和实战

本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班)。先后从事过电子商务、开放平...

vivo互联网技术
今天
19
0
java数据类型

基本类型: 整型:Byte,short,int,long 浮点型:float,double 字符型:char 布尔型:boolean 引用类型: 类类型: 接口类型: 数组类型: Byte 1字节 八位 -128 -------- 127 short 2字节...

audience_1
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部