- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的 ubuntu 实例上设置了 CoreNLP 服务器,它工作正常。我对 Sentiment 模块更感兴趣,目前我得到的是
{
sentimentValue: "2",
sentiment: "Neutral"
}
我需要的是分数分布值,如您所见:http://nlp.stanford.edu:8080/sentiment/rntnDemo.html
"scoreDistr": [0.1685, 0.7187, 0.0903, 0.0157, 0.0068]
我缺少什么或如何获得此类数据?
谢谢
最佳答案
您需要通过 SentimentCoreAnnotations.SentimentAnnotatedTree.class
从注释句子中获取树对象。然后,您可以通过 RNNCoreAnnotations
类获取预测结果。我在下面编写了以下独立的演示代码,展示了如何获取 CoreNLP 情绪预测的每个标签的分数。
import java.util.Arrays;
import java.util.List;
import java.util.Properties;
import org.ejml.simple.SimpleMatrix;
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 DemoSentiment {
public static void main(String[] args) {
final List<String> texts = Arrays.asList("I am happy.", "This is a neutral sentence.", "I am very angry.");
final Properties props = new Properties();
props.setProperty("annotators", "tokenize, ssplit, parse, sentiment");
final StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
for (String text : texts) {
final Annotation doc = new Annotation(text);
pipeline.annotate(doc);
for (CoreMap sentence : doc.get(CoreAnnotations.SentencesAnnotation.class)) {
final Tree tree = sentence.get(SentimentCoreAnnotations.SentimentAnnotatedTree.class);
final SimpleMatrix sm = RNNCoreAnnotations.getPredictions(tree);
final String sentiment = sentence.get(SentimentCoreAnnotations.SentimentClass.class);
System.out.println("sentence: "+sentence);
System.out.println("sentiment: "+sentiment);
System.out.println("matrix: "+sm);
}
}
}
}
输出将类似于以下内容(一些浮点舍入错误或更新的模型可能会更改分数)。
对于第一句话I am happy.
,您可以看到情绪是Positive
,并且返回矩阵中的最大值是0.618
,在第四个位置,当将矩阵解释为有序列表时。
第二句 This is a neutral sentence.
在中间的分数最高,为 0.952
,因此是 Neutral
情绪。
最后一句相应地具有负面
情绪,其最高分0.652
位居第二。
sentence: I am happy.
sentiment: Positive
matrix: Type = dense , numRows = 5 , numCols = 1
0.016
0.037
0.132
0.618
0.196
sentence: This is a neutral sentence.
sentiment: Neutral
matrix: Type = dense , numRows = 5 , numCols = 1
0.001
0.007
0.952
0.039
0.001
sentence: I am very angry.
sentiment: Negative
matrix: Type = dense , numRows = 5 , numCols = 1
0.166
0.652
0.142
0.028
0.012
关于stanford-nlp - 如何获取 CoreNLP Sentiment 的分数分布值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38881641/
网站corenlp.run这应该是 CoreNLP 的演示站点,它显示了与我在本地机器上运行 CoreNLP 管道时完全不同的结果。 该网站实际上显示了正确的结果,而本地机器版本则没有。我想知道是否有
我不明白如何从我的 Java 应用程序加载 CoreNLP 的 Shift-Reduce Constituency Parser (SRCP)。 我正在使用 Apache Maven 来管理我的项目的
我正在尝试部署 stanford-corenlp-3.2.0-models.jar 但我的主机说 jar 太大? 如果我只是想使用 POS,我可以使用什么 jar 来代替。 或者我怎样才能分割 jar
当我启动CoreNLP Server时在 Linux 上: java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -po
从 https://github.com/stanfordnlp/CoreNLP 下载 CoreNLP 。当我运行时 $ java -mx4g src.edu.stanford.nlp.parser.
我正在尝试使用 Stanford CoreNLP。我使用了网络上的一些代码来了解 coreference 工具的运行情况。我尝试在 Eclipse 中运行该项目,但一直遇到内存不足异常。我尝试增加堆大
我正在使用斯坦福 coreNLP ( http://nlp.stanford.edu/software/corenlp.shtml ) 来解析句子并提取单词之间的依赖关系。 我已经设法像提供的链接中的
我正在尝试使用 Stanford coreNLP 将句子拆分为单词。我对包含撇号的单词有疑问。 例如,句子:我今年 24 岁。 像这样拆分:[我]['][24][岁][老] 是否可以使用 Stanfo
我想使用斯坦福 CoreNLP(或其他工具)提取两个实体之间的完整关系。 例如: Windows is more popular than Linux. This tool requires Java
stanford-corenlp 中的默认线程数是多少?具体来说,命名实体提取器,然后是信息提取器。另外,我希望两者都使用单个线程进行调试,我该如何设置? 谢谢! 最佳答案 默认为 1 个线程。 有两
我试图让斯坦福 CoreNLP 作为服务器正常运行(尽管问题可能会影响非服务器使用),但不断收到此错误: "ERROR CoreNLP - Failure to load language speci
在从斯坦福 CoreNLP 网站构建示例应用程序时,我遇到了一个奇怪的异常: Exception in thread "main" java.lang.RuntimeException: edu.st
我已经在 Eclipse 中设置了一个 Maven 项目。 他们只是一个类,src/main/java/App.java 包 com.nlptools.corenlp; import java.uti
我正在使用 CoreNlp 从大文本中提取信息。然而,它使用“三重”方法,其中单个句子产生许多输出,这很好,但有些句子没有意义。我试图通过运行另一个无监督 NLP 并尝试利用 CoreNlp 中的函数
我的代码开头有以下内容: import twitter4j.*; import java.util.List; import java.util.Properties; import ja
我正在尝试按照http://nlp.stanford.edu/downloads/corenlp.shtml中的说明在Stanford CoreNLP中添加一个新的注释器。 “添加新注释器Stanfo
我刚开始使用 Java 编写的程序,并且在让斯坦福CoreNLP 做它应该做的事情时遇到了很多麻烦。我将程序解压到它自己的目录中,并向其中添加了程序应该处理的 XML 文件。我用来在命令行中处理文件的
我正在尝试使用斯坦福 CoreNLP 关系提取器 ( http://nlp.stanford.edu/software/relationExtractor.shtml )。 我已经安装了 CoreNL
我在使用斯坦福大学的句子注释器时遇到了问题。作为输入,我得到了文本,其中包含句子,但其中某些部分的点后没有空格。像这样: Dog loves cat.Cat loves mouse. Mouse ha
我正在研究以下问题:我想使用 Stanford CoreNLP 将句子拆分为子句。例句可以是: "Richard is working with CoreNLP, but does not reall
我是一名优秀的程序员,十分优秀!