文本分类大综述:从浅层到深度学习

2024-06-21 07:48

本文主要是介绍文本分类大综述:从浅层到深度学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
http://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2008.00364.pdf
01

摘要

文本分类是自然语言处理中最基本、最基本的任务。过去十年,由于深度学习取得了前所未有的成功,这一领域的研究激增。大量的方法、数据集和评价指标已经在文献中提出,提高了全面和更新综述的需要。本文通过回顾1961年到2020年的先进方法的现状来填补这一空白,侧重于从浅到深的模型学习。我们根据所涉及的文本和用于特征提取和分类的模型创建文本分类的分类法。然后我们详细讨论每一个类别,处理支持预测测试的技术发展和基准数据集。本综述还提供了不同技术之间的综合比较,以及确定各种评估指标的优缺点。最后,总结了本研究的关键意义、未来研究方向和面临的挑战。

01

介绍

在许多自然语言处理(NLP)应用中,文本分类(为文本指定预定义标签的过程)是一个基本和重要的任务, 如情绪分析[1][2][3],主题标签[4][5][6],问答[7][8][9]和对话行为分类。在信息爆炸的时代,手工对大量文本数据进行处理和分类是一项耗时且具有挑战性的工作。此外,手工文本分类的准确性容易受到人为因素的影响,如疲劳、专业知识等。人们希望使用机器学习方法来自动化文本分类过程,以产生更可靠和较少主观的结果。此外,通过定位所需信息,可以提高信息检索效率,缓解信息超载的问题。

图1给出了在浅层和深层分析的基础上,文本分类所涉及的步骤流程图。文本数据不同于数字、图像或信号数据。它需要NLP技术来仔细处理。第一个重要的步骤是对模型的文本数据进行预处理。浅层学习模型通常需要通过人工方法获得良好的样本特征,然后用经典的机器学习算法对其进行分类。因此,特征提取在很大程度上制约了该方法的有效性。然而,与浅层模型不同,深度学习通过学习一组直接将特征映射到输出的非线性转换,将特征工程集成到模型拟合过程中。
在这里插入图片描述
主要文本分类方法的示意图如图2所示。从20世纪60年代到21世纪10年代,基于浅层学习的文本分类模型占据了主导地位。浅层学习意味着在乐此不疲的模型,如 NaÃŕve Bayes(NB)[10], K-近邻(KNN)[11],和支持向量机(SVM)[12]。与早期基于规则的方法相比,该方法在准确性和稳定性方面具有明显的优势。然而,这些方法仍然需要进行特征工程,这是非常耗时和昂贵的。此外,它们往往忽略文本数据中自然的顺序结构或上下文信息,使学习词汇的语义信息变得困难。自2010年代以来,文本分类逐渐从浅层学习模式向深度学习模式转变。与基于浅层学习的方法相比,深度学习方法避免了人工设计规则和特征,并自动提供文本挖掘的语义意义表示。因此,大部分文本分类研究工作都是基于DNNs的,这是一种计算复杂度很高的数据驱动方法。很少有人关注于用浅层学习模型来解决计算和数据的局限性。在这里插入图片描述
在文献中,Kowsari等[13]考虑了不同的文本特征提取、降维方法、文本分类的基本模型结构和评价方法。Minaee等人[14]回顾了最近基于深度学习的文本分类方法、基准数据集和评估指标。与现有的文本分类研究不同,我们利用近年来的研究成果对现有的模型进行了从浅到深的总结。浅层学习模型强调特征提取和分类器设计。一旦文本具有精心设计的特征,就可以通过训练分类器来快速收敛。在不需要领域知识的情况下,DNNs可以自动进行特征提取和学习。然后给出了单标签和多标签任务的数据集和评价指标,并从数据、模型和性能的角度总结了未来的研究挑战。此外,我们在4个表中总结了各种信息,包括经典浅层和深度学习模型的必要信息、DNNs的技术细节、主要数据集的主要信息,以及在不同应用下的最新方法的一般基准。总而言之,本研究的主要贡献如下:

我们在表1中介绍了文本分类的过程和发展,并总结了经典模式在出版年份方面的必要信息,包括地点、应用、引用和代码链接。

根据模型结构,从浅层学习模型到深度学习模型,对主要模型进行了全面的分析和研究。我们在表2中对经典或更具体的模型进行了总结,并主要从基本模型、度量和实验数据集方面概述了设计差异。

我们介绍了现有的数据集,并给出了主要的评价指标的制定,包括单标签和多标签文本分类任务。我们在表3中总结了基本数据集的必要信息,包括类别的数量,平均句子长度,每个数据集的大小,相关的论文和数据地址。

我们在表5中总结了经典模型在基准数据集上的分类精度得分,并通过讨论文本分类面临的主要挑战和本研究的关键意义来总结综述结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于文本分类大综述:从浅层到深度学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1080626

相关文章

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

Spring Boot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)

《SpringBoot拦截器Interceptor与过滤器Filter深度解析(区别、实现与实战指南)》:本文主要介绍SpringBoot拦截器Interceptor与过滤器Filter深度解析... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Java学习手册之Filter和Listener使用方法

《Java学习手册之Filter和Listener使用方法》:本文主要介绍Java学习手册之Filter和Listener使用方法的相关资料,Filter是一种拦截器,可以在请求到达Servl... 目录一、Filter(过滤器)1. Filter 的工作原理2. Filter 的配置与使用二、Listen

Pandas使用AdaBoost进行分类的实现

《Pandas使用AdaBoost进行分类的实现》Pandas和AdaBoost分类算法,可以高效地进行数据预处理和分类任务,本文主要介绍了Pandas使用AdaBoost进行分类的实现,具有一定的参... 目录什么是 AdaBoost?使用 AdaBoost 的步骤安装必要的库步骤一:数据准备步骤二:模型

Python中__init__方法使用的深度解析

《Python中__init__方法使用的深度解析》在Python的面向对象编程(OOP)体系中,__init__方法如同建造房屋时的奠基仪式——它定义了对象诞生时的初始状态,下面我们就来深入了解下_... 目录一、__init__的基因图谱二、初始化过程的魔法时刻继承链中的初始化顺序self参数的奥秘默认