1. A method of processing a query directed to a database, said method comprising the steps of: obtaining said query from a user; disambiguating said query using a knowledge base to obtain a set of interpretations for words in said query; if said set comprises more than one identifiable interpretation selecting one interpretation from said set as a best interpretation; utilizing said best interpretation of said query to identify relevant results from said database related to said best interpretation; re-disambiguating remaining interpretations of said set by excluding results associated with said best interpretation; selecting a next best interpretation from said remaining interpretations; and utilizing said next best interpretation of said query to identify relevant results from said database related to said next best interpretation.