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

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

相关文章

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

C++中处理文本数据char与string的终极对比指南

《C++中处理文本数据char与string的终极对比指南》在C++编程中char和string是两种用于处理字符数据的类型,但它们在使用方式和功能上有显著的不同,:本文主要介绍C++中处理文本数... 目录1. 基本定义与本质2. 内存管理3. 操作与功能4. 性能特点5. 使用场景6. 相互转换核心区别

Java实现在Word文档中添加文本水印和图片水印的操作指南

《Java实现在Word文档中添加文本水印和图片水印的操作指南》在当今数字时代,文档的自动化处理与安全防护变得尤为重要,无论是为了保护版权、推广品牌,还是为了在文档中加入特定的标识,为Word文档添加... 目录引言Spire.Doc for Java:高效Word文档处理的利器代码实战:使用Java为Wo

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”