A method for processing a natural language input provided by a user includes: providing a natural language query input to the user; performing, based on the input, a search of one or more language-based databases; providing, through a user interface, a result of the search to the user; identifying, for...http://www.google.com/patents/US7177798?utm_source=gb-gplus-sharePatent US7177798 - Natural language interface using constrained intermediate dictionary of results