Given an input stream, the objective of this task is to classify whether words in the stream are grammatically correct or not. The input to this task is a stream of words, possibly from captions generated by a speech-to-text engine, and the output is a classification of each word from the labels (reason) = [NO_DIFF (correct), CASE_DIFF (case error), PUNCUATION_DIFF (punctuation error), CASE_AND_PUNCUATION_DIFF (both case and punctuation error), STEM_BASED_DIFF (stem word error), DIGIT_DIFF (digit error), INTRAWORD_PUNC_DIFF (intra-word punctuation error), and UNKNOWN_TYPE_DIFF (an error that does not corrrespond to the previous categories)].

Input: Consider Input: ['[Music]', 'so', 'last', 'month', 'the', 'Encyclopedia', 'Brittanica', 'announced', 'that', 'it', 'is', 'going', 'out', 'of', 'print', 'after', '244', 'years', 'which', 'made', 'me', 'nostalgic', 'because', 'I', 'remember', 'playing', 'a', 'game', 'with', 'the', 'colossal', 'encyclopedia', 'set', 'in', 'my', 'hometown', 'library', 'back', 'when', 'I', 'was', 'a', 'kid', 'maybe', '12', 'years', 'old', 'and', 'I', 'wondered', 'if', 'I', 'could', 'update', 'that', 'game', 'not', 'just', 'for', 'modern', 'methods', 'but', 'for', 'the', 'modern', 'me', 'so', 'I', 'tried', 'I', 'went', 'to', 'an', 'online', 'encyclopedia', 'Wikipedia', 'and', 'I', 'entered', 'the', 'term', 'earth', 'you', 'can', 'start', 'anywhere', 'this', 'time', 'I', 'chose', 'earth', 'and', 'the', 'first', 'rule', 'of', 'the', 'game', 'is', 'pretty']

Output: ['NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'UNKNOWN_TYPE_DIFF', 'UNKNOWN_TYPE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_AND_PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_AND_PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF']

Input: Consider Input: ['as', 'a', 'follow-up', 'to', 'the', 'main', 'video', 'about', 'how', 'quantum', 'computers', 'factor', 'large', 'numbers', 'to', 'break', 'encryption', 'I', 'want', 'to', 'demonstrate', 'how', "Shor's", 'algorithm', 'would', 'factor', 'a', 'real-live', 'number', 'like', 'maybe', 'you', 'were', 'bequeathed', 'the', 'bank', 'vault', 'full', 'of', 'pies', 'but', 'the', 'access', 'code', 'left', 'to', 'you', 'was', 'encrypted', 'using', 'the', 'number', '314,000', '191', 'and', 'you', "can't", 'get', 'to', 'the', 'pies', 'until', 'you', 'know', 'the', 'factors', 'luckily', 'I', 'happen', 'to', 'have', 'a', 'working', 'quantum', 'computer', 'that', 'can', 'run', "Shor's", 'algorithm', 'as', 'a', 'refresher', "here's", 'a', 'rough', 'overview', 'of', 'how', "Shor's", 'algorithm', 'factors', 'large', 'numbers', 'quickly', 'for', 'any', 'crappy', 'guess', 'at']

Output: ['CASE_DIFF', 'NO_DIFF', 'INTRAWORD_PUNC_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'INTRAWORD_PUNC_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'UNKNOWN_TYPE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'INTRAWORD_PUNC_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'INTRAWORD_PUNC_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'INTRAWORD_PUNC_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF']

Input: Consider Input: ['a', 'pacemaker', 'is', 'a', 'small', 'device', 'that', 'helps', 'the', 'heart', 'maintain', 'an', 'adequate', 'or', 'normal', 'heart', 'rate', 'sometimes', 'hearts', 'beat', 'too', 'slowly', 'and', 'this', 'is', 'known', 'as', 'bradycardia', 'again', 'bradycardia', 'means', 'the', "heart's", 'beating', 'too', 'slowly', 'and', 'this', 'could', 'be', 'because', '', 'either', 'the', 'hearts', 'and', 'a', 'pacemaker', "isn't", 'firing', 'fast', 'enough', 'or', 'because', 'there', 'is', 'some', 'sort', 'of', 'abnormal', 'block', 'in', 'the', 'hearts', 'conduction', 'system', 'which', 'causes', 'the', 'heart', 'to', 'beat', 'too', 'slowly', 'and', 'classically', 'pacemakers', 'are', 'used', 'to', 'speed', 'up', 'slow', 'heart', 'rates', 'or', 'to', 'speed', 'up', 'part', 'rates', 'that', 'are', 'braided', 'kartik', 'less', 'commonly', 'pacemakers', 'are', 'used']
Output: ['CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'UNKNOWN_TYPE_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'INTRAWORD_PUNC_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF']