1. A method comprising: at each turn in a dialog, nominating via a processor, using a partially observable Markov decision process in parallel with a conventional dialog process, a set of allowed dialog actions and a set of contextual features; outputting allowed dialog actions from the conventional dialog process to the partially observable Markov decision process; selecting an optimal action from the set of allowed dialog actions using a machine learning algorithm to yield a selected optimal action; generating a response based on the selected optimal action at each turn in the dialog.