9. A non-transitory computer-readable storage medium storing instructions that, when executed by a processing device, cause the processing device to generate a response to a text-based natural language message by performing a computer process comprising: identifying a sentence in the text-based natural language message; identifying an input clause in the sentence; parsing the input clause, thereby defining a relationship between words in the input clause, assigning a semantic tag to the parsed input clause; comparing the input clause to a previously received clause, the previously received clause being correlated with a previously generated response clause; and generating an output response message derived from the previously generated response clause.
9. A non-transitory computer-readable storage medium storing instructions that, when executed by a processing device, cause the processing device to generate a response to a text-based natural language message by performing a computer process comprising: identifying a sentence in the text-based natural language message; identifying an input clause in the sentence; parsing the input clause, thereby defining a relationship between words in the input clause, assigning a semantic tag to the parsed input clause; comparing the input clause to a previously received clause, the previously received clause being correlated with a previously generated response clause; and generating an output response message derived from the previously generated response clause. 10. The non-transitory computer-readable storage medium according to claim 9 , wherein the computer process further comprises storing the generated output response message, the input clause, and the parsed input clause or the semantic tag in a database.