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: 初期化中のエラー [クラス org.cleartk.classifier.jar.DefaultSequenceDataWriterFactory] ​​フィールド 'dataWriterClassName' が必要です

InstanceDataWriter を他のデータ ライターに置き換えようとしましたが、機能しません。

4

1 に答える 1

1

POS Annotator は、Sequence Data Writer を使用して例を記述します。DefaultDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME から DataWriter クラス名パラメーターを設定します。シーケンス データ ライターの場合は、DefaultSequenceDataWriterFactory.PARAM_DATA_WRITER_CLASS_NAME である必要があります。シーケンスとは、文書全体に対して 1 つのラベルのみを与える「通常の」分類子とは対照的に、cas (多くの POS タグ) に複数のラベルがあることを意味します。

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 に答える