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: ['congratulations', 'together', "we've", 'learned', 'many', 'of', 'the', 'main', 'algorithms', 'used', 'in', 'machine', 'learning', 'we', 'learn', 'to', 'predict', 'house', 'prices', 'using', 'linear', 'regression', 'to', 'detect', 'spam', 'email', 'using', 'naive', 'Bayes', 'to', 'recommend', 'apps', 'using', 'decision', 'trees', 'we', 'learn', 'to', 'create', 'a', 'model', 'for', 'an', 'admissions', 'office', 'using', 'a', 'logistic', 'regression', 'and', 'support', 'vector', 'machines', 'and', 'we', 'learn', 'how', 'to', 'improve', 'it', 'using', 'neural', 'networks', 'and', 'the', 'kernel', 'method', 'and', 'finally', 'we', 'learn', 'how', 'to', 'locate', 'pizza', 'parlors', 'around', 'the', 'city', 'using', 'clustering', 'algorithms', 'so', 'many', 'questions', 'may', 'arise', 'in', 'your', 'head', 'such', 'as', 'are', 'there', 'more', 'algorithms', 'and', 'the', 'answer', 'to']

Output: ['CASE_AND_PUNCUATION_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', 'STEM_BASED_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'CASE_AND_PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'CASE_AND_PUNCUATION_DIFF', 'CASE_DIFF', 'STEM_BASED_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'CASE_DIFF', 'NO_DIFF', 'CASE_DIFF', 'CASE_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'UNKNOWN_TYPE_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'STEM_BASED_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', 'NO_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']


Input: Consider Input: ["we're", 'nearing', 'the', 'homestretch', 'of', 'our', 'quest', 'to', 'find', 'the', 'inverse', 'of', 'this', 'and', '3x3', 'matrix', 'here', 'and', 'the', 'next', 'thing', 'that', 'we', 'can', 'do', 'is', 'find', 'the', 'determinant', 'of', 'it', 'which', 'we', 'already', 'have', 'a', 'good', 'bit', 'of', 'practice', 'doing', 'so', 'determinant', 'the', 'determinant', 'of', 'C', 'of', 'our', 'matrix', 'under', 'the', 'same', 'color', 'see', "there's", 'several', 'ways', 'that', 'you', 'could', 'do', 'it', 'several', 'ways', 'that', 'you', 'could', 'do', 'it', 'you', 'could', 'say', 'you', 'could', 'use', 'the', 'idea', 'that', "it's", 'equal', 'to', 'you', 'could', 'take', 'this', 'top', 'row', 'of', 'the', 'matrix', 'and', 'take', 'the', 'value', 'of', 'each', 'of', 'those', 'terms']

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', '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', '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', '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', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF']


Input: Consider Input: ['so', "I'm", 'going', 'to', 'draw', 'a', 'tube', 'here', 'and', 'this', 'tube', 'has', 'a', 'bit', 'of', 'a', 'curve', 'at', 'the', 'bottom', 'it', 'comes', 'back', 'up', 'and', "let's", 'say', 'that', "it's", 'exactly', 'the', 'same', 'diameter', 'all', 'the', 'way', 'across', 'so', 'same', 'shape', 'on', 'both', 'sides', 'and', "we'll", 'label', 'them', 'side', 'a', 'and', 'side', 'B', 'and', 'at', 'the', 'bottom', '', 'my', 'tube', 'I', 'put', 'a', 'membrane', 'this', 'is', 'my', 'purple', 'membrane', 'and', "I'll", 'let', 'some', 'stuff', 'through', 'but', 'not', 'everything', 'so', 'I', 'begin', 'by', 'putting', 'in', 'water', 'and', 'the', 'water', 'goes', 'in', 'on', 'one', 'side', 'and', 'fills', 'up', 'to', "let's", 'say', 'about', 'that']


Output: ['CASE_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', 'UNKNOWN_TYPE_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', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_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', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'UNKNOWN_TYPE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'CASE_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', 'PUNCUATION_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF']


