Hi everyone,
I am working on implement a cache language model to rescore lattice, so I need to separate graph score to LM score and others.
I use
lattice-lmrescore --lm-scale=-1.0 ark:in.lats G.fst ark:nolm.lats
to get a new graph score without LM score and use
lattice-scale --lm-scale=0.0 ark:in.lats ark:onlylm.lats
to get another graph score that only keep LM score.
Adding two graph scores will be the original graph score. So I think the graph cost in onlylm.lats are the LM score.
Now, I am confuse that the LM score is not the same as the trigram score that I trained with SRILM (G.fst also convert by this trigram language model).
I want to know
1. Is this the correct way to separate LM score or there are another correct method?
2. Why the trigram score compute by trigram language model are not the same as LM score in onlylm.lats?
3. Is there any special when G.fst compute LM score?
many thanks.