2016-04-23 11 views
0

スタンフォードコアNLPを使用してライブツイートの感傷的なスコアを取得しようとしています。現在、私はリアルタイムのつぶやきを取得しています。しかし、スタンフォード・コアのNLPプログラムにフィードしたときにエラーが発生します。SentimentCoreAnnotations.AnnotatedTreeはタイプに解決できません

import edu.stanford.nlp.ling.CoreAnnotations; 
import edu.stanford.nlp.neural.rnn.RNNCoreAnnotations; 
import edu.stanford.nlp.pipeline.Annotation; 
import edu.stanford.nlp.pipeline.StanfordCoreNLP; 
import edu.stanford.nlp.sentiment.SentimentCoreAnnotations; 
import edu.stanford.nlp.trees.Tree; 
import edu.stanford.nlp.util.CoreMap; 

public class NLP { 
    static StanfordCoreNLP pipeline; 

    public static void init() { 
     pipeline = new StanfordCoreNLP("MyPropFile.properties"); 
    } 

    public static int findSentiment(String tweet) { 

     int mainSentiment = 0; 
     if (tweet != null && tweet.length() > 0) { 
      int longest = 0; 
      Annotation annotation = pipeline.process(tweet); 
      for (CoreMap sentence : annotation 
        .get(CoreAnnotations.SentencesAnnotation.class)) { 
       Tree tree = sentence 
         .get(SentimentCoreAnnotations.AnnotatedTree.class); 
       int sentiment = RNNCoreAnnotations.getPredictedClass(tree); 
       String partText = sentence.toString(); 
       if (partText.length() > longest) { 
        mainSentiment = sentiment; 
        longest = partText.length(); 
       } 

      } 
     } 
     return mainSentiment; 
    } 
} 

私は、このinit()およびfindSentiment()関数をNLPクラスの外部から呼び出しています。

NLP.init(); 
System.out.println(status.getText() + " : " + NLP.findSentiment(status.getText())); 

私のエラーは次のとおりです。SentimentCoreAnnotations.AnnotatedTreeはタイプ

答えて

3

に解決することはできません

Tree tree = sentence.get(SentimentCoreAnnotations.SentimentAnnotatedTree.class); 

Tree tree = sentence.get(SentimentCoreAnnotations.AnnotatedTree.class); 

を変更してみてください