1. A method, performed on one or more processing devices, for generating a report from multiple sources, the method comprising: obtaining a topic by processing input queries relating to the topic, the input queries corresponding to queries from multiple users made over a predefined period of time; obtaining information about the topic from the multiple sources, the information comprising excerpts from the search results that meet one or more criteria; wherein obtaining the information comprises: if the topic is ambiguous, disambiguating the topic by combining names of the one or more categories with the topic, thereby producing a disambiguated topic and formulating a search query based on the disambiguated topic; if the topic is not ambiguous, formulating the search query based on the topic; and searching the multiple sources using the search query to obtain the information; and generating the report using the excerpts, wherein generating comprises: obtaining subtopics by analyzing the excerpts from the multiple sources for commonalities; organizing the excerpts and hyperlinks associated with the excerpts under appropriate subtopics to provide a narrative flow relating to the topic, the excerpts being organized by subtopic and, in a subtopic, being organized in an order; and editing text in the excerpts, wherein editing comprises editing text in excerpts so that excerpts from different sources under subtopics read more like the excerpts from different sources came from a single source; and displaying the report.
3. The method of claim 1 , wherein obtaining information about the topic further comprises: assigning the topic to one or more categories; and determining whether the topic is ambiguous based on the one or more categories to which the topic is assigned.