一种文档分类方法和系统的制作方法

文档序号:6625969阅读:112来源:国知局
一种文档分类方法和系统的制作方法【专利摘要】本发明公开了一种文档分类方法和系统,应用于包括Map程序和Reduce程序的Hadoop集群中,所述方法包括以下步骤:所述Map程序对训练文档和待分类文档进行解析,根据解析结果确定特征属性,并对所述特征属性进行划分;所述Map程序根据所述训练文档的特征属性以及对所述训练文档的分类结果,生成分类器;所述Reduce程序使用所述分类器对所述待分类文档进行分类,得到待分类文档的分类结果。本发明充分利用了Hadoop集群的分布式特点,避免了传统系统框架的局限性,具有并行快速的特点,能够快速实现对海量文档的分类,节省了分类时间,提高了文档分类的效率,提高了系统性能。【专利说明】一种文档分类方法和系统【
技术领域
】[0001]本发明涉及计算机【
技术领域
】,具体涉及一种文档分类方法和系统。【
背景技术
】[0002]随着网络技术的日益普及,网络中的数据量急剧增加,应用类型也非常丰富。数据挖掘技术充分利用现有信息资源,从大量数据中找出隐藏的知识,是一个强有力的发展方向。数据挖掘涉及到机器学习、模式识别、统计学、智能数据库、数据可视化和高性能计算等领域,其目的在于从大量数据中发现隐含的、新颖的、令人感兴趣的关系和规律。其中,文档分类是数据挖掘的一个重要方向。[0003]现有技术中,通常使用传统的系统框架进行文档分类,在处理海量数据时,会导致分类时间长,系统性能低下。【
发明内容】[0004]本发明提供了一种文档分类方法和系统,以解决现有技术中系统性能低下的缺陷。[0005]本发明提供了一种文档分类方法,应用于包括Map程序和Reduce程序的Hadoop集群中,所述方法包括以下步骤:[0006]所述Map程序对训练文档和待分类文档进行解析,根据解析结果确定特征属性,并对所述特征属性进行划分;[0007]所述Map程序根据所述训练文档的特征属性以及对所述训练文档的分类结果,生成分类器;[0008]所述Reduce程序使用所述分类器对所述待分类文档进行分类,得到待分类文档的分类结果。[0009]可选地,所述Map程序根据解析结果确定特征属性之后,还包括:[0010]所述Map程序根据所述特征属性,分别对所述训练文档和所述待分类文档进行格式转换,得到符合预设格式的训练文档和待分类文档;[0011]所述Map程序根据所述训练文档的特征属性以及对所述训练文档的分类结果,生成分类器,具体为:[0012]所述Map程序根据格式转换后的训练文档的特征属性以及对所述训练文档的分类结果,生成分类器;[0013]所述Reduce程序使用所述分类器对所述待分类文档进行分类,得到待分类文档的分类结果,具体为:[0014]所述Reduce程序使用所述分类器对格式转换后的待分类文档进行分类,得到待分类文档的分类结果。[0015]可选地,所述Map程序根据格式转换后的训练文档的特征属性以及对所述训练文档的分类结果,生成分类器,具体为:[0016]所述Map程序根据所述格式转换后的训练文档对应的各个特征属性的取值范围以及对所述训练文档的分类结果,计算每个类别在所述训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,将所述出现频率和所述条件概率估计记录为分类器。[0017]可选地,所述Reduce程序使用所述分类器对格式转换后的待分类文档进行分类,得到待分类文档的分类结果,具体为:[0018]所述Reduce程序获取所述格式转换后的待分类文档的所有特征属性的取值范围,根据获取到的取值范围、每个类别在训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,计算所述待分类文档归属于各个类别的条件概率,并将数值最大的条件概率对应的类别作为所述待分类文档的分类结果。[0019]可选地,所述Map程序所述对训练文档和待分类文档进行解析,根据解析结果确定特征属性,并对所述特征属性进行划分,具体为:[0020]所述Map程序通过对训练文档和待分类文档进行解析,得到训练文档和待分类文档包含的属性,并从解析得到的属性中选取特征属性,并针对每个特征属性划分多个取值范围。[0021]本发明还提供了一种文档分类系统,应用于Hadoop集群中,所述系统包括:[0022]解析模块,用于对训练文档和待分类文档进行解析,根据解析结果确定特征属性,并对所述特征属性进行划分;[0023]生成模块,用于根据所述解析模块确定的所述训练文档的特征属性以及对所述训练文档的分类结果,生成分类器;[0024]分类模块,用于使用所述生成模块生成的所述分类器对所述待分类文档进行分类,得到待分类文档的分类结果。[0025]可选地,所述的系统,还包括:[0026]转换模块,用于根据所述解析模块确定的所述特征属性,分别对所述训练文档和所述待分类文档进行格式转换,得到符合预设格式的训练文档和待分类文档;[0027]所述生成模块,具体用于根据所述转换模块格式转换后的训练文档的特征属性以及对所述训练文档的分类结果,生成分类器;[0028]所述分类模块,具体用于使用所述生成模块生成的所述分类器对所述转换模块格式转换后的待分类文档进行分类,得到待分类文档的分类结果。[0029]可选地,所述生成模块,具体用于根据所述转换模块格式转换后的训练文档对应的各个特征属性的取值范围以及对所述训练文档的分类结果,计算每个类别在所述训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,将所述出现频率和所述条件概率估计记录为分类器。[0030]可选地,所述分类模块,具体用于获取所述转换模块格式转换后的待分类文档的所有特征属性的取值范围,根据获取到的取值范围、每个类别在训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,计算所述待分类文档归属于各个类别的条件概率,并将数值最大的条件概率对应的类别作为所述待分类文档的分类结果。[0031]可选地,所述解析模块,具体用于通过对训练文档和待分类文档进行解析,得到训练文档和待分类文档包含的属性,并从解析得到的属性中选取特征属性,并针对每个特征属性划分多个取值范围。[0032]本发明充分利用了Hadoop集群的分布式特点,避免了传统系统框架的局限性,具有并行快速的特点,能够快速实现对海量文档的分类,节省了分类时间,提高了文档分类的效率,提闻了系统性能。【专利附图】【附图说明】[0033]图1为本发明实施例中一种文档分类方法的流程图;[0034]图2为本发明实施例中一种文档分类系统的结构示意图。【具体实施方式】[0035]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0036]需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结合,均在本发明的保护范围之内。另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。[0037]本发明实施例中提出了一种文档分类方法,应用于包括Map程序和Reduce程序的Hadoop集群中,在使用Hadoop命令将训练文档和待分类文档放置到HDFS(HadoopDistributedFileSystem,分布式文件系统)上之后,执行如图1所示的操作:[0038]步骤101,Map程序对训练文档和待分类文档进行解析,根据解析结果确定特征属性,并对特征属性进行划分。[0039]具体地,Map程序可以通过对训练文档和待分类文档进行解析,得到训练文档和待分类文档包含的属性,并从解析得到的属性中选取特征属性,并针对每个特征属性划分多个取值范围。[0040]其中,训练文档和待分类文档可以位于HDFS中的不同目录下,并由分类目录进行管理,每个文件夹的名字即为类标签,文件夹下的内容即为与归属于该类标签对应的类的文档。[0041]例如,训练文档位于HDFS中的/train目录下,待分类文档位于HDFS中的/test目录下。Map程序根据对训练文档和待分类文档的分析结果,选择3个特征属性:a、日志数量/注册天数山、好友数量/注册天数;c、是否使用真实头像,并将每个特征属性划分为:{a〈=0.05,0.05〈a〈0.2,a>=0.2};{b〈=0.1,0.l〈b〈0.8,b>=0.8};{c=0(不是),c=I(是)}。[0042]步骤102,Map程序根据确定的特征属性,分别对训练文档和待分类文档进行格式转换,得到符合预设格式的训练文档和待分类文档。[0043]具体地,Map程序可以使用命令行Mahout中的PrepareTwentyNewsgroups类,将训练文档和待分类文档转换为符合预设格式的训练文档和待分类文档。其中,预设格式可以是VectorWritable格式,在符合VectorWritable格式的文档中,第一个字符是类标签,其余的字符是特征属性。[0044]步骤103,Map程序根据格式转换后的训练文档的特征属性以及对训练文档的分类结果,生成分类器。[0045]具体地,Map程序可以根据格式转换后的训练文档对应的各个特征属性的取值范围以及对训练文档的分类结果,计算每个类别在训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,将上述出现频率和条件概率估计记录为分类器。[0046]例如,训练文档的个数为I万个,其分类结果为:8900个训练文档属于真实账号(即,C=O),1100个训练文档属于非真实账号(即,C=I)。[0047]每个类别在训练文档中的出现频率为:[0048]P(C=O)=8900/10000=0.89;[0049]P(C=I)=1100/10000=0.11;[0050]在每个类别下所有特征属性的各个取值范围的条件概率估计为:[0051]P(a<=0.05IC=O)=0.3[0052]P(0.05<a<0.2IC=O)=0.5[0053]P(a>=0.2IC=O)=0.2[0054]P(a〈=0.05IC=I)=0.8[0055]P(0.05<a<0.2IC=I)=0.1[0056]P(a>=0.2IC=I)=0.1[0057]P(b<=0.1IC=O)=0.1[0058]P(0.l<b<0.8IC=0)=0.7[0059]P(b>=0.8IC=O)=0.2[0060]P(b<=0.1IC=I)=0.7[0061]P(0.l<b<0.8IC=1)=0.2[0062]P(b>=0.8IC=l)=0.1[0063]P(c=0IC=O)=0.2[0064]P(c=IIC=O)=0.8[0065]P(c=0IC=I)=0.9[0066]P(c=IIC=I)=0.1[0067]步骤104,Reduce程序使用分类器对格式转换后的待分类文档进行分类,得到待分类文档的分类结果。[0068]具体地,Reduce程序可以获取格式转换后的待分类文档的所有特征属性的取值范围,根据获取到的取值范围、每个类别在训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,计算待分类文档归属于各个类别的条件概率,并将数值最大的条件概率对应的类别作为待分类文档的分类结果记录到HDFS上。[0069]例如,待分类文档的3个特征属性的取值范围为:0.05〈a〈0.2,0.l〈b〈0.8,b>=0.8,c=0,则待分类文档属于真实账号(即,C=O)的条件概率为:[0070]P(C=O)P(XIC=O)[0071]=P(C=O)P(0.05<a<0.2IC=O)P(0.l<b<0.8IC=O)P(c=OIC=O)[0072]=0.89*0.5*0.7*0.2[0073]=0.0623;[0074]待分类文档属于非真实账号(g卩,C=I)的条件概率为:[0075]P(C=l)P(xIC=I)[0076]=P(C=I)P(0.05<a<0.2IC=I)P(0.l〈b〈0.8IC=l)P(c=0IC=I)[0077]=0.11*0.1*0.2*0.9[0078]=0.00198[0079]由于待分类文档属于真实账号的条件概率最大,则Reduce程序确定该待分类文档属于真实账号。[0080]本发明实施例充分利用了Hadoop集群的分布式特点,避免了传统系统框架的局限性,具有并行快速的特点,能够快速实现对海量文档的分类,节省了分类时间,提高了文档分类的效率,提高了系统性能。[0081]基于上述网页聚类方法,本发明实施例提出了一种文档分类系统,应用于Hadoop集群中,如图2所不,该系统包括:[0082]解析模块210,用于对训练文档和待分类文档进行解析,根据解析结果确定特征属性,并对该特征属性进行划分;[0083]具体地,上述解析模块210,具体用于通过对训练文档和待分类文档进行解析,得到训练文档和待分类文档包含的属性,并从解析得到的属性中选取特征属性,并针对每个特征属性划分多个取值范围。[0084]生成模块220,用于根据解析模块210确定的训练文档的特征属性以及对训练文档的分类结果,生成分类器;[0085]分类模块230,用于使用生成模块220生成的分类器对待分类文档进行分类,得到待分类文档的分类结果。[0086]进一步地,上述系统,还包括:[0087]转换模块240,用于根据解析模块210确定的所述特征属性,分别对训练文档和待分类文档进行格式转换,得到符合预设格式的训练文档和待分类文档;[0088]相应地,上述生成模块220,具体用于根据转换模块240格式转换后的训练文档的特征属性以及对训练文档的分类结果,生成分类器;[0089]上述分类模块230,具体用于使用生成模块220生成的分类器对转换模块240格式转换后的待分类文档进行分类,得到待分类文档的分类结果。[0090]进一步地,上述生成模块220,具体用于根据转换模块240格式转换后的训练文档对应的各个特征属性的取值范围以及对训练文档的分类结果,计算每个类别在训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,将上述出现频率和上述条件概率估计记录为分类器。[0091]相应地,上述分类模块230,具体用于获取转换模块240格式转换后的待分类文档的所有特征属性的取值范围,根据获取到的取值范围、每个类别在训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,计算所述待分类文档归属于各个类别的条件概率,并将数值最大的条件概率对应的类别作为所述待分类文档的分类结果。[0092]本发明实施例充分利用了Hadoop集群的分布式特点,避免了传统系统框架的局限性,具有并行快速的特点,能够快速实现对海量文档的分类,节省了分类时间,提高了文档分类的效率,提高了系统性能。[0093]结合本文中所公开的实施例描述的方法中的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【
技术领域
】内所公知的任意其它形式的存储介质中。[0094]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【
技术领域
】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。【权利要求】1.一种文档分类方法,其特征在于,应用于包括Map程序和Reduce程序的Hadoop集群中,所述方法包括以下步骤:所述Map程序对训练文档和待分类文档进行解析,根据解析结果确定特征属性,并对所述特征属性进行划分;所述Map程序根据所述训练文档的特征属性以及对所述训练文档的分类结果,生成分类器;所述Reduce程序使用所述分类器对所述待分类文档进行分类,得到待分类文档的分类结果。2.如权利要求1所述的方法,其特征在于,所述Map程序根据解析结果确定特征属性之后,还包括:所述Map程序根据所述特征属性,分别对所述训练文档和所述待分类文档进行格式转换,得到符合预设格式的训练文档和待分类文档;所述Map程序根据所述训练文档的特征属性以及对所述训练文档的分类结果,生成分类器,具体为:所述Map程序根据格式转换后的训练文档的特征属性以及对所述训练文档的分类结果,生成分类器;所述Reduce程序使用所述分类器对所述待分类文档进行分类,得到待分类文档的分类结果,具体为:所述Reduce程序使用所述分类器对格式转换后的待分类文档进行分类,得到待分类文档的分类结果。3.如权利要求2所述的方法,其特征在于,所述Map程序根据格式转换后的训练文档的特征属性以及对所述训练文档的分类结果,生成分类器,具体为:所述Map程序根据所述格式转换后的训练文档对应的各个特征属性的取值范围以及对所述训练文档的分类结果,计算每个类别在所述训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,将所述出现频率和所述条件概率估计记录为分类器。4.如权利要求3所述的方法,其特征在于,所述Reduce程序使用所述分类器对格式转换后的待分类文档进行分类,得到待分类文档的分类结果,具体为:所述Reduce程序获取所述格式转换后的待分类文档的所有特征属性的取值范围,根据获取到的取值范围、每个类别在训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,计算所述待分类文档归属于各个类别的条件概率,并将数值最大的条件概率对应的类别作为所述待分类文档的分类结果。5.如权利要求1所述的方法,其特征在于,所述Map程序对训练文档和待分类文档进行解析,根据解析结果确定特征属性,并对所述特征属性进行划分,具体为:所述Map程序通过对训练文档和待分类文档进行解析,得到训练文档和待分类文档包含的属性,并从解析得到的属性中选取特征属性,并针对每个特征属性划分多个取值范围。6.一种文档分类系统,其特征在于,应用于Hadoop集群中,所述系统包括:解析模块,用于对训练文档和待分类文档进行解析,根据解析结果确定特征属性,并对所述特征属性进行划分;生成模块,用于根据所述解析模块确定的所述训练文档的特征属性以及对所述训练文档的分类结果,生成分类器;分类模块,用于使用所述生成模块生成的所述分类器对所述待分类文档进行分类,得到待分类文档的分类结果。7.如权利要求6所述的系统,其特征在于,还包括:转换模块,用于根据所述解析模块确定的所述特征属性,分别对所述训练文档和所述待分类文档进行格式转换,得到符合预设格式的训练文档和待分类文档;所述生成模块,具体用于根据所述转换模块格式转换后的训练文档的特征属性以及对所述训练文档的分类结果,生成分类器;所述分类模块,具体用于使用所述生成模块生成的所述分类器对所述转换模块格式转换后的待分类文档进行分类,得到待分类文档的分类结果。8.如权利要求7所述的系统,其特征在于,所述生成模块,具体用于根据所述转换模块格式转换后的训练文档对应的各个特征属性的取值范围以及对所述训练文档的分类结果,计算每个类别在所述训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,将所述出现频率和所述条件概率估计记录为分类器。9.如权利要求8所述的系统,其特征在于,所述分类模块,具体用于获取所述转换模块格式转换后的待分类文档的所有特征属性的取值范围,根据获取到的取值范围、每个类别在训练文档中的出现频率以及在每个类别下所有特征属性的各个取值范围的条件概率估计,计算所述待分类文档归属于各个类别的条件概率,并将数值最大的条件概率对应的类别作为所述待分类文档的分类结果。10.如权利要求6所述的系统,其特征在于,所述解析模块,具体用于通过对训练文档和待分类文档进行解析,得到训练文档和待分类文档包含的属性,并从解析得到的属性中选取特征属性,并针对每个特征属性划分多个取值范围。【文档编号】G06F17/30GK104239479SQ201410449140【公开日】2014年12月24日申请日期:2014年9月4日优先权日:2014年9月4日【发明者】宗栋瑞,郭美思,吴楠申请人:浪潮(北京)电子信息产业有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1