class VaderSentimentRuby::Checker::LeastWordNegationChecker
Checks for negation case using “least”
Public Class Methods
new(valence, words_and_emoticons, index, lexicon)
click to toggle source
# File lib/vader_sentiment_ruby/checker/least_word_negation_checker.rb, line 7 def initialize(valence, words_and_emoticons, index, lexicon) @valence = valence @words_and_emoticons = words_and_emoticons @index = index @lexicon = lexicon end
Public Instance Methods
call()
click to toggle source
# File lib/vader_sentiment_ruby/checker/least_word_negation_checker.rb, line 14 def call valence = @valence return valence unless !word_in_lexicon?(@index - 1) && word_is?(@index - 1, 'least') if @index > 1 valence *= Constants::N_SCALAR if !word_is?(@index - 2, 'at') && !word_is?(@index - 2, 'very') elsif @index.positive? valence *= Constants::N_SCALAR end valence end
Private Instance Methods
word_in_lexicon?(index)
click to toggle source
# File lib/vader_sentiment_ruby/checker/least_word_negation_checker.rb, line 29 def word_in_lexicon?(index) @lexicon.keys.include?(@words_and_emoticons[index].downcase) end
word_is?(index, word)
click to toggle source
# File lib/vader_sentiment_ruby/checker/least_word_negation_checker.rb, line 33 def word_is?(index, word) @words_and_emoticons[index].downcase == word end