我正在尝试来自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 "";
}发布于 2015-12-25 03:27:01
你得到的值是-1,因为你还没有运行任何情感分析。您只分析了句子的语法结构。
当然,您可以通过代码运行情绪分析器,但不幸的是,目前还没有一个简单的低级接口来做到这一点。这将是一件好事,可以在某个时候添加!实际上,您需要复制在类edu.stanford.nlp.pipeline.SentimentAnnotator中进行的处理
SentimentCostAndGradient类的forwardPropagateTreehttps://stackoverflow.com/questions/34421715
复制相似问题