0

我正在尝试学习机器学习。在信息提取的情况下,保存文件会正确填充数据。但是NLPFeaturesData.save文件中的类级别数为 0并且日志听起来也像

93 #numTrainingDocs
0 #numClasses
53738 #numNullLabelInstances
9006940 #totalFeatures
C:\...\learnedModels.save #modelFile
SVMLibSvmJava #learnerName
null #learnerExecutable
-c 0.7 -t 0 -m 100 -tau 0.4 #learnerParams

我已经运行了以下代码库。但是生成的“NLPFeatureData.save”文件的所有类级别都是0。有人可以帮我在机器学习中出错的地方。

try{
// *****************  load Gate & it's plugin [ Load learning] ***********************************
System.setProperty("gate.home", "C:\\Program Files\\GATE_Developer_7.1"); 
 Gate.init();
 Gate.getCreoleRegister().registerDirectories(new File(Gate.getPluginsHome(), ANNIEConstants.PLUGIN_DIR).toURI().toURL());
 Gate.getCreoleRegister().registerDirectories(new URL(FILE_WORK_PATH+"/plugins/Learning"));

// ****************** Instantiate corpus and load training documents *****************************  
    gate.Corpus corpus = (Corpus) Factory.createResource("gate.corpora.CorpusImpl");
    FileFilter fileFilter = new FileFilter() {
public boolean accept(File pathname) {
// TODO Auto-generated method stub
return true;
}
};
corpus.populate(new URL(".../corpus"),fileFilter,"UTF-8",false);
Gate.getCreoleRegister().registerDirectories();
//Make a pipeline and add the corpus 
FeatureMap pfm = Factory.newFeatureMap(); 
pfm.put("corpus", corpus); 
pipeline = (gate.creole.SerialAnalyserController)gate.Factory.createResource("gate.creole.SerialAnalyserController", pfm); 
 initAnnie();

//*********************************  Configure with relations config file and learning api 
File configFile = new File("../learning-config.xml"); //Wherever it is 
RunMode mode = RunMode.TRAINING; //or TRAINING, or APPLICATION .. 
FeatureMap fm = Factory.newFeatureMap(); 
fm.put("configFileURL", configFile.toURI().toURL()); 
fm.put("learningMode", mode); 
gate.learning.LearningAPIMain learner = (gate.learning.LearningAPIMain)gate.Factory.createResource("gate.learning.LearningAPIMain", fm);
pipeline.add(learner); 
pipeline.execute();
}catch(Exception e){
e.printStackTrace();
}
}
private static void initAnnie() throws GateException {
       for(int i = 0; i < ANNIEConstants.PR_NAMES.length; i++) {
         FeatureMap params = Factory.newFeatureMap(); // use default parameters
         ProcessingResource pr = (ProcessingResource)
           Factory.createResource(ANNIEConstants.PR_NAMES[i], params);
         pipeline.add(pr);
       }
}     
4

1 回答 1

0

最后我解决了这个问题。我添加了以下带有gate.learning.LearningAPIMain实例的AnnotationSet 。

learner.setInputASName("Key"); learner.setOutputASName("Key");

现在我保存的文件正在以正确的格式生成。

于 2013-04-09T06:52:59.777 回答