a4c26d1e5885305701be709a3d33442f.png

主要数据结构:

参见common.h

Preprocess p(beginIndex,endIndex);//文本分类预处理类

DICTIONARY mymap;//词典

CONTINGENCY contigencyTable;//词汇类别共现关系词典

FeatureWeight mymapweight;//词汇及权重

DOCMATRIX_1 trainingSet;//训练集VSM模型

DOCMATRIX_1 testingSet;//测试集VSM模型

Preprocess类的主要工作函数

词典相关:

p.ConstructDictionary(mymap,seg,trainCorpusTable);

p.SaveDictionary(mymap,dictaddress);

p.LoadDictionary(mymap,dictaddress);

词典类别共现关系相关:

p.GetContingencyTable(mymap,labels,contigencyTable,trainCorpusTable);

p.SaveContingencyTable(contigencyTable,contigencyaddress);

p.LoadContingencyTable(contigencyTable,contigencyaddress);

特征词选择相关:

//

p.ChiSquareFeatureSelection(labels,mymap,mymapweight,contigencyTable,weightaddress);

p.ChiFitFeatureSelection(labels,mymap,mymapweight,contigencyTable,weightaddress);

p.InformationGainFeatureSelection(labels,mymap,mymapweight,contigencyTable,weightaddress);

p.PointWiseMIFeatureSelection(labels,mymap,mymapweight,contigencyTable,weightaddress);

建立VSM模型相关

(1)建立ARFF数据格式的测试集VSM模型

p.WriteHeadArff(testvsmaddress,keywordaddress,labels);

p.GetManyVSM(1,2676,testCorpusTable,mymap,testingSet,keywordaddress);

p.WriteDataBodyArff(testingSet,testCorpusTable,testvsmaddress,featuredimension[i]);

(2)建立ARFF数据格式的训练集VSM模型

p.WriteHeadArff(trainvsmaddress,keywordaddress,labels);

p.VSMConstruction(mymap,trainingSet,keywordaddress);

p.WriteDataBodyArff(trainingSet,trainCorpusTable,trainvsmaddress,featuredimension[i]);

注意事项:

i中英停用词表:分别是程序目录下的 stopwords.txt,

estopwords.txt。根据处理文本的不同,请手动定位MakeStopSet函数,对其所load的停用词表名称进行相应的修改。

ii程序的正确运行需要安装boost库,boost的安装方法请见:

iii关于文本分类的更详细的介绍流程请见:

程序的分词调用ICTCLAS,如果程序调用提示过期,请到ictclas官方网站下载更新。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐