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: ['so', 'we', 'have', 'this', 'line', 'segment', 'Jael', 'here', 'and', 'we', 'have', 'point', 'K', 'that', 'also', 'sits', 'on', 'that', 'segment', 'and', 'they', 'tell', 'us', 'that', 'J', 'K', 'is', 'equal', 'to', '7x', 'plus', '9', 'so', 'this', 'distance', 'right', 'over', 'here', 'is', 'equal', 'to', '7x', 'plus', '9', 'then', 'they', 'tell', 'us', 'that', 'JL', 'is', 'equal', 'to', '114', 'so', 'JL', 'is', 'the', 'entire', 'length', 'of', 'the', 'segment', 'so', 'this', 'entire', 'thing', 'is', 'equal', 'to', '114', 'and', 'then', 'tell', 'us', 'that', 'KL', 'is', 'equal', 'to', '9', 'X', 'plus', '9', 'so', 'this', 'right', 'over', 'here', 'is', 'equal', 'to', '9', 'X', 'plus', '9', 'and', 'they', 'say', 'find']
Example Output: ['CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'UNKNOWN_TYPE_DIFF', 'PUNCUATION_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', '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', 'CASE_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', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'UNKNOWN_TYPE_DIFF', 'UNKNOWN_TYPE_DIFF', 'STEM_BASED_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', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF']

Example Input: ['so', 'through', 'my', 'kind', 'of', 'topsy-turvy', 'journey', 'to', 'get', 'to', 'where', 'I', 'am', 'now', 'I', 'wound', 'up', 'with', 'a', "bachelor's", 'in', 'physical', 'geography', 'as', 'well', 'as', 'a', "bachelor's", 'in', 'kinesiology', 'with', 'a', 'focus', 'and', 'outdoor', 'education', 'a', 'lot', 'of', 'colleges', 'and', 'universities', 'at', 'all', 'different', 'levels', 'are', 'offering', 'degrees', 'and', 'outdoor', 'education', 'and', 'I', 'would', 'not', 'say', 'that', "it's", 'a', 'hundred', 'percent', 'necessary', 'for', 'employment', 'in', 'this', 'field', 'and', 'the', 'advice', 'that', 'I', 'would', 'give', 'to', 'somebody', "who's", 'considering', 'that', 'type', 'of', 'major', 'is', 'to', 'think', 'about', 'your', 'salary', 'starting', 'out', 'and', 'to', 'really', 'think', 'about', 'whether', 'or', 'not', "you're"]
Example 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', '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', 'INTRAWORD_PUNC_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'UNKNOWN_TYPE_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', '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', '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']

Example Input: ['so', 'what', 'we', 'have', 'here', 'is', 'X', 'being', 'defined', 'in', 'terms', 'of', 'T', 'and', 'y', 'being', 'de', 'taught', 'defined', 'in', 'terms', 'of', 'T', 'and', 'then', 'if', 'you', 'were', 'to', 'plot', 'over', 'all', 'of', 'the', 'T', 'values', 'you', 'get', 'a', 'pretty', 'cool', 'plot', 'just', 'like', 'this', 'so', 'you', 'know', 'you', 'try', 'to', 'equals', 'zero', 'figure', 'out', 'what', 'x', 'and', 'y', 'are', 'T', 'is', 'equal', 'to', '1', 'figure', 'out', 'what', 'x', 'and', 'y', 'are', 'and', 'all', '', 'the', 'other', "T's", 'and', 'then', 'you', 'get', 'this', 'pretty', 'cool', 'looking', 'graph', 'but', 'our', 'the', 'goal', 'in', 'this', 'video', "isn't", 'just', 'to', 'appreciate', 'the', 'coolness']
Example Output:
NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF CASE_DIFF NO_DIFF NO_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 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 CASE_DIFF PUNCUATION_DIFF UNKNOWN_TYPE_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 PUNCUATION_DIFF CASE_DIFF NO_DIFF NO_DIFF NO_DIFF DIGIT_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 NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF