贝叶斯
优化
垃圾邮件
过滤
中的
应用
研究
收稿日期:2023-03-28基金项目:江苏开放大学“十四五”规划重点项目(2022KF007)作者简介:韩 雪(1976),女,副教授,硕士,主要从事计算机应用技术、机器学习、深度学习、大数据算法等研究.第 38 卷第 2 期徐 州 工 程 学 院 学 报(自 然 科 学 版)2023 年6 月Vol.38 No.2Journal of Xuzhou Institute of Technology(Natural Sciences Edition)Jun.2023贝叶斯优化在垃圾邮件过滤中的应用研究韩 雪(徐州开放大学 信息工程学院,江苏 徐州 221000)摘要:朴素贝叶斯算法利用数据的先验概率计算出后验概率,现在已成为机器学习中流行的文本分类算法,在邮件分类中具有良好的垃圾邮件过滤效果,但朴素贝叶斯算法受属性独立性与重要性一致的假设限制,没有考虑特征词在各类别间的分布,邮件样本中条件依赖性不足等问题导致分类精度不高.鉴于贝叶斯优化在自然语言处理方面已经广泛应用,采用信息增益技术对贝叶斯进行优化,引入词语权重及信息增益的概念,提出了一种基于权重的贝叶斯分类模型,把信息增益应用到词语在各个类的分布比例权重.将信息增益权重计算方法用于改进向量空间模型(VSM)的特征权重计算,并将之应用于改进朴素贝叶斯算法来进行邮件分类,通过在中英文邮件测试集上的实验,证明了改进的算法相比于传统邮件过滤方法,其分类精度和准确率有了显著提高.关键词:邮件过滤;信息增益;向量空间模型;贝叶斯优化;机器学习中图分类号:TP18 文献标志码:A 文章编号:1674-358X(2023)02-0077-07朴素贝叶斯(naive bayes,NB)算法作为目前流行的一种机器学习,常用于文本分类、强化学习、自然语言处理、文字识别、图像处理等人工智能领域,但其算法中属性独立性与重要性一致的假设,导致分类精度不如 K-最近邻(K-nearest neighbor,KNN)、支持向量机(support vector machine,SVM)等算法.但因其算法的简单性和高效性,许多研究者尝试改进朴素贝叶斯算法,并在文本分类领域得到了成功应用.Tang 等1通过考虑特征词之间的属性关联性,提出多项式朴素贝叶斯和贝叶斯网络相结合的算法模型,提升了分类效果.赵博文等2将泊松随机变量引入特征词权重,提出了基于泊松分布的加权朴素贝叶斯文本分类算法,削弱传统算法属性独立性假设造成的影响.宋晓敏3将词频-逆文档频率特征权重合并到贝叶斯的条件概率公式中,对朴素贝叶斯进行改进,削弱其特征独立性假设的影响.王斯琴4提出了结合主动学习的 K-近邻局部加权朴素贝叶斯算法,在一定程度上提高分类的精确度和效率.在上述文本分类任务中朴素贝叶斯算法改进研究取得了一定的研究成果,然而根据邮件过滤的二分类特定要求5,改进空间仍然很大.通过邮件的二分类特征,将信息增益技术引入到文本分类中,同时结合适合于二分类特征的向量空间模型(vector space model,VSM),完成贝叶斯分类模型的优化,实现垃圾邮件的判断方法由单纯地比较概率的大小,提升到比较概率的倍数,其分类精度有了明显的提高6-7.1 朴素贝叶斯模型朴素贝叶斯利用数据的先验概率 P(),借用贝叶斯公式计算出后验概率P(|T)=P(T|)P()P(T),(1)式中:P(T)表示训练数据 T 的先验概率,P(T|)表示给定 时训练数据 T 所对应的概率.A=a1,a2,a3,am,表示属性变量.Val(C)=c1,c2,c3,cl,表示类别变量,则 Val(Ai)=ai1,ai2,ai3,aik,表示类别变量和属性变量的取值.用 T 表示待分类样本集,t=,表示分类样本,用 X 表示训练样77本集,X=,表示训练实例.在朴素贝叶斯中,根据各属性相对于类别条件独立性的假设8,可得出P(a1,a2,am|cl)=mi=1P(ai|cl),(2)由公式(2)可得到后验概率P(cl|t)=P(cl)P(t)mi=1P(ai|cl),(3)此时,根据常数 P(t),对于被测样本(E)被分在后验概率最大的类中,其朴素贝叶斯分类模型如下,记为Vrb=argcmasP(c)mi=1P(ai|c).(4)2 传统 VSM 的特征权重计算方法朴素贝叶斯算法没有考虑特征词在类别间分布,用其进行垃圾邮件过滤,其分类精度不高8.针对这一情况,引入词语权重及信息增益的概念,对传统的贝叶斯模型进行优化处理,提出了一种基于权重的贝叶斯分类模型.不再单一地计算文本数量或特征的出现次数,对文本属于类别 cj时 wj出现的概率 P(wj|cj)进行优化,使得优化后的公式更能体现特征词的分类属性.选取 tf-idf 计算特征词的权重.tf(term frequency)指特征项频率,idf(inverse document frequency)指反文档频率,反文档频率 idf 越高,其包含的类别信息就越低,则该特征词就越不重要9-10.idf 的计算公式为idf(wt)=log(Nn+0.01),(5)将 tf-idf 计算权重公式归一化后,得到Wt=tf(wt)idf(wt)tditf(wt)idf(wt)2=tf(w,di)log(N/nt+0.01)tditf(w,di)log(N/nt+0.01)2.(6)公式(6)中存在的问题是:idf 函数侧重不同文档的评价特征,却忽略了特征的实际分布情况对特征权重计算结果的影响.例如,当某些区别文档类别最有意义的特征在同类文档中出现频率较高,同时在其他类别中出现频率又足够低,则表明该特征对此类别具有较强代表性,应赋予较大权重,此时的 idf 函数的结果却恰恰相反.3 信息增益权重计算方法为了提高传统 VSM 文本分类的准确性,客观地反映特征的类别区分能力,引入了信息增益技术,用于描述特征的类别区分,定义为ig(X,y)=H(X)-H(X|y),(7)式中 H(X)表示在获得信息 y 之前系统的熵11.对于邮件分类而言,H(X)表示的是一个随机邮件落入某个类别的概率空间的熵12,即类别集合 X 所提供的信息量.H(X|y)表示在信息 y 约束下,此邮件落入某个类别的概率空间的熵,即观察到 y 后对分类的不确定程度.特征词在各类别的分布比例对权重的影响中应用信息增益进行优化,优化后的 tf-idf-ig 权重计算公式为W(wt,cj)=tf(wt)log(Nnt+0.01)ignt=1tf log(Nnt+0.01)ig2,(8)式中 W(wt,cj)表示在类别 cj中特征项 wt的权重,公式(7)中的信息增益 ig 的计算公式为ig(T)=H(C)-H(C|T),(9)87徐州工程学院学报(自然科学版)2023 年第 2 期式中 H(C)和 H(C|T)计算公式为H(C)=-nj=1P(cj)log2P(cj),(10)H(C|T)=nj=1P(wt)H(cj|wt)+P(wt)H(cj|wt)=-P(wt)nj=1P(cj|wt)log2 P(cj|wt)-P(wt)nj=1P(cj|wt)log2 P(cj|wt),(11)式中:P(cj)表示类别 cj出现的概率,P(wt)是特征 wt出现的概率,用出现过 wt的文档数除以总文档数,P(cj|wt)表示出现特征 wt时类别 cj出现的概率.信息熵在改善特征词类内分布信息对特征词权重计算的影响有明显效果,公式(7)在理论上很好的反映了特征词在类间、类内的分布对特征词权重造成的影响.为了验证本方法的有效性,在新闻频道收集体育、娱乐和军事三个类别的文本集,每个类别有 6 个文本,提取“运动员”、“中国”和“边境”三个特征词表示文本.三个特征词在文本集的分布如表 1 所示,其特征权重如表 2 所示.采用传统 VSM 的特征权重计算(表 3)的同时,使用信息增益权重计算(表 4).从信息增益权重计算结果可以看出,加入信息熵的特征词权重计算公式对源数据进行计算,可以很好地反映特征词在类内分布的情况,能够提高其权重计算的准确性11-14.表 1 特征词文本分布情况文本体育123456娱乐123456军事123456运动员101525151510000000000000中国151500000151500000015150边境0000000000000100000表 2 特征权重文本体育123456娱乐123456军事123456运动员4.87.211.97.27.24.8000000000000中国7.27.2000007.27.20000007.27.20边境000000000000012.60000表 3 传统 VSM 的特征权重计算结果文本体育123456娱乐123456军事123456运动员4.26.310.46.36.34.2000000000000中国2.22.2000002.22.20000002.22.20边境000000000000000000表 4 信息增益权重计算结果文本体育123456娱乐123456军事123456运动员1.323.3221.3000000000000中国000000000000000000边境00000000000000000097韩 雪,等:贝叶斯优化在垃圾邮件过滤中的应用研究 加入信息熵的特征词权重计算,并可以将权重均为 0 的孤立点特征词从特征词列表中剔除,能够很好的解决孤立点特征词问题,从而能够证明信息增益权重计算方法能够考虑特征词在类间、类内的分布情况和孤立点特征词对其分类能力的影响,降低特征词的维度,减少文本分类的时间和空间复杂度.4 实验分析4.1 实验数据集 依据中国反垃圾邮件状况调查报告显示,用户收到垃圾邮件占总邮件比例大约为 37.6%.为了更好验证本算法性能,本实验数据集中垃圾邮件与合法邮件的比例近似为 1 2,更接近实际情况15.为此实验数据集分别从英文垃圾邮件语料库 PUI 语料、Ling-spam 语料、Spam Assassin 语料以及中文邮件语料集 CD-SCE 中,取出 1 200 封垃圾邮件(spam 邮件)和 2 400 封合法邮件(ham 邮件)作为实验数据集16,将这些实验数据集随机分成 3 组实验数据,每组实验数据中的 30%作为验证集.4.2 实验设计 过滤分类算法步骤:1)导入新邮件,对新邮件进行分词处理.2)使用训练阶段形成的特征词库,从特征词库中寻找与分词结果相同的词语.3)若该特征词存在于特征库中,则取其权重;若该特征词不存在于特征库中,则忽略.4)判断当前特征词是否是最后一个分词结果?如果当前特征词是最后一个分词结果,则将步骤 3)取得的权重代入到公式(实验测试时 取值 20),P(dx|c=1)P(c=1)P(dx|c=1)P(c=0),(12)若满足该条件则判断为垃圾邮件,否则为合法邮件;如果当前特征词不是最后一个分词结果,则重复步骤2).5)过滤分类阶段结束,输出分类结果.4.3 实验结果与分析 针对数据集中 3 个分组进行测试,召回率曲线和精确率 Roc 曲线如图 1 和图 2 所示,可以发现本算法的准确率在测试集中的准确率达到 90%以上,另外,实际检查分类错误的邮件数据集后,发现有些邮件内出现频率很低的字词在分类错误的邮件中含有并且出现频率高,一个原因是训练集规模较小.后续可以采用词频统计及聚类算法,以聚类的方式将具有相似词频分布的邮件集合在一起进行处理,提升准确率.同理在 3 组测试集 Roc 曲线中,正负样本的分布发生变化时,其形状能够基本保持不变,证明实验的准确性较高.图 1 邮件分类召回率曲线08徐州工程学院学报(自然科学版)2023 年第 2 期图 2 邮件分类 Roc 曲线为了验证改进后的贝叶斯分类算法在垃圾邮件分类效果上的提升,设计了对比实验,在分类器上选择了KNN、NB、主动学习+NB、K-LWNB(K 局部加权朴素贝叶斯算法),实验结果见表 5.表 5 分类效果对比表分组算法邮件类别判为ham判为spam召回率/%精确率/%准确率/%1KNNNB