1. A method of providing contextual information to a user, comprising: receiving context data describing the user's current context; identifying a plurality of information items corresponding to the user's current context; applying a personalized user behavior model for the user to determine, for each of the plurality of information items, a likelihood that the information item will be of value to the user, the user behavior model including a routine model describing correlations between contexts, the routine model comprising a plurality of transition rules; selecting an information item from among the plurality of information items based on the corresponding likelihood; providing the selected information item for presentation to the user; receiving feedback indicating the user found value in presentation of the selected information item; identifying a contributing transition rule from among the plurality of transition rules based on the contributing transition rule having contributed to selection of the selected information item, the contributing transition rule comprising a source context and a destination context; and storing an indication that the user found value in presentation of the selected information item in conjunction with the contributing transition rule such that information items associated with the destination context are in future determined to have a higher likelihood when the user is associated with the source context.