1. A method of evaluating a dialogue with a user on a device having a processor, the method comprising: executing on the processor instructions causing the device to: generate a dialogue hypothesis set comprising at least two dialogue hypotheses respectively having a hypothesis probability; rank the dialogue hypothesis set according to the hypothesis probabilities; after the ranking, upon identifying a low-ranking dialogue hypothesis having a hypothesis probability below a hypothesis retention threshold, discard the low-ranking dialogue hypothesis; in response to the discarding, adjust the hypothesis probabilities of the respective dialogue hypotheses using a knowledge source; after the adjusting, re-rank the dialogue hypothesis set according to the hypothesis probabilities; and for a high-ranking dialogue hypothesis having a hypothesis probability exceeding a hypothesis confidence threshold, execute an action fulfilling the high-ranking dialogue hypothesis, wherein executing the action comprises presenting to the user information associated with the high-ranking dialogue hypothesis.