1. A system comprising: at least one processor; an indexer which, if executed, causes the at least one processor to determine which keywords are likely to appear in a natural language query and to associate each likely keyword with a module of a plurality of modules; a query translator which, if executed, causes the at least one processor to determine whether at least one of the likely keywords determined by the indexer appears in a received natural language query; and a results generator which, if executed, causes the at least one processor to respond to the received natural language query with information generated by each module associated with a likely keyword appearing in the received natural language query.