Interpolating with -lambda 1.0

Andreas Stolcke stolcke at speech.sri.com
Wed Feb 23 10:23:55 PST 2005


Try using -bayes 0 when running the interpolated model.
Without it, ngram will construct a merged ngram model in memory,
which does not work well when combining word and class-based models.

--Andreas

In message <1109146260.28101.1.camel at markov>you wrote:
> Hello,
> 
> I'm a bit confused with interpolation.
> I want to calculate test text's perplexity using different interpolation
> weights (lambdas). Everything is OK until I set lambda to 1.0. Shouldn't
> I then get the same perplexity as using only the base language model?
> This doesn't seem to be the case:
> 
> $ ngram -lm trigram.arpa -ppl <testtxt> 
> file <testtxt>: 2394 sentences, 29475 words, 1224 OOVs
> 0 zeroprobs, logprob= -86274.9 ppl= 653.583 ppl1= 1132.06
> 
> $ ngram -lm trigram.arpa -ppl <testtxt> -classes <classdefs>  -mix-lm
> class-trigram.arpa -lambda 1.0
> file <testtxt>: 2394 sentences, 29475 words, 1224 OOVs
> 0 zeroprobs, logprob= -85554.4 ppl= 619.144 ppl1= 1067.5
> 
> As shown, the perplexity is 653.539 when using standalone trigram, and
> 619.144 when interpolating the trigram with the class-trigam, using
> lambda 1.0. Why are they not equal?
> 
> Both word trigram and class trigram are close-vocabulary LMs, if it
> matters.
> 
> Regards,
> 
> Tanel A.
> 
> 
> 




More information about the SRILM-User mailing list