6
Próbuję wdrożyć analizator sentencji coreNLP w czasie zaćmienia. Otrzymanie błędu:Stanford CoreNLP sentiment
Unable to resolve "edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz"
Jako ścieżkę klasy, nazwę pliku lub adres URL. Zainstalowałem wszystkie pliki NLP używając programu maven, więc nie jestem pewien, dlaczego szuka czegoś innego. Oto kod, na który dostaję błąd.
import java.util.Properties;
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 StanfordSentiment {
StanfordCoreNLP pipeline;
public StanfordSentiment(){
Properties props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, parse, sentiment");
pipeline = new StanfordCoreNLP(props);
}
public float calculateSentiment (String text) {
float mainSentiment = 0;
int longest = 0;
Annotation annotation = pipeline.process(text);
for (CoreMap sentence : annotation.get(CoreAnnotations.SentencesAnnotation.class)) {
Tree tree = sentence.get(SentimentCoreAnnotations.AnnotatedTree.class);
int sentiment = RNNCoreAnnotations.getPredictedClass(tree) - 2;
String partText = sentence.toString();
if (partText.length() > longest) {
mainSentiment = sentiment;
longest = partText.length();
}
}
return mainSentiment;
}
}
Okazuje się, że muszę dodać Stanford-corenlp-3.3.1-models.jar na buildpath i to działało. –