1.一种基于NB‑Bagging的短文本分类方法,其特征在于,包括如下步骤:
步骤1:对文本数据集预处理,将数据分为训练集G1和测试集H1,通过结巴分词方法对所述训练集G1和测试集H1进行分词处理,得到文本数据集G2和H2,对所述文本数据集G2和H2进行 Bunch类数据化处理,得到Bunch数据类型G2'和H2';
步骤1.1:定义Text为单类文本集,定义label、text、name分别为标签、单个文本和名称,并且满足Text={(label,text1, name1),(label,text2, name2),…,(label,textN, nameN)},texta为Text中第a个文本,namea为Text中第a个文本名称,其中,变量a∈[1,N];
步骤1.2:定义训练集和测试集分别为G1和H1,G1={Text1,Text2,…,TextA},H1={Text1,Text2,…,TextB};
步骤1.3:使用结巴分词方法对G1和H1处理,去掉结巴分词库里的常用词和符号,得到分词后的文本数据集G2和H2,G2={Text1,Text2,…,TextP},H2={Text1,Text2,…,TextQ};
步骤1.4: 定义target_name,labels,filenames,contents分别为数据集类别集合、文本标签集合、文本文件名字集合和文本内容集合,满足target_name={labels,filenames,contents};
步骤1.5:对G2和H2 Bunch类数据化处理,得到Bunch数据类型G2'和H2',G2'={target_name1,target_name2,…,target_nameA},H2'={target_name1,target_name2,…,target_nameB};
步骤2:通过词向量空间模型处理G2'中的文本内容,建立词向量空间V1,再映射到H2'中的文本内容,得到词向量空间V2;
步骤2.1:使用常用停用词表对G2'和H2'中的文本内容进行停用词过滤处理,得到过滤后的Bunch类数据集G2''和H2'';
步骤2.2:通过词向量空间模型建立G2''中文本内容的词向量空间V1,使用权重策略TF‑IDF对V1进行处理,得到训练集的二维权重矩阵T1,T1=[v1,v2,…,vm];
步骤2.3:将V1词向量空间映射到H2''文本内容上,得到测试集词向量空间V2,使用TF‑IDF权重策略处理V2,得到测试集的二维权重矩阵T2,T2=[v1,v2,…,vn];
步骤3:通过TF‑IDF权重策略处理词向量空间V1和V2,得到权重矩阵T1和T2,将T1矩阵中的权重值和其对应的标签输入用Bagging集成的朴素贝叶斯模型中训练,再输入T2矩阵中的权重值和其对应的标签进行测试,得到预测标签F;
步骤3.1:定义R1={r1,r2,…rh1,…,rn1},其中rh1={V1,G2''.labels},rh1表示单词文本向量集中第h个的权重值和标签,变量h∈(1,n);
步骤3.2:定义R2={r1,r2,…rk2,…,rj2},其中rk2={V2,H2''.labels},rk2表示单词文本向量集中第k个的权重值和标签,变量k∈(1,j);
步骤3.3:定义n_estimators=35,max_features=0.7,max_samples=0.7,其中n_estimators为模型集成的数量,max_features表示每次随机抽取特征的数量,max_samples表示每次随机抽取样本的数量;
步骤3.4:按指定参数抽取R1中的样本输入朴素贝叶斯分类器进行训练;
步骤3.5:按指定参数抽取R2的样本进行测试,得到预测标签F,满足F={forecast1,forecast2,…,forecasts…,forecastn_e},其中,forecasts={label1,label2,…,labeln_e},变量s∈(1,n_e);
步骤4:通过少数服从多数的投票方式处理预测标签F,得到最终短文本分类的结果。
2.根据权利要求1所述的基于NB‑Bagging的短文本分类方法,其特征在于,所述步骤4的具体方法为:步骤4.1:对预测标签F进行少数服从多数投票;
步骤4.2:预测分类多数的标签输出Forecast1;
步骤4.3:预测分类少数的标签输出Forecast2;
步骤4.4:得到最终短文本分类的结果。