1. A method of compressing a language model comprising: generating a list of numerical values from n-grams of a user input; sorting the list of values; calculating differences between adjacent values in the list; and encoding each calculated difference using a Golomb code.