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

Ex Input:
['hey', 'Vsauce', 'Michael', 'here', 'and', 'Derek', 'generate', '78', "that's", 'so', 'random', 'or', 'is', 'it', 'what', 'does', 'it', 'mean', 'to', 'be', 'random', 'can', 'anything', 'really', 'be', 'random', "what's", 'the', 'most', 'random', 'thing', 'ever', 'today', "let's", 'stop', 'being', 'random', 'and', 'become', 'brandsmart', 'if', 'something', 'is', 'unpredictable', 'and', 'contains', 'no', 'recognizable', 'patterns', 'we', 'call', 'it', 'random', 'so', "let's", 'begin', 'our', 'hunt', 'for', 'the', 'most', 'random', 'thing', 'with', 'a', 'coin', 'toss', 'the', 'Australian', '50', 'cent', 'coin', 'is', 'one', 'of', 'the', 'largest', 'coins', 'currently', 'in', 'circulation', 'coin', 'flips', 'and', 'rolling', 'dice', 'are', 'not', 'intrinsically', 'random', 'they', 'are', 'only', 'random', 'because', 'of', 'our', 'ignorance', 'if', 'we']

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

Ex 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']

Ex 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']

Ex Input:
['when', "it's", 'cold', 'out', 'and', 'you', "didn't", 'dress', 'for', 'the', 'weather', 'and', "you're", 'far', 'from', 'shelter', 'you', 'have', 'a', 'crucial', 'decision', 'to', 'make', 'should', 'you', 'run', 'or', 'ski', 'to', 'try', 'to', 'warm', 'up', 'or', 'go', 'slow', 'and', 'avoid', 'the', 'cooling', 'effects', 'of', 'wind', 'when', "it's", 'cold', 'out', 'and', "you're", 'not', 'moving', 'the', 'heat', 'you', 'lose', 'goes', 'to', 'heating', 'up', 'the', 'air', 'around', 'you', 'forming', 'a', 'slightly', 'warmer', 'protective', 'layer', 'so', 'you', "don't", 'cool', 'off', 'as', 'quickly', 'but', 'if', "you're", 'moving', 'or', 'if', "it's", 'windy', "you're", 'being', 'exposed', 'to', 'some', 'amount', 'of', 'fresh', 'new', 'cold', 'air', '', 'more', 'of', 'it', 'the']

Ex 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 PUNCUATION_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF NO_DIFF PUNCUATION_DIFF NO_DIFF NO_DIFF NO_DIFF PUNCUATION_DIFF PUNCUATION_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 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 PUNCUATION_DIFF CASE_DIFF NO_DIFF NO_DIFF NO_DIFF PUNCUATION_DIFF NO_DIFF NO_DIFF PUNCUATION_DIFF INTRAWORD_PUNC_DIFF NO_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 NO_DIFF NO_DIFF