基于贝叶斯的文本自动分类的研究和实现.docx

上传人:b****3 文档编号:3898759 上传时间:2022-11-26 格式:DOCX 页数:14 大小:90.63KB
下载 相关 举报
基于贝叶斯的文本自动分类的研究和实现.docx_第1页
第1页 / 共14页
基于贝叶斯的文本自动分类的研究和实现.docx_第2页
第2页 / 共14页
基于贝叶斯的文本自动分类的研究和实现.docx_第3页
第3页 / 共14页
基于贝叶斯的文本自动分类的研究和实现.docx_第4页
第4页 / 共14页
基于贝叶斯的文本自动分类的研究和实现.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

基于贝叶斯的文本自动分类的研究和实现.docx

《基于贝叶斯的文本自动分类的研究和实现.docx》由会员分享,可在线阅读,更多相关《基于贝叶斯的文本自动分类的研究和实现.docx(14页珍藏版)》请在冰豆网上搜索。

基于贝叶斯的文本自动分类的研究和实现.docx

基于贝叶斯的文本自动分类的研究和实现

毕业设计(论文)任务书

题目基于贝叶斯的文本自动分类的研究和实现

专业学号姓名主要内容、基本要求、主要参考资料等:

近年来随着Internet的大规模普及和企业信息化程度的提高,有越来越多的信息积累,而需要信息的人还没有特别方便的工具去从来自异构数据源的大规模的文本信息资源中提取符合需要的简洁、精炼、可理解的知识,文本挖掘正是解决这一问题的一个方法。

本课题研究基于贝叶斯的文本分类系统,可以用于以下领域和系统中:

企业知识门户、信息增值服务、智能搜索引擎、数字图书馆、情报分析、信息安全和过滤、电子商务系统。

文本自动分类不需人工干预的自动分类技术,有效提高非结构化信息资源的加工效率。

利用朴素贝叶斯分类文法的分类器,分析已经手动分类的文本,根据文本内容计算分类条件概率,再利用训练好的分类器分析未分类的文本,根据分类器算出的所属领域概率最大的进行分类。

本课题任务要求:

1)学习关于朴素贝叶斯分类文法,查找相关的资料以供参考;

2)实现朴素贝叶斯分类文法的分类器;

3)人工对样本数据进行分类和标注;

4)利用贝叶斯分类文法的分类器,利用样本进行训练,然后对分类数据进行自动分类;

5)根据分类结果,调整分类阈值,弥补分类器的不足。

6)根据实验数据和结果,按时完成毕业设计论文。

主要参考资料:

贝叶斯分类算法的论文和资料,未分类文本语料。

完成期限:

指导教师签章:

专业负责人签章:

年月日

 

摘要

随着计算机技术和通讯技术的飞速发展,人们可以获得越来越多的数字化信息,但同时也需要投入更多的时间对信息进行组织和管理。

为了减轻这种负担,人们开始研究使用计算机对文本进行自动分类。

文本自动分类就是在给定的分类体系下,让计算机根据文本的内容确定与它相关联的类别。

自动文本分类是人工智能技术和信息获取技术相结合的研究领域。

随着网络的发展,大量的文档数据涌现在网上,用于处理海量数据的自动文本分类技术变得越来越重要,已逐渐成为处理和组织大量文档数据的关键技术。

通过分析kNN(kNearestNeighbor)、朴素贝叶斯(NaiveBayes)、SVM(SupportVectorMachine)三种文本分类方法的优点和缺点,发现朴素贝叶斯分类器速度极快,具有最小的出错率,可在线化实现等优点,并对该分类方法进行了理论分析和实验对比,实验结果表明这种文本分类模型是高效的可行的。

本文首先介绍了基于贝叶斯的文本自动分类的研究和实现的背景,并且叙述了相关问题的概念知识,包括文本分类和中文分词等;其次,对相关的理论知识做了讲解,包括先验概率、条件概率、贝叶斯理论、贝叶斯算法等;第三,对如何实现文本分类进行了概述以及整体讲解,通过给出流程图,可以更直观的了解实现的过程;第四,详细介绍了实现本课题所用到的重要工具,包括JBuilder2007开发工具和全文检索引擎Lucene以及Java平台;第五,在前期工作基础上,给出了详细的实现过程,包括单文本分类和多文本分类以及相关具体操作;最后,通过多次大量重复试验,得出了实验数据,在此通过表格的形式,直观的给出了实验结果。

本课题研究基于贝叶斯的文本分类系统,根据所讨论的算法构造了贝叶斯文本自动分离器,并做出详尽的训练测试,从最终的试验结果可以看出,贝叶斯算法简单、性能优越,即使在不考虑贝叶斯假设的前提下,仍然取得良好的分类性能。

 

关键字:

文本自动分类,贝叶斯分类,分类文本语料库。

 

Abstract

Withthecomputertechnologyandtherapiddevelopmentofcommunicationtechnology,peoplecangetmoreandmoredigitalinformation,butitalsoneedstodevotemoretimetoorganizeandmanageinformation.Inordertoalleviatethatburden,peoplebegantostudytheuseofcomputersforautomaticclassificationoftext.Automatictextcategorizationistheclassificationofagivensystem,thecomputerdeterminedinaccordancewiththecontentsofthetextassociatedwithitscategory.Automatictextclassificationistheartificialintelligencetechnologyandaccesstoinformationtechnologyresearchfield.Withthedevelopmentofnetwork,dataontheemergenceofalargenumberofdocumentsonline,todealwithmassivedatatechnologyofautomatictextclassificationisbecomingincreasinglyimportant,hasbecomeanincreasinglylargenumberofdocumentprocessingandorganizationofthekeytechnologiesofdata.

ByanalyzingthekNearestNeighbor、NaiveBayes、SupportVectorMachinemethodoftextclassificationinthreestrengthsandweaknessesfoundinNaiveBayesianclassifierspeed,withthesmallesterrorrate,canachievetheadvantagesofonlinetechnology,andtheclassificationofthetheoreticalanalysisandexperimentalcomparison,experimentalresultsshowthatthetextcategorizationmodelisfeasibleandefficient.

ThispaperfirstintroducestheBayesian-basedtextcategorizationoftheresearchandrealizationofthebackgroundanddescribestheissuesrelatedtotheconceptofknowledge,includingtextclassificationandChinesewordsegmentation.

Second,therelevanttheoreticalknowledgetodotheexplaining,includingaprioriprobability,conditionalprobability,Bayesiantheory,theBayesianalgorithm.

Third,onhowtoachievetheoutlinedtextclassificationaswellasonthewhole,throughthegivenflowchart,youcanachieveamoreintuitiveunderstandingoftheprocess.

Fourth,indetailonachievingthisimportanttaskbyuseoftools,includingdevelopmenttoolsandJBuilder2007full-textsearchengineLuceneandJavaplatform.

Fifth,priortotheadoptionoftheworkdetailedinthispapertherealizationoftheprocess,includingsingle-andmulti-textclassificationtextcategorizationandrelatedspecificoperations;Finally,alargenumberofrepeattestsmanytimes,theexperimentaldataobtainedinthisformthroughtheform,intuitiveexperimentalresultsaregiven.

TheresearchbasedonBayesiantextclassificationsystem,accordingtothealgorithmdiscussedinthetextautomaticallyconstructedBayesianseparatorandtrainingtomakeadetailedtestresultsfromthefinalwecanseethattheBayesianalgorithmissimple,superiorperformance,evenwithouttakingintoaccounttheassumptionthatthepremiseofBayesianstillachievegoodclassificationperformance.

Keywords:

AutomaticTextCategorization,BayesianClassifier,

Classificationoftextcorpora.

 

目录

1.绪论2

1.1研究背景2

1.2文本分类的研究现状2

1.3分类的含义3

1.4文本分类的含义3

1.5自动分类3

1.6中文分词3

1.7中文分词的意义和作用4

1.8中文分词的应用4

1.9本文的组织4

2.条件概率6

2.1条件概率定义6

2.2全概率公式和贝叶斯公式6

2.3 贝叶斯学习理论6

2.4朴素贝叶斯分类7

2.5贝叶斯文本分类算法9

2.6文本自动分类的特点10

3.设计概述11

3.1流程图11

3.2概要设计14

4.系统开发环境15

4.1JAVA15

4.2开放源代码的全文检索引擎Lucene简介16

5.贝叶斯的文本自动分类的分析与设计19

5.1引言19

5.2详细设计19

5.3程序实现29

5.4试验数据35

6结论36

全文总结36

未来展望36

致谢37

参考文献38

1.绪论

1.1研究背景

我们正处在一个信息急剧丰富的时代,据1998年的统计结果显示,全世界每年出版大约15600种期刊,而且这一数字以每年12000种的速度递增,同期,仅美国国内就有近140万种图书在付印,这一数据还以平均每年6万种的速度在增加。

1998年美国国会图书馆藏书约1700万种,而平均每天接收到的新书就多达7000种。

另一个增长惊人的信息渠道是Internet,1999年的统计结果表明,Internet上约有3.5亿个静态HTML(HyperTextMarkupLanguage超文本标记语言)页面,每天增加将近100万。

这些页面大部分是以文本文档的形式存在,而我们日常所接触的信息,也绝大部分是文本的形式,它们或以印刷品的方式存在,或以电子文档的形式出现。

尤其是近十年来,随着网络的飞速发展,数字图书馆的出现,越来越多的文本信息以电子文档的形式存在。

面对如此庞大而又急剧膨胀的信息海洋,如何有效地组织和管理这些信息,并能快速、准确、全面地从中找到用户所需要的信息是当前信息科学与技术领域所面临的一大挑战。

文本分类作为处理和组织大量文本数据的关键技术,可以在较大程度上解决信息的纷繁杂乱问题,方便用户快度、准确地定位所需要的信息。

因此,自动文本分类已作为一项具有较大实用价值的关键技术,得到了广泛关注,取得了很大进展。

1.2文本分类的研究现状

国外文本数据分类的研究始于20世纪50年代末,Luhn在这一领域进行了开创性的研究,其后许多学者在这一领域进行了卓有成效的研究。

国外文本数据分类研究大体上可以分为三个阶段:

第一阶段是20世纪80年代前。

在这一时期,模式识别和信息检索相继发展成一门学科。

这一阶段主要是集中在对分类理论的研究,应用方面则主要是用于信息检索。

第二阶段是20世纪80年代到90年代。

这一阶段主要是采用传统的知识工程技术,在这一时期,信息检索技术逐渐成熟应用,为文本分类提供了许多技术支持。

第三阶段是20世纪90年代以后。

互连网技术的发展,文本数据量急剧增加,这种耗时、灵活性差、应用难度大的知识工程方法越来越不能满足实际应用的需要,于是逐渐被机器学习的方法取而代之。

基于机器学习的文本分类方法克服了以前手工建立分类器的缺点,使得文本分类具有了真正的实用价值。

这一时期分类器的特点:

一是分类知识来源于机器对训练集的自动学习,不再依赖于专家;二是学习和分类过程不需要人工干预,分类效率和准确率都有很大提高。

所谓机器学习是指由计算机代替人来学习关于认识世界、改造世界的知识。

国内文本数据分类研究起步较晚,始于20世纪80年代初期。

我国文本分类的研究大体上经历了可行性探讨、辅助分类、自动分类系统三个发展阶段。

早期对中文文本的分类研究较少,采用的技术也主要是把英文文本分类的技术应用到中文文本分类当中。

自上世纪90年代后期才开始着重于对中文文本分类的研究,结合中文文本的特点,形成中文文本数据分类研究体系。

文本分类方面的文献也非常丰富,常见于信息检索、机器学习、知识挖掘与发现、模式识别、人工智能、计算机科学与应用等各种国际会议及相关的期刊或杂志。

1.3分类的含义

广义的分类(classification或者categorization)有两种含义:

一种含义是有指导的学习(supervisedlearning)过程,另一种是无指导的学习(unsupervisedlearning)过程。

通常前者称为分类,后者称为聚类(clustering),后文中提到的分类是指有指导的学习过程。

给定分类体系,将文本集中的每个文本分到某个或者某几个类别中,这个过程称为文本分类(textcategorization)。

1.4文本分类的含义

文本分类过程可以分为手工分类和自动分类。

前者最著名的实例是yahoo的网页分类体系,是由专家定义了分类体系,然后人工将网页分类。

这种方法需要大量人力,现实中已经采用的很少了。

自动文本分类(automatictextcategorization)算法大致可以分为两类:

知识工程(knowledgeengineering)方法和机器学习(machinelearning)方法。

知识工程方法指的是由专家为每个类别定义一些规则,这些规则代表了这个类别的特征,自动把符合规则的文档划分到相应的类别中。

这方面最著名的系统是CONSTRUE。

上个世纪90年代之后,机器学习方法成为主导。

机器学习方法与知识工程方法相比,能够达到相似的精确度,但是减少了大量的人工参与。

下面主要介绍基于机器学习方法的文本分类。

1.5自动分类

1.自动分类基于内容、不需人工干预的文本自动分类技术。

系统提供分类训练工具,允许用户自行根据自己的分类需求和数据特点设定分类结构,自动生成特征模板,进行分类训练。

TRS自动分类支持反馈学习机制,可以根据用户的反馈自动对分类模板进行完善,从而逐步增加分类的准确率。

2.自动分类是利用模式识别技术实现对遥感影像内容的自动标志识别和分类,即计算机辅助判读。

通常采用特征空间识别方法。

是建立在概率论和数理统计基础上,立足于寻找能反映影像特点的一些特征,经过信息压缩、特征抽取、特征选择和决策规划来识别地物的计算机自动分类方法。

1.6中文分词

什么是中文分词?

中文分词与其他的分词又有什么不同呢?

分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。

我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段可以通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,但是在词这一层上,中文比之英文要复杂的多、困难的多。

1.7中文分词的意义和作用

要想说清楚中文分词的意义和作用,就要提到智能计算技术。

智能计算技术涉及的学科包括物理学、数学、计算机科学、电子机械、通讯、生理学、进化理论和心理学等等。

简单的说,智能计算就是让机器“能看会想,能听会讲”。

要想实现这样的一个目标,首先就要让机器理解人类的语言,只有机器理解了人类的语言文字,才使得人与机器的交流成为可能。

再反观我们人类的语言中,“词是最小的能够独立活动的有意义的语言成分”,所以对于中文来讲,将词确定下来是理解自然语言的第一步,只有跨越了这一步,中文才能像英文那样过渡到短语划分、概念抽取以及主题分析,以至于自然语言理解,最终达到智能计算的最高境界,实现人类的梦想。

从现阶段的实际情况来看,英文已经跨越了分词这一步,也就是说在词的利用上已经先我们一步,并且已经展现了良好的应用前景,无论是信息检索还是主题分析的研究都要强于中文,究其根本原因就是中文要通过分词这道难关,只有攻破了这道难关,我们才有希望赶上并超过英文在信息领域的发展,所以中文分词对我们来说意义重大,可以说直接影响到使用中文的每一个人的方方面面。

1.8中文分词的应用

中文分词主要应用于信息检索、汉字的智能输入、中外文对译、中文校对、自动摘要、自动分类等很多方面。

下面就以信息检索为例来说明中文分词的应用。

通过近几年的发展,互联网已经离我们不再遥远。

互联网上的信息也在急剧膨胀,在这海量的信息中,各类信息混杂在一起,要想充分利用这些信息资源就要对它们进行整理,如果由人来做这项工作,已经是不可能的,而如果面对中文信息不采用分词技术,那么整理的结果就过于粗糙,而导致资源的不可用,例如:

“制造业和服务业是两个不同的行业”和“我们出口日本的和服比去年有所增长”中都有“和服”,而被当作同一类来处理,结果是检索“和服”的相关信息,会将他们都检索到,在信息量少的情况下,似乎还能够忍受,如果是海量信息,这样的结果就会令人讨厌了。

通过引入分词技术,就可以使机器对海量信息的整理更准确更合理,在“制造业和服务业是两个不同的行业”中“和服”不会被当作一个词来处理,那么检索“和服”当然不会将它检索到,使得检索结果更准确,效率也会大幅度的提高。

所以中文分词的应用会改善我们的生活,使人们真正体会到科技为我所用。

1.9本文的组织

本文的第一章是绪论,介绍本文的研究背景、国内外研究现状,主要研究内容和文章的组织,其中介绍了重要概念,包括文本分类和中文分词。

第二章详细介绍了条件概率;通过举例说明贝叶斯概率公式的应用;介绍了文本自动分类的特点;描述了贝叶斯文本分类算法;通过公式说明了朴素贝叶斯分类;还讲解了贝叶斯学习理论以及简单说明了下全概率公式和贝叶斯公式,其中主要讲解了贝叶斯分类,并且利用表格详细说明。

第三章说明了程序的设计思想,给出了直观的流程图以及整个设计的框架,这里只是粗略的说明了下设计思想,在后面章节还有详细说明。

第四章重点的说明了程序设计的工作环境,讲述了其中重要的辅助工具,其中包括JBuilder2007开发工具和Lucene全文检索引擎以及JAVA平台。

第五章也是本文的重点,详细说明了程序设计思想以及具体操作过程。

通过实验得到结果,验证了基于贝叶斯的文本自动分类的有效性,是一种非常有前途的文本分类

最后,给出了全文的总结,并对今后的研究工作进行了展望。

 

2.条件概率

2.1条件概率定义

定义设A,B是两个事件,且P(A)>0称P(B∣A)=P(AB)/P(A)为在条件A下发生的条件事件B发生的条件概率。

乘法公式设P(A)>0则有P(AB)=P(B∣A)P(A)

2.2全概率公式和贝叶斯公式

定义设S为试验E的样本空间,B1,B2,…Bn为E的一组事件,若BiBj=Ф,i≠j,

(i,j=1,2,…,n);B1∪B2∪…∪Bn=S则称B1,B2,…,Bn为样本空间的一个划分。

定理设试验E的样本空间为S,A为E的事件,B1,B2,…,Bn为的一个划分,且P(Bi)>0

(i=1,2,…n),则P(A)=P(A∣B1)P(B1)+P(A∣B2)P(B2)+…+P(A∣Bn)P(Bn)称为全概率公式。

定理设试验E的样本空间为S,A为E的事件,B1,B2,…,Bn为的一个划分,则

P(Bi∣A)=P(A∣Bi)P(Bi)/∑P(B|Aj)P(Aj)=P(B|Ai)P(Ai)/P(B)称为贝叶斯公式。

下面我再举个简单的例子来说明下。

考虑一个医疗诊断问题,有两种可能的假设:

(1)病人有癌症。

(2)病人无癌症。

样本数据来自某化验测试,它也有两种可能的结果:

阳性和阴性。

假设已经有先验知识:

在所有人口中只有0.008的人患病。

此外,化验测试对有病的患者有98%的可能返回阳性结果,对无病患者有97%的可能返回阴性结果。

上面的数据可以用以下概率式子表示:

P(cancer)=0.008,P(无cancer)=0.992

P(阳性|cancer)=0.98,P(阴性|cancer)=0.02

P(阳性|无cancer)=0.03,P(阴性|无cancer)=0.97

假设现在有一个新病人,化验测试返回阳性,是否将病人断定为有癌症呢?

可以计算极大后验假设:

P(阳性|cancer)p(cancer)=0.98*0.008=0.0078

P(阳性|无cancer)*p(无cancer)=0.03*0.992=0.0298

因此,应该判断为无癌症。

2.3 贝叶斯学习理论

贝叶斯是一种基于概率的学习算法,能够用来计算显式的假设概率,它基于假设的先验概率,给定假设下观察到不同数据的概率以及观察到的数据本身。

本课题用P(h)表示没有训练样本数据前假设h拥有的初始概率,也就称为h的先验概率,它反映了我们所拥有的关于h是一个正确假设的机会的背景知识。

当然如果没有这个先验知识的话,在实际处理中,可以简单地将每一种假设都赋给一个相同的概率。

类似,P(D)代表将要观察的训练样本数据D的先验概率(也就是说,在没有确定某一个假设成立时D的概率)。

然后是P(D/h),它表示假设h成立时观察到数据D的概率。

在机器学习中,所感兴趣的是P(h/D),也就是给定了一个训练样本数据D,判断假设h成立的概率,这也称之为后验概率,它反映了在看到训练样本数据D后假设h成立的置信度。

(注:

后验概率p(h/D)反映了训练

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 成考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1