结合中文分词的贝叶斯文本分类
朴素贝叶斯分类器详解及中文文本舆情分析(附代码实践)

朴素贝叶斯分类器详解及中⽂⽂本舆情分析(附代码实践)本⽂主要讲述朴素贝叶斯分类算法并实现中⽂数据集的舆情分析案例,希望这篇⽂章对⼤家有所帮助,提供些思路。
内容包括:1.朴素贝叶斯数学原理知识2.naive_bayes⽤法及简单案例3.中⽂⽂本数据集预处理4.朴素贝叶斯中⽂⽂本舆情分析本篇⽂章为基础性⽂章,希望对你有所帮助,如果⽂章中存在错误或不⾜之处,还请海涵。
同时,推荐⼤家阅读我以前的⽂章了解基础知识。
▌⼀. 朴素贝叶斯数学原理知识朴素贝叶斯(Naive Bayesian)是基于贝叶斯定理和特征条件独⽴假设的分类⽅法,它通过特征计算分类的概率,选取概率⼤的情况,是基于概率论的⼀种机器学习分类(监督学习)⽅法,被⼴泛应⽤于情感分类领域的分类器。
下⾯简单回顾下概率论知识:1.什么是基于概率论的⽅法?通过概率来衡量事件发⽣的可能性。
概率论和统计学是两个相反的概念,统计学是抽取部分样本统计来估算总体情况,⽽概率论是通过总体情况来估计单个事件或部分事情的发⽣情况。
概率论需要已知数据去预测未知的事件。
例如,我们看到天⽓乌云密布,电闪雷鸣并阵阵狂风,在这样的天⽓特征(F)下,我们推断下⾬的概率⽐不下⾬的概率⼤,也就是p(下⾬)>p(不下⾬),所以认为待会⼉会下⾬,这个从经验上看对概率进⾏判断。
⽽⽓象局通过多年长期积累的数据,经过计算,今天下⾬的概率p(下⾬)=85%、p(不下⾬)=15%,同样的 p(下⾬)>p(不下⾬),因此今天的天⽓预报肯定预报下⾬。
这是通过⼀定的⽅法计算概率从⽽对下⾬事件进⾏判断。
2.条件概率若Ω是全集,A、B是其中的事件(⼦集),P表⽰事件发⽣的概率,则条件概率表⽰某个事件发⽣时另⼀个事件发⽣的概率。
假设事件B发⽣后事件A发⽣的概率为:设P(A)>0,则有 P(AB) = P(B|A)P(A) = P(A|B)P(B)。
设A、B、C为事件,且P(AB)>0,则有 P(ABC) = P(A)P(B|A)P(C|AB)。
文本分类及其特征提取

文本分类及其特征提取文本分类是指根据文本的内容、主题或语义将文本划分到不同的预定义类别中,是自然语言处理领域的一个重要任务。
文本分类在许多应用中都有着广泛的应用,如垃圾邮件过滤、情感分析、新闻分类、文档归档等。
在进行文本分类任务时,常常需要进行特征提取,提取文本中的关键信息以帮助分类器更好地进行分类。
特征提取是文本分类的关键步骤之一,其目的是将原始的文本数据转化为机器学习算法能够理解和处理的向量表示。
下面将介绍几种常用的文本分类方法及其特征提取方式:1.词袋模型词袋模型是文本分类中最常用的特征表示方法之一、该模型将文本看作是一个由词语组成的无序集合,通过统计文本中每个词语的频率或者权重来表示文本的特征。
常见的词袋模型包括TF-IDF(Term Frequency-Inverse Document Frequency)和词频统计。
- TF-IDF是一个常用的特征表示方法,它考虑了词语在文本中的重要性。
TF(Term Frequency)表示词语在文本中出现的频率,IDF (Inverse Document Frequency)表示词语在整个文本语料库中的重要性。
TF-IDF的值可以通过TF和IDF的乘积来计算。
-词频统计是指直接统计词语在文本中的出现次数。
将文本转化为词频向量后,可以使用机器学习算法(如朴素贝叶斯、支持向量机等)进行分类。
2. Word2VecWord2Vec是一种将词语转化为向量表示的方法,能够将词语的语义信息编码到向量中。
Word2Vec根据词语的上下文关系学习得到词向量空间,通过计算词语之间的距离或者相似性来表示词语的特征。
- CBOW(Continuous Bag-of-Words)模型根据上下文预测中心词,从而学习得到词向量。
- Skip-gram模型则根据中心词预测上下文词,同样可以得到词向量。
Word2Vec的特点是能够很好地捕捉到词语之间的语义关系,例如可以通过词向量的加减法来进行类比推理操作。
自然语言处理中文本分类技术的使用中常见问题解析

自然语言处理中文本分类技术的使用中常见问题解析自然语言处理(Natural Language Processing,NLP)是人工智能领域中的一个重要分支,它致力于使计算机理解、处理和生成人类语言。
而文本分类则是NLP的一个关键任务,它的目标是将文本根据其内容进行分类。
然而,在使用自然语言处理中的文本分类技术时,常会遇到一些问题。
本文将解析在中文文本分类技术的使用中常见的问题,并提供解决方案。
一、数据预处理问题在进行文本分类任务之前,首先需要进行数据预处理。
中文文本的预处理相对英文文本较为复杂,其中的常见问题有:1. 中文分词问题:中文没有像英文那样明确的单词边界,因此需要将中文文本进行分词。
但中文分词准确性较英文分词更难保证,会有歧义、歧义消解、未登录词等问题。
解决方案是选择优秀的中文分词工具,并根据具体场景对其进行优化。
2. 停用词处理问题:停用词是指在文本中频繁出现但并不携带实际语义信息的词语,如“的”、“是”、“在”等。
停用词对文本分类任务影响较大,需要被正确处理。
解决方案包括使用已有的停用词库或自行构建停用词库,并进行停用词过滤。
3. 标点符号处理问题:中文文本中的标点符号较多,有些标点符号对文本分类任务并不重要,有些标点符号则代表文本的情绪或语气。
解决方案是根据任务需求,对标点符号进行适当处理或保留。
二、特征表示问题在进行文本分类任务时,需要将文本转化为计算机可以处理的特征表示形式。
中文文本特征表示的问题包括:1. 词袋模型问题:词袋模型是将文本表示为一个词汇表和每个词在文本中出现的频率。
然而,频率表示无法区分不同词在文本中的重要性。
解决方案是引入TF-IDF(词频-逆文档频率)等方法,将重要性考虑在内。
2. 文本长度问题:中文文本的长度较英文文本更长,这对文本分类任务提出了挑战。
解决方案是选择合适的文本截断或填充方式,以满足算法对固定长度输入的要求。
三、算法选择问题在进行文本分类任务时,需要选择合适的算法。
伯努利朴素贝叶斯进行中文文本分类

伯努利朴素贝叶斯进行中文文本分类伯努利朴素贝叶斯算法(Bernoulli Naive Bayes)是一种基于概率的分类器,用于处理二元特征(即特征值为0或1)的问题。
它的基础思想是将特征的条件独立性假设应用于二元特征,并利用贝叶斯定理进行分类。
对于中文文本分类,伯努利朴素贝叶斯算法的基本步骤如下:1. **特征提取**:首先,需要对中文文本进行特征提取。
这通常涉及到分词、去除停用词等预处理步骤。
然后,每个单词或n-gram可以被视为一个特征。
2. **特征表示**:在伯努利朴素贝叶斯算法中,每个特征都有一个二元值(0或1),表示该特征是否出现在文档中。
3. **概率模型**:伯努利朴素贝叶斯算法基于一个简单的概率模型,即每个特征独立地对分类结果产生影响。
因此,可以计算给定类别的条件概率,公式如下:P(C|F1,F2,...,Fn) = P(C) * P(F1|C) * P(F2|C) * ... * P(Fn|C)其中,C是类别,F1,F2,...,Fn是特征。
4. **分类**:基于最大的后验概率,伯努利朴素贝叶斯算法可以判断文本的类别。
这个过程涉及到计算每个类别的概率,并选择具有最大概率的类别作为文本的分类结果。
5. **训练**:在训练阶段,算法需要从训练语料库中学习各类别的概率和条件概率。
这些概率值可以通过统计方法获得。
6. **评估**:评估阶段通常涉及到使用测试语料库来评估分类器的性能。
常用的评估指标包括准确率、召回率和F1分数等。
需要注意的是,中文文本分类是一个复杂的任务,涉及到语言处理、文本分析和机器学习等多个领域的知识。
虽然伯努利朴素贝叶斯算法在某些情况下可以用于中文文本分类,但它可能不是最有效的算法。
更先进的算法和技术(如深度学习)通常在中文文本分类任务中表现更好。
中文文本分类大概的步骤

中⽂⽂本分类⼤概的步骤⽂本分类问题:给定⽂档p(可能含有标题t),将⽂档分类为n个类别中的⼀个或多个⽂本分类应⽤:常见的有垃圾邮件识别,情感分析⽂本分类⽅向:主要有⼆分类,多分类,多标签分类⽂本分类⽅法:传统机器学习⽅法(贝叶斯,svm等),深度学习⽅法(fastText,TextCNN等)⽂本分类的处理⼤致分为⽂本预处理、⽂本特征提取、分类模型构建等。
和英⽂⽂本处理分类相⽐,中⽂⽂本的预处理是关键技术。
⼀、中⽂分词:针对中⽂⽂本分类时,很关键的⼀个技术就是中⽂分词。
特征粒度为词粒度远远好于字粒度,其⼤部分分类算法不考虑词序信息,基于字粒度的损失了过多的n-gram信息。
下⾯简单总结⼀下中⽂分词技术:基于字符串匹配的分词⽅法、基于理解的分词⽅法和基于统计的分词⽅法。
具体可参考:中⽂分词原理及分词⼯具介绍https:///flysky1991/article/details/73948971/1,基于字符串匹配的分词⽅法:过程:这是⼀种基于词典的中⽂分词,核⼼是⾸先建⽴统⼀的词典表,当需要对⼀个句⼦进⾏分词时,⾸先将句⼦拆分成多个部分,将每⼀个部分与字典⼀⼀对应,如果该词语在词典中,分词成功,否则继续拆分匹配直到成功。
核⼼:字典,切分规则和匹配顺序是核⼼。
分析:优点是速度快,时间复杂度可以保持在O(n),实现简单,效果尚可;但对歧义和未登录词处理效果不佳。
2,基于理解的分词⽅法:基于理解的分词⽅法是通过让计算机模拟⼈对句⼦的理解,达到识别词的效果。
其基本思想就是在分词的同时进⾏句法、语义分析,利⽤句法信息和语义信息来处理歧义现象。
它通常包括三个部分:分词⼦系统、句法语义⼦系统、总控部分。
在总控部分的协调下,分词⼦系统可以获得有关词、句⼦等的句法和语义信息来对分词歧义进⾏判断,即它模拟了⼈对句⼦的理解过程。
这种分词⽅法需要使⽤⼤量的语⾔知识和信息。
由于汉语语⾔知识的笼统、复杂性,难以将各种语⾔信息组织成机器可直接读取的形式,因此⽬前基于理解的分词系统还处在试验阶段。
数据分析中的文本分析方法介绍

数据分析中的文本分析方法介绍数据分析作为一种重要的决策支持工具,日益被企业和研究者广泛应用。
文本分析作为数据分析的一种重要技术,可以从大量的文本数据中提取出有用的信息,帮助企业和研究者更好地理解和利用数据。
本文将介绍数据分析中的文本分析方法,包括文本预处理、文本分类、情感分析和主题建模等。
一、文本预处理文本预处理是文本分析的第一步,其目的是将文本数据转换为结构化的数据,以便于后续的分析。
文本预处理的主要步骤包括:1. 去除噪声:通过去除文本数据中的无关信息和干扰信息,如标点符号、特殊字符、停用词等,以减少数据的维度和复杂性。
2. 分词:将文本数据分割为一个个的单词或词汇,以便于后续的统计和分析。
常用的分词方法有基于规则的分词和基于机器学习的分词。
3. 词干化和词形还原:将单词转化为其原始形式或词干形式,以便于后续的统一计算和分析。
词干化和词形还原可以提高文本分析的准确性和一致性。
二、文本分类文本分类是将文本数据按照一定的标准或类别进行分类的过程。
文本分类可以帮助我们理解文本数据的内容和主题,并为后续的分析和应用提供基础。
文本分类的主要方法包括:1. 朴素贝叶斯分类:基于贝叶斯定理的文本分类方法,通过计算每个类别的先验概率和条件概率,以确定文本数据的类别。
2. 支持向量机分类:基于支持向量机的文本分类方法,通过构建一个超平面,将不同类别的文本数据分隔开来,以达到最佳的分类效果。
3. 深度学习分类:基于深度学习的文本分类方法,使用神经网络的模型进行训练和预测,可以获得更好的分类性能和泛化能力。
三、情感分析情感分析是通过分析文本数据中的情感倾向和情感强度,来判断文本数据的情感状态。
情感分析可以帮助企业了解用户的态度和情感,以及产品和服务的口碑评价。
情感分析的主要方法包括:1. 基于情感词典的情感分析:通过构建情感词典和计算情感词与文本数据之间的匹配程度,来判断文本数据的情感倾向和情感强度。
2. 基于机器学习的情感分析:通过训练一个文本情感分类器,将文本数据分类为积极、消极或中性,以获取文本数据的情感信息。
信息检索导论的文本分类及朴素贝叶斯方法总结知识

在信息检索导论中,文本分类是一个重要的主题,而朴素贝叶斯方法则是其中一种常用的分类方法。
在本文中,我们将深入探讨文本分类及朴素贝叶斯方法,并总结这方面的知识。
1. 信息检索导论信息检索是指从大规模数据中找到相关的信息。
在这个过程中,文本分类起着至关重要的作用,它可以帮助我们将大规模文本数据按照预先定义的类别进行组织和分类。
而朴素贝叶斯方法则是文本分类中常用的一种方法。
2. 文本分类文本分类是指将文本文件自动分类到一个或多个已知类别的过程。
这个过程通常包括文本预处理、特征提取和分类器训练等步骤。
在文本分类中,我们需要考虑到文本的深度和广度,即从文本的表面信息到更深层次的语义理解。
这一点需要在文本分类的训练和特征提取过程中得到充分考虑。
3. 朴素贝叶斯方法朴素贝叶斯方法是一种基于贝叶斯定理和特征条件独立假设的分类方法。
在文本分类中,朴素贝叶斯方法常常被用来对文本进行分类,尤其是在自然语言处理领域。
该方法在处理大规模文本数据时表现出色,而且其简单、高效的特点也使其受到广泛关注。
4. 总结及个人观点信息检索导论中的文本分类及朴素贝叶斯方法对我们理解大规模文本数据、提高信息检索效率等方面都具有重要意义。
在我看来,深入理解文本分类的深度和广度对于我们更好地利用文本数据至关重要。
朴素贝叶斯方法的简单和高效也让我对其在文本分类中的应用充满信心。
以上就是对信息检索导论中的文本分类及朴素贝叶斯方法的总结,希望对你有所帮助。
文本分类及朴素贝叶斯方法在信息检索领域中扮演着重要的角色。
信息检索是一个涉及大规模数据的过程,而文本分类则是帮助我们将这些数据进行有序分类的重要技术。
在这一过程中,朴素贝叶斯方法作为一种常用的文本分类方法,具有简单高效的特点,因此受到了广泛的关注和应用。
下面将从文本分类的重要性、朴素贝叶斯方法的原理与应用以及未来发展趋势等方面深入探讨信息检索导论中的这两个关键领域。
文本分类在信息检索中的重要性不言而喻。
文本分类流程

文本分类流程随着互联网时代的到来,人们在日常生活中产生的大量文本数据,如新闻、微博、评论等,给信息处理和分析带来了巨大的挑战。
文本分类是一种将文本数据按照事先定义好的类别进行分类的技术。
它可以帮助人们从海量的文本数据中快速准确地获取所需要的信息。
本文将介绍文本分类的流程及其相关技术。
一、文本分类的流程文本分类的流程一般包括以下几个步骤:1. 收集数据文本分类的第一步是收集数据。
数据可以来自于网络、文件、数据库等多种渠道。
在收集数据的过程中,需要注意数据的来源和质量,保证数据的可靠性和完整性。
2. 数据预处理数据预处理是文本分类的关键步骤之一。
在预处理过程中,需要进行文本清洗、分词、去停用词、词干提取等操作。
文本清洗是指去除文本中的无用信息,如HTML标签、特殊字符等。
分词是将文本按照词语进行划分,去停用词是指去除无意义的常用词语,如“的”、“是”等。
词干提取则是将不同形态的单词转化为同一形态,如将“running”、“runs”、“ran”等转化为“run”。
3. 特征提取特征提取是将文本数据转化为数值型特征向量的过程。
常用的特征提取方法有词袋模型、TF-IDF模型、n-gram模型等。
词袋模型是将文本中出现的所有词语作为特征,用0/1表示该词语是否出现在文本中。
TF-IDF模型则是在词袋模型的基础上,引入词语的重要性权重。
n-gram模型则是将文本按照n个词语进行划分成不同的片段,将每个片段作为一个特征。
4. 模型训练模型训练是指利用已经标注好的训练数据,训练出一个文本分类模型。
常用的文本分类模型有朴素贝叶斯、支持向量机、决策树、神经网络等。
朴素贝叶斯模型是一种基于概率统计的分类方法,它假设特征之间相互独立。
支持向量机模型是一种基于最大间隔分类的方法,它通过寻找最优的超平面将不同类别的数据分开。
决策树模型则是将数据按照特征进行划分,生成一棵树形结构,通过树的节点来进行分类。
神经网络模型则是通过多层神经元的连接,将文本数据映射到一个高维空间中,进行分类。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
结合中文分词的贝叶斯文本分类/showarticle.aspx?id=247来源:[] 作者:[] 日期:[2009-7-27]魏晓宁1,2,朱巧明1,梁惺彦2(1.苏州大学,江苏苏州215021;2.南通大学,江苏南通226007)摘要:文本分类是组织大规模文档数据的基础和核心。
朴素贝叶斯文本分类方法是种简单且有效的文本分类算法,但是属性间强独立性的假设在现实中并不成立,借鉴概率论中的多项式模型,结合中文分词过程,引入特征词条权重,给出了改进Bayes方法。
并由实验验证和应用本方法,文本分类的效率得到了提高。
1. Using Bayesian in Text Classification withParticiple-methodWEI Xiao-ning1,2,ZHU Qiao-ming1,LIANG Xing-yan2(1.Suzhou University,Suzhou 215006,China;2.Nantong University,Nantong 226007,China)Abstract:Text classification is the base and core of processing large amount of documentdata.Native Bayes text classifier is a simple and effective text classification method.Text classification is the key technology in organizing and processing large amount of document data.The practical Bayes algorithm is an useful technique which has an assumption of strong independence of different properties.Based on the polynomial model,a way in feature abstraction consideringword-weight and participle-method is introduced. At last the experiments show that efficiency of text classification is improved.1.0引言文档分类是组织大规模文档数据的基础和核心,利用计算机进行自动文档分类是自然语言处理和人工智能领域中一项具有重要应用价值的课题。
现有的分类方法主要是基于统计理论和机器学习方法的,比较著名的文档分类方法有Bayes、KNN、LLSF、Nnet、Boosting及SVM等。
贝叶斯分类器是基于贝叶斯学习方法的分类器,其原理虽然较简单,但是其在实际应用中很成功。
贝叶斯模型中的朴素贝叶斯算法有一个很重要的假设,就是属性间的条件独立[1][2],而现实中属性之间这种独立性很难存在。
因此,本文提出了一种改进型的基于朴素贝叶斯网络的分类方法,针对于文本特征,结合信息增益于文本分类过程,实验表明文本分类的准确率在一定程度上有所提高。
1中文分词与特征提取中文文本分类与西方语种文本分类的主要区别在于文本特征生成模块。
对于西文语种,如果以词为特征,则文本无需复杂的分词算法,因为词之间有空格分隔,只需要对不同单词进行词干提取。
对于中文文本,由于词的形成依赖于语气语义,利用简单分词提取特征在效率和效果上都存在较大的缺陷。
常用的汉语分词算法有:第一种基于词典(Dictionary-Based)的机械匹配算法,如正向匹配、逆向匹配、最小匹配算法等,[3]这类算法的优点是易与实现。
但由于词典是在分词之前准备的,其规模和内容受到了限制;虽然可以通过加入构词规则的方法识别出一些可构造新词,但是基于词典的这一类算法无法解决文本中大量出现的未登陆词的问题,故分词的效果有其不可避免的缺陷。
第二种基于统计的分词方法,如N-Gram算法,HMM算法,最大熵算法,基于EM的算法等等。
利用统计方法可以从已有的大量实例中进行归纳总结,分析语言内在的关联信息,从而建立适用的统计模型。
对统计的方法来说,训练语料库的规模直接影响分词的效果:训练集规模小,则模型的可信度低,分词效果差;训练集规模大,则会导致数据稀疏的问题,高维数据的处理会使得分词的效率大大降低。
第三种较为理想的分词算法是将统计的方法与词典的方法进行结合。
本文基于此方法实现分词,并为后期处理提供特征。
其基本过程包括:(1)利用已有特征库建立词典;(2)利用词典匹配对语料进行提取词串X1={x1,x2,…x i};(3)以词典提取得到的词串X1对语料进行分隔,得到Y={y1,y2,…};(4)统计Y中的重复串X2;(5)以得到的重复串更新特征库X=X1+X2,(X1:词典中提取的词串;X2:语料分隔后的重复串)由此,我们得到后期文本分类的特征,即对第i个文本样本S i,其对应特征向量为:x!ti=(x1i,x2i,……,x mi),同时可得各特征在该文本中出现的频率。
其优点体现在:(1)利用词典匹配可以提高分词的效率;(2)可以消除部分助词和停用词对后期处理的影响,充分发掘文档所提供的信息;(3)有助于为产生的结果提供易用的标签。
2信息增益与特征选择构成文本的词汇数量是相当大的,因此,表示文本的向量空间也会很大,考虑进行降维是必要的。
事实上,一些通用的类别都普遍存在的词汇对分类的贡献较小;在某一类中出现概率大而在其它类中出现概率小的词汇对文本分类的贡献大。
为了提高分类精度,考虑到分类预期是实现二分,本文引入信息增益,筛选出针对该类的特征项集合。
信息增益[4][5]用于度量给定的属性对于训练样本的区分能力。
在文本分类过程中,通过计算信息增益可以得到那些在正例样本中出现频率高而在反例样本中出现频率低的特征,以及那些在反例样本中出现频率高而在正例样本中出现频率低的特征。
其定义如下:IG(x)表示词条x为整个分类所提供的信息量。
式中,P(x)表示词条x在文本S中出现的概率,P(x")表示词条x不在文本S中出现的概率,P(c i|x)表示包含词条x的文本(正例样本)属于c i类的概率,P(c i|x")表示不包含词条x的文本(反例样本)属于c i类的概率。
在实际情况中,P(c i|x)、P(ci|x")的概率是不稳定的。
为了大致估计出P(c i|x)、P(c i|x")的值,只能假设特征向量中的各个特征项x#ti=(x1i,x2i,……,x mi)之间是相互独立的,即某一特征单词在邮件中出现的事件独立于另一个特征单词在邮件中出现的事件。
该假设条件正好吻合朴素贝叶斯分类的前提假设条件。
在分类过程中,我们从训练集中选择信息增益值最高的前若干个词作为模型的特征。
3贝叶斯分类器设计在文本分类中,贝叶斯分类器实际上就是根据给定的数据样本和相关参数信息求取后验概率。
就朴素贝叶斯方法而言,以k类训练样本集为例,记C={c1,c2,…c k},则每个类C i的先验概率P(C i)可由该类样本数除以训练样本总数n得到。
对于新样本d,设其归属于C i的条件概率为P(d|ci),则其后验概率P(c i|d)可由贝叶斯公式计得:P(c i|d)=P(d|c i)*P(c i)/P(d);由于P(d)对于所有类均为常数,上式变换为P(c i|d)=P(d|c i)*P(c i)。
在本文中,考虑利用朴素贝叶斯方法实现二分分类,采用两种类型的测度,构成二维文本空间,将文本映射为二维空间中的一个点,将分类算法看作是在一个二维空间中寻找一条分割直线,根据文本点到这条分割直线的距离来判断文本为何种类型。
给定二值文本向量d=(W1,W2,W3,…,W D),W i=0或1,如果第i个特征出现在文本中,W i=1,否则W i=0。
令Pki=P(Wk=1/Ci),P(·)表示求事件发生的概率,Pki表示第k个特征出现在文本中,属于类型Ci的概率。
朴素贝叶斯分类的判别函数可表示为:Mol只与所采用的训练样本集有关,不随文本d的变化而变化,D为常数。
X表示根据特征估算出来的文本d属于类型c1的偏测度;Y表示根据特征估算出来的文本d属于类型c2的偏测度,则公式1.1可改写成:(fd)=X-Y+Mol (1.5)公式1.5表示将两类朴素贝叶斯分类看作是在由X、Y构成的二维空间中寻找一条分割直线(fd)=0,这样,可利用公式1.3、1.4,将文本表示为二维空间中的一个点(x,y),该点到分割直线(fd)=0的距离Dist可表示为:Dist=sin45°(X-Y+Mol) (1.6)当Dist≥0时,表示文本d属于类型C1;当Dist<0时,表示文本d属于类型C2。
4实验方案及结果分析根据上述的方法实现分类,建立分类模型如下:本文实验以邮件作为分类对象,采用的训练和测试样本来自于本研究小组收集的实际中文邮件,总邮件数3800封。
640封构成属于类型C1(垃圾邮件)的文本集,3160封构成属于类型C2(合法邮件)的文本集。
两类数据集中的文本数目比例设为1:6,将属于类型C1和属于类型C2的文本集均分为四份,设:C1(A、B、C、D)和C2(A、B、C、D),取两种类型对应位置上其中的三份作为训练集,另外一份作为测试集,按四栏进行交叉验证,以四次实验的平均值作为最终的性能指标,这样避免了实验的随机性和偶然性。
在处理前去除附件,剥离html标示,解析出邮件的标题以及邮件正文。
采用本文提出的统计与词典相结合的方法对邮件标题和正文分词;特定好训练集后,采用信息增益的方法来获取特征词。
利用信息增益公式将所有词条的增益值计算出,并按降序将其排列,选取排在前面的词条做实验测试。
选取词条个数多少的确定,可经多次实验比较来设置这个IG的截断阈值。
特征集的规模最终通过分类算法的性能随特征数目的变化曲线来确定。
4.1特征数目对分类性能的影响在评价二分分类性能上,利用常用的准确率、召回率进行分析:准确率(Precision):P=(正确分为某类的文本数)(/测试集中分为该类文本总数);召回率(Recall):R=(正确分为某类的文本数)/(测试集中属于该类文本总数);F1测试值:F1=(准确率*召回率*2)(/准确率+召回率)本文首先以前500个特征项作为特征集,对测试集中的邮件进行测试,然后再将特征项增加100个,重复这样的测试,直到特征项增至2400个为止。
通过20次分类测试,取信息增益值最高的前若干个词作为模型的特征。