2016-03-20 4 views
1

Ich bin neu in GATE und ich verwende es, um das maschinelle Lernen durchzuführen. Die configure-Datei für Dosiersysteme Learning PR ist die folgende:GATE java.lang.NullPointerException?

<?xml version="1.0"?> 
 

 
-<ML-CONFIG> 
 

 
<VERBOSITY level="1"/> 
 

 
<SURROUND value="false"/> 
 

 
<PARAMETER value="0.5" name="thresholdProbabilityClassification"/> 
 

 
<multiClassification2Binary method="one-vs-others"/> 
 

 
<EVALUATION method="kfold" ratio="0.66" runs="5"/> 
 

 
<ENGINE options=" -p 50 -n 5 -optB 0.0 " implementationName="PAUM" nickname="PAUM"/> 
 

 

 
-<DATASET> 
 

 
<INSTANCE-TYPE>attitude</INSTANCE-TYPE> 
 

 

 
-<NGRAM> 
 

 
<NAME>ngram</NAME> 
 

 
<NUMBER>1</NUMBER> 
 

 
<CONSNUM>1</CONSNUM> 
 

 

 
-<CONS-1> 
 

 
<TYPE>Token</TYPE> 
 

 
<FEATURE>root</FEATURE> 
 

 
</CONS-1> 
 

 
<!-- <CONS-2> <TYPE>Token</TYPE> <FEATURE>orth</FEATURE> </CONS-2> --> 
 

 

 
</NGRAM> 
 

 

 
-<ATTRIBUTE> 
 

 
<NAME>Class</NAME> 
 

 
<SEMTYPE>NOMINAL</SEMTYPE> 
 

 
<TYPE>attitude</TYPE> 
 

 
<FEATURE>feature</FEATURE> 
 

 
<POSITION>0</POSITION> 
 

 
<CLASS/> 
 

 
</ATTRIBUTE> 
 

 
</DATASET> 
 

 
</ML-CONFIG>

Die Anmerkung ich das Programm erfahren möchten, ist die Haltung "genannt, mit Feature 'Feature' genannt. Der Wert des Features ist nur positiv und negativ.

jedoch jedes Mal, wenn ich die Batch-Learning PR (Trainning-Modus) ausführen, wird es einen Fehler wie folgt sein:

java.lang.NullPointerException 
at gate.learning.NLPFeaturesOfDoc.writeNLPFeaturesToFile(NLPFeaturesOfDoc.java:818) 
at gate.learning.LightWeightLearningApi.annotations2NLPFeatures(LightWeightLearningApi.java:198) 
at gate.learning.LearningAPIMain.execute(LearningAPIMain.java:594) 
at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291) 
at gate.creole.SerialController.runComponent(SerialController.java:225) 
at gate.creole.SerialController.executeImpl(SerialController.java:157) 
at gate.creole.SerialAnalyserController.executeImpl(SerialAnalyserController.java:223) 
at gate.creole.SerialAnalyserController.execute(SerialAnalyserController.java:126) 
at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291) 
at gate.gui.SerialControllerEditor$RunAction$1.run(SerialControllerEditor.java:1728) 
at java.lang.Thread.run(Unknown Source) 

Da ich nicht in der Mitte innerhalb GATE debuggen können, kann ich nicht verstehe, was mit dem Code nicht stimmt.

Konnte jemand helfen?

Danke!

Antwort

0

Ich würde Ihnen empfehlen, die Datei zu überprüfen, bei der der Trainingsprozess fehlgeschlagen ist. Es kann vorkommen, dass von GATE keine Features erzeugt wurden (zum Beispiel ist der Dokumentinhalt leer und so).