1. A method for a computer system to interpret an input from a user and generate a response, comprising: receiving a user input; converting the user input into an input array having a plurality of concepts; determining if any of the plurality of concepts in the input array is derived from a root concept; if any of the plurality of concepts is derived from a root concept, replacing each such derived concept with the corresponding root concept, identifying one or more related concepts that relate to the root concept, and generating a multi-dimensional array based on the input array that includes the one or more related concepts; correlating a concept in the multi-dimensional array to a first element in a database, wherein the first element in the database includes a link to a second element in the database; determining a plurality of possible responses to the user input based on the correlation of the multi-dimensional array and the database; and generating a response to the user input.