基于支持向量机的文本分类

2019-10-09 11:44李芸初
中国新技术新产品 2019年1期
关键词:文本分类

摘 要:文本分类是自然语言处理中的一项重要任务,用计算机做文本分类能够大大提高文本分类效率,方便人们的生活,该文主要介绍如何用支持向量机做文本分类。该文前面主要介绍文本分类背景、意义和应用,之后对中文分词、文档建模、分类器训练和评估原理做了重点介绍,包括了自然语言处理中的统计语言模型,机器学习中的SVM算法、NNLM模型。

关键词:文档建模;文本分类;SVM算法;中文分词

中图分类号:TP391      文献标志码:A

1 文本分类概述

1.1 文本分类背景

随着社会的发展,电子文本逐渐代替书面文本成为文本信息的主要载体。据统计,现今网络上已经有百亿级的HTML网页,并且以每天数千万的数量级在增长。面对这样基数庞大且呈指数增长的信息世界,如何有效组织文本信息,从中找到有效信息成为一个新的挑战。为了解决这个问题,需要对信息进行分类、检索,而文本分类是其中一个非常重要的环节。传统的文本分类都是由人工完成的,这种方式效率低下、浪费人力,已经不能满足这么庞大的文本信息分类需求。利用计算机进行文本分类成为文本分类目前的主要研究方向。

1.2 文本分类任务

文本分类是用电脑对文本集(或其他实体或物件)按照一定的分类体系或标准进行自动分类标记。在自然语言处理任务中,文本分类是一个基础任务,有着广泛的应用,同时也是各种其他自然语言处理任务的基础。文本分类和一般的监督学习方法一样,需要从已知标记的文本上学习到模型,保存学习好的模型,对于新的文本,输入模型中,模型会自动给出类别。但是和其他监督学习任务不同的是,计算机无法直接从原始文本信息中提取信息,因此需要进行文本的特征表示。文本特征表示是将文本信息用统计信息或者语义信息表示成计算机能够识别的内容,通常是用特征向量表示,常用的特征表示方式有TF-IDF和各种词向量。

文本分类给人们带来了许多益处:1)极大缩短资料整理时间。2)文本分类能够对信息进行过滤检索。3)文本分类有助于文档归类、存储、管理。

通过分类人们可以区分和认知事物,在文本分类的应用上,在4个领域进行了研究:1)冗余过滤。2)文档组织。3信息检索。4)信息过滤。

2 研究现状

2.1 国内外研究现状

文本分类于20世纪60年代兴起,最早是基于知识工程,即人为制定规则进行分类。90年代后,研究者开始用机器学习的方法进行文本分类,这种不需要专家干预的分类方式迅速发展,成为文本分类的主流。1971年Rocchio提出修正权重的線性分类器。1979年van Rijsbergen对信息检索进行了总结,提出了诸如准确率、召回率等概念,这些概念后面广泛用于分类任务中;1992年Lewis在他的博士论文中系统地介绍了文本分类的各种细节,并且建立数据集自主进行测试;1995年Vipnik提出利用支持向量机进行分类;随着当前深度学习的崛起,神经网络开始广泛地应用到文本分类任务中,并且取得了很好的效果。

2.2 当前研究热点

随着文本分类研究的深入,在取得了很多成果的同时也出现了很多问题,这些问题也成为当前的研究热点,分别有4点。1)多语种分类:如何用一个分类器对不同语言文本进行分类。2)噪声问题:如何解决文本中存在的噪声问题,特别是短文本。3)大量文本分类:如何在大规模文本上搭建一个高效准确的分类器。4)层次化文本分类:文本类别之间存在依赖关系,如何进行层次分级分类。

3 文本分类

文本分类的主流是,在统计学的基础上,对现有的标记过的数据采用机器学习的方法进行统计分析,获得规律,得到模型,再运用训练好的模型对未知的数据做预测分析,得到分类结果。机器很难按照人类的方式理解文本,要让机器能够高效处理文本,需要找到一种理想的形式化表示方法。训练好的模型是否能够应用取决于模型分类结果的好坏,需要找到一种评价方式评价模型的好坏。因此,该文从文档建模、文本分类器构建和分类器评价3个部分介绍文本分类的一般步骤。

3.1 文档建模

目前比较常用的文档建模方式是用一个特征向量表示文档。这种表示方式下,首先需要通过中文分词技术把文档分成一个个有意义的词,然后利用神经网络训练Word2vec模型,在语料库级别上得到词到向量的映射,最后将组成文档的词对应的词向量做加和平均,可以得到文档的特征表示。

中文分词有非常多的做法,该文介绍了一种基于统计的中文分词方法,主要用到了语言模型,可以用简单的语言将分词过程进行表述,若S表示一个完整的句子,假设句子S有3种不同分词方式。

S=A1, A2, …, Ak

S=B1, B2, …, Bm

S=C1, C2, …, Cn

其中A1, A2, …,B1, B2, …, C1, C2, …等为分词得到的词,假设这3种分词方式得到的词串都不一样, k, m, n分类表示这3种分词方式下词的数量。根据统计语言模型的思想,最佳分词方式是使得分词后组成句子的概率最大,不同词串下的概率可以用统计语言模型和大数定理计算得到。

词向量有2种重要表示方式,即独热表示与分布式表示。独热表示是将单词表示为维度与词典大小一致,并且只有单词对应位置为1,其余均为0的特征向量,one-hot是BoW的基本形式,但仍有巨大缺点:1)维度大,易发生维度灾难。2)词汇之间有鸿沟,无法捕捉词与词之间的相似度。而随着深度学习的发展应用,建立起来的分布式表示则很好地解决了这一缺点,即将单词表示为共现矩阵,从而有效地解决了上述缺点,更加灵活地捕捉上下文信息。分布式词向量可以由NNLM模型训练得到。

3.2 支持向量机做文本分类

支持向量机由Vapnik提出,通过控制超平面的间隔度量和核技巧能够解决线性和非线性分类问题。最大间隔分类器是支持向量机的一种,是通过在特征空间找到一个超平面将不同类别分割开,因此最大间隔分类器只能适用于线性可分的二分类问题。最大间隔分类器需要在保证2类样本无错误的分開的同时,使得2个类别的分类间隔最大,如图1所示,在超平面H1、H、H2都能将2个类别分割开的同时,H具有最大边界,为支持向量机寻找的超平面。

对于上述二分类问题,可以用数学形式表示:对于样本集合(x1,y1),(x2,y2),…(xm,ym),x∈Rn,y∈{-1,+1},支持向量机寻找一个最优超平面,使得分类间隔最大,在上图中H1、H2为2类分类样本离分类线最近且平行于分类线的直线,这2条线之间的距离称之为分类间隔。设分类方程为x·w+b=0,y∈{-1,+1},yi[(w·xi+b)]>0,i=1,2,3…, m, 则分类间隔是2/||w||, 使分类间隔最大等价于||w||最小,满足上述约m束条件,并且使得||w||最小的分类线就是最优分类线。这样就可以完成二分类问题,对于多分类问题,可以采用one vs rest的方式训练多个二分类器达到多分类的效果。对于文本分类任务,将文档建模后,将数据放入模型中,训练即可得到模型,达到文本分类的目的。

3.3 分类器评估

在完成一个分类后,需要用一些量化指标表示分类器好坏。在分类问题中,常用的指标有准确率、召回率和F度量值。对于二分类任务,准确率表示在所有分类器分类为正类的样本中真实为正类的比例,召回率表示在所有正类样本中有多少能被分类器正确分类,F度量值为正确率和召回率的几何平均。若用T/F表示分类正确/失败,P/N表示正类/负类,上述指标可以用公式表示如下:

precsion p=TP/(TP+FP)

recall r=TP/(TP+FN)

F=2×p×r/(p+r)

4 结语

该文主要介绍了用支持向量机完成文本分类的过程,用统计语言模型做中文分词,能够达到较好的效果,用NNLM模型训练词向量,用支持向量机做分类。其中本文介绍支持向量机能够找到最大间隔超平面,但是只能用于线性可分情况,限制了这种分类器在很多情况下的使用,后续拟在支持向量机上添加核方法使得能够适合非线性的情况。

目前深度学习发展迅速,利用深度学习的方式进行文本分类变得更加常见,通过查阅论文可以了解如何用深度学习的方式完成文本分类工作,认识到分类器的准确率比传统的机器学习方式高很多,后续将会继续学习一些深度学习的知识,尝试用深度学习的方式完成文本分类工作。

参考文献

[[1]程军.基于统计的文本分类研究[D].北京:中国科学院文献情报中心,2005.

[2]骆昌日.基于统计方法的中文文本自动分类研究[D].武汉:华中师范大学,2004.

[3]李荣陆.文本分类相关技术研究[D].上海:复旦大学,2005.

[4]杨昂.文本分类算法研究[D].长沙:湖南大学,2002.

作者地址:李芸初,男,河南省洛阳市西工区凯旋东路80号院23号楼一门栋402室。

猜你喜欢
文本分类
基于组合分类算法的源代码注释质量评估方法
不同情境下中文文本分类模型的表现及选择
基于内容的英语录音教材标注研究与应用