1. A method for segmenting a stream of text into segments using a plurality of language models, the stream of text including a sequence of blocks of text, the method comprising: scoring the blocks of text against the language models to generate language model scores for the blocks of text, the language model score for a block of text against a language model indicating a correlation between the block of text and the language model; generating language model sequence scores for different sequences of language models to which a sequence of blocks of text may correspond, a language model sequence score being a function of the scores of a sequence of blocks of text against a sequence of language models; selecting a sequence of language models that satisfies a predetermined condition; and identifying segment boundaries in the stream of text that correspond to language model transitions in the selected sequence of language models.