1. A method comprising: providing, on a user interface associated with an apparatus, a presentation of a menu of one or more topics from among a predetermined hierarchy of topics and subtopics to a user; receiving, via the user interface by the apparatus, a first input from the user specifying at least one of the one or more topics from among the predetermined hierarchy of topics and subtopics; retrieving, by the apparatus, one or more documents associated with the user; extracting, by the apparatus, noun tokens from the documents based, at least in part, on the specified topics; performing, by the apparatus, histogram processing of the extracted noun tokens to provide a list of pertinent tokens; comparing, by the apparatus, topic input information received from the user with the list of pertinent tokens to determine if there is a corresponding match; generating, by the apparatus, a topology of the matching tokens according to a probabilistic model, wherein the topology matches the matching pertinent tokens with the topics and subtopics of the hierarchy; providing, on the user interface by the apparatus, a presentation of top-level topics as topic icons on a tool bar on the user interface based, at least in part, on the topology of matching tokens; and in response to a second input from the user specifying one of the topic icons, providing, on the user interface by the apparatus, a presentation of one or more search results customized for the user using machine learning based on the topology.