Class: ChatCorrect::MistakeAnalyzer
- Inherits:
-
Object
- Object
- ChatCorrect::MistakeAnalyzer
- Defined in:
- lib/chat_correct/mistake_analyzer.rb
Instance Attribute Summary collapse
-
#corrected ⇒ Object
readonly
Returns the value of attribute corrected.
-
#original ⇒ Object
readonly
Returns the value of attribute original.
Instance Method Summary collapse
- #capitalization_mistake? ⇒ Boolean
-
#initialize(original:, corrected:) ⇒ MistakeAnalyzer
constructor
A new instance of MistakeAnalyzer.
- #no_mistake? ⇒ Boolean
- #punctuation_mistake? ⇒ Boolean
- #spelling_mistake? ⇒ Boolean
- #unnecessary_word_missing_punctuation_mistake? ⇒ Boolean
- #verb_mistake? ⇒ Boolean
Constructor Details
#initialize(original:, corrected:) ⇒ MistakeAnalyzer
Returns a new instance of MistakeAnalyzer.
4 5 6 7 |
# File 'lib/chat_correct/mistake_analyzer.rb', line 4 def initialize(original:, corrected:) @original = original @corrected = corrected end |
Instance Attribute Details
#corrected ⇒ Object (readonly)
Returns the value of attribute corrected.
3 4 5 |
# File 'lib/chat_correct/mistake_analyzer.rb', line 3 def corrected @corrected end |
#original ⇒ Object (readonly)
Returns the value of attribute original.
3 4 5 |
# File 'lib/chat_correct/mistake_analyzer.rb', line 3 def original @original end |
Instance Method Details
#capitalization_mistake? ⇒ Boolean
20 21 22 |
# 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? ⇒ Boolean
9 10 11 |
# File 'lib/chat_correct/mistake_analyzer.rb', line 9 def no_mistake? original['token'].eql?(corrected['token']) end |
#punctuation_mistake? ⇒ Boolean
24 25 26 27 28 29 |
# 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? ⇒ Boolean
35 36 37 38 |
# 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? ⇒ Boolean
31 32 33 |
# File 'lib/chat_correct/mistake_analyzer.rb', line 31 def unnecessary_word_missing_punctuation_mistake? corrected['punctuation'] && !original['punctuation'] end |
#verb_mistake? ⇒ Boolean
13 14 15 16 17 18 |
# 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 |