1. A computer implemented method of providing a natural language answer to a natural language question, the method comprising: receiving, over a computer network, a query comprising a grammatical question; submitting the query to a lookup engine; receiving initial search results from the lookup engine, the initial search results comprising a plurality of documents; identifying, in the plurality of documents, a plurality of candidate sentences; calculating a frequency of a plurality of n-grams appearing in the plurality of candidate sentences, wherein n ranges at least from 1 to 2; calculating, for each candidate sentence, a measure of commonality between the candidate sentence and the query; assigning, to each candidate sentence, a score, wherein the score comprises (1) the frequency of a plurality of n-grams appearing in the candidate sentence, and (2) the measure of commonality between the candidate sentence and the query; sorting the candidate sentences according to score, whereby a rating of candidate sentences is produced; and sending, over a computer network, a reply to the query, the reply comprising at least a top candidate sentence from the rating of candidate sentences.