The invention requests a method of parallel random label subset and multi label text classification based on Spark large data platform. First, large scale text data sets and configuration information files are read, and a distributed data set RDD is created. The training data set and the prediction data set are cached in memory, and the initialization operation is completed. Secondly, in parallel random number required by the original label subset of the training set for each label subset to generate a new training set, once again, a plurality of new label training set by tag power set method to convert a single label, the data set into a single label multi class data sets. Parallel training set a base classifier for these data. Then, the prediction results of the single label and multi class prediction are transformed into multi label results. Finally, all the prediction results are aggregated and voted to obtain the final multi label prediction results of the test set. The invention improves the accuracy of classification and greatly reduces the learning time of dealing with large multi label data.
【技术实现步骤摘要】
基于Spark的并行化随机标签子集多标签文本分类方法
本专利技术涉及信息技术、云计算、数据挖掘、文本分类等领域,提供了一种基于Spark大数据平台的并行化随机标签子集多标签文本分类算法。
技术介绍
随着信息技术的发展,互联网数据规模呈海量增长,表现形式也不断丰富。文本作为重要的信息载体,其自动分类技术的发展能够提高对海量信息的处理效率,节约处理时间,方便用户的使用,近年来得到广泛的关注和快速的发展。传统有监督学习认为每个样本只具有一个标签,缺乏准确表述事物的复杂语义信息的能力。但是一个样本可能对应与之相关的多个标签,例如文本信息往往同时拥有多个语义,比如一个文本信息可能同时与计算机、机器学习、经济、社会效益等相关联。有效明确解释事物具有的多个语义的一个直接方法就是给一个事物标注多个标签,因此多标签学习(Multi-LabelLearning)也应运而生。在多标签学习中,每个样本可能包含一个或多个标签,被多个标签标注的样本能够更好的表现事物语义信息的多样性,也能够使其分类更具现实意义。随机标签子集多标签(ECC)算法是多标签分类算法的一种,其核心思想为将多标签学习问题转换为多个随机标签子集的学习过程。该算法考虑了标签之间的关联性并且加入了随机因素,在实际使用中分类效果很好。但由于训练阶段需要对于同一样本集进行多个随机标签子集进行多次训练,构建多个训练模型;预测阶段需要使用训练阶段构建的多个模型进行多次预测过程,因此时间复杂度和空间复杂度较高,随着数据量的增大,采用传统串行算法难以应对规模越来越大的数据集,出现运行时间过长,内存溢出等情况,不能满足工程需求。近 ...
【技术保护点】
一种基于Spark的并行化随机标签子集多标签文本分类方法,其特征在于,包括以下步骤:首先,从HDFS上获取来自互联网的大规模文本数据集和配置信息文件,所述大规模文本数据集包括训练数据集和预测数据集,通过Spark API提供的textFile方法将训练数据集、预测数据集、配置信息文件转换成Spark平台的分布式数据集RDD,完成初始化操作;其次,并行地随机生成规定数目的标签子集,由原始训练集为每一个标签子集生成一个新的训练集,该训练集特征为原始训练集的全部特征,新训练集中的标签仅保留对应标签子集中包含的标签;再次,对于每一个新生成的训练集,将训练集的多个标签通过标签幂集法转换为单个标签,将新生成的训练集转化为一个单标签多类数据集,并行地为这些数据集训练一个基分类器;然后,使用训练好的基分类器形成预测模型对测试集进行预测,将得到的单标签多类预测结果转化为多标签结果;最后,将所有预测结果进行汇总投票,得到测试集最终的多标签预测结果,完成文本分类。
【技术特征摘要】
1.一种基于Spark的并行化随机标签子集多标签文本分类方法,其特征在于,包括以下步骤:首先,从HDFS上获取来自互联网的大规模文本数据集和配置信息文件,所述大规模文本数据集包括训练数据集和预测数据集,通过SparkAPI提供的textFile方法将训练数据集、预测数据集、配置信息文件转换成Spark平台的分布式数据集RDD,完成初始化操作;其次,并行地随机生成规定数目的标签子集,由原始训练集为每一个标签子集生成一个新的训练集,该训练集特征为原始训练集的全部特征,新训练集中的标签仅保留对应标签子集中包含的标签;再次,对于每一个新生成的训练集,将训练集的多个标签通过标签幂集法转换为单个标签,将新生成的训练集转化为一个单标签多类数据集,并行地为这些数据集训练一个基分类器;然后,使用训练好的基分类器形成预测模型对测试集进行预测,将得到的单标签多类预测结果转化为多标签结果;最后,将所有预测结果进行汇总投票,得到测试集最终的多标签预测结果,完成文本分类。2.根据权利要求1所述的基于Spark的并行化随机标签子集多标签文本分类方法,其特征在于,所述转换成Spark平台的分布式数据集RDD的步骤包括:创建一个SparkContext对象,然后用它的textFile函数创建分布式数据集RDD,一旦创建完成,这个分布式数据集就可以被并行操作,算法最开始还需输入数据集的标签个数L、标签子集标签数n和和要生成的模型数m。3.根据权利要求2所述的基于Spark的并行化随机标签子集多标签文本分类方法,其特征在于,所述并行地随机生成规定数目的标签子集,由原始训练集为每一个标签子集生成一个新的训练集,包括步骤:(1)通过SparkContext对象的parallelize函数创建一个RDD,该RDD分区数为m,每个分区包含标签全集,通过RDD的map转化操作对每个分区的标签全集随机抽样,将标签全集转换为一个包含n个标签的随机标签子集,得到RDD1;(2)通过collect行动操作将训练集RDD变为一个本地集合,对RDD1进行map操作,使该RDD的每个分区包含一个随机标签子集和训练集全集的二元组,得到RDD2;(3)通过map操作对RDD2每个分区的训练集的标签进行过滤,只留下与之对应的标签子集中包含的标签,得到RDD3。4....
【专利技术属性】
技术研发人员:王进,王鸿,夏翠萍,范磊,欧阳卫华,陈乔松,雷大江,李智星,胡峰,邓欣,
申请(专利权)人:重庆邮电大学,
类型:发明
国别省市:重庆,50
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。