1. A computer readable storage medium comprising a computer readable program for a method for calculating N-gram probabilities in a language model, wherein the computer readable program when executed on a computer causes the computer to perform the following method steps: counting N-grams in each page of a plurality of pages or in each document of a plurality of documents to obtain respective N-gram counts therefor; applying weights to the respective N-gram counts based on at least one of view counts and rankings to obtain weighted respective N-gram counts, the view counts and the rankings determined with respect to the plurality of pages or the plurality of documents; merging the weighted respective N-gram counts to obtain merged weighted respective N-gram counts for the plurality of pages or the plurality of documents; and calculating a respective probability for each of the N-grams based on the merged weighted respective N-gram counts.