Bonjour,
j'utilise GATE (General Architecture for Text Engineering). Je veux créer un pipeline qui contient les 5 premiers composants de ANNIE puis Le Morphological Analyser puis d'autre composants.
J'ai télécharger le plugin ANNIE
J'ai créé mon pipeline
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // Load ANNIE plugin File gateHome = Gate.getGateHome(); File pluginsHome = new File(gateHome, "plugins"); Gate.getCreoleRegister().registerDirectories(new File(pluginsHome, "ANNIE").toURL());
Puis je lui ai ajouté les 5 composants de ANNIE
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SerialAnalyserController pipeline = (SerialAnalyserController) Factory .createResource("gate.creole.SerialAnalyserController", Factory.newFeatureMap(), Factory.newFeatureMap());
J'ai créé mon corpus et lui ai ajouté mes documents:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 for(int i = 0; i < ANNIEConstants.PR_NAMES.length-2; i++) { FeatureMap params = Factory.newFeatureMap(); // use default parameters ProcessingResource pr = (ProcessingResource) Factory.createResource(ANNIEConstants.PR_NAMES[i], params); //Out.prln("processing ressource:"+i+"was created"); // add the PR to the pipeline controller pipeline.add(pr); // Out.prln("processing ressource:"+i+"was added"); } // for each ANNIE PR
enfin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 // create a GATE corpus and add a document for each command-line // argument Corpus corpus = (Corpus) Factory.createResource("gate.corpora.CorpusImpl"); for(int i = 0; i < args.length; i++) { System.out.print("\t " + (i + 1) + ") " + args[i]); File docFile = new File(args[i]); System.out.print("Processing document " + docFile + "..."); Document doc = Factory.newDocument(docFile.toURL(), encoding); corpus.add(doc); } // for each of args
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 // tell the pipeline about the corpus and run it corpus_pipeline.setCorpus(corpus); corpus_pipeline.execute();
Mais une erreur qui, je pense, provient de l’instanciation du pipeline survient:
sachant que si j'utilise"Initialising GATE...
Initialising Pipeline...
1) Business.txtProcessing document Business.txt...Exception in thread "main" java.lang.NullPointerException
at pipeline.PretreatmentStep.setCorpus(PretreatmentStep.java:54)
at pipeline.PretreatmentStep.main(PretreatmentStep.java:110)
au lieu de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 pipeline = (SerialAnalyserController) Factory.createResource( "gate.creole.SerialAnalyserController", Factory.newFeatureMap(), Factory.newFeatureMap(), "ANNIE_" + Gate.genSym());
l'erreur n'apparait pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SerialAnalyserController pipeline = (SerialAnalyserController) Factory .createResource("gate.creole.SerialAnalyserController", Factory.newFeatureMap(), Factory.newFeatureMap());
Mais dans mon cas je veux créer un corpus_pipeline qui contient les composants de ANNIE et d'autre composants provenant d'autre plug-ins.
Pouvez vous m'aidez à régler le problème?
Merci d'avance







Répondre avec citation
Partager