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; 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.