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)].

Example Input: ["we're", 'told', 'given', 'G', 'of', 'X', 'is', 'equal', 'to', '10', 'of', 'X', 'minus', '3', 'PI', 'over', '2', 'plus', '6', 'find', 'a', 'G', 'inverse', 'of', 'X', 'and', 'they', 'want', 'us', 'to', 'type', 'that', 'in', 'here', 'and', 'then', 'they', 'also', 'want', 'us', 'to', 'figure', 'out', 'what', 'is', 'the', 'domain', 'of', 'G', 'inverse', 'the', 'domain', 'of', 'G', 'inverse', 'of', 'X', 'so', "I've", 'got', 'my', 'little', 'scratch', 'pad', 'here', 'to', 'try', 'to', 'work', 'that', 'through', 'so', "let's", "let's", 'figure', 'out', 'what', 'G', 'inverse', 'of', 'X', 'is', 'this', 'is', 'G', 'of', 'X', 'so', 'G', 'inverse', 'of', 'X', "I'm", 'essentially', 'let', 'me', 'just', 'write', 'this', 'is']
Example Output: ['UNKNOWN_TYPE_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'NO_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'DIGIT_DIFF', 'NO_DIFF', 'CASE_DIFF', 'NO_DIFF', 'DIGIT_DIFF', 'CASE_DIFF', 'NO_DIFF', 'DIGIT_DIFF', 'NO_DIFF', 'DIGIT_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', 'CASE_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_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', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'CASE_DIFF', 'NO_DIFF', 'CASE_AND_PUNCUATION_DIFF', 'NO_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'UNKNOWN_TYPE_DIFF', 'NO_DIFF', 'NO_DIFF']

Example Input: ['[Music]', 'the', 'phrase', 'exponential', 'growth', 'is', 'familiar', 'to', 'most', 'people', 'and', 'yet', 'human', 'intuition', 'has', 'a', 'hard', 'time', 'really', 'recognizing', 'what', 'it', 'means', 'sometimes', 'we', 'can', 'anchor', 'on', 'a', 'sequence', 'of', 'small', 'seeming', 'numbers', 'and', 'then', 'become', 'surprised', 'when', 'suddenly', 'those', 'numbers', 'look', 'big', 'even', 'if', 'the', 'overall', 'trend', 'follows', 'an', 'exponential', 'perfectly', 'consistently', 'this', 'right', 'here', 'is', 'the', 'data', 'for', 'the', 'recorded', 'cases', 'of', 'kovat', '19', 'a', 'KA', 'the', 'coronavirus', 'at', 'least', 'at', 'the', 'time', 'that', "I'm", 'writing', 'this', 'never', 'one', 'to', 'waste', 'an', 'opportunity', 'for', 'a', 'math', 'lesson', 'I', 'thought', 'this', 'might', 'be', 'a', 'good', 'time', 'for', '']
Example Output: ['NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'INTRAWORD_PUNC_DIFF', 'INTRAWORD_PUNC_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', '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', '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', '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', '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', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF']

Example Input: ['the', 'graph', 'of', 'function', 'f', 'is', 'given', 'below', 'it', 'has', 'a', 'vertical', 'tangent', 'at', 'the', 'point', '3', 'comma', '0', 'so', '3', 'comma', '0', 'has', 'a', 'vertical', 'tangent', 'let', 'me', 'draw', 'that', 'so', 'it', 'has', 'a', 'vertical', 'tangent', 'right', 'over', 'there', 'and', 'a', 'horizontal', 'tangent', 'at', 'the', 'points', '0', 'comma', 'negative', '3', '0', 'comma', 'negative', '3', 'so', 'as', 'a', 'horizontal', 'tangent', 'right', 'over', 'there', 'and', 'also', 'has', 'a', 'horizontal', 'tangent', 'at', '6', 'comma', '3', 'so', '6', 'comma', '3', 'let', 'me', 'draw', 'the', 'horizontal', 'tangent', 'just', 'like', 'that', 'select', 'all', 'the', 'X', 'values', 'for', 'which', '', 'F', 'is', 'not', 'differentiable', 'select', 'all']
Example Output:
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 DIGIT_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF DIGIT_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 PUNCUATION_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF DIGIT_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF DIGIT_DIFF NO_DIFF NO_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 NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF