GATE ML 信息提取过程无法生成正确的类级别
Posted
技术标签:
【中文标题】GATE ML 信息提取过程无法生成正确的类级别【英文标题】:GATE ML Information Extraction process fail to produce proper class-level 【发布时间】:2013-04-03 04:45:08 【问题描述】:我正在尝试学习机器学习。在信息提取的情况下,保存文件会正确填充数据。但是 NLPFeaturesData.save 文件中的 Number of class level 为 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);
【问题讨论】:
我的问题是否清楚。让我知道是否需要任何疑虑或更多细节。但会请求所有 GATE 专家帮助我。 【参考方案1】:我终于解决了这个问题。我在 gate.learning.LearningAPIMain 实例中添加了以下 AnnotationSet。
learner.setInputASName("Key"); learner.setOutputASName("Key");
现在我保存的文件正在以正确的格式生成。
【讨论】:
以上是关于GATE ML 信息提取过程无法生成正确的类级别的主要内容,如果未能解决你的问题,请参考以下文章
Spark ML 错误:编号不正确。使用线性 SVC 时检测到的类