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 时检测到的类

Laravel 8 Gate 基于数据库工匠迁移错误中的级别

NLP & ML 文本提取

ML 模型无法正确预测

开发过程中无法生成 MASReipt

ML Pipelines