23. A method for associating words and word strings in a language comprising: providing a collection of documents, wherein said collection includes at least one document; receiving a word or word string query to be analyzed; searching by a processor, said collection of documents for the query to be analyzed and returning documents containing the query to be analyzed; determining a user-defined number of words or word strings or both to the left and right of the query in said returned documents containing the query to be analyzed; returning a list with an entry or plurality of entries, wherein said entry or said plurality of entries contain said determined words or word strings to the left and right of the query in said returned documents; searching said collection of documents for said entry or plurality of entries in said returned list and returning second documents containing said entry or one or more of said plurality of entries in said returned list; and determining a user defined number of words or word strings that appear between words or word strings to the left and right of said query in said second returned documents; returning a list of words or word strings or both that occur between said determined words or word strings to the left and right of said query in said second returned documents; and ranking said returned list of words and word strings based on the number of different words and word strings to the left and right of said query that each returned word or word string appears between in said second returned documents.
23. A method for associating words and word strings in a language comprising: providing a collection of documents, wherein said collection includes at least one document; receiving a word or word string query to be analyzed; searching by a processor, said collection of documents for the query to be analyzed and returning documents containing the query to be analyzed; determining a user-defined number of words or word strings or both to the left and right of the query in said returned documents containing the query to be analyzed; returning a list with an entry or plurality of entries, wherein said entry or said plurality of entries contain said determined words or word strings to the left and right of the query in said returned documents; searching said collection of documents for said entry or plurality of entries in said returned list and returning second documents containing said entry or one or more of said plurality of entries in said returned list; and determining a user defined number of words or word strings that appear between words or word strings to the left and right of said query in said second returned documents; returning a list of words or word strings or both that occur between said determined words or word strings to the left and right of said query in said second returned documents; and ranking said returned list of words and word strings based on the number of different words and word strings to the left and right of said query that each returned word or word string appears between in said second returned documents. 25. The method of claim 23 , wherein said ranking is modified based on user defined criteria.