基于多项式朴素贝叶斯的文本分类及应用研究

2022-05-30 08:08肖自乾陈经优符天
电脑知识与技术 2022年27期
关键词:文本分类

肖自乾 陈经优 符天

摘要:在信息数据爆炸式增长的今天,各类信息如潮水般呈现在人们面前,利用文本分类技术可以高效、准确地找到人们需要的有关分类信息,为进一步开展数据挖掘和分析奠定基础。文章的标题、摘要是内容的高度概括,针对这些短文本进行分类则成为自动文本分类的研究方向。基于互联网信息平台各类信息数据,文章分别采用Bow和TF-IDF等技术方法进行文本向量化,构建多项式朴素贝叶斯模型对训练集数据进行训练,并对比研究测试集预测结果,实现短文本自动文本分类,为实现快速获取某类信息热点提供参考。

关键词:Bow;TF-IDF;朴素贝叶斯;文本分类;网格搜索

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

文章编号:1009-3044(2022)27-0061-03

开放科学(资源服务)标识码(OSID):

1 引言

随着信息技术迅速发展和大数据时代的到来,各类新闻、咨询的数据也在急速增长。根据我国工业和信息化部有关互联网数据统计显示,2021年1-10月社交通讯类、生活服务类、新闻阅读类应用下载量分别达2545亿次、1870亿次、1566亿次[1]。由此可见,面对海量的数据,如何将这些信息根据用户需求进行高效、准确分类并推送给用户显得尤为重要。本文采集各大互联网平台热点新闻咨询作为训练数据集,并对其进行数据预处理,分别选择Bow和TF-IDF等文本向量化技术提取文本特征,应用朴素贝叶斯分类算法进行文本分类,在此基础上对分类模型进行优化,提高了文本分类准确率。

2 文本向量化

2.1 文本预处理

在英文文本处理中将句子分割为单词比较容易,而中文则不那么容易,需要进行分词处理。本文使用jieba库进行中文分词,它是一款非常流行中文开源分词包,具有高性能、准确率、可扩展性等特点,提供三种分词模式,即精确模式、全模式以及搜索引擎模式。jieba分词结合基于规则和基于统计两类方法:首先基于前缀词典进行词图扫描,可以快速构建包含全部可能分词结果的有向无环图,这个图包含多条分词路径,有向是指全部的路径都始于第一个字、止于最后一个字,无环是指节点之间不构成闭环。其次,基于标注语料、使用动态规划的方法可以找出最大概率路径,并将其作为最终的分词结果。对于未登录词,则使用了基于汉字成词的HMM模型,采用了Viterbi算法进行推导[2]。

2.2 文本特征提取

在本文研究中主要使用Bow和TF-IDF两种文本向量化方法。Bow也称之为词袋模型,最初被用在信息检索领域,是自然语言处理和信息检索下被简化的表达模型,对于一篇文档来说,假定不考虑文档内的词的顺序关系和语法,只考虑该文档是否出现过这个单词。在实际操作中将文本中的词语转换为词频矩阵,并计算各个词语出现的次数。该方法的缺陷主要在于:随着新词的出现词汇量便会随之增加,因此向量的长度也会增加;容易产生稀疏矩阵;没有保留任何关于句子语法和文本中单词顺序的信息。

TF-IDF是一种统计方法,用以评估一个字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。TF,即词频,表示词条在文本中出现的频率,这个数字通常会被归一化, 以防止它偏向长的文件[3]。TF用公式表示如下:

[TFi,j=ni,jknk,j]                              (1)

其中,[ni,j]表示词条 [ti] 在文档 [dj]中出现的次数,[TFi,j]就是表示词条[ti]在文档 [dj]中出现的频率。

在通常情况下,一些通用的词语对于主题并没有太大的作用,反倒是一些出现频率较少的词才能够表达文章的主题,所以只考虑TF是不合适的。在权重的设计必须是一个词如果它预测主题的能力越强,权重则越大,反之,权重则越小。IDF表示关键词的普遍程度。如果包含词条[i]的文档越少,IDF越大,则说明该词条具有很好的类别区分能力。某一特定词语的IDF,可以由总文件数目除以包含该词语之文件的数目的商取对数得到:

[IDFi=logD1+j : ti ∈dj]                   (2)

其中,[|D|]表示所有文档的数量,[|j : ti ∈dj|]表示包含词条[ti ]的文档数量,这里要加 1主要是防止包含词条[ti ]的数量为 0 从而导致分母为零导致运算出错的现象发生。

某一特定文件内的高词语频率,以及该词语在整个文件集合中的低文件频率,可以产生出高权重的TF-IDF。因此,TF-IDF倾向于过滤掉常见的词语,保留重要的词语,表达为:

[TF-IDF=TF?IDF]                      (3)

综上所述,词袋模型只考虑每种词汇在该训练文本中出现的频率,而TF-IDF除了考量某一词汇在当前训练文本中出现的频率之外,同时关注包含这个词汇的其他训练文本数目的倒数。相比之下,训練文本的数量越多,TF-IDF这种特征量化方式就更有优势。

3 多项式朴素贝叶斯算法

3.1朴素贝叶斯算法

朴素贝叶斯算法是一种基于数学理念的分类算法[4]。“朴素”是一种带有假设的限定条件,“贝叶斯”则指的是贝叶斯公式。朴素贝叶斯算法利用后验概率进行预测,核心方法是通过似然度预测后验概率,而学习的过程就是不断提高似然度的过程,其数学公式如下:

[Py|x1,…,xn=P(y)i=1nP(xi|y)P(x1,…,xn)]              (4)

基于朴素贝叶斯算法学习过程,它不再需要驱动迭代逼近过程的假设函数和损失函数。通过比较不同特征与类之间的似然关系,最后把似然度最大的那个类作为预测结果。数学表达式如下:

[y=argmaxyP(y)i=1nP(xi|y)]              (5)

朴素贝叶斯分类算法具体步骤:

1)统计样本数据。需要统计先验概率[P(y)]和似然度[P(x|y)];

2)根据待预测样本所含的特征,对不同类分别进行后验概率计算;

3)比较[y1,...,yn]的后验概率,哪个的概率值最大就将其作为预测值输出。

3.2多项式朴素贝叶斯

多项式朴素贝叶斯算法是文本分类中使用的两种经典的朴素贝叶斯变体之一[5],这个分布的每个类别[y]的参数向量为[θy=(θy1,...,θyn)],其中[n]是特征数量(在文本分类中是词典大小),[θyi]是特征[i]在类别[y]的一个样本中出现的概率[P(xi∣y)]。参数[θy]由最大似然的平滑版本来估计,即相对频率计数:

[θyi=Nyi+αNy+αn]

其中[Nyi=x∈Txi]是训练集[T]上特征[i]在类别[y]的一个样本中出现的次数。[Ny=i=1nNyi]是类[y]的所有特征的总数。平滑先验α≥0让学习样本中不存在的特征占一定的比例,并防止在进一步的计算中出现零概率。α=1时为拉普拉斯平滑,α<1时为李德斯通平滑。

4 分类模型构建及评价

4.1 数据集

从各大互联网平台收集“财经”“体育”“健康”“娱乐”四类新闻标题构成数据集,并进行分类标注,最终整理数据集共20000条,平均每类数据5000条,随机选取20%作为测试数据集。

4.2 模型构建及预测

在此分别应用Bow和TF-IDF方法进行文本向量化并进行对比,同时引入停用词,用于去掉一些没有意义的符号、词语等。初步设定忽略词出现的次数与语料库文档数的百分比达到50%的那些词。训练模型选择多项式朴素贝叶斯算法,设定平滑参数[α]为0.5,其他参数均使用默认值。分别使用各分类500条、1000条、2000条、4000条进行训练,预测数据为各分类1000条。预测结果见表1。

在表1中,precision表示正确预测为正的,占全部预测为正的比例;Recall表示正确预测为正的,占全部实际为正的比例;f1-score表示精确率和召回率的调和平均数。从表1中可以看出,在文档数越多的情况下,用TF-IDF进行向量化比用Bow表现更好。

4.3模型优化

网格搜索是最简单、应用最广泛的超参数搜索算法之一,它通过查找搜索范围内的所有的参数值确定最优值[6]。当采用较小的步长产生所有参数值时,网格搜索很大概率找到全局最优值,但是这样将消耗较多的计算资源和时间。因此在实际应用过程中,一般會先找到全局最优值可能的位置;然后再进一步缩小搜索范围来寻找更精确的最优值,由于目标函数的原因,此处的最优值是局部最优,并不一定达到全局最优。以上建立模型中[α]初始设定为0.5,并不一定是最优值。这里采用网格搜索方法对其进行参数优化,在[0,1]区间以0.05为步长,可以找到参数范围内精度最高的参数[α]为0.1,因此再一次缩小搜索范围,最终找到最优参数[α]为0.067。同时我们将原来单个词语作为特征扩展为可包含1~2个词组成的词组作为特征。优化后预测结果见表2。

通过表2可以看出,通过参数的搜索,根据找到的最优参数[α]可以进一步提高文本信息预测精度。最优分类统计报告见表3:

在表3中,support列中1000表示各分类测试数据量,4000为各分类测试数据量总和。从预测结果可以看出通过参数优化后,accuracy进一步提高到95.125%,分类效果有一定提升。

5 结语

本文重点围绕自动文本分类开展研究。使用不同的文本向量化方法建立文本特征模型,在朴素贝叶斯算法基础上进一步应用多项式朴素贝叶斯算法构建训练模型,对不同文本向量化方法得到的预测结果进行对比研究,最后采用网格优化等方式进行优化,较好地提高文本分类的高效性和准确性。

参考文献:

[1] 2021年1-10月份互联网和相关服务业运行情况.[EB/OL].[2021-12-20]. https://www.miit.gov.cn/gxsj/tjfx/hlw/index.html.

[2] 石凤贵.基于jieba中文分词的中文文本语料预处理模块实现[J].电脑知识与技术,2020,16(14):248-251,257.

[3] 许丽,焦博,赵章瑞.基于TF-IDF的加权朴素贝叶斯新闻文本分类算法[J].网络安全技术与应用,2021(11):31-33.

[4] 莫凡.机器学习算法的数学解析与Python实现[M].北京:机械工业出版社,2020.

[5] scikit-learn, Naive Bayes. [EB/OL].[2021-12-20].https://scik it-learn.org/dev/modules/naive_bayes.html.

[6] 丁辉.基于网格优化模型的支持向量机企业信用评级应用研究[J].金融科技时代,2021,29(10):63-66.

【通联编辑:王力】

猜你喜欢
文本分类
基于朴素贝叶斯的Web文本分类及其应用
基于组合分类算法的源代码注释质量评估方法
基于贝叶斯分类器的中文文本分类
基于蚁群智能算法的研究文本分类
基于朴素贝叶斯分类的Java课程网络答疑反馈系统
基于K—means算法的文本分类技术研究
文本分类算法在山东女子学院档案管理的应用
不同情境下中文文本分类模型的表现及选择
基于内容的英语录音教材标注研究与应用
多核SVM文本分类研究