1. A computer-based system for determining a response to an input text string, the system comprising: a server that receives the input text string via a computer data network, wherein the server executes software instructions stored on a computer readable medium, wherein the server is programmed to: tokenize the input text string by parsing the input text string to define one or more recognizable patterns in the input text string; compare the one or more recognizable patterns to a plurality of cases of text to determine whether the one or more recognizable patterns match one or more of the plurality of cases, wherein each of the plurality of cases define a response to be taken in the event of a case match, wherein the cases of text are stored in a knowledge base and defined using a hierarchical tag-based markup language, wherein the hierarchical tag-based markup language comprises; an input tag that identifies a pattern of text to be matched, wherein the plurality of cases of text comprises one or more input tags with exact text strings, one or more input tags with partial text string cases, and one or more input tags with variable text string cases; a response tag that identifies the response in the event of a case match, wherein the response comprises an output text expression to be output by the server; a previous tag associated with the output text expression, where the previous tag constrains a case from matching a recognizable pattern when the server did not previously output an output text expression that matches the output expression associated with the previous tag; and a previous input tag associated with an input expression, where the previous input tag constrains a case from matching a recognizable pattern when the server did not previously receive from a user an input text expression that matches the input expression associated with the previous input tag: when a recognizable pattern matches only one case, perform the response for the case; and when a recognizable pattern matches two or more cases: score the two or more cases to determine the case with the highest probability match based on a scoring function, the scoring function scores exact text string case matches greater than variable text string case matches; and perform the response for the case with the highest probability match.