如何找到多個句子/段落/大段文字的彙總情緒。如何獲得多個句子的整體情緒
我有下面的代碼,我已經根據github斯坦福CoreNLP測試和各種例子,但一切我已經發現已完成情緒分析計算單個句子的情緒。但是,無論有多少句子,我都希望整體tweet的情緒。
我能想到的唯一的另一種方式是爲SentimentPipeline.main(String[])
創建一個單獨的線程,並將文本提供給stdin
並收集sdout
中的整體情緒。我寧願能夠使用我的代碼來使它更簡單/更高效,但我還沒有找到任何東西。
此外,我不想像大多數人那樣對一個jar進行系統調用,因爲我每天會做數百萬條推文。每次加載資源的開銷都會太大。
Annotation document = new Annotation(text);
pipeline.annotate(document);
List<CoreMap> sentences = document.get(SentencesAnnotation.class);
String output;
for (CoreMap sentence : sentences) {
// traversing the words in the current sentence a CoreLabel is a CoreMap with additional token-specific methods
output = "";
for (CoreLabel token : sentence.get(TokensAnnotation.class)) {
// this is the text of the token
String word = token.get(TextAnnotation.class);
// this is the Parts Of Speech tag of the token (noun, verb, adjective etc)
// String pos = token.get(PartOfSpeechAnnotation.class);
// this is the NER label of the token
String ne = token.get(NamedEntityTagAnnotation.class);
if (!ne.contentEquals("O")) {
output = output + (ne + " " + word + " ");
}
}
//**************Sentiment Analysis
Tree tree = sentence.get(SentimentCoreAnnotations.AnnotatedTree.class);
String sentiment = RNNCoreAnnotations.getPredictedClass(tree);
如果你在這裏找不到答案,也可以考慮發佈到官方的[java-nlp-user郵件列表](http://nlp.stanford.edu/software/corenlp.shtml#Mail),如果你沒有找到答案,已經。 –