7. The computer-implemented method of prioritizing choices according to claim 6 , wherein said identifying of said current context is based on one of user identification, application identification and a specific time.
6. A computer-implemented method of prioritizing choices for selection by a user, said method comprising: identifying a current context of said first computer program using said computer, wherein said current context comprises one of a logical context, a personal context, and an environmental context; identifying at least one related context that forms a hierarchical relationship with said current context; identifying whether there are any related contexts that forms an association relationship with said current context, where the association relationship is a predetermined relationship established between contexts that is independent from the hierarchical relationship; determining a first user history of menu choice selections with respect to said current context, each selection having a weight corresponding to the relative likelihood of the associated menu choice selection being selected; determining, by said computing device, additional user histories of menu choice selections with respect to said related contexts, each selection having a weight; receiving an indication that a user has made a menu choice selection based upon said weighted menu choice selections of said first user history associated with said current context; updating, by said computer device, said first user history by updating the weight associated with said user's menu choice selection; updating, by said computing device, ones of said additional user histories of related contexts within said hierarchical relationship in which the selected user's menu choice also exists, by updating a weight associated with said user's menu choice selection in that user history by a predetermined value, wherein the value is based upon a distance from said current context within said hierarchical relationship; updating, by said computing device, ones of said additional user histories of each related context that forms an association relationship with said current context in which the selected user's menu choice also exists by updating a weight associated with said user's menu choice selection in that user history; identifying, by a computing device, a second context of said computer program where the second context is set to the current context; determining weighted menu choices in an associated user history of said second context and outputting said weighted menu choices of said second context.