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

文本分类算法比较_文本匹配算法本文对常用文本分类算法进行了比较,第一部分包括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)


相关推荐

  • 中国工商银行基金定投[通俗易懂]

    中国工商银行基金定投[通俗易懂]http://www.icbc.com.cn/personal/detail_financing.jsp?column=%B8%F6%C8%CB%BD%F0%C8%DA%3E%CD%B6%D7%CA%

  • C++ ^按位异或运算符

    C++ ^按位异或运算符参与运算的两个值,如果两个相应位相同,则结果为0,否则为1。即:0^0=0,1^0=1,0^1=1,1^1=0

  • win10下CUDA和CUDNN的安装(超详细)!亲测有效![通俗易懂]

    win10下CUDA和CUDNN的安装(超详细)!亲测有效![通俗易懂]CUDA10安装配置CUDA10的安装包可直接从NVIDIA官网下载。根据相应的系统选项,我选择的是cuda_10.1.168_425.25_win10.exe(大小为2.3G),安装的时候建议选择自定义而不是“精简”(从下面的英文解释可以看出,其实这里的精简写成完整应该更贴切,他会安装所有组件并覆盖现有驱动,然而我并不想安装全家桶,何况我的官方显卡驱动比他的新)。下载路径:https…

  • Win10搭建FTP服务器详细教程-附操作截图

    Win10搭建FTP服务器详细教程-附操作截图文章目录新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML图表FLowchart流程图导出与导入导出导入新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设

  • spring ioc源码解析_spring事务源码深度解析

    spring ioc源码解析_spring事务源码深度解析SpringApplication源码解析运行SpringApplication的方式在创建SpringBoot应用,我们经常看到SpringApplication.run(ApplicationConfiguration.class,args);那有没有其他方式可以运行SpringApplication,答案是有的。我们可以通过自定义SpringApplication来实现Sprin…

  • java传递二维数组_java二维数组

    java传递二维数组_java二维数组数组–是用来存储一组相同数据类型的数据的容器;数组本身是一个引用数据类型[]数组内部存储的元素?可以是基本数据类型;int[]也可以是引用数据类型;String[]引用数据类型;StringMathScanner想要创建一个数组–里面存储好多个小数组int[],如何做?二维数组1.数组的定义/声明;int[][]x;2.数组的初始化;静态初始化;–有长度有元素int[][]x={{3,…

发表回复

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

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