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: ['we', 'know', 'that', 'the', 'multiplication', 'of', 'scalar', 'quantities', 'is', 'commutative', 'for', 'example', 'five', 'times', 'seven', 'is', 'the', 'same', 'thing', 'as', 'seven', 'times', 'five', 'and', "that's", 'obviously', 'just', 'a', 'particular', 'example', 'I', 'could', 'give', '', 'many', 'many', 'more', 'three', 'times', 'negative', '11', 'is', 'the', 'same', 'thing', 'as', 'negative', 'eleven', 'times', 'three', 'and', 'the', 'whole', 'point', 'of', 'commutativity', '', 'I', 'can', 'ever', 'say', 'it', '', 'is', 'that', 'it', "doesn't", 'matter', 'what', 'order', 'that', "I'm", 'multiplying', 'in', 'this', 'is', 'the', 'same', 'thing', 'as', 'negative', 'eleven', 'times', 'three', 'or', 'if', 'we', 'wanted', 'to', 'speak', 'in', 'general', 'terms', 'if', 'I', 'have', 'the', 'scalar', 'a', 'and']

Output: ['UNKNOWN_TYPE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'CASE_DIFF', 'PUNCUATION_DIFF', 'DIGIT_DIFF', 'NO_DIFF', 'DIGIT_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'DIGIT_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', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_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', 'UNKNOWN_TYPE_DIFF', 'UNKNOWN_TYPE_DIFF', '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', 'DIGIT_DIFF', 'NO_DIFF', 'DIGIT_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']

Input: Consider Input: ['the', 'graph', 'above', 'in', 'the', 'TA', 'plane', 'approximates', 'the', 'Apollo', '8', 'altitude', 'a', 'in', 'kilometers', 'T', 'seconds', 'after', 'liftoff', 'approximately', 'how', 'many', 'kilometers', 'per', 'second', 'how', 'many', 'kilometers', 'per', 'second', 'was', 'the', 'Apollo', '8', 'traveling', 'between', '156', 'and', '184', 'seconds', 'after', 'liftoff', 'all', 'right', 'so', "let's", 'look', 'at', 'this', 'chart', "they're", 'calling', '', 'the', 'TA', 'plane', 'because', 'our', 'horizontal', 'axis', 'is', 'the', 'T', 'axis', 'measuring', 'time', 'our', 'vertical', 'axis', 'is', 'the', 'a', 'axis', 'measuring', 'altitude', 'in', 'kilometers', 'this', 'is', 'time', 'in', 'seconds', 'this', 'is', 'altitude', 'in', 'kilometers', 'now', 'they', 'wanted', 'to', 'know', 'what', 'was', 'the', 'how', 'many', 'kilometers', 'per', 'second']

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

Input: Consider Input: ['the', 'next', 'step', 'in', 'question', 'answering', 'is', 'passage', 'retrieval', 'and', 'answer', 'extraction', 'looking', 'at', 'our', 'flowchart', 'again', "we've", 'now', 'processed', 'the', 'question', 'we', 'decided', 'what', 'queries', 'to', 'send', '', 'the', 'RFI', 'our', 'engine', 'and', 'our', 'job', 'now', 'is', 'to', 'do', 'document', 'retrieval', 'find', 'all', 'documents', 'that', 'have', 'those', 'query', 'words', 'extract', 'some', 'documents', 'and', 'pull', 'passages', 'out', 'of', 'those', 'that', 'might', 'have', 'relevant', 'answer', 'fragments', 'in', 'them', 'so', "we'll", 'have', 'three', 'steps', 'retrieve', 'documents', 'from', 'the', 'IR', 'engine', 'segment', 'the', 'document', 'into', 'shorter', 'units', 'often', 'we', 'just', 'use', 'paragraph', 'breaks', 'for', 'that', 'and', 'then', 'pass', 'it', 'ranking', 'so', 'reran', "'king"]
Output: ['CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'CASE_DIFF', 'CASE_DIFF', 'NO_DIFF', 'CASE_DIFF', 'CASE_DIFF', 'NO_DIFF', 'CASE_DIFF', 'CASE_AND_PUNCUATION_DIFF', 'CASE_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'PUNCUATION_DIFF', 'UNKNOWN_TYPE_DIFF', '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', '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', 'CASE_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', 'PUNCUATION_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF', 'NO_DIFF']