1. A computer-implemented iterative semantic search method for searching words on a document, the method comprising the steps of: scanning a document containing a sequence of document words broken into a sequence of moving document windows formed by contiguous sentences on the document; forming a query containing a sequence of query words broken into query windows representing queries about the contents of the scanned document; a normalizer step responsive to the query for converting the various forms of each word to its normal form, where its meaning is mostly preserved by the surrounding context; a lexicon step for providing synonyms defined by repetition and locality of reference for any normalized word; a repository step for storing and indexing each of the synonyms for a defined window size; a parser step for building undirected graphs represented by edges and vertexes using a specified number of sentences from the document; a heuristics step for taking as an input the current success in growing graphs and producing as an output the size of the moving window for use by the parser; a randomizer step for reducing required storage and search time by removing duplicate sub-graphs and embedded sub-graphs from the storage repository; a cache step for applying temporal and spatial locality for subsequent queries; and a graph search algorithm step, which rank orders matching graphs for the query sub-graphs, if any, on the basis of matching sub-graphs.