1. A computer implemented method for generating every possible meaningful question about a given text comprising: syntactically and semantically analyzing textual information using a processor; determining the different parts of speech and semantic components that can be used in a question from said textual information using said processor; automatically deriving permutations of said parts of speech and semantic components using said processor; automatically deriving a plurality of questions from said permutations; presenting the plurality of questions derived, to a user via a user interface using said processor; determining, via the user, a validity of the plurality of questions using said processor; and generating at least one valid question as determined by a user along with a corresponding answer to the at least one valid question using said processor.