Tag: 情感分析

如何使用SentiWordNet获取String或形容词的语义方向

我正在做一个关于情绪分析的项目。 我需要字符串或形容词的语义方向,所以我建议使用Stackoverflow“如何使用SentiWordNet”的参考文章中的SentiWordNet_3.0.0。我运行了代码,但每次得到以下输出。 java.lang.ArrayIndexOutOfBoundsException: 2 at qtag.SWN3.(SWN3.java:29) at qtag.SWN3.main(SWN3.java:105) 0.0 我已经使用不同的字符串作为输入运行代码,但结果是相同的。 我已经删除了SentiWordNet_3.0.0_20130122.txt文件的第一部分或垃圾部分。我的代码有什么问题。我该怎么办呢? 请帮帮我。 谢谢。 这是我的代码: import java.io.BufferedReader; import java.io.FileReader; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import java.util.Vector; public class SWN3 { private String pathToSWN = “C:/Users/Monalisa/Desktop/SentiWordNet_3.0.0/home/swn/www/admin/dump/SentiWordNet_3.0.0_20130122.txt”; private HashMap_dict; public SWN3(){ _dict = new HashMap(); HashMap<String, Vector> _temp = new HashMap<String, Vector>(); try{ BufferedReader csv = new […]

使用Stanford CoreNLP进行懒惰解析,以获得特定句子的情感

我正在寻找优化斯坦福CoreNLP情绪管道性能的方法。 因此,想要得到句子的情感,但只有那些包含特定关键词作为输入的句子。 我尝试了两种方法: 方法1:StanfordCoreNLP管道用情绪注释整个文本 我已经定义了一个注释器管道:tokenize,ssplit,parse,sentiment。 我在整篇文章中运行它,然后在每个句子中查找关键字,如果它们存在,则运行返回关键字值的方法。 虽然处理需要几秒钟,但我并不满意。 这是代码: List keywords = …; String text = …; Map sentenceSentiment = new HashMap(); Properties props = new Properties(); props.setProperty(“annotators”, “tokenize, ssplit, parse, sentiment”); props.setProperty(“parse.maxlen”, “20”); props.setProperty(“tokenize.options”, “untokenizable=noneDelete”); StanfordCoreNLP pipeline = new StanfordCoreNLP(props); Annotation annotation = pipeline.process(text); // takes 2 seconds!!!! List sentences = annotation.get(CoreAnnotations.SentencesAnnotation.class); for (int i=0; […]