2016-04-26 14 views
0

GATEでテキスト分類を行うために、バッチラーニングPRを使用したいと思います。私はまずこのconfigure XMLを書いて、それが動作することができます。GATEマシン学習が機能しない

<?xml version="1.0"?> 
 
<ML-CONFIG> 
 
    <VERBOSITY level="1"/> 
 
    <SURROUND value="false"/> 
 
    <PARAMETER name="thresholdProbabilityClassification" 
 
\t  value="0.5"/> 
 
    <multiClassification2Binary method="one-vs-others"/> 
 
    <EVALUATION method="kfold" 
 
\t  runs="5" 
 
\t  ratio="0.66" /> 
 
    <ENGINE nickname="PAUM" 
 
\t implementationName="PAUM" 
 
\t options=" -p 50 -n 5 -optB 0.0 "/> 
 
    <DATASET> 
 
    <INSTANCE-TYPE>emotion</INSTANCE-TYPE> 
 
    
 
    <NGRAM> 
 
     <NAME>ngram</NAME> 
 
     <NUMBER>1</NUMBER> 
 
     <CONSNUM>4</CONSNUM> 
 
     
 
     <CONS-1> 
 
     <TYPE>Token</TYPE> 
 
     <FEATURE>string</FEATURE> 
 
     </CONS-1> 
 
\t 
 
\t <CONS-2> 
 
     <TYPE>word_bag</TYPE> 
 
     <FEATURE>feature</FEATURE> 
 
     </CONS-2> 
 
\t 
 
\t <CONS-3> 
 
     <TYPE>hashtag</TYPE> 
 
     <FEATURE>feature</FEATURE> 
 
     </CONS-3> 
 
\t 
 
\t <CONS-4> 
 
     <TYPE>Token</TYPE> 
 
     <FEATURE>category</FEATURE> 
 
     </CONS-4> 
 
    <WEIGHT>2</WEIGHT> 
 
    </NGRAM> 
 
    
 
    <ATTRIBUTE> 
 
     <NAME>Class</NAME> 
 
     <SEMTYPE>NOMINAL</SEMTYPE> 
 
     <TYPE>emotion</TYPE> 
 
     <FEATURE>feature</FEATURE> 
 
     <POSITION>0</POSITION> 
 
     <CLASS/> 
 
    </ATTRIBUTE> 
 
    
 
    </DATASET> 
 
</ML-CONFIG>

しかし、私はCONSの順序を変更すると、以下のように、それは動作しません。

<?xml version="1.0"?> 
 
<ML-CONFIG> 
 
    <VERBOSITY level="1"/> 
 
    <SURROUND value="false"/> 
 
    <PARAMETER name="thresholdProbabilityClassification" 
 
\t  value="0.5"/> 
 
    <multiClassification2Binary method="one-vs-others"/> 
 
    <EVALUATION method="kfold" 
 
\t  runs="5" 
 
\t  ratio="0.66" /> 
 
    <ENGINE nickname="PAUM" 
 
\t implementationName="PAUM" 
 
\t options=" -p 50 -n 5 -optB 0.0 "/> 
 
    <DATASET> 
 
    <INSTANCE-TYPE>emotion</INSTANCE-TYPE> 
 
    
 
    <NGRAM> 
 
     <NAME>ngram</NAME> 
 
     <NUMBER>1</NUMBER> 
 
     <CONSNUM>4</CONSNUM> 
 
     \t 
 
\t <CONS-1> 
 
     <TYPE>word_bag</TYPE> 
 
     <FEATURE>feature</FEATURE> 
 
     </CONS-1> 
 
\t 
 
\t <CONS-2> 
 
     <TYPE>hashtag</TYPE> 
 
     <FEATURE>feature</FEATURE> 
 
     </CONS-2> 
 
\t 
 
\t <CONS-3> 
 
     <TYPE>Token</TYPE> 
 
     <FEATURE>category</FEATURE> 
 
     </CONS-3> 
 
\t 
 
\t <CONS-4> 
 
     <TYPE>Token</TYPE> 
 
     <FEATURE>string</FEATURE> 
 
     </CONS-4> 
 

 

 
\t 
 
    <WEIGHT>2</WEIGHT> 
 
    </NGRAM> 
 
    
 
    <ATTRIBUTE> 
 
     <NAME>Class</NAME> 
 
     <SEMTYPE>NOMINAL</SEMTYPE> 
 
     <TYPE>emotion</TYPE> 
 
     <FEATURE>feature</FEATURE> 
 
     <POSITION>0</POSITION> 
 
     <CLASS/> 
 
    </ATTRIBUTE> 
 
    
 
    </DATASET> 
 
</ML-CONFIG>

しかし、最後の一つはGATEにロードすることができ、私はPRを学んでバッチを実行するたびに、次のエラー情報が行く:

java.langでは。 NullPointerException at gate.learning.NLPFeaturesOfDoc.writeNLPFeaturesToFile(NLPFeaturesOfDoc.java:818) at gate.learning.LightWeightLearningApi.annotations2NLPFeatures(LightWeightLearningApi.java:198)gate.learning.EvaluationBasedOnDocs.evaluation(EvaluationBasedOnDocs.java:118) でgate.learning.EvaluationBasedOnDocs.kfoldEval(EvaluationBasedOnDocs.java:197) でgate.learning.EvaluationBasedOnDocs.oneRun(EvaluationBasedOnDocs.java:388) ででgate.learning.LearningAPIMain.execute(LearningAPIMain.java:776) at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291) at gate.creole.ConditionalSerialController.runComponent(ConditionalSerialController.java:163) at gate。ゲートコントロールのコンストラクター。 nalSerialAnalyserController.java:132) at gate.util.Benchmark.executeWithBenchmarking(Benchmark.java:291) at gate.gui.SerialControllerEditor $ RunAction $ 1.run(SerialControllerEditor.java:1728) at java.lang.Thread.run (不明な情報源)

誰でもこの問題の考えがありますか?

ありがとうございます!

答えて

0

この問題の原因となったドキュメントが実際に構成XMLファイルで定義された機能を生成していることを確認することをお勧めします。私はあなたがトークンを使ったことを知っているので、その文書は空であると思う。

関連する問題