A Survey on Text Classification: From Shallow to Deep Learning
摘要。
文本分类是自然语言处理中最基本的任务。由于深度学习的空前成功,过去十年中该领域的研究激增。已有的文献提出了许多方法,数据集和评估指标,从而需要对这些内容进行全面的总结。本文回顾1961年至2020年的文本分类方法,重点是从浅层学习到深度学习的模型。根据所涉及的文本以及用于特征提取和分类的模型创建用于文本分类的分类法。然后,详细讨论这些类别中的每一个类别,涉及支持预测测试的技术发展和基准数据集。并提供了不同技术之间的全面比较,确定了各种评估指标的优缺点。最后,通过总结关键含义,未来的研究方向以及研究领域面临的挑战进行总结。
文本分类流程。
在许多NLP应用中,文本分类-为文本指定预定义标签的过程-是一项基础而重要的任务。文本分类的主要流程:首先是预处理模型的文本数据。浅层学习模型通常需要通过人工方法获得良好的样本特征,然后使用经典的机器学习算法对其进行分类。因此,该方法的有效性在很大程度上受到特征提取的限制。但是,与浅层模型不同,深度学习通过学习一组非线性变换将特征工程直接集成到输出中,从而将特征工程集成到模型拟合过程中。
文本分类发展历程。
主要文本分类方法的示意图如图2所示。从1960年代到2010年代,基于浅层学习的文本分类模型占主导地位。浅层学习意味着基于统计的模型,例如朴素贝叶斯(NB),K近邻(KNN)和支持向量机(SVM)。与早期的基于规则的方法相比,该方法在准确性和稳定性方面具有明显的优势。但是,这些方法仍然需要进行功能设计,这既耗时又昂贵。此外,它们通常会忽略文本数据中的自然顺序结构或上下文信息,这使学习单词的语义信息变得困难。自2010年代以来,文本分类已逐渐从浅层学习模型变为深层学习模型。与基于浅层学习的方法相比,深度学习方法避免了人工设计规则和功能,并自动为文本挖掘提供了语义上有意义的表示形式。因此,大多数文本分类研究工作都基于DNN,DNN是数据驱动的方法,具有很高的计算复杂性。很少有研究专注于浅层学习模型来解决计算和数据的局限性。
文章主要贡献。
文章总结了从浅层学习到深度学习的现有模型。浅层学习模型强调特征提取和分类器设计。一旦文本具有精心设计的特征,就可以通过训练分类器来快速收敛。在不需要领域知识的情况下,DNNs可以自动进行特征提取和学习。然后,为单标签和多标签任务提供数据集和评估指标,并从数据,模型和性能角度总结未来的研究挑战。此外,在四个表格中总结了各种信息,包括经典的浅层和深度学习模型的必要信息,DNN的技术细节,主要数据集的主要信息以及不同应用下的最新方法的一般基准。总而言之,这项研究的主要贡献如下:
•在表1中介绍了文本分类的过程和发展,并根据出版年份总结了经典模型的必要信息,包括场所,应用程序,引文和代码链接。
•根据模型结构对从浅层学习模型到深度学习模型的主要模型进行全面的分析和研究。总结了经典或更具体的模型,并主要在表2中概述了基本模型,度量和实验数据集的设计差异。
•介绍了当前数据集并给出了主要评估度量的表述,包括单标签和多标签文本分类任务。在表3中总结了主要数据集的必要信息,包括类别数,平均句子长度,每个数据集的大小,相关论文和数据地址。
•在表5中总结了经典模型在基准数据集上的分类准确度得分,并通过讨论文本分类面临的主要挑战。
文本分类模型。
文本分类被称为从原始文本数据中提取特征,并基于这些特征预测文本数据的类别。在过去的几十年中,已经提出了许多用于文本分类的模型,如表1所示。将文本分类的主要模型的主要信息(包括场所,应用程序,引文和代码链接)制成表格。该表中的应用程序包括情感分析(SA),主题标签(TL),新闻分类(NC),问题解答(QA),对话行为分类(DAC),自然语言推断(NLI)和事件预测(EP)。对于浅层学习模型,NB 是用于文本分类任务的第一个模型。此后,提出了通用分类模型,例如KNN,SVM和RF,它们被称为分类器,广泛用于文本分类。最近,XGBoost和LightGBM可能具有提供出色性能的潜力。对于深度学习模型,TextCNN在这些模型中拥有最多的参考文献,其中首次引入CNN模型来解决文本分类问题。尽管BERT并不是专门为处理文本分类任务而设计的,但考虑到它在众多文本分类数据集上的有效性,在设计文本分类模型时已被广泛采用。
浅层学习模型
浅层学习模型加快了文本分类速度,提高了准确性,并扩大了浅层学习的应用范围。首先是对原始输入文本进行预处理,以训练浅层学习模型,该模型通常包括分词,数据清理和数据统计。然后,文本表示旨在以对计算机来说更容易的形式来表达预处理的文本,并最大程度地减少信息丢失,例如词袋(BOW),N-gram,术语频率倒排文档频率(TF-IDF),word2vec [94]和GloVe [95]。BOW的核心是用字典大小的向量表示每个文本。向量的单个值表示对应于其在文本中固有位置的词频。与BOW相比,N-gram考虑相邻单词的信息,并通过考虑相邻单词来构建字典。TF-IDF使用单词频率并反转文档频率来对文本建模。word2vec使用本地上下文信息来获取单词向量。GloVe -具有局部上下文和全局统计功能-训练单词-单词共现矩阵中的非零元素。最后,根据所选特征将表示的文本输入分类器。
浅层学习方法是机器学习的一种。它从数据中学习,数据是对预测值的性能很重要的预定义功能。但是,要素工程是一项艰巨的工作。在训练分类器之前,我们需要收集知识或经验以从原始文本中提取特征。浅层学习方法基于从原始文本中提取的各种文本特征来训练初始分类器。对于小型数据集,在计算复杂度的限制下,浅层学习模型通常比深层学习模型表现出更好的性能。因此,一些研究人员研究了数据较少的特定领域的浅层模型的设计。
深度学习模型:
DNN由人工神经网络组成,该人工神经网络模拟人脑以自动从数据中学习高级功能,在语音识别,图像处理和文本理解方面比浅层学习模型获得更好的结果。应该分析输入数据集以对数据进行分类,例如单标签,多标签,无监督,不平衡的数据集。根据数据集的特征,将输入单词向量发送到DNN中进行训练,直到达到终止条件为止。训练模型的性能由下游任务验证,例如情感分类,问题回答和事件预测。在表2中显示了多年来的DNN,包括与相应基本模型,评估指标和实验数据集不同的设计。如表2所示,前馈神经网络和递归神经网络是用于文本分类任务的前两种深度学习方法,与浅层学习模型相比,它们可以提高性能。然后,将CNN,RNN和注意力机制用于文本分类。许多研究人员通过改进CNN,RNN和注意力,或模型融合和多任务方法,提高了针对不同任务的文本分类性能。可以生成上下文化词向量的来自变压器的双向编码器表示(BERT)的出现,是文本分类和其他NLP技术发展的重要转折点。许多研究人员已经研究了基于BERT的文本分类模型,该模型在包括文本分类在内的多个NLP任务中比上述模型具有更好的性能。此外,一些研究人员研究了基于GNN的文本分类技术,以捕获文本中的结构信息,这是其他方法无法替代的。
深度学习由神经网络中的多个隐藏层组成,具有更高的复杂度,并且可以在非结构化数据上进行训练。深度学习架构可以直接从输入中学习特征表示,而无需太多的人工干预和先验知识。但是,深度学习技术是一种数据驱动的方法,通常需要大量数据才能实现高性能。尽管基于自我注意的模型可以为DNN带来一些单词间的可解释性,但与浅层模型进行比较并不足以解释其原因和工作方式。
技术挑战。
文本分类-作为有效的信息检索和挖掘技术-在管理文本数据中起着至关重要的作用。它使用NLP,数据挖掘,机器学习和其他技术来自动分类和发现不同的文本类型。文本分类将多种类型的文本作为输入,并且文本由预训练模型表示为矢量。然后将向量馈送到DNN中进行训练,直到达到终止条件为止,最后,下游任务验证了训练模型的性能。现有的模型已经显示出它们在文本分类中的有用性,但是仍有许多可能的改进需要探索。尽管一些新的文本分类模型反复擦写了大多数分类任务的准确性指标,但它无法指示模型是否像人类一样从语义层面“理解”文本。此外,随着噪声样本的出现,小的样本噪声可能导致决策置信度发生实质性变化,甚至导致决策逆转。因此,需要在实践中证明该模型的语义表示能力和鲁棒性。此外,由词向量表示的预训练语义表示模型通常可以提高下游NLP任务的性能。关于上下文无关单词向量的传输策略的现有研究仍是相对初步的。因此,我们从数据,模型和性能的角度得出结论,文本分类主要面临以下挑战:
数据层面:
对于文本分类任务,无论是浅层学习还是深度学习方法,数据对于模型性能都是必不可少的。研究的文本数据主要包括多章,短文本,跨语言,多标签,少样本文本。对于这些数据的特征,现有的技术挑战如下:
Zero-shot/Few-shot learning。
当前的深度学习模型过于依赖大量标记数据。这些模型的性能在零镜头或少镜头学习中受到显着影响。
外部知识。
我们都知道,输入的有益信息越多,DNN的性能就越好。因此,认为添加外部知识(知识库或知识图)是提高模型性能的有效途径。然而,如何添加以及添加什么仍然是一个挑战。
多标签文本分类任务。
多标签文本分类需要充分考虑标签之间的语义关系,并且模型的嵌入和编码是有损压缩的过程。因此,如何减少训练过程中层次语义的丢失以及如何保留丰富而复杂的文档语义信息仍然是一个亟待解决的问题。
具有许多术语词汇的特殊领域。
特定领域的文本(例如金融和医学文本)包含许多特定的单词或领域专家,可理解的语,缩写等,这使现有的预训练单词向量难以使用。
模型层面:
现有的浅层和深度学习模型的大部分结构都被尝试用于文本分类,包括集成方法。BERT学习了一种语言表示法,可以用来对许多NLP任务进行微调。主要的方法是增加数据,提高计算能力和设计训练程序,以获得更好的结果如何在数据和计算资源和预测性能之间权衡是值得研究的。
性能评估层面:
浅层模型和深层模型可以在大多数文本分类任务中取得良好的性能,但是需要提高其结果的抗干扰能力。如何实现对深度模型的解释也是一个技术挑战。
模型的语义鲁棒性。
近年来,研究人员设计了许多模型来增强文本分类模型的准确性。但是,如果数据集中有一些对抗性样本,则模型的性能会大大降低。因此,如何提高模型的鲁棒性是当前研究的热点和挑战。
模型的可解释性。
DNN在特征提取和语义挖掘方面具有独特的优势,并且已经完成了出色的文本分类任务。但是,深度学习是一个黑盒模型,训练过程难以重现,隐式语义和输出可解释性很差。它对模型进行了改进和优化,丢失了明确的准则。此外,我们无法准确解释为什么该模型可以提高性能。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。