package edu.stanford.nlp.simple; import java.util.NoSuchElementException; /** * An enum for the Simple CoreNLP API to represent a sentiment value. * * @author <a href="mailto:angeli@stanford.edu">Gabor Angeli</a> */ public enum SentimentClass { VERY_POSITIVE, POSITIVE, NEUTRAL, NEGATIVE, VERY_NEGATIVE, ; public boolean isPositive() { return this == VERY_POSITIVE || this == POSITIVE; } public boolean isNegative() { return this == VERY_NEGATIVE || this == NEGATIVE; } public boolean isExtreme() { return this == VERY_NEGATIVE || this == VERY_POSITIVE; } public boolean isMild() { return !isExtreme(); } public boolean isNeutral() { return this == NEUTRAL; } /** * Get the sentiment class from the Stanford Sentiment Treebank * integer encoding. That is, an integer between 0 and 4 (inclusive) * * @param sentiment The Integer representation of a sentiment. * * @return The sentiment class associated with that integer. */ public static SentimentClass fromInt(int sentiment) { switch (sentiment) { case 0: return VERY_NEGATIVE; case 1: return NEGATIVE; case 2: return NEUTRAL; case 3: return POSITIVE; case 4: return VERY_POSITIVE; default: throw new NoSuchElementException("No sentiment value for integer: " + sentiment); } } }