文本分类算法综述
今天要给大家分享的文章发表于2019年4月,文章对文本分类算法进行了概述,并讨论了每种方法在实际问题中的应用和局限性。
一、背景介绍
文章首先指出在文本数量呈指数级增长的背景下准确对文本进行分类的迫切性。机器学习算法在自然语言处理(NLP)和文本挖掘上的卓越成果使文本分类算法广泛应用于信息检索系统、搜索引擎和信息过滤等场景。根据实际需要选择合适的文本分类框架是重要的,因此作者按照大多数文本分类的流程,从特征提取、降维、分类器选择和评估四个方面进行了概述,提出了如下图所示的文本分类结构,并讨论了每种方法的优缺点。
二、文本预处理
特征提取和预处理是文本分类流程中的关键步骤。对文本数据进行清理可以去除噪声项从而提升分类效果。文本是非结构化数据集,通过特征提取将其转化为计算机可以识别的形式,从而便于后续分类器的构建。
在文本清理和预处理阶段,作者提出先通过分词(Tokenization)将文本分解为单词、符号等元素;其次,通过统一大小写(Capitalization)、俚语和缩写转换为正式语言(Slang and Abbreviation)获得较为完整的分词结果;再去掉结果中不具有重要意义的词语(Stop Words)及不必要的字符(Noise Removal)去除噪声项;最终,还可以通过拼写校正(Spelling Correction)、统一词形(Stemming、Lemmatization)等方式获得更完善的分词结果。
作者概述了加权词和词嵌入两种文本特征提取方法。 加权词方法将每个词映射到一个数字,每段文本都被转换为等长的向量,向量中的元素可以是词频(TF)或词频-逆文档词频(TF-IDF)。词袋模型为词汇表中的每个单词进行one-hot编码,常基于词频的方法进行文本表示,广泛应用于计算机视觉、自然语言处理等领域,但其忽略了句法和词语的顺序,也未考虑到语义相似性。
词嵌入方法依赖于词语的上下文将词汇表中的每个单词映射到一个N维的实数向量,目前Word2Vec、GloVe 和 FastText这三种方法得到了较广泛的应用。Word2Vec基于词语局部上下文构建浅层神经网络,其又分为CBOW和 Skip-gram两类,GloVe与Word2Vec方法相似,但其使用了语料库中的全部特征。这两种方法为每个词语构建一个不同的向量,FastText使用字符级别的n-gram来表示单词,因此其考虑了词法,也即单词的形态变化,其对文档中的低频词更加友好。
三、降维
基于前述的分词结果会得到许多特征,这会增加模型训练的成本。因此,作者在文中介绍了6种降维方法,分别是成分分析、线性判别分析、非负矩阵分解、随机投影、自动编码器和t-SNE。
(一)成分分析
成分分析包括主成分分析(PCA)和独立成分分析(ICA)两种。PCA通过基变换,找到不相关的新变量并最大限度的增加方差,可以帮助避免过拟合问题。ICA同样基于基变换找到独立新变量实现降维。
(二)LDA
LDA[1]是一种常用的数据分类和降维技术。其按照同类样例投影点尽可能接近,不同类投影点尽可能远离的标准获取投影直线的方向向量,从而实现特征降维。这种有监督的降维方法选择了分类性能最好的投影方向,使用到了类别的先验信息。
(三)非负矩阵分解
非负矩阵分解[2]是一种很有前途的高维数据降维方法。它通过找到一组能够直观反映一组数据规律的基将一个较大的非负矩阵分解为两个较小的非负矩阵,同时实现非线性的维数约减。
(四)随机投影
随机投影主要应用于大容量数据集或高维特征空间,[3,4]将随机投影应用到了文本数据集中。该方法基于Johnson Lindenstrauss Lemma定理,其核心思想为通过随机投影将维度降到一个合适的范围,可以以较高概率保证数据点之间的距离信息变化不大,随机矩阵的生成可以使用高斯分布等。
(五)自动编码器
自动编码器是一种无监督的神经网络[5],最原始的自动编码器由D.E.Rumelhart等于1985年提出[6]。其经过训练将输入尽可能的复制到输出并实现特征提取和降维的目的,也即通过学习输入数据获取新特征(编码)再利用新特征重构原始数据(解码),输入输出层之间更低维度的的隐藏层实现了特征空间维数降低的目的[7]。
(六)t-SNE
t-SNE是一种用于嵌入高维数据的非线性降维方法,常用于将高维数据转换到低维空间后的可视化[8]。该方法在高维对象之间建立概率分布,使得相似对象被选中的概率更高,而不相似对象被选中的可能性极小,之后在低维空间中构建点的概率分布,并保证与高维空间中的分布尽可能相似。
四、分类器
(一)Rocchio 分类
Rocchio算法最早由J.J.Rocchio[9]在1971年提出,常基于TF-IDF值而非布尔值表示文本,并通过在训练集中计算每个类别下的原型向量,将每个测试文档分配给与原型变量之间具有最大相似度的类。
(二)Boosting and Bagging
boosting算法最早由 R.E.Schapire[10]在 1990 年提出,是一种提高弱学习算法性能的技术,Freund[11,12]进一步改进提出了AdaBoost算法。boosting算法对样本集进行操作得到样本子集并基于弱分类算法训练生成一系列基分类器,boosting算法将基分类器器进行融合得到一个准确率更高的强分类器。Bagging算法是由L.Breiman[13]在1996年引入的一种投票分类方法,其基于bootstrap生成的样本建立对应的分类器并对预测结果进行整合。
(三)逻辑回归
逻辑回归(LR)由统计学家David Cox于1958年提出并发展起来[14],是一种广义的线性回归分析模型。逻辑回归得到的预测结果是样本属于某一个类别的概率,基于此概率和阈值做出样本属于某一个类别的判断。
(四)朴素贝叶斯
朴素贝叶斯分类器基于贝叶斯定理,是一种生成模型,广泛应用于文本分类任务中[15,16]。其思想基础为:通过计算样本出现时属于各个类别的概率,将样本判定为概率最大的类别。朴素贝叶斯分类器在不平衡数据集上表现较差,Eibe Frank 和 Remco R. Bouckaert[17]开发了一种在每个类中引入归一化的方法,使其可以较好地运用到不平衡数据集中。
(五)K近邻
K近邻是一种用于分类的非参数方法,是文本分类任务中的常用方法[18]。通过为一个样本找到最近的K个邻居,计算样本与K个邻居之间的相似度并基于K个邻居的类别获得样本的类别得分,根据类别得分即可将样本分配给得分最高的类别。权重调整K近邻方法区分了不同距离邻居的作用,尝试学习权重向量进行分类[19]。
(六)支持向量机
支持向量机由Vapnik和Chervonenkis[20]在1963年率先提出,B.E.Boser等人[21]之后将其扩展为非线性形式。其最初设计用于二分类任务,但也有许多学者将其用于多分类问题的研究[22]。支持向量机的目的是寻找一个超平面对样本进行分割,原则是使点尽可能的远离超平面使得间隔最大化。多分类支持向量机(Multi-Class SVM)可以采用One-vs-One和All-vs-One两种方式,通过分别构造K(K-1)和K个支持向量机来实现多分类的目的。堆叠支持向量机(Stacking Support Vector Machine)是一种基于自顶向下的层次对类别树结构进行分层分类的方法[23],采用包含若干层的分级分类器提供了比使用单个SVM模型更准确的结果。
(七)决策树
决策树较早就被用于文本和数据挖掘分类算法[24],由D.Morgan [25]提出,J.R.Quinlan [26]拓展。其主要思想是基于分类数据点的属性创建树,其关键点在于是将哪些属性放在父级,哪些属性放在子集。
(八)随机森林
随机森林由T. Kam Ho[27]于1995年提出,由L.Breiman[28]进一步发展,是一种集成学习方法。随机森林的主要思想是生成随机决策树,其预测结果是通过每棵树的输出类别投票得到的。
(九)条件随机场
(十)深度学习
文章按照深度学习的体系结构,介绍了在文本文档分类中使用的深度学习方法,包括深层神经网络(DNN)、循环神经网络(RNN)、卷积神经网络(CNN)、深度信任网络(DBN)、层次注意网络(HAN)和结合技术。其强调模型结构的深度,通过逐层的特准变换,将数据原始的特征空间变换到另一个空间中,更利于模型完成分类任务。但是模型的可解释性较低。
五、评估
作者指出评估文本分类方法的主要问题是缺乏统一使用的数据集,并且当训练集和测试集划分不一致时也会使得模型性能的评估不太有效。除此之外,评估指标常常只能反映分类模型性能的某一方面,因此了解每个指标的含义是必要的。
作者介绍了包括召回率(recall)、精确度(precision)、准确率(accuracy)、F-Score、微观平均(micro-average)和宏观平均(macro average)等指标,这些指标的计算基于混淆矩阵,四个元素的意义根据实际应用场景的不同有所区别。
六、分类体系的比较
作者在文中讨论了特征提取、降维、分类器选择和评估四个步骤中每种方法的优缺点,便于使用者根据实际业务场景需要进行选择并构建有效的分类系统。
(一)特征提取
(二)降维
降维主要是为了节省计算时间和降低内存复杂度。主成分分析试图找到包含最大方差的正交投影,但计算复杂度过高,因此引入了随机投影技术。随机投影比主成分分析的计算速度快,但对小数据集效果不佳。LDA是一种有监督的降维技术,可以提高所提取特征预测性能,但LDA需要标记数据并会产生不易解释的特征。t-SNE主要用于文本和文档数据集的数据可视化。
(三)分类器选择
作者在文中比较了各种分类方法,并以表格的形式给出了每种方法的优缺点。
更具体地,作者还从模型、创新点、文本特征提取、使用的语料库、评价指标等方面比较了几篇较先进的文本分类文献。
(四)评价指标
作者在文中比较了不同的模型评价指标。精确度和召回率被广泛的应用于衡量文本分类器的有效性,但准确率和误差因为对正确决策数量变化不敏感并未在文本分类得到广泛使用。作者还给出了准确率(Accuracy)、灵敏度(Sensitivity )、特异性(Specificity)和精确度(Precision)四个评价指标的缺陷。
七、文本分类的应用
文章最后介绍了文本分类算法在不同领域的应用,例如其可以实现信息检索(Information Retrieval)、信息过滤(Information Filtering)、情绪分析(Sentiment Analysis)、推荐系统(Recommender Systems)、知识管理(Knowledge Management)、文档管理(Document Summarization)等目的。其在健康医疗(Health)、社会科学(Social Sciences)、商业和市场(Business and Marketing)等领域都有较广泛的应用前景。
参考文献
[1] Sugiyama, M. Dimensionality reduction of multimodal labeled data by local fisher discriminant analysis. J. Mach. Learn. Res. 2007, 8, 1027–1061.
[2] Pauca, V.P.; Shahnaz, F.; Berry, M.W.; Plemmons, R.J. Text mining using non-negative matrix factorizations. In Proceedings of the 2004 SIAM International Conference on Data Mining, Lake Buena Vista, FL, USA, 22–24 April 2004; pp. 452–456.
[3] Bingham, E.; Mannila, H. Random projection in dimensionality reduction: Applications to image and text data. In Proceedings of the Seventh ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Francisco, CA, USA, 26–29 August 2001; pp. 245–250.
[4] Chakrabarti, S.; Roy, S.; Soundalgekar, M.V. Fast and accurate text classification via multiple linear discriminant projections. VLDB J. 2003, 12, 170–185.
[5] Goodfellow, I.; Bengio, Y.; Courville, A.; Bengio, Y. Deep Learning; MIT Press: Cambridge, MA, USA, 2016; Volume 1.
[6] Rumelhart, D.E.; Hinton, G.E.; Williams, R.J. Learning Internal Representations by Error Propagation; Technical Report; California University San Diego, Institute for Cognitive Science: La Jolla, CA, USA, 1985.
[7] Wang, W.; Huang, Y.; Wang, Y.; Wang, L. Generalized autoencoder: A neural network framework for dimensionality reduction. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops, Columbus, OH, USA, 23–28 June 2014; pp. 490–497.
[8] Maaten, L.V.D.; Hinton, G. Visualizing data using t-SNE. J. Mach. Learn. Res. 2008, 9, 2579–2605.
[9] Rocchio, J.J. Relevance feedback in information retrieval. In The SMART Retrieval System: Experiments in Automatic Document Processing; Englewood Cliffs: Prentice-Hall, NJ, USA, 1971; pp. 313–323.
[10] Schapire, R.E. The strength of weak learnability. Mach. Learn. 1990, 5, 197–227.
[11] Freund, Y. An improved boosting algorithm and its implications on learning complexity. In Proceedings of the Fifth Annual Workshop on Computational Learning Theory, Pittsburgh, PA, USA, 27–29 July 1992; pp. 391–398.
[12] Bloehdorn, S.; Hotho, A. Boosting for text classification with semantic features. In International Workshop on Knowledge Discovery on the Web; Springer: Berlin/Heidelberg, Germany, 2004; pp. 149–166.
[13] Breiman, L. Bagging predictors. Mach. Learn. 1996, 24, 123–140.
[14] Cox, D.R. Analysis of Binary Data; Routledge: London, UK, 2018.
[15] Kaufmann, S. CUBA: Artificial Conviviality and User-Behaviour Analysis in Web-Feeds. PhD Thesis, Universität Hamburg, Hamburg, Germany 1969.
[16] Porter, M.F. An algorithm for suffix stripping. Program 1980, 14, 130–137.
[17] Frank, E.; Bouckaert, R.R. Naive bayes for text classification with unbalanced classes. In European Conference on Principles of Data Mining and Knowledge Discovery; Springer: Berlin/Heidelberg, Germany, 2006, pp. 503–510.
[18] Jiang, S.; Pang, G.; Wu, M.; Kuang, L. An improved K-nearest-neighbor algorithm for text categorization. Expert Syst. Appl. 2012, 39, 1503–1509.
[19] Salton, G. Automatic Text Processing: The Transformation, Analysis, and Retrieval of; Addison-Wesley: Reading, UK, 1989.
[20] Vapnik, V.; Chervonenkis, A.Y. A class of algorithms for pattern recognition learning. Avtomat. Telemekh 1964, 25, 937–945.
[21] Boser, B.E.; Guyon, I.M.; Vapnik, V.N. A training algorithm for optimal margin classifiers. In Proceedings of the Fifth Annual Workshop on Computational Learning Theory, Pittsburgh, PA, USA, 27–29 July 1992; pp. 144–152.
[22] Bo, G.; Xianwu, H. SVM Multi-Class Classification. J. Data Acquis. Process. 2006, 3, 017.
[23] Sun, A.; Lim, E.P. Hierarchical text classification and evaluation. In Proceedings of the IEEE International Conference on Data Mining (ICDM 2001), San Jose, CA, USA, 29 November–2 December 2001; pp. 521–528.
[24] Morgan, J.N.; Sonquist, J.A. Problems in the analysis of survey data, and a proposal. J. Am. Stat. Assoc. 1963, 58, 415–434.
[25] Magerman, D.M. Statistical decision-tree models for parsing. In Proceedings of the 33rd Annual Meeting on Association for Computational Linguistics, Cambridge, MA, USA, 26–30 June 1995; Association for Computational Linguistics: Stroudsburg, PA, USA, 1995; pp. 276–283.
[26] Quinlan, J.R. Induction of decision trees. Mach. Learn. 1986, 1, 81–106.
[27] Ho, T.K. Random decision forests. In Proceedings of the 3rd International Conference on Document Analysis and Recognition, Montreal, QC, Canada 14–16 August 1995; Volume 1, pp. 278–282.
[28] Breiman, L. Random Forests; UC Berkeley TR567; University of California: Berkeley, CA, USA, 1999.
[29] Sutton, C.; McCallum, A. An introduction to conditional random fields. Found. Trends® Mach. Learn. 2012, 4, 267–373.
[30] Vail, D.L.; Veloso, M.M.; Lafferty, J.D. Conditional random fields for activity recognition. In Proceedings of the 6th International Joint Conference on Autonomous Agents and Multiagent Systems, Honolulu, HI, USA, 14–18 May 2007; p. 235.
[31] Chen, T.; Xu, R.; He, Y.; Wang, X. Improving sentiment analysis via sentence type classification using BiLSTM-CRF and CNN. Expert Syst. Appl. 2017, 72, 221–230.
- END -