Phonemes recognition

1,497 views
Skip to first unread message

Roman

unread,
Nov 9, 2015, 8:10:55 AM11/9/15
to kaldi-help
Hello!
To see how well the acoustic model works, I decided to see phonemes recognition on test set.
The closest to the solution of my problem was the use of the utility "post-to-phone-post".
But this utility is dependent on the language model.
Is there a way to get phonemes recognition without affecting the language model?
Thanks!

Daniel Povey

unread,
Nov 9, 2015, 1:34:35 PM11/9/15
to kaldi-help
It doesn't really use the model, it only reads it in order to have available the mapping from transition-ids to phones.
Dan


--
You received this message because you are subscribed to the Google Groups "kaldi-help" group.
To unsubscribe from this group and stop receiving emails from it, send an email to kaldi-help+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Roman

unread,
Nov 10, 2015, 3:44:04 AM11/10/15
to kaldi-help, dpo...@gmail.com
Sorry, I incorrectly described the experiment.
To get the "post" I am using "lattice-to-post", and then "post-to-phone-post".
A utility "lattice-to-post" depends on language model.
Can I get a "post" without affecting language model?
Thanks!


понедельник, 9 ноября 2015 г., 21:34:35 UTC+3 пользователь Dan Povey написал:

Daniel Povey

unread,
Nov 10, 2015, 12:03:01 PM11/10/15
to Roman, kaldi-help
lattice-to-post does not read a language model (which is clear because it doesn't have a command line argument for one).  It accepts a --lm-scale option because it needs to know how to scale the language model versus acoustic model weights in the lattice.  This will be whatever phone-level language model you decoded with.  There is always a language model, even if it's a very simple one.  For instance a phone loop or a bigram phone language model.
Dan

tushev...@gmail.com

unread,
Feb 24, 2016, 5:34:33 AM2/24/16
to kaldi-help
Hello.
I have same problem. If I use different LM weights, I get different results. Is it correct to set lmwt=0? Or I should set lmwt with best WER?

Daniel Povey

unread,
Feb 24, 2016, 2:18:02 PM2/24/16
to kaldi-help
In most circumstances, lmwt=0.1 is appropriate.  Or you could set it to the inverse of the best acoustic scale, like 1/11 or whatever.
Dan


On Wed, Feb 24, 2016 at 5:34 AM, <tushev...@gmail.com> wrote:
Hello.
I have same problem. If I use different LM weights, I get different results. Is it correct to set lmwt=0? Or I should set lmwt with best WER?
--
You received this message because you are subscribed to the Google Groups "kaldi-help" group.

tushev...@gmail.com

unread,
Feb 25, 2016, 3:40:57 AM2/25/16
to kaldi-help, dpo...@gmail.com
Thank you for reply!

Сергей Тушев

unread,
Jan 10, 2017, 4:18:10 AM1/10/17
to kaldi-help, dpo...@gmail.com
Hello

I've got strange decode result. If I use small LM (nwords 38k), I get one phoneme string, and when I use big LM with nwords 480k, I get another phoneme string. But AM model is same. Is this ok? I thought, that phoneme string should not depend on LM.

Thank you

Daniel Povey

unread,
Jan 10, 2017, 3:02:43 PM1/10/17
to Сергей Тушев, kaldi-help
It definitely depends on the LM. Read the HTK book or search for
"Gales Young HMM" to understand how HMM-based speech recognition
works.
Dan

Сергей Тушев

unread,
Jan 11, 2017, 3:10:02 AM1/11/17
to kaldi-help, tushev...@gmail.com, dpo...@gmail.com
I try to explain my problem.
I need to test my AM, check it's quality. How could I do it? 
I suppose, that if I get phoneme string (instead of words), I could get phone accuracy and correct. 
If I use very simple unigram LM and 3gram LM, phoneme string will be different? How can I avoid it?

In other words, is it possible in Kaldi to get phone error rate (PER)?

That's the way I get phoneme string:
lattice-to-post --acoustic-scale=0.1 --lm-scale=0.1 ark:"gunzip -c $lattice|" ark:- | post-to-phone-post $model ark:- ark,t:$lattice.post.int

Is it write?

Daniel Povey

unread,
Jan 11, 2017, 3:05:02 PM1/11/17
to Сергей Тушев, kaldi-help
People often ask this, but it's not really possible [or at any rate,
it doesn't make sense] to check an AM in the absence of an LM.
Dan
Reply all
Reply to author
Forward
0 new messages