1. A dialog manager comprising the steps of: receiving previous user actions and previous observations and current observations; hypothesizing previous and current user states, previous user actions, current user actions, future system actions, and future observations, wherein the user states, the user actions, and the user observations are hidden; extracting a feature vector based on the user states, the system actions, the user actions, and the observations; determining an expected reward of each current action based on a log-linear model using the feature vectors; and outputting the current action that has an optimal expected reward, wherein the steps are performed in a processor.