1. A distributed method of recognizing and responding in real time to a user question posed within an application program executing on a client device, comprising: receiving query data generated by the client device over a network; considering a context experienced by a user within the application and loading one or both of appropriate grammars or dictionaries for the context; processing the query data at a server device to form a query text associated with the user question using the appropriate grammars and dictionaries; submitting the query text to a database query engine and a natural language engine; processing the query text using the natural language engine to identify any word phrases in the query text; retrieving a first set of question/answer pairs from a question/answer pair database using the database query engine; forming a combined query to a question/answer pair database using the database query engine, the combined query being based on the query text concatenated with the word phrases and retrieving a second set of question/answer pairs using the combined query; evaluating the first and second sets of question/answer pairs by comparing word phrases in the sets of question/answer pairs with the word phrases from the query text to identify at least one question/answer pair that best matches the user question; and providing an answer to the user question in real-time over a distributed query system, the answer being determined from the question/answer pair that best matches the user question.