支持向量机在文本分类的运用

 2022-01-17 11:01

论文总字数:15687字

目 录

1 绪论 1

1.1 研究背景 1

1.2 研究意义 2

1.3 研究内容 2

1.4 工具技术介绍 2

2 文本分类相关原理理论 3

2.1 文本分类流程 3

2.2 中文分词 4

2.3 统计学习理论 4

2.3.1 统计学习理论 4

2.3.2 VC维 5

2.3.3 SRM准则 5

2.4 支持向量机有关原理 6

2.4.1 支持向量机概述 6

2.4.2 线性可分类支持向量机 6

2.4.3 非线性支持向量机 7

2.5 支持向量机的多分类问题 8

3 文本分类实例 8

3.1 文本分类实现流程 8

3.2 文本训练集与测试集的选取 9

3.3 文本预处理 9

3.3.1 文本预处理流程 9

3.3.2 文本分词 10

3.3.3 处理数据集 11

3.3.4 去停用词 12

3.3.5 文本特征提取及文本向量化 13

3.4 支持向量机的结果分析 15

3.4.1分类器评测指标 15

3.4.2 SVM分类器的结果分析 15

3.5 其它分类器的结果分析 17

3.5.1 朴素贝叶斯分类器的结果分析 17

3.5.2 K-近邻算法的结果分析 17

3.6 支持向量机与其它分类器的对比 18

4 总结 19

参考文献 20

致谢 21

支持向量机在文本分类的运用

宋苏静

,China

Abstract:With the development of computers and related technologies, text data on the Internet is also increasing rapidly. How to extract useful information and effectively use it in massive Chinese information is more and more practical. The purpose of practice is ultimately to achieve the classification of texts. The article firstly uses jieba word segmentation to successfully segment words, eliminate abnormal words, and vectorize the texts. Then the classifier is used to train and test the classifiers. Finally, text classification is implemented. This paper mainly studies the algorithm of support vector machine (SVM) as a classifier. Through the training of training set, the test set is used for testing, and the threshold is adjusted through testing. As a result, the classifier achieves higher classification ability.

Key words: Text Categorization,Classifier,Support Vector Machines

1 绪论

1.1 研究背景

文本作为常见的数据表现形式,关于文本数据处理的技术也是有了相当大的发展。首先要提出的就是文本分类,它的具体实施方案是,首先要有一个相当大的文本数据集,然后从文本数据中提取出有利于以后分类工作的信息,最后对文本进行分类。文本是一种半结构化,或者说并没有什么结构可言的一种数据,所以一般数据的处理方式对于其的参考意义并不大。文本的数据处理挺困难的,需要以统计学以及文本分析技术为基础。一般有两种文本分类模型:一种是以规则为基础的文本分类模型,另一种则是以统计为基础的文本分类。在周边,常见的分类模型比如说有朴素贝叶斯以及KNN算法,这两种算法接触过计算机行业的大多听过,也是十分经典的算法,文章便采用了这两种算法主要与支持向量机算法进行了对比。

支持向量机是由科尔特斯和瓦普尼克以统计学习知识[[1]]为基础于1995年提出的算法,SVM[[2]]理论依照来自样本数据有限的信息,建立数学模型,在尽可能降低模型的复杂程度和增强学习能力间寻求一种平衡。SVM主要是以结构风险最小化原理和VC维理论为基础,它既需要保证机器的学习能力,还要保证机器的泛化能力高。采用SVM是因为它的以下一些优点,比如说第一个优点支持向量机理论经过映射,有效的解决了非线性的问题以及高维问题;第二个优点是即使在训练集并不算是很大的时候,也具有良好的分类性能;第三个优点便是SVM的理论方法经由多年已经比较完善;第四个优点便是从可以在许多函数集中构造函数可以看出支持向量机理论的通用型很强;第五个优点便是相较于其他的方法来说,SVM的模型可应用范围要更加广一些。当然,SVM还有很多优点,此处便不再一一举例。

除了支持向量机所具有的优势之外,它还能有效避免很多问题,举个例子就是维数灾难,以及还有可以提到的就是过学习的问题。经过多年,支持向量机引起了许多学者的关注。打比方说支持向量机理论在进行图像处理的方面、模式以及文本识别的方面、回归分析的方面等均有了充分的进步,促进科技的发展。

支持向量机拥有线性模型和非线性模型,显而易见的是,线性模型十分易于实现,并且无论是计算数据的大小还是存储空间的占用均是比较小的。而现实生活中,能采用线性模型的实际情况并不多。这就可以提到支持向量机的非线性模型。这是一个支持向量机模型的巨大优势,它拥有非线性模型,可以很方便的其它模型解决不了的许多复杂的问题。非线性模型的泛化能力比线性模型的能力更高。

目前已有的实践可以证明,SVM理论优于许多其它建模方法,但也还需要研究与学习。也许是因为发展的还不够充分,在许多方面还有其不足的地方,比如说大数据进行处理的时间,需要进行优化模型,以及需要选取核函数的最优参数等问题仍然需要进行进一步的研究和讨论。支持向量机是由国外学者提出,较之国外的该算法的发展,国内的发展较为落后,但经过国内学者的智慧,也使得该算法在国内也取得了长足的发展。这也是使得能够实现基于SVM的文本分类的基础。

1.2 研究意义

随着计算机和相关技术的发展,互联网上电子文档飞速增多,如何在海量中文信息中提取有用信息并有效的使用,越来越具有现实意义。

当今社会最为耀眼的产业应该是信息产业,它发展的极为迅速。伴随信息产业的发展,各个领域都产生了大量的数据。虽然数据多,但没有处理过并不会产生有利的影响。所以需要把数据经过处理,才能更好的帮助使用者获取信息。但是,以往的信息处理技术对于信息数据的处理并不能满足各领域的要求。有一定的供求影响原因,社会对于获得有用的信息数据有着相当大的需求,使得各类数据处理的技术发展的极为迅速。

1.3 研究内容

本课题即是将SVM用于实际的文本样本数据,针对样本数据建立支持向量机分类器,从而实现更优更快的对文本进行分类。通过学习国内外先进研究成果,自主学习和研究,在课题研究中选择适宜核函数,实现到高维空间的非线性映射,综合的去考虑各因素的影响,从而使分类结果达到较高精度,从而实现数据的分类。具体的实施步骤如下:将SVM应用于实际数据,首先在样本数据中取一部分作为训练集,其余构成模型的测试集。训练集与测试集的选取也是有一定讲究的,训练集通常情况下要比测试集的数据多才能保证模型有一定的训练效果对于文本数据集。接着要进行预处理,预处理中包括许多操作,如分词,特征提取等等。然后选择合适的核函数,从而建立SVM分类器模型;最后训练分类器,训练过程完成后,用测试集测试分类器,根据精度等标准来评判分类器的优劣程度。

1.4 工具技术介绍

Python开发软件Pycharm:PyCharm是一种Python IDE(集成开发环境)。Python的设计思想是一种极简主义。选择Python的原因是,它没有其它语言例如“,”等的特殊符号,界面十分简洁。还有就是Python语言对于不是特别了解编程的人来说是一个强大的工具,它简单又明确,并且拥有非常齐全的库,因此功能也十分齐全。对于文章功能的实现有着强大的助力。

复旦中文文本分类语料库:实践需要一个大的文本数据集,经过资料的搜查,从而选取了复旦中文文本语料库,它的优点有,数据集较大,有上万数据,从而实验结果具有一定的信服度,文本按照对应的标签分类,方便实验等。

jieba分词[[3]]:jiaba分词是一个是由中国的程序员编辑的中文分词的模块。它的分词步骤如下所示:第一步是要生成有向无环图,它由句子中所有可能生成词的情况来构成。这一步要以前缀词典为基础,来进行效率高的词图扫描。 然后需要找出以词频为基础的最大切分组合,采取动态规划的方式查找最大概率路径。最后对于未登录词,则采用以汉字成词能力为基础的HMM模型。jieba分词支持三种分词模式:

(1)可以将句子最精准地切开,十分适用于文本分析的精确模式:

(2)优点是可以找出语句中可以成为词的词语,效率很高,缺点是却不能解决产生理解歧义的问题的全模式;

(3)以上文提到的第一种精确模式为基础,再次去划分长词,提高召回率,适合用于搜索引擎分词的的搜索引擎模式。

sklearn库:“Scikit-learn 项目”(简称 Sklearn)大概是是现今在数据挖掘与机器学习领域最为知名的开源学习模块。Sklearn 模块是以构建常用数据挖掘算法的程序模块为主要目标的,从而简化数据挖据各类算法的使用,这样便可给未来的理论研究和实际应用提供更好的基础技术支持。这里采用sklearn库是因为它使用起来十分方便。

1.5 文章结构

  1. 为绪论。是对文章总体的概括,主要介绍以支持向量机为基础的文本分类的研究背景,研究内容等。
  2. 主要写的是理论知识部分,主要介绍了文本原理的中文分词理论,支持向量机的前身理论统计学习的相关理论如VC维理论以及结构风险最小化原理理论,最后则是最重要的支持向量机方面的相关理论。
  3. 主要是将理论应用于文本分类,将文本采取预处理,首先利用jieba进行中文分词,去掉特殊符号以及中文符号,然后再进行去停用词(这两者均采用导入停用词表的方式来去除),接着进行特征提取以及文本向量化,建立支持向量机分类器,训练模型,测试分类器,最后以最终的结果为依据,选择出目前而言最优的参数以及核函数,最终建立目前而言最优的支持向量机分类器。
  4. 则主要是总结整篇文章的工作得出自己的结论,对于设计实现的最终结果进行讨论与反思,最后的最后则对进一步需要解决的问题提出一定自己的想法。

文本分类相关原理理论

2.1 文本分类流程

文本分类原理[[4]]首先对语料库利用jieba分词成功分词,去掉异常词等一系列预处理,特征提取之后进行文本向量化,计算词语在文本中的权重值,接着选择分类器,对分类器进行训练与测试,测试文本分类,最终以精度等标准评判分类器的准确度。文本分类的总体流程图的实现如图1所示。

剩余内容已隐藏,请支付后下载全文,论文总字数:15687字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;