[Olympus developers 295]: Re: N-best lists for PocketSphinx / Olympus

Blaise Thomson brmt2 at cam.ac.uk
Tue Apr 13 11:35:39 EDT 2010


Hi Thomas / Alan,

I've now got some preliminary N-best list code to work with 
PocketSphinx. With the help of  some example code from Antoine I've 
modified the pocketsphinx engine to produce a 1-best list for partial 
recognition results but an N-best list upon completion. I've also 
modified the AudioServer to be able to receive multiple N-best lists 
from each of the recognizer (the number for each decoder specified by an 
optional ":N" after the decoder definition in the config file). In case 
this may be something you want to include in future versions of Olympus 
I've attached my modified files.

Note, however, that the code still doesn't produce any confidence score 
information for the N-best list. For this reason we will still probably 
be unable to use Olympus for our version of the LetsGo! system. If the 
PocketSphinx bugs you mentioned are fixed any time soon or if anyone 
finds out how to get confidence scores with the N-best list would you 
please let us know?

Many thanks,
Blaise



Thomas Harris wrote:
> Hi Blaise,
>
> Thanks for looking into this. I hope we can include your bugfixes. 
> I've been looking into this as well, and there's a more fundamental 
> issue. It seems like you can't get word confidence metrics from the 
> PocketSphinx segment iterators when you've gotten the sement iterators 
> from the n_best hypothisis iterator. It smells like a PocketSphinx 
> bug, but I haven't seen any reference implementation of PocketSphinx 
> that makes use of those confidence metrics in an n_best setting, so 
> I'm not sure that it isn't a problem with how the PocketSphinx api is 
> used. Until that issue is resolved n_best lists won't work in Olympus, 
> too many downhill processes depend on those confidence metrics.
>
> Thanks,
> -Thomas
>
> On Wed, Mar 24, 2010 at 4:39 AM, Blaise Thomson <brmt2 at cam.ac.uk 
> <mailto:brmt2 at cam.ac.uk>> wrote:
>
>     Dear Olympus developers,
>
>     I am trying to get the Olympus LetsGo! system to provide an N-best
>     list of speech recognition hypotheses. I found the -n_best switch
>     which can be passed to the PocketSphinxEngine which is supposed to
>     enable this but when I set the switch to anything other than 0 the
>     system crashes immediately on any audio input. I remember you said
>     that the system had been build to provide N-best lists so I was
>     wondering if you could give any advice on why it is not working.
>     Do you have a working N-best list system that you could send me to
>     see how things are configured?
>
>     In trying to solve the problem I took a look at the
>     PocketSphinxEngine source code and have noticed some possible
>     memory access bugs which may be contributing to this. These were
>     related to the way the iHypsGenerated variable was used. I've
>     fixed these and can send them if you would like (I tried attaching
>     them but the mailing list won't let me). The resulting code still
>     crashes but at a later stage. After the fix, the log file
>     generates a WARNING: "ngram_search.c", line 1000:. I don't know if
>     this might be the cause of the problem. There is also a
>     possibility that I simply have to add a configuration variable to
>     PocketSphinx itself. At the moment I have only used the n_best
>     switch on PocketSphinxEngine.
>
>     Please do let me know if you have any ideas of how to get this
>     working or who else to contact.
>
>     Thanks for all you help,
>
>     Blaise
>
>
>

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: main.cpp
Url: http://mailman.srv.cs.cmu.edu/pipermail/olympus-developers/attachments/20100413/b832667b/main-0001.ksh
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: LiveMode.cpp
Url: http://mailman.srv.cs.cmu.edu/pipermail/olympus-developers/attachments/20100413/b832667b/LiveMode-0001.ksh
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: EngineInterface.cpp
Url: http://mailman.srv.cs.cmu.edu/pipermail/olympus-developers/attachments/20100413/b832667b/EngineInterface-0001.ksh
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: EngineInterface.h
Url: http://mailman.srv.cs.cmu.edu/pipermail/olympus-developers/attachments/20100413/b832667b/EngineInterface-0001.h


More information about the Olympus-developers mailing list