Improving a statistical language model through non-linear prediction