class ChatCorrect::MistakeAnalyzer

Attributes

corrected[R]
original[R]

Public Class Methods

new(original:, corrected:) click to toggle source
# File lib/chat_correct/mistake_analyzer.rb, line 4
def initialize(original:, corrected:)
  @original = original
  @corrected = corrected
end

Public Instance Methods

capitalization_mistake?() click to toggle source
# File lib/chat_correct/mistake_analyzer.rb, line 20
def capitalization_mistake?
  ChatCorrect::Capitalization.new(token_a: corrected['token'], token_b: original['token']).capitalization_error?
end
no_mistake?() click to toggle source
# File lib/chat_correct/mistake_analyzer.rb, line 9
def no_mistake?
  original['token'].eql?(corrected['token'])
end
punctuation_mistake?() click to toggle source
# File lib/chat_correct/mistake_analyzer.rb, line 24
def punctuation_mistake?
  (corrected['punctuation'] && original['punctuation']) ||
  (ChatCorrect::Spelling.new(token_a: corrected['token'], token_b: original['token']).spelling_error? &&
  ChatCorrect::PunctuationMasqueradingAsSpellingError.new(token_a: corrected['token'], token_b: original['token']).exists? &&
  !ChatCorrect::Possessive.new(token_a: original['token'], token_b: corrected['token']).possessive?)
end
spelling_mistake?() click to toggle source
# File lib/chat_correct/mistake_analyzer.rb, line 35
def spelling_mistake?
  ChatCorrect::Spelling.new(token_a: corrected['token'], token_b: original['token']).spelling_error? &&
  !ChatCorrect::PunctuationMasqueradingAsSpellingError.new(token_a: corrected['token'], token_b: original['token']).exists?
end
unnecessary_word_missing_punctuation_mistake?() click to toggle source
# File lib/chat_correct/mistake_analyzer.rb, line 31
def unnecessary_word_missing_punctuation_mistake?
  corrected['punctuation'] && !original['punctuation']
end
verb_mistake?() click to toggle source
# File lib/chat_correct/mistake_analyzer.rb, line 13
def verb_mistake?
  ChatCorrect::CommonVerbMistake.new(token_a: corrected['token'], token_b: original['token']).exists? ||
  original['multiple_words'] ||
  corrected['multiple_words'] ||
  ChatCorrect::Verb.new(word: original['token'], pos: corrected['pos_tag'], text: corrected['token']).verb_error?
end