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; after the discarding, using a knowledge source, adjust the hypothesis probabilities of the respective dialogue hypotheses; 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.