2013-01-21 20 views
0

我的主要程序看起來像:Cleartk:錯誤初始化[類org.cleartk.classifier.jar.DefaultSequenceDataWriterFactory]字段 'dataWriterClassName' 需要

public static void main(String args[]) throws UIMAException, IOException{ 
    //TypeSystemDescription tsd = TypeSystemDescriptionFactory.createTypeSystemDescription(Question.class); 

    AggregateBuilder builder = new AggregateBuilder(); 
    //builder.add(SentenceAnnotator.getDescription()); 
    builder.add(AnalysisEngineFactory.createPrimitiveDescription(POSAnnotator1.class, 
      ExampleComponents.TYPE_SYSTEM_DESCRIPTION, 
      GenericJarClassifierFactory.PARAM_CLASSIFIER_JAR_PATH, outputDirectory + File.separator + "model.jar", 
      CleartkAnnotator.PARAM_IS_TRAINING, true, 
      DefaultDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME, InstanceDataWriter.class.getName(), 
      DirectoryDataWriterFactory.PARAM_OUTPUT_DIRECTORY, new File(outputDirectory))); 

    JCas jcas = JCasFactory.createJCas(); 
    jcas.setDocumentText(testData); 

    SimplePipeline.runPipeline(jcas, builder.createAggregateDescription()); 

} 

任何人都可以解釋這個錯誤?

引起:java.lang.IllegalArgumentException異常:錯誤初始化[類org.cleartk.classifier.jar.DefaultSequenceDataWriterFactory] ​​ 字段 'dataWriterClassName' 需要

我試圖與其他取代InstanceDataWriter數據編寫者,但他們不工作。

回答

1

POS Annotator使用序列數據編寫器來編寫示例。您從DefaultDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME設置DataWriter類名稱參數。對於序列數據編寫器,它應該是DefaultSequenceDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME。序列意味着您在一個CAS中有多個標籤(多個POS標籤),而「正常」分類器只給出整個文檔的一個標籤。

http://cleartk.googlecode.com/svn-history/r4142/tags/cleartk-release-1.2.0/apidocs/org/cleartk/classifier/jar/DefaultSequenceDataWriterFactory.html