一种基于MPI和Adaboost.MH的中文文本分类方法技术

技术编号:16079984 阅读:37 留言:0更新日期:2017-08-25 15:30
本发明专利技术公开了一种基于MPI和Adaboost.MH的中文文本分类方法,用于解决当数据量较大时,Adaboost.MH训练时间较长因而导致总的中文文本分类时间较长的问题。该方法包括:将经过分词处理的中文文本保存到训练数据集,然后将互信息方法与MPI相结合,实现特征词选择,然后所有进程通过MPI中的MPI_Reduce函数进行归约求和进而求得相似度,根据相似度的大小选择特征词。接着每个进程根据其所包含的中文文本中选择的特征词是否存在来给特征词赋予权值。然后根据MPI的通信函数将进程计算结果进行整合得到文本分类模型,利用分类模型对待分类的中文文本分类。本发明专利技术极大地缩短了对中文文本进行分类的时间。

【技术实现步骤摘要】
一种基于MPI和Adaboost.MH的中文文本分类方法
本专利技术涉及文本挖掘
,特别涉及一种基于MPI和adaboost.MH的中文文本分类方法。
技术介绍
文本分类是在文本的类别体系已知的情况下,根据信息内容将文本划分到与其相关的类别中去的过程。随着科学技术的进步、社会的发展、计算机的普及和网络时代的来临,网络文本的数量在急剧增长中,文本分类任务呈现了新的特点:一、每天都会产生大量的需要进行分类的新文本,这些数据通常是TB级以上。二、文本的类别呈现出多样性,即一个文本可以属于多种类别,比如同一文本既可以属于历史,又可以属于政治,还可以属于科技等。传统的单标签分类方法如决策树方法、k近邻方法、神经网络方法、遗传算法、贝叶斯分类、支持向量机等已经不能满足人们的需要。因此现今出现了许多多标签分类方法,主要有BR、ECC、Adaboost.MH、MLKNN、CML、ML-DT、rank-Svm等。Adaboost.MH算法是一种对单标签分类算法Adaboost的改进处理多标签的迭代算法,其核心思想是对同一个训练集训练不同的弱分类器,然后将这些弱分类器结合起来构成一个强分类器。本文中Adaboost.MH算法选择的弱分类器是一级决策树,该算法思想简单、易于实现。但由于现在需要分类的文本数量太大,Adaboost.MH算法为了保证分类效果需要进行多次的迭代学习,因此需要大量的训练时间。为了提高Adaboost.MH算法的效率,减少训练时间,现有的解决方法主要是对算法进行并行实现。并行的方法主要有openmp、hadoop、spark、MPI。其中openmp可以在单机上对算法进行多线程并行实现,不能用于集群。但当数据量过大时,对机器内存的要求将过高,openmp将不适用。Hadoop根据mapreduce框架通过集群对算法实现并行,但hadoop不擅长处理迭代算法。Spark同样可以使用集群来并行实现算法,但与MPI相比较,速度较慢。
技术实现思路
针对海量数据构建训练集时间较长和使用Adaboost.MH算法进行分类模型训练需要大量时间的问题,本专利技术利用MPI和adaboost.MH相结合,提出了一种基于MPI和Adaboost.MH的并行文本分类方法。本专利技术解决中文文本分类耗时问题的技术方案是:将预处理后的文本平均分成p份,每个进程处理其中的一份,进程依靠MPI实现进程间相互通信作为辅助完成对训练集中文文本进行特征选择、构建权值向量、训练分类模型、对待分类文本进行分类等工作,从而实现了中文文本分类的并行化,能够极大程度的提高中文文本分类的时间效率。鉴于此,本专利技术采用的技术方案是:一种基于MPI和Adaboost.MH的中文文本分类方法,包括以下步骤:(1)文本预处理:搜集不同领域的中文文本文件,对搜集到的中文文本进行中文分词,然后将标点符号及停用词去除,将分词后的词条用空格符分隔保存到训练集数据中,作为初步特征。(2)特征词选择:通过使用互信息方法对预处理文本的初步特征进行选择。(3)构建权值向量:对每个进程的每一篇中文文本文件,扫描判断挑选的特征词是否在该中文文本文件中,如果文件中存在该特征词,这该特征词对应的权值为1,否则该特征词对应的权值为0,构建中文文本文件权值向量。(4)构建文本分类模型:利用Adaboost.MH算法构建分类模型。(5)对待分类文本进行分类:根据步骤(4)构建的分类模型对待分类文本进行分类。进一步,步骤(2)所述特征词选择的具体步骤为:首先将训练集数据平均分为p份,每个进程依次读取其中的一份;然后分别统计各进程的A、B、C、N值,A为在类别c中特征词t出现的中文文本分数;B为在除了类别c的其他类别中特征词t出现的中文文本分数;C为在类别c中特征词t未出现的中文文本分数;N为所有类别中中文文本分数的总和;接着所有进程通过MPI中的MPI_Reduce函数对A、B、C、N进行归约求和,结果保存到进程0中,进程0根据归约求和的结果计算特征词t和类别c之间的相似度I;最后通过快速排序算法对特征词的相似度I进行排序,将相似度I较大的n个特征词保留,并将选择的结果广播给所有的进程,所有进程根据收到的广播信息挑选特征词。其中相似度I的计算公式为:上述步骤(4)中分类模型的构建过程如下:步骤一、根据训练集数据,每个进程对自身所包含样本标签赋予权值1/(mk),m为训练集样本数,即中文文本数,k为样本的类别总数,即中文文本可能的所属类别数,类别如科技类、政治类等。步骤二、每个进程根据公式统计自身所包含样本的所有特征词的权值然后对使用MPI_Reduce归约函数对求得的权值进行归约求和,获得真正的存入进程0中,其中j表示特征词是否存在,表示第个标签,b为-1或1,-1表示样本不包含该标签,1表示样本包含该标签,m表示训练集的样本数,表示在第t次迭代时第i个样本的第个标签的权值,xi表示第i个训练样本,Xj表示特征词存在(j=1)或不存在(j=0)的情况下的所有训练样本的集合,Yi表示第i个样本的标签。步骤三、在进程0中根据公式计算所有特征的Zt,其中Zt表示归一化因子,表示特征词存在(j=1)或特征词不存在(j=0)的第个标签为1的训练样本在分布中的权值和,表示特征词存在(j=1)或特征词不存在(j=0)的第个标签为-1的训练样本在分布中的权值和。选择Zt值最小的特征词w作为要选取的特征词;然后根据特征词w计算标签概率表示标签为1的概率,表示标签不为1的概率,通过MPI_Bcast函数将Zt、w、和广播给所有进程,所有进程将其存入结构体rule中;标签概率通过以下公式计算,ε表示平滑系数,为1/mk,其中m为训练样本数,k为训练集标签数,即文本类别数。步骤四、每一个进程根据权值分布更新公式对标签权值分布进行更新,其中αt=1,当w∈x,则当则w为特征词,表示第i个训练样本的第个标签为1的置信度。步骤五、重复步骤二至四T次,第T次迭代时步骤四不操作,获得T个一级决策树分类器。对于待分类的中文文本文件,将其平均分成p份读入p个进程,每个进程利用所有类别全部的特征词对其进行特征词的扫描,根据特征词是否在中文文本文件中出现对该特征词赋予权值,从而得到待分类文本的权值向量,获得测试集。然后将测试集平均分成p份,每个进程读取其中的一份,所述对待分类文本进行分类为:将待分类的中文文本文件进行上述步骤(1)、(2)和(3)的处理后,获得权值向量,即测试集。然后将测试集平均分成p份,每个进程读取其中的一份,根据T个一级决策树分类器对各自所包含的样本分类,最后根据公式将分类结果进行整合得出最后的预测类别。本专利技术具有益效果:本专利技术将MPI和Adaboost.MH算法相结合,实现了并行的文本分类算法,解决了当数据集过大,迭代次数过多引起的训练时间过长的问题,极大地缩短了中文文本分类的时间。附图说明图1表示基于MPI和Adaboost.MH算法的中文文本分类方法的流程图;图2表示特征词选择流程图,假设进程数p为4;图3表示分类器模型的训练流程图,假设进程数p为4。具体实施方式下面结合附图对本专利技术做进一步说明。如图1所示,本专利技术包括以下5个步骤。1、文本预处理:通过网络爬虫和搜索网络信息等方式搜集不同领域的中文本文档来自技高网
...
一种基于MPI和Adaboost.MH的中文文本分类方法

【技术保护点】
一种基于MPI和Adaboost.MH的中文文本分类方法,包括以下步骤:(1)文本预处理:搜集不同领域的中文文本文件,对搜集到的中文文本进行中文分词,然后将标点符号及停用词去除,将分词后的词条用空格符分隔保存到训练集数据中,作为初步特征;(2)特征词选择:通过使用互信息方法对预处理文本的初步特征进行选择;(3)构建权值向量:对每个进程的每一篇中文文本文件,扫描判断挑选的特征词是否在该中文文本文件中,如果文件中存在该特征词,这该特征词对应的权值为1,否则该特征词对应的权值为0,构建中文文本文件权值向量;(4)构建文本分类模型:利用Adaboost.MH算法构建分类模型;(5)对待分类文本进行分类:根据步骤(4)构建的分类模型对待分类文本进行分类。

【技术特征摘要】
1.一种基于MPI和Adaboost.MH的中文文本分类方法,包括以下步骤:(1)文本预处理:搜集不同领域的中文文本文件,对搜集到的中文文本进行中文分词,然后将标点符号及停用词去除,将分词后的词条用空格符分隔保存到训练集数据中,作为初步特征;(2)特征词选择:通过使用互信息方法对预处理文本的初步特征进行选择;(3)构建权值向量:对每个进程的每一篇中文文本文件,扫描判断挑选的特征词是否在该中文文本文件中,如果文件中存在该特征词,这该特征词对应的权值为1,否则该特征词对应的权值为0,构建中文文本文件权值向量;(4)构建文本分类模型:利用Adaboost.MH算法构建分类模型;(5)对待分类文本进行分类:根据步骤(4)构建的分类模型对待分类文本进行分类。2.根据权利要求1所述一种基于MPI和Adaboost.MH的中文文本分类方法,其特征在于:步骤(2)所述特征词选择的具体步骤为:首先将训练集数据平均分为p份,每个进程依次读取其中的一份;然后分别统计各进程的A、B、C、N值,A为在类别c中特征词t出现的中文文本分数;B为在除了类别c的其他类别中特征词t出现的中文文本分数;C为在类别c中特征词t未出现的中文文本分数;N为所有类别中中文文本分数的总和;接着所有进程通过MPI中的MPI_Reduce函数对A、B、C、N进行归约求和,结果保存到进程0中,进程0根据归约求和的结果计算特征词t和类别c之间的相似度I;最后通过快速排序算法对特征词的相似度I进行排序,将相似度I较大的n个特征词保留,并将选择的结果广播给所有的进程,所有进程根据收到的广播信息挑选特征词。3.根据权利要求2所述一种基于MPI和Adaboost.MH的中文文本分类方法,其特征在于:所述相似度I的计算公式为:4.根据权利要求1所述一种基于MPI和Adaboost.MH的中文文本分类方法,其特征在于:所述分类模型的构建过...

【专利技术属性】
技术研发人员:王进高延雨李颖李航余薇高选人邓欣陈乔松胡峰
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1