最近因项目需要,对文本做情感分析,由于文本分词后词向量比较大,不自觉地研究了一下文本特征提取的方法,一不小心实现了两种方法:卡方检验和信息增益提取文本特征。源码已经上传到Git,欢迎大家移步Git,给提点意见。
Git:https://github.com/JFanZhao/feature_extraction
基使用方法:
//创建特征提取对象,可以使用卡方校验或者信息增益两种方法
IFeatureExtraction featureExtraction = new CHIFeatureExtractionImpl();
//IFeatureExtraction featureExtraction = new IGFeatureExtractionImpl();
//构造样本集 map的key是样本的标签,value 是对应的每个类别下的样本分词结果
Map<String,List<List<String>>> datas = new HashMap<String, List<List<String>>>();
//调用特征提取方法 第二个参数特征的个数,也可以不写,默认是300
List<String> features = featureExtraction.featureExtraction(datas, 500);
另外,算法的原理主要参考一下两个博文,特别感谢两位博主的无私奉献。