Hi. Got couple of questions.
1. Is this correct that I can improve quality of recognition if I remove all words in dictionary that I don't need to recognize, and leave only 100 words for example that I need to recognize?
2. If 1 is true, is it true then that to improve recognition of 'no', for example, I should add 'go' to dictionary, so it can differ them. Though I don't need to recognize 'go' by itself.
Last edit: Eugene 2016-12-05
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Is this correct that I can improve quality of recognition if I remove all words in dictionary that I don't need to recognize, and leave only 100 words for example that I need to recognize?
No, dictionary is for training. You can improve by narrowing the language model
If 1 is true, is it true then that to improve recognition of 'no', for example, I should add 'go' to dictionary, so it can differ them.
It depends if you care more about precision or recall
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hm. I thought dictionary is where possible results are stored. I left just 'no N OW' and 'yes Y EH S' in it, and these two words are recognized 100% of times. When I use full dictionary I get different results for saying 'yes' and 'no'.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Well it depends what you actually run.
Technically the decoding hypothesis is determined by language model. Its likely that your code builds language model from the dictionary.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
In general using large LM and limiting dictionary is not a right approach.
I would suggest to rather look at grammar.
About the accuracy, it will depend on what your speakers say. If you have 'yes/no' grammar and speaker says 'bo', sphinx will likely recognize 'no'. On the other hand, the larger grammar you have, the more there is a chance that correctly pronounced 'no' will be recognized as soething else.
You can also check keyword spotting mode to tune precision/recall with word threshold
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi. Got couple of questions.
1. Is this correct that I can improve quality of recognition if I remove all words in dictionary that I don't need to recognize, and leave only 100 words for example that I need to recognize?
2. If 1 is true, is it true then that to improve recognition of 'no', for example, I should add 'go' to dictionary, so it can differ them. Though I don't need to recognize 'go' by itself.
Last edit: Eugene 2016-12-05
No, dictionary is for training. You can improve by narrowing the language model
It depends if you care more about precision or recall
Hm. I thought dictionary is where possible results are stored. I left just 'no N OW' and 'yes Y EH S' in it, and these two words are recognized 100% of times. When I use full dictionary I get different results for saying 'yes' and 'no'.
Well it depends what you actually run.
Technically the decoding hypothesis is determined by language model. Its likely that your code builds language model from the dictionary.
I run pocketsphinx, -hmm -lm -dict that are used, are from model folder with english model that is included with source code.
In general using large LM and limiting dictionary is not a right approach.
I would suggest to rather look at grammar.
About the accuracy, it will depend on what your speakers say. If you have 'yes/no' grammar and speaker says 'bo', sphinx will likely recognize 'no'. On the other hand, the larger grammar you have, the more there is a chance that correctly pronounced 'no' will be recognized as soething else.
You can also check keyword spotting mode to tune precision/recall with word threshold
Tested, if I add 'go G OW' to dictionary that has 'no' and 'yes' already, it doesn't mistake 'go' for 'no' after that, when I say 'go'.
What do you mean by looking at grammar?
http://cmusphinx.sourceforge.net/wiki/tutoriallm#building_a_grammar
Ok, thanks!