0

我的主程序看起来像:

    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:初始化错误 [class org.cleartk.classifier.jar.DefaultSequenceDataWriterFactory] ​​字段“dataWriterClassName”是必需的

我试图用其他数据写入器替换 InstanceDataWriter,但它们不起作用。

4

1 回答 1

1

POS Annotator 使用序列数据编写器来编写示例。您从 DefaultDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME 设置 DataWriter 类名称参数。对于序列数据写入器,它应该是 DefaultSequenceDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME。序列意味着您在 cas(许多 POS 标签)中有多个标签,而“普通”分类器只为整个文档提供 1 个标签。

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

于 2013-05-31T08:40:24.843 回答