APP下载

贝叶斯、KNN和SVM算法在新闻文本分类中的对比研究

2019-11-12祁小军兰海翔卢涵宇丁蕾锭薛安琪

电脑知识与技术 2019年25期
关键词:贝叶斯

祁小军 兰海翔 卢涵宇 丁蕾锭  薛安琪

摘要:在自媒体的时代,人们每天接触海量的新闻,如何从中对这些新闻进行高效分类,抓取有用的信息是一件关键的事情。而贝叶斯、KNN和SVM算法都可以用在文本自动分类中,本文通过实验就这三种分类器进行对比,分析这三种分类器对新闻文本分类的效果。

关键词:KNN; SVM;新闻TF分类;贝叶斯

中图分类号: TP208       文献标识码:A

文章编号:1009-3044(2019)25-0220-03

Abstract:In the era of media, people are exposed to a huge amount of news every day, how to efficiently classify these news from them, and to grab useful information is a key thing. Bayesian, KNN and SVM algorithms can be used in automatic text categorization. This paper compares these three classifiers through experiments. Analysis the effect of these three classifiers on the classification of news text.

Key words: KNN; SVM; text classification; Bayesian

新闻文本分类问题已经自新闻媒介诞生以来就一直存在,从早期的人工主题分类,到现在的关键词分类。这些分类方式都是想提高新闻分类的效率,特别在今天自媒体盛行的时代,其分类效率愈加变得至关重要。而常用的文本分类方法有朴素贝叶斯、KNN算法和SVM算法。朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法[1],其对已知类别,假设所有属性相互独立,换言之,假设每个属性独立地对分类记过产生影响。KNN算法即k近邻算法,是数据挖掘分类方法中最常用的方法之一。所谓的k近邻是指k个最近的邻居的意思,说的是每个样本都可以用它最接近的k个邻居来代表。Cover和Hart在1968年提出了最初的近邻算法[2]。SVM(支持向量机)是一种按监督学习方式对数据进行二元分类的广义线性分类器[1][3],最早于1964年被提出,在人脸识别、文本分类等问题中广泛应用[4]。

1 中文文本分类技术

文本分类是将大量文本按照一定规则划分为一系列组别的过程。文本分类实质上是一个模式分类任务,所以诸多模式分类的算法就可以应用到文本分类当中。但文本分类又是自然语言处理的过程。文本的分类规则大多与文本的语义相关,所以和普通的模式分类任务又有着许多不同之处。

1.1 文本特征选择

在文本分类中,当分类文本数目比较大的时候,从文档中提取的特征也就随之增加,但有些特征对文本的分类作用并不大。所以我们要应用适当的文本特征选择方法来提取具有代表性的特征。去除冗余特征。本文采用基于TF-IDF的文本特征提取。

TF-IDF是一种统计方法,用来评估一个字词对于一个文本集的重要程度。字词的重要性与它在文本中出现的频率成正比,但又同它出现在语料库中的频率成反比。其原理如下。

在一个给定的文本中,词频(TF)指的是某个给定的词在该文本出现的频率。这个数字是对文本总词数的归一化,以防止它偏向长的文本。对于在一特定文件中的词[ti]来说,它的重要性可以表示为:

当某一词语在特定文本中属于高频词语,且它在整个文本集合中又属于低频词语,通过公式(3)就可以得到一个权重高的TF-IDF。

1.2 基于统计的分类方法

文本分类的方法大多来自模式分类,基本上可以分为三大类,其一是基于统计的方法,另一种是基于连接的方法,.还有一种是基于规则的方法。这些方法的主要区别在于规则的获取方法[5]。本文采用基于统计的方法。选取的算法包括朴素贝叶斯算法、KNN算法及SVM算法。

1.3 分类性能评估

文本分类的评估和具体应用有关。不同的应用,其性能评估的方法和准则不尽相同。可以有如下几个指标:

(1) 领域独立性,由于现有的文本分类技术大多基于特征词信息,这使得文本分类需要借助词典和使用专门的分词技术。但每个学科领域的词典用词侧重点不同,所以能够找到一个领域独立地文本分类系统无疑具有重要价值。

(2) 时间无关性,随着时间的变化,语言用词也会发生变化,所以一个高效的文档分类技术,要不断更新自己的词典。

(3) 可扩展性,因为文本分类是建立在文本分类方法上的,且大多说文本分类方法都是机器学习方法,当有新的更加高效的方法出现时,一个分类系统能够通过扩展,迭代实现更加高效的分类是关键。

(4) 空间和时间代价。

本文采用F值、精准率和召回率作为文本分类性能的评估。

2 三种分类器的原理

2.1 朴素贝叶斯分类器

朴素贝叶斯的思想基础为:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类項属于哪个类别。朴素贝叶斯分类的正式定义如下:设[x={a1,a2,...,am}]为一个待分类项,而每个a为x的一个特征属性。有类别集合[C={y1,y2,...,yn}]计算每个y在x基础的概率分布,[P(y1|x),P(y2|x),...,P(yn|x)]如果[P(yk|x)=max{P(y1|x),P(y2|x),...,P(yn|x)],则[x∈yk] 。关键是如何计算每个条件概率。对于此我们可以统计训练集中的条件概率估计,并假设各个属性是条件独立地根据贝叶斯定理有

2.2  KNN分类器

该算法的基本思路是:在给定新文本后考虑在训练文本集中与该新文本距离最近的K篇文本,根据这K篇文本所属的类别判定新文本所属的类别[6],具体的算法步骤如:

1)计算测试数据与各个训练数据之间的距离;

2)按照距離的递增关系进行排序;

3)选取距离最小的K个点;

4)确定前K个点所在类别的出现频率;

5)返回前K个点中出现频率最高的类别作为测试数据的预测分类。

2.3  SVM分类器

SVM(Support Vector Machines)——支持向量机是在所有知名的数据挖掘算法中最健壮,最准确的方法之一,它属于二分类算法,可以支持线性和非线性的分类。假设在一个二维线性可分的数据集中,图1 A所示,我们要找到一个超平面把两组数据分开,这时,我们认为线性回归的直线或逻辑回归的直线也能够做这个分类,这条直线可以是图1 B中的直线,也可以是图1 C中的直线,或者图1 D中的直线,但哪条直线才最好呢,也就是说哪条直线能够达到最好的泛化能力呢?那就是一个能使两类之间的空间大小最大的一个超平面。这个超平面在二维平面上看到的就是一条直线,在三维空间中就是一个平面,因此,我们把这个划分数据的决策边界统称为超平面。离这个超平面最近的点就叫作支持向量,点到超平面的距离叫间隔。支持向量机就是要使超平面和支持向量之间的间隔尽可能的大,这样超平面才可以将两类样本准确的分开,而保证间隔尽可能的大就是保证我们的分类器误差尽可能地小,尽可能地健壮。

3 分类实验结果

3.1 分类方法

本文的新闻数据采用复旦的中文语料库,在pycharm软件上运行程序,并对其效率和结果进行比较分析。新闻分类总共分为艺术、文学、教育、心理学、历史、太空学、能源、沟通、计算机、矿业、运输、电子、环境、农业、经济、法律、医学、军事、政治、运动。共二十个种类。其中每个类别中的2/3作为训练集,1/3作为测试集。

本文采用文本分类研究普遍接受的评估指标来评价文本分类的性能,即准确率(Precision)、查全率(Real)和FI测试值。

3.2 结果

通过上述的实验方法实验朴素贝叶斯、KNN和SVM三种算法的实验结果其分类结果如表1所示。

可以看出,SVM算法在这三种算法之中的预测效果最好,表明SVM在精准度方面是较好的算法。我们又对比了三种算法预测数据的时间结果如表2所示。

从表中可以看出,SVM在相同的数据量下用时最长,而朴素贝叶斯明显比其他两个算法用时时间要短,仅用0.59秒。

4 总结

本文分析和比较了朴素贝叶斯、KNN和SVM三种算法,并利用复旦中文语料库进行了实验。 综合表1 和表2,我们可以看出,当我们需要较高的F1值时,可以选用SVM,当数据量大且对精准度要求不高时,可以选用朴素贝叶斯,综合时间和准确度,可以选用KNN算法。

参考文献:

[1] 李航.统计学习方法[M].北京:清华大学出版社,2012.

[2] Cover T M, Hart P E. Nearest neighbor pattern classification[J]. IEEE transactions on information theory, 1967,13(1):21-27.

[3] 周志华.机器学习[M].北京:清华大学出版社,2016:121-139, 298-300.

[4] Sun, A., Lim, E.P. and Ng, W.K. November. Web classification using support vector machine. In Proceedings of the 4th international workshop on Web information and data management,2002: 96-99.

[5] 李荣陆,胡运发.文本分类及其相关技术研究[D].上海: 复旦大学计算机与信息技术系, 2005.

[6] 马建斌,李滢,滕桂法,等.KNN和SVM算法在中文文本自动分类技术上的比较研究[J].河北农业大学学报,2008(03):120-123.

【通联编辑:光文玲】

猜你喜欢

贝叶斯
基于贝叶斯解释回应被告人讲述的故事
贝叶斯公式及其应用
基于贝叶斯估计的轨道占用识别方法
基于互信息的贝叶斯网络结构学习
一种基于贝叶斯压缩感知的说话人识别方法
基因组育种值估计的贝叶斯方法