In response to receiving a natural language request, possible intents may
be determined and ranked and an appropriate action performed. Intent may
be determined by removing as much ambiguity as possible by leveraging all
the available information received to generate and rank interpretations
of a user request. Actions may be generated as a result of the ranked
interpretations. Actions may include performing a task or search. Search
results from multiple pluggable search providers may be returned.