这可能不是这个社区非常相关的问题 . 但我认为这会让我接触更广泛的计算机科学界并获得帮助 .
我使用的是Standford Core NLP软件包,更具体地说是它的Sentiment module . 我使用以下命令获得句子级别的情绪 .
java -cp stanford-corenlp-3.4.jar:stanford-corenlp-3.4-models.jar:xom.jar:joda-time.jar:jollyday.jar:ejml-0.23.jar -mx2g edu.stanford.nlp.sentiment.SentimentPipeline -stdin < input.txt
但我需要短语级别的情绪,就像我们在_1485938中看到的那样 . 我无法弄清楚如何 .
编辑:
在查看源代码之后,我想通过向上述命令添加另一个参数,可以获得句子的解析树表示的每个节点的情感分数 . 然而,这只给出了数字情绪分数,而不是正面/负面情绪 . 但我认为将这一分数转化为二元正面/负面情绪是相当微不足道的 . 命令是:
java -cp stanford-corenlp-3.4.jar:stanford-corenlp-3.4-models.jar:xom.jar:joda-time.jar:jollyday.jar:ejml-0.23.jar -mx2g edu.stanford.nlp.sentiment.SentimentPipeline -stdin -output PENNTREES < input.txt
1 回答
您可以使用BuildBinarizedDataset(stanford-corenlp 3.4)作为示例,如何使用情感注释将句子解析为PTB树 . 实时BuildBinarizedDataset接受如下输入:
第一行是句子,第二行是句子的情绪,但是这用于训练模型以产生情感注释的PTB树而不是给出单独的短语的值 .
但是,如果您只提供句子,它将生成一个具有整体句子情绪值的树:
可能您可以修改BuildBinarizedDataset的代码,而不是使用Sentiment Annotation Pipeline将定义值中的标签分配给评估 .
希望这能指向正确的方向 . 如果你弄明白该怎么做,请分享 .