我正在尝试URL中问题11中提到的代码。
我想首先给出POS标记输入,然后第二次获得情绪分析。第一个我能够成功完成。我能打印树,它看起来很好。但是第二个返回给我-1
(它应该返回给我4=very positive
)。
请提供意见/建议。
public static String test(){
try{
String grammer="/Users/lenin/jar/stanfordparser-master/stanford-parser/models/englishPCFG.ser.gz";
// set up grammar and options as appropriate
LexicalizedParser lp = LexicalizedParser.loadModel(grammer);
String[] sent3 = { "movie", "was","very", "good","." };
// Parser gets tag of second "can" wrong without help
String[] tag3 = { "PRP", "VBD", "RB", "JJ","." };
List sentence3 = new ArrayList();
for (int i = 0; i < sent3.length; i++) {
sentence3.add(new TaggedWord(sent3[i], tag3[i]));
}
Tree parse = lp.parse(sentence3);
parse.pennPrint();
int sentiment_score = RNNCoreAnnotations.getPredictedClass(parse);
System.out.println("score: "+sentiment_score);
}
catch(Exception e){
e.printStackTrace();
}
return "";
}
答案 0 :(得分:0)
您获得的值为-1,因为您尚未运行任何情绪分析。你只是为语法结构解析了句子。
当然,您可以通过代码运行情绪分析器,但不幸的是,目前还没有一个简单的低级别界面。添加一段时间是件好事!您基本上需要复制类edu.stanford.nlp.pipeline.SentimentAnnotator
中发生的处理:
SentimentCostAndGradient
课程forwardPropagateTree