文本分类算法比较_文本匹配算法

文本分类算法比较_文本匹配算法本文对常用文本分类算法进行了比较,第一部分包括Rocchio算法,boosting,bagging,,逻辑回归,朴素贝叶斯分类器,k最近邻和支持向量机。另外还包括决策树、条件随机场、随机森林和深度学习算法。第二部分将文本分类技术与标准进行了比较:体系结构、作者、模型、新颖性、特征提取、细节、语料库、验证措施和每种技术的局限性。每个文本分类技术(系统)都包含一个模型,该模型是分类器算法,还需要一个特征提取技术,即将文本或文档数据集转换为数字数据。还列出了用于评估系统的验证措施。文章目录文本分类算法文本分类

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

本文对常用文本分类算法进行了比较,第一部分包括Rocchio算法,boosting,bagging,,逻辑回归,朴素贝叶斯分类器,k最近邻和支持向量机。另外还包括决策树、条件随机场、随机森林和深度学习算法。
第二部分将文本分类技术与标准进行了比较:体系结构、作者、模型、新颖性、特征提取、细节、语料库、验证措施和每种技术的局限性。每个文本分类技术(系统)都包含一个模型,该模型是分类器算法,还需要一个特征提取技术,即将文本或文档数据集转换为数字数据。还列出了用于评估系统的验证措施。

文本分类算法

Model 

Advantages

Pitfall

Rocchio Algorithm

易于实施

计算成本非常低

相关性反馈机制(将文档排序为不相关文档的好处)

用户只能检索一些相关文档

•Rocchio经常将多模态的类型错误分类

该技术不是很可靠

该算法中的线性组合不适用于多类数据集

Boosting and Bagging

提高稳定性和准确性(利用集成学习,在多个弱学习者中优于单个强学习者)

减少方差,有助于避免过度拟合问题

计算复杂性

可解释性损失(如果模型数量高,则很难理解模型)

需要仔细调整不同的超参数

Logistic Regressio

易于实现

不需要太多计算资源

不需要缩放输入功能(预处理)

不需要任何调整

它不能解决非线性问题

预测要求每个数据点都是独立的

试图根据一组独立变量预测结果

Naïve Bayes Classifier

它与文本数据很好地配合使用

易于实现

与其他算法相比速度更快

 

关于数据分布形状的强有力假设

受数据稀缺性的限制,对于特征空间中的任何可能值,必须由专职人员估计似然值

K-Nearest Neighbor

对文本数据集有效

非参数化

考虑到文本或文档的更多本地特性

自然处理多类数据集

此模型的计算非常昂贵

难以找到k的最优值

对于大型搜索问题的约束条件,无法找到最近的邻居

对于文本数据集很难找到有意义的距离函数

Support Vector

Machine (SVM)

支持向量机可以建模非线性决策边界

线性分离时执行与逻辑回归类似的功能

对过度拟合问题(尤其是高维空间导致的文本数据集)具有鲁棒性。

 

由于大量维度(尤其是文本数据)导致结果缺乏透明度。

选择一个有效的内核函数是困难的(易受过拟合/训练问题的影响,取决于内核)

内存复杂性

 

 

Model   

Advantages

Pitfall

Decision Tree

可以轻松处理定性(分类)特征

与与特征轴平行的决策边界很好地工作

决策树是用于学习和预测的非常快速的算法

对角线决策边界问题

容易过度拟合

对数据中的小扰动非常敏感

样本外预测问题

Conditional

Random Field

(CRF)

它的特征设计是灵活的

由于CRF计算全局最优输出节点的条件概率,它克服了标签偏差的缺点

结合分类和图形建模的优点,这些优点结合了对多维数据进行紧凑建模的能力

 

训练步骤的计算复杂度高

•Rhis算法不使用未知单词执行

在线学习问题(当有新数据可用时,很难重新训练模型)

 

Random Forest

与其他技术相比,决策树集合的训练速度非常快

方差减少(相对于常规树)

不需要准备和预处理输入数据

训练后创建预测的速度非常慢

森林中的更多树木增加了预测步骤的时间复杂性

不容易直观解释

很容易发生过度拟合

需要选择森林中的树木数量

 

Deep Learning

特征设计灵活(减少了对特征工程的需求,这是机器学习实践中最耗时的部分之一)

可适应新问题的架构

可处理复杂的输入输出映射

可以很容易地处理在线学习(当新的数据可用时,可以很容易地重新培训模型)

并行处理能力(它可以同时执行多个作业)

需要大量数据(如果您只有小样本文本数据,那么深度学习不可能比其他方法更好。

培训的计算成本极高。

模型的可解释性是深度学习最重要的问题(深度学习大部分时间是一个黑匣子)

寻找一个有效的架构和结构仍然是这种技术的主要挑战。

 

文本分类技术与标准

Model

Author(s)

Architecture

Novelty(创新)

Feature Extraction

Details

Corpus

Validation Measure

Limitation

Rocchio

Algorithm

B.J. Sowmya et al.

Hierarchical

Rocchio

Classificationon hierarchical data

TF-IDF

使用GPU上的CUDA计算和比较距离。

Wikipedia

F1-Macro

仅适用于分层数据集并检索一些相关文档

Boosting

S. Bloehdorn et al.

 

具有语义特征的ADaboost

BOW

集成学习算法

Reuters-21578

F1-Macro

and

F1-Micro

计算复杂性和可解释性损失

Logistic

Regression

A. Genkin et al.

Bayesian

Logistic

Regression

高维数据的逻辑回归分析

TF-IDF

它基于高斯先验和岭逻辑回归

RCV1-v2

F1-Macro

预测结果基于一组自变量

Naïve

Bayes

Kim, S.B et al.

Weight

Enhancing

Method

文本分类的多元泊松模型

Weights

words

按文档项频率标准化以估计泊松参数

Reuters-21578

F1-Macro

这种方法对数据分布的形状作出了强有力的假设。

 

SVM and

KNN

K. Chen et al.

Inverse

Gravity

Moment

Introduced TFIGM (term

frequency & inverse

gravity moment)

TF-IDF

and

TFIGM

结合一个统计模型来精确测量一个词的分类识别能力。

20

Newsgroups

and

Reuters-21578

F1-Macro

未能捕捉到一词多义,语义和句子仍未解决

 

Support

Vector

Machines

H. Lodhi et al.

字符串子序列内核

Use of a special kernel

使用tf-idf的相似性

内核是特征空间中由长度k的所有子序列生成的内积。

Reuters-21578

F1-Macro

结果缺乏透明度

Conditional

Random

Field

(CRF)

T. Chen et al.

BiLSTM-CRF

应用基于神经网络的序列模型,根据句子中出现的目标数目,将固定句分为三类

 

Word

embedding

通过句子类型分类改进句子层次情感分析

Customer

reviews

Accuracy

计算复杂度高,该算法不适用于看不见的单词。

 

Model

Author(s)

Architecture

Novelty(创新)

Feature Extraction

Details

Corpus

Validation Measure

Limitation

Deep

Learning

Z. Yang et al.

Hierarchical

Attention

Networks

它有一个层次结构

Word

embedding

单词和句子两级注意机制

Yelp, IMDB

review, and

Amazon

review

Accuracy

仅适用于文档级别

Deep

Learning

J. Chen et al.

Deep Neural

Networks

使用二维TF-IDF特征的卷积神经网络(CNN

2D TF-IDF

语言攻击性检测任务的新解决方案

Twitter

comments

F1-Macro

and

F1-Micro

数据依赖以设计模型架构

Deep

Learning

M. Jiang et al.

Deep Belief

Network

基于深度信念网络和softmax回归的混合文本分类模型。

 

DBN

DBN完成了特征学习,以解决高维和稀疏矩阵问题,并使用softmax回归对文本进行分类

Reuters-21578

and

20-Newsgroup

Error-rate

计算上很昂贵,并且模型的可解释性仍然是该模型的问题

 

Deep

Learning

X. Zhang et al.

CNN

用于文本分类的字符级卷积网络(ConvNets

 

Encoded

Characters

字符级别的ConvNet包含6个卷积层和3个全连接层

Yelp, Amazon

review and

Yahoo!

Answers data

set

Relative

errors

该模型仅用于发现其输入的位置不变特征

Deep

Learning

K. Kowsari

集成深度学习算法(CNNDNNRNN

解决寻找最佳的深度学习结构和架构的问题

TF-IDF

and GloVe

随机多模型深度学习(RDML

IMDB review,

Reuters-21578,

20NewsGroup,

and WOS

Accuracy

计算上很贵

Deep

Learning

K. Kowsari

Hierarchical

structure

利用大量的深入学习体系结构,在文档层次结构的各个级别提供专门的理解。

TF-IDF

and GloVe

文本分类的层次深度学习(HDLTEX

Web of science

data set

Accuracy

仅适用于分层数据集

 

参考:

https://www.mdpi.com/2078-2489/10/4/150

https://blog.csdn.net/Rock_y/article/details/108443502

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/219289.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • @MapperScan注解使用

    @MapperScan注解使用1、@Mapper注解:作用:在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类添加位置:接口类上面@MapperpublicinterfaceUserDAO{  //代码}如果想要每个接口都要变成实现类,那么需要在每个接口类上加上@Mapper注解,比较麻烦,解决这个问题用@MapperScan2、@MapperScan作用:指定要变成实现类的接口所…

  • python闭包详解_python闭包的使用场景

    python闭包详解_python闭包的使用场景闭包首先了解一下:如果在一个函数的内部定义了另一个函数,外部的我们叫他外函数,内部的我们叫他内函数。在一个外函数中定义了一个内函数,内函数里运用了外函数的临时变量,并且外函数的返回值是内函数的引用

  • atitit.android模拟器使用报告

    atitit.android模拟器使用报告

  • Linux makefile 教程 很具体,且易懂

    Linux makefile 教程 很具体,且易懂

  • python精彩编程200例-Python创意编程200例turtle篇[通俗易懂]

    简介:Python是一种高阶计算机语言。它更接近自然语言,学习成本低,开发效率高。如今越来越多的中小学生都在开始学习Python了。我们可以预见,全民会Python的日子不久就会到来,各行各业的人未来都能用Python解决各自领域的问题或创造出独特魅力的作品。在Python的普及过程中,海龟模块(turtle)将会功不可没。它来源于上个世纪60年代的logo计算机语言,就是通过指挥一只小海龟移动…

  • STM32的IWDG(独立看门狗)详细用法

    STM32的IWDG(独立看门狗)详细用法文章出处:https://www.cnblogs.com/Liu-Jing/p/7243029.html章参考资料:《STM32F4XX中文参考手册》IWDG章节。1、IWDG简介:  STM32有两个看门狗,一个是独立看门狗另外一个是窗口看门狗,独立看门狗号称宠物狗,窗口看门狗号称警犬,本章我们主要分析独立看门狗的功能框图和它的应用。独立看门狗用通俗一点的话来解释就是一个12位的递减计…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号