13. A computer readable storage device storing instructions that when executed perform the method of: receiving textual input from a client device, the user input comprising an incomplete natural language expression, wherein the incomplete natural language expression is a string of characters with one or more missing characters; extracting one or more n-grams from the incomplete natural language expression; analyzing the extracted one or more n-grams to determine a first set of possible domains; assigning a confidence level to each possible domain of the first set of possible domains, wherein the confidence level for at least one possible domain exceeds a predetermined confidence threshold; predicting an intent of a user associated with the at least one possible domain; initiating at least one domain application for performing the predicted intent; predicting at least one slot for executing at least one function; and receiving a selection, wherein the received selection indicates confirmation that the at least one function reflects an actual intent of the user; training a natural language analysis component based on at least the received selection indicating confirmation.
13. A computer readable storage device storing instructions that when executed perform the method of: receiving textual input from a client device, the user input comprising an incomplete natural language expression, wherein the incomplete natural language expression is a string of characters with one or more missing characters; extracting one or more n-grams from the incomplete natural language expression; analyzing the extracted one or more n-grams to determine a first set of possible domains; assigning a confidence level to each possible domain of the first set of possible domains, wherein the confidence level for at least one possible domain exceeds a predetermined confidence threshold; predicting an intent of a user associated with the at least one possible domain; initiating at least one domain application for performing the predicted intent; predicting at least one slot for executing at least one function; and receiving a selection, wherein the received selection indicates confirmation that the at least one function reflects an actual intent of the user; training a natural language analysis component based on at least the received selection indicating confirmation. 16. The computer readable storage device of claim 13 , wherein assigning a confidence level comprises assigning a number from 1 to 0 to each possible domain.