A method carried out by a dialog system for improving dialog state tracking accuracy in the dialog system, the method, performed by the dialog system, comprising: determining meaning representations for conversational inputs received from a user; enumerating dialog state hypotheses from the meaning representations; extracting the features associated with each dialog state hypothesis using multiple spoken language understanding engines; ranking the dialog state hypotheses by: determining scores for each dialog state hypothesis based on dialog state hypothesis features using multiple dialog state ranking engines, each dialog state ranking engine having a forest of decision trees, the decision trees including: cascading binary branches for leading to leaf nodes, each branch representative of a binary test associated with the features and branching paths leading to a leaf node representing conjunctions of features tested in branches lying along the corresponding path, each leaf node having a real value that is added to the score for a dialog state hypothesis when decisions of the binary branches based on features associated with the dialog state hypothesis lead to that leaf node; averaging the scores from each dialog state ranking engine to produce a final score for each dialog state hypothesis; and ranking the dialog state hypotheses based on the final scores; updating a dialog session with the highest ranking dialog state hypothesis; and using at least one member of the ranked set of dialog states hypotheses to determine what action the dialog system should take next. determining meaning representations for conversational inputs received from a user; enumerating dialog state hypotheses from the meaning representations; extracting the features associated with each dialog state hypothesis using multiple spoken language understanding engines; ranking the dialog state hypotheses by: determining scores for each dialog state hypothesis based on dialog state hypothesis features using multiple dialog state ranking engines, each dialog state ranking engine having a forest of decision trees, the decision trees including: cascading binary branches for leading to leaf nodes, each branch representative of a binary test associated with the features and branching paths leading to a leaf node representing conjunctions of features tested in branches lying along the corresponding path, each leaf node having a real value that is added to the score for a dialog state hypothesis when decisions of the binary branches based on features associated with the dialog state hypothesis lead to that leaf node; averaging the scores from each dialog state ranking engine to produce a final score for each dialog state hypothesis; and ranking the dialog state hypotheses based on the final scores; determining scores for each dialog state hypothesis based on dialog state hypothesis features using multiple dialog state ranking engines, each dialog state ranking engine having a forest of decision trees, the decision trees including: cascading binary branches for leading to leaf nodes, each branch representative of a binary test associated with the features and branching paths leading to a leaf node representing conjunctions of features tested in branches lying along the corresponding path, each leaf node having a real value that is added to the score for a dialog state hypothesis when decisions of the binary branches based on features associated with the dialog state hypothesis lead to that leaf node; averaging the scores from each dialog state ranking engine to produce a final score for each dialog state hypothesis; and ranking the dialog state hypotheses based on the final scores; updating a dialog session with the highest ranking dialog state hypothesis; and using at least one member of the ranked set of dialog states hypotheses to determine what action the dialog system should take next.