1. A system to interpret an input from a user and generate a response, comprising: an input device configured to receive a user input; a memory including a database; a processor configured to: convert the user input into an input array comprising rows and columns having a plurality of concepts; determine 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, replace each such derived concept with the corresponding root concept, identify one or more related concepts that relate to the root concept, generate a multi-dimensional array including rows and columns based on the input array that includes the one or more related concepts; generate one or more additional multi-dimensional arrays, based on the input, containing any composite concepts, each derived from two or more concepts contained in the original array; and mark one or more concepts in the multi-dimensional arrays as essential based on application-specific criteria; correlate a plurality of concepts in the multi-dimensional array to a plurality of elements in the database by comparing a plurality of linear arrays derived from the multidimensional array to the plurality of elements in the database, wherein the elements in the database do not comprise possible responses; and determine a plurality of possible responses to the user input based on the correlation of the multi-dimensional array and the plurality of elements in the database; and an output device configured to generate a response to the user input.