Acoustic Model Discussions

Flat
Managing single character words
User: colbec
Date: 3/21/2008 5:27 pm
Views: 6342
Rating: 20

I'm running into an error with julius after compiling my model apparently without an error.

The problem seems to be related to my attempt to use single character words apart from A and I. First choke is with 'B'. I have tried the BEEP and the voxforge lexicons and get the same error. I had to add many single character words to the BEEP lex. Anyone see what I am missing? Is there some special precaution when using letters of the alphabet?

Here's what julius gives me:

STAT: *** loading LM00 _default
STAT: reading [sample.dfa] and [sample.dict]...
Error: voca_load_htkdict: line 16: triphone "*-b+iy" or biphone "b+iy" not found
Error: voca_load_htkdict: line 16: triphone "b-iy+*" or biphone "b-iy" not found
Error: voca_load_htkdict: the line content was: 14      [B]     b iy
 

--- (Edited on 3/21/2008 5:27 pm [GMT-0500] by colbec) ---

Re: Managing single character words
User: kmaclean
Date: 3/21/2008 9:45 pm
Views: 261
Rating: 18

Hi Colbec,

>Is there some special precaution when using letters of the alphabet?

There shouldn't be. 

If you created your acoutic models using the VoxForge tutorial this might be your problem:

The pronunciation dictionary used in the Tutorial and How-to is based on the ISIP Switchboard corpus (contains around 27,500 words).  Whereas the  QuickStart and nightly AM builds is based on version 0.6 of the CMU Pronunciation Dictionary (contains around 130,000 words).   Unfortunately, the Switchboard and CMU pronunciation dictionaries use slightly different phoneme syntax.  This is enough to make them incompatible from a Grammar and Acoustic Model testing perspective (see ticket #52).

Ken 

--- (Edited on 3/21/2008 10:45 pm [GMT-0400] by kmaclean) ---

Re: Managing single character words
User: colbec
Date: 3/22/2008 1:09 pm
Views: 269
Rating: 25

Thanks for the suggestion, Ken, however in this case the first thing I think I have to do is resolve frequency of relevant words in prompts.

Say you have a grammar statement:

S: CHOOSE ( ONE | TWO)

It is pretty easy to define a bunch of relevant prompts that give lots of exercise to the possible combinations.

Now consider

S: CHOOSE ( ATOZ ) and in .voca ATOZ is defined as the 26  separate letters of the alphabet (A..Z) then just giving one example of each is 26 prompts and multiples of that grow very fast.

My immediate problem I think is that I don't have quite a few of the 'words' A..Z mentioned at all in prompts and that I need to correct

Maybe the science of SREs has already dealt with the A..Z problem outlined above? 

 

--- (Edited on 3/22/2008 1:09 pm [GMT-0500] by colbec) ---

Re: Managing single character words
User: colbec
Date: 4/1/2008 6:11 am
Views: 276
Rating: 21

Just wanted to post a followup on this issue which is now resolved. I spent some time creating a bunch of spurious grammar sentences which will not actually be used, however it did give some exercise to the letters of the alphabet:

ECHO < ATOZ >

and ensured that in my prompts ATOZ was a randomly repeated 9 times letter of the alphabet. Then _that_ problem went away.

The next issue was equally interesting. It choked on the word TABLE. Investigation showed that this word was correctly located in sentences, voca and prompts. What was very odd was that TABLES earlier in the dict was passed by with no problem. The issue was again triphone not found. TABLE in my lexicon was either 't aa b l' or 't eh b l'. Tried both of those and it failed. TABLES was 't ey b l z' so I substituted a revised 't ey b l' and now the dict is processed correctly and the recognition engine finds my sentences.

My next issue is the use of the random function in my processing scripts. Prompts have to be picked over very carefully to ensure that words are correctly exercised. Rand by itself is not very good at this. 

--- (Edited on 4/1/2008 6:11 am [GMT-0500] by colbec) ---

Re: Managing single character words
User: colbec
Date: 4/1/2008 1:10 pm
Views: 2618
Rating: 20

Problems in paradise!

It's interesting what one learns by doing. My new "false" grammar sentences, while apparently solving the immediate problem of preventing the building of the project, in fact turns out to be a disadvantage at run time.

The letters are there, but in the wrong context, so that the engine, while struggling with a real sentence that is not precisely defined in the prompts will choose a false (filler) sentence by preference. Whenever the engine cannot match a grammar structure precisely to a prompt it quite willingly pops out a "ECHO S D F R Y P" since it has determined that is a better fit!

As others have noted in this forum, the design of prompts is critical in both allowing the project to build and run accurately.

--- (Edited on 4/1/2008 1:10 pm [GMT-0500] by colbec) ---

PreviousNext