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: ['going', 'forward', "you're", 'going', 'to', 'hear', 'me', 'say', 'a', 'certain', 'acronym', 'a', 'lot', 'dahm', 'dahm', 'do', 'dahm', 'dahm', 'dahm', 'dahm', 'stands', 'for', 'document', 'object', 'model', 'and', "it's", 'the', 'way', 'that', 'browsers', 'let', 'us', 'developers', 'manipulate', 'webpages', 'with', 'JavaScript', 'whenever', 'a', 'browser', 'loads', 'a', 'web', 'page', 'it', 'parses', 'all', 'the', 'HTML', 'and', 'CSS', 'and', 'converts', 'the', 'document', 'into', 'a', 'Dom', 'that', 'Dom', 'is', 'really', 'a', 'big', 'JavaScript', 'object', 'that', 'contains', 'everything', "we'd", 'ever', 'want', 'to', 'know', 'or', 'change', 'about', 'a', 'page', 'like', 'every', 'single', 'tag', 'and', 'attribute', 'and', 'style', 'for', 'each', 'tag', 'to', 'access', 'the', 'Dom', 'on', 'a', 'web', 'page', 'from']
Example Output: ['CASE_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', 'UNKNOWN_TYPE_DIFF', 'UNKNOWN_TYPE_DIFF', 'UNKNOWN_TYPE_DIFF', 'UNKNOWN_TYPE_DIFF', 'UNKNOWN_TYPE_DIFF', 'UNKNOWN_TYPE_DIFF', 'UNKNOWN_TYPE_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'CASE_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', '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', 'CASE_AND_PUNCUATION_DIFF', 'CASE_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', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF']

Example Input: ['what', 'I', 'hope', 'to', 'do', 'in', 'this', 'video', 'is', 'a', 'bunch', 'of', 'examples', 'to', 'show', 'us', 'that', 'a', 'lot', 'of', 'the', 'properties', "we've", 'been', 'dealing', 'with', 'in', 'arithmetic', 'the', 'distributive', 'property', 'associative', 'property', 'commutative', 'property', 'that', 'these', 'apply', 'just', 'as', 'well', 'to', 'negative', 'numbers', 'but', 'with', 'that', 'said', 'it', 'is', 'good', 'to', 'actually', 'see', 'it', 'used', 'using', 'using', 'negative', 'numbers', 'or', 'see', 'these', 'properties', 'applied', 'just', 'to', 'make', 'sure', 'that', 'we', 'we', 'understand', "what's", 'going', 'on', 'so', 'these', 'exercises', 'these', 'are', 'all', 'from', 'Khan', 'Academy', 'whoops', 'so', 'this', 'first', 'one', 'says', 'which', 'of', 'the', 'following', 'expressions', 'are', 'equivalent', 'to', 'negative']
Example Output: ['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', 'PUNCUATION_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'NO_DIFF', 'PUNCUATION_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', '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', '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', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'UNKNOWN_TYPE_DIFF', 'PUNCUATION_DIFF', 'UNKNOWN_TYPE_DIFF', 'CASE_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']

Example Input: ['I', 'was', 'interrupted', 'in', 'the', 'last', 'video', 'by', 'a', 'phone', 'call', 'actually', 'expecting', 'a', 'phone', 'call', 'from', 'someone', 'whose', 'call', 'I', 'wanted', 'to', 'take', 'but', 'that', 'ended', 'up', 'being', 'one', 'of', 'those', 'Robo', 'callers', 'so', 'anyway', 'I', 'was', 'on', 'problem', '163', 'let', 'me', 'just', 'start', 'it', 'over', 'just', 'so', 'that', 'I', "don't", 'interrupt', 'your', 'train', 'of', 'thought', 'a', 'fruit', 'salad', 'mixture', 'consists', 'of', 'apples', 'peaches', 'of', 'grit', 'and', 'grapes', 'in', 'the', 'ratio', 'of', '6', 'to', '5', 'to', '2', 'so', 'the', 'ratio', 'of', 'apples', 'to', 'peaches', 'to', 'grapes', 'is', 'equal', 'to', '6', 'to', '5', 'to', '2', 'by', 'weight', 'if', '39', 'pounds']
Example Output:
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 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 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 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