1. A computer-implemented method, comprising: receiving, at a computing device having one or more processors, a speech input representing a question; converting, at the computing device, the speech input to a string of characters in a natural language; obtaining, at the computing device, tokens corresponding to the string of characters in the natural language, each token representing a potential word including at least one character of the string of characters; determining, at the computing device, one or more part-of-speech (POS) tags for each token; determining, at the computing device, sequences of the POS tags for the tokens, each sequence of the POS tags including one POS tag per token; determining, at the computing device, one or more parses for each sequence of the POS tags for the tokens; determining, at the computing device, a most-likely parse and its corresponding sequence of the POS tags for the tokens to obtain a selected parse and a selected sequence of the POS tags for the tokens by solving a maximum-a-posteriori (MAP) inference problem defined as: ( x * , y * ) = arg ⁢ ⁢ max x ∈ X , y ∈ Y ⁢ ⁢ θ T T ⁢ F ( w ) ⁢ x + θ P T ⁢ G ( x , w ) ⁢ y , where x* and y* represent a specific sequence of the POS tags and a specific parse, respectively, X represents a set of the POS tags x, Y represents a set of the parses y, θ T T represents a transformed tagging weight vector, F (w) represents a tagging feature matrix, θ P T represents a transformed parsing weight vector, and G (x,w) represents a parsing feature matrix; determining, at the computing device, a most-likely answer to the question using the selected parse and the selected sequence of the POS tags for the tokens; and outputting, by the computing device, the most-likely answer.