温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
改进
朴素
贝叶斯
算法
文本
分类
研究
辛梓铭
第 47 卷 第 1 期燕山大学学报Vol.47 No.12023 年 1 月Journal of Yanshan UniversityJan 2023文章编号:1007-791X(2023)01-0082-07基于改进朴素贝叶斯算法的文本分类研究辛梓铭,王芳*(燕山大学 理学院,河北 秦皇岛 066004)收稿日期:2021-12-13责任编辑:王建青基金项目:河北省自然科学基金资助项目(F2020203105);河北省高等学校科学技术研究项目(ZD2022012);国家自然科学基金资助项目(62073234)作者简介:辛梓铭(1997-),男,黑龙江绥化人,硕士研究生,主要研究方向为数据处理技术;*通信作者:王芳(1984-),女,安徽淮北人,博士,副教授,主要研究方向为数据处理技术和多智能体系统控制,Email:wangfang ysueducn。摘要:朴素贝叶斯算法在给定输出类别的情况下,需假设属性之间相互独立,然而现实中这个假设一般不成立,导致在属性个数较多或者属性之间相关性较大时,分类效果不是很理想。为了解决这个问题,本文采用优化的模糊 C 均值聚类及权重计算方法改进朴素贝叶斯算法。首先,基于 JS 散度构造类别个数的自适应函数优化模糊聚类算法,利用优化后的算法将文本分类整理。然后,采用词频因子优化的 TF-IDF 算法计算分类后各样本的特征权重,结合样本权重与贝叶斯公式,进行分类计算。最后,为了体现改进的朴素贝叶斯算法的有效性和优越性,将其与原始朴素贝叶斯算法以及其他改进算法进行对比实验。实验结果表明,改进后的算法有效地降低了朴素贝叶斯模型对特征项独立性的要求,提高了分类决策的准确率,且在分类性能和效率上具有一定的优越性。关键词:朴素贝叶斯;文本分类;模糊聚类;特征权重;独立性假设中图分类号:TP391文献标识码:ADOI:103969/jissn1007-791X2023010090引言随着互联网技术的迅猛发展以及大数据时代的到来,文本信息量呈爆炸式增长。如何更快更准确地进行信息检索与数据分类成为重要的问题。文本分类算法是数据挖掘领域的核心内容之一,它根据分类器将数据集中的数据项划分到某一个固定的类别,基本步骤为:文本预处理、索引和词频统计、特征抽取、构造分类器以及对分类结果的评价。文本分类算法包含多种,如支持向量机算法 1、决策树算法 2、K 近邻算法 3、神经网络算法 4、贝叶斯分类算法 5 等等。朴素贝叶斯算法先计算各个样本的先验概率,再利用贝叶斯公式计算各样本属于每一个类的后验概率。该算法高效稳定,常被应用于数据分析:张付志等 6 利用贝叶斯算法对垃圾邮件的过滤进行研究;杨晓花等 7 利用贝叶斯算法对图书馆书目进行自动分类;丁童心等 8 利用朴素贝叶斯算法进行人脸表情识别。朴素贝叶斯算法的应用领域广泛,但是它的使用是以各属性之间相互独立的假设为前提。考虑到文本中各个词组的特征向量之间并不都满足独立性假设的条件,直接使用朴素贝叶斯算法可能会导致文本分类的准确率下降。针对这一问题,很多学者提出了改进方法:Kononenko 等9 提出了半朴素贝叶斯分类模型,考虑部分属性之间的相互依赖关系,通常假定每个属性仅依赖于其他最多一个属性。Hall 10 提出将朴素贝叶斯算法与决策树算法结合,通过构建决策树来估计各属性的权重。Webb 等 11 通过对所有约束分类器类求平均的方法来削弱属性的独立性假设。Zadrozny 等 12 提出了从决策树和朴素贝叶斯分类器中获得校正概率估计的方法。裘雅莹等 13 提出了基于带加权正特征的扩展贝叶斯模型的中文文本分类的方法。秦兵等 14 提出利用密度函数似然比来增加特征词的可分性信息的算法。李方 15 构造了属性间相关性的度量方法:通第 1 期辛梓铭 等基于改进朴素贝叶斯算法的文本分类研究83过改进属性加权来优化朴素贝叶斯分类模型。黄勇等 16 提出了基于词向量间余弦相似度改进朴素贝叶斯算法。这些方法一定程度上削弱了贝叶斯模型独立性假设带来的影响,然而它们没有考虑文本的语法语序,且操作起来相对复杂,导致耗时较大。针对上述不足,本文利用优化的模糊 C 均值聚类法 17 和权重计算方法改进朴素贝叶斯算法。首先,采用 JS 散度构造类别个数的自适应函数以优化模糊聚类算法,并利用改进算法对文本进行分类整理。然后,利用词频因子优化的 TF-IDF 算法计算各类别内样本的权重,同位置权重一起代入贝叶斯公式,最后进行分类计算。通过与传统朴素贝叶斯算法与其他改进算法的对比实验表明,本文的算法提高了分类决策的正确率与效率,降低了朴素贝叶斯模型对特征项独立性的要求,并较其他改进算法有一定的优越性。1朴素贝叶斯算法朴素贝叶斯算法是在假定样本的各个类别之间相互独立的条件下,利用贝叶斯公式计算各样本属于每一个类的后验概率,然后判定样本属于后验概率最大的那个类。设样本集合 N=N1,N2,Nn,样本的特征属性集合 X 可设为 x1,x2,xn,类别集合 Y=y1,y2,yn,可得到P(yi|x1,x2,xm)=P(yi)mk=1P(xk|yi)P(X)。(1)由于 P(X)为固定值,所以在比较后验概率的大小时,只需考虑分子的大小即可:Ymax=arg max P(yi|x1,x2,xm)=arg max P(yi)mk=1P(xk|yi)。(2)算法局限性:朴素贝叶斯算法对小规模数据的分类效果很好,相比于其他算法,它的分类误差更小。不过该算法适用的前提条件是数据的特征属性之间相互独立,而现实分析中,数据量偏大可能会导致特征属性的个数较多且属性之间的相关性较大,此时朴素贝叶斯算法的分类效果可能会不理想。同时该算法没有区分文本词汇特征属性在分类时的权重差异。如果对出现频次相差较大的特征进行同权处理,将降低分类精度。为解决这些问题,本文首先通过优化的模糊聚类算法对数据集进行分组整理,有效降低了数据的维度,同时也减弱了算法独立性带来的影响。接下来对不同的类别赋予不同的权重,最后代入贝叶斯公式求得后验概率进行分类。2朴素贝叶斯算法的改进针对数据特征属性之间的相关性问题,利用优化的模糊聚类算法对数据进行分组整理。模糊聚类算法是基于最优函数的聚类算法,基本步骤如下:1)选择合适的聚类簇数 k,并确定聚类中心数 C,初始化由隶属度函数 18 确定的矩阵 U0(随机值 0,1 之间初始化);2)计算聚类的中心值 Cj;3)计算新的隶属度矩阵 Uj;4)比较 Uj和 Uj+1,如果两者的变化小于某个阈值,则停止算法,否则转向 2)。如何确定最优 k 值是该算法的核心问题。21聚类函数的构造211聚类簇数 k 的自适应函数构造本文利用 Jensen-Shannon 散度(简称 JS 散度)构造类别个数 k 的自适应函数:JS 散度是 KL 散度 19 的变体,KL 散度是一种相对熵,在离散变量的前提下,对于两个概率分布p(x)、q(x),KL 散度的公式为KL(pq)=p(x)logp(x)q(x)。(3)离散数据的概率分布差异性通常使用相对熵来衡量,相对熵越小,说明概率分布越相似,因此可选用相对熵来衡量聚类划分的合理程度。聚类划分的越合理,它的相对熵越小。而 JS 散度解决了 KL 散度非对称的问题,并修正了其值域为 0,1,使用起来更加方便。因此本文利用 JS 散度构造一种相对熵函数来确定最佳类别数 k,形式如下:Q(k)=kki=1kj=11-2JS(KiKj)ki=11-JS(Ki)2,(4)84燕山大学学报2023式中,Ki表示第 i 个类别,表示各类别下词汇的概率分布均值。分子表示所有类别之间 JS 散度方差和,分母表示各个类别与均值之间 JS 散度方差和。将不同 k 值依次代入式(4)中计算至 Q(k)最大,得到最优的类别数 k。212聚类目标函数构造构造如下目标函数:Jk=Ni=1Cj=1uijkxi cj2,(5)式中,uijk=1Cm=1xi cjxi cm()2k1,(6)cj=Ni=1xiuijkNi=1uijk,(7)N 为样本数,C 为聚类中心数,cj为第 j 个聚类中心。反复迭代至 Jk收敛,根据 uij判断所属类别。22聚类后样本特征权重计算221特征词权重计算传统的 TF-IDF 20 权重计算公式为dwTFdw IDFw=nd,wunu,wlgNnw+1(),(8)式中,TFdw表示特征词 w 在文本 d 中出现的频率,IDFw表示特征词 w 的逆文档频率,N 为文本总数,nw为所有文本中含有特征词 w 的文本个数。该算法是以特征词出现的频率及文档比例来判断特征词的权重。其优点是实现简单,易于理解,但缺点 21 是该算法在提取关键词时严重依赖语料库,训练时需选取与所处理文本相符且质量较高的语料库。另外,IDF 是一种尝试减少噪声的加权,本身更倾向于文本中频率小的词,不能很好地表示特征词在类别之间的分布情况,导致在特征选择时会出现较大偏差,降低算法的精确度。另外,该算法忽略了词的位置信息,在对关键词进行提取的时候,词的位置信息,例如文本的标题、首尾句等含有比较重要的信息,应该赋予较高的权重。针对上述问题,本文构造词频因子来改进TF-IDF 算法。首先对特征词出现的频率去中心化处理,并根据特征词在各类文本中出现的相对次数适当调节权重。正值化处理后得到去中心化词频因子(decentralized word frequency factor),用ndwff来表示,公式如下:ndwff=eNd,wNwNw,(9)式中,Nd,w表示特征词 w 在文本 d 中出现的频率,Nw表示特征词 w 在各类文本中出现的平均频率。ndwff值越大,表示特征词 w 在各类文本之间的区分度越高,分类能力越好,应赋予的权重越大。将其添加至 TF-IDF 中,即得dw=TFdw IDFd ndwff=nd,wunu,wlgNnw+1()eNd,wNwNw。(10)222样本位置权重计算由于文本的标题是整篇文本的中心,且大部分文本开头和结尾都包含着文本的主题,所以应根据特征项所在位置设定相应的权重。根据相关统计资料设定位于标题处特征项的权重系数为10,位于开头的特征项的权重系数为 08,位于结尾的特征项的权重系数为 05,其余位置为 03。于是可得位置加权系数的权重计算方法如下:dw=dwwfwrwfw,(11)式中,fw为特征项出现在相应位置的次数,rw为特征项的位置权重系数。将计算的权重代入贝叶斯公式,得到P(X|Y)=P(Xd|dw,lh)=Nd=1Ww=1Ss=1dwxdhlshNd=1Ww=1Ss=1dwlsh,(12)式中,lh表示模糊聚类后得到的文本所属类别,xdh表示聚类后的文本属于类别 h 的个数占总文本数的比例,W 为特征词总数。为便于计算,根据文本类型设定小类别 s,lsh则表示文本类别 h 中属于类别 s 的个数,S 为设定的小类别总数。因此后验概率 P(Y|X)可变形为P(lh|Xd)=第 1 期辛梓铭 等基于改进朴素贝叶斯算法的文本分类研究85arg maxNd=1Ww=1P(lh)kw=1P(Xd|dw,lh)=arg maxNd=1Ww=1Ss=1P ls()Nd=1Ww=1dwxdhlshNd=1Ww=1dwlsh。(13)3实验验证31实验数据本文 在 清 华 大 学 自 然 语 言 处 理 实 验 室THUCNews 的 14 类新闻文本数据中选取金融、彩票、教育、科学、社会、运动 6 类,每类 8 000 篇文档进行实验。为了验证改进算法的优越性,实验前先计算各类别内部文本数据之间的余弦相似度,并以 07 为标准剔除类别内相关性较弱的文本数据,以保证各类别内文本之间的相关性。整理后得到每类 5 000 篇具有较强相关性的文本。32实验过程首先进行文本预处理,利用 Python 的 jieba 模块对文本进行分词,并选用中文停用词表对文本进行停用词处理。通过词频统计,选取文本中出现次数较多的特征词作为词库,将文本数据向量化。然后训练基于模糊聚类法的朴素贝叶斯模型,并将特征词