Package inpro.incremental.deltifier

Package for deltifiers, The pluggable modules that convert Sphinx' Result objects to objects of the IU world.

See:
          Description

Interface Summary
ASRResultKeeper allows to query the the current state of ASR input
 

Class Summary
ASRWordDeltifier an ASRWordDeltifier (and descendants) can be used to store the ASR's (or one of the ASR's) current hypothesis you would usually call deltify() (either on the result or a specific token from the n-best-list) and afterwards retrieve the WordIUs and edits since the previous call via getIUs() and getEdits() Descendents of this class implement methods described in NAACL-HLT 2009
FixedLagDeltifier fixed lag deltifier only passes along words that have not started with a given fixed lag
NonIncrementalDeltifier A deltifier which does not output any intermediate hypotheses.
SmoothingDeltifier only outputs IUs if a word is consecutively hypothesized for N frames.
 

Package inpro.incremental.deltifier Description

Package for deltifiers, The pluggable modules that convert Sphinx' Result objects to objects of the IU world.

_____________________________________________________________
  _                                         _           _   
 (_)_ __  _ __  _ __ ___    _ __  _ __ ___ (_) ___  ___| |_ 
 | | '_ \| '_ \| '__/ _ \  | '_ \| '__/ _ \| |/ _ \/ __| __|
 | | | | | |_) | | | (_) | | |_) | | | (_) | |  __/ (__| |_ 
 |_|_| |_| .__/|_|  \___/  | .__/|_|  \___// |\___|\___|\__|
         |_|               |_|           |__/               
_____________________________________________________________
These modules are pluggable into CurrentASRHypothesis, our starting point into the IU world. They convert Sphinx' Result objects (which always contain the complete result up to the current state) to a set of IU objects (words, syllables and segments) and EditMessages that explain which IUs have been added since the last call.

Deltifiers receive and process Results using the void deltify(Result result) operation defined in in ASRWordDeltifier (which additionally export operations such as resetting and configuration (using Sphinx' configuration management).

The interface ASRResultKeeper defines the output of the deltifiers: They may be queried for the most recent set of IUs, the edits since the preceding set, and the time (in frames) of that set.

All deltifiers must be descendants of ASRWordDeltifier.

The following deltifiers are provided:

ASRWordDeltifier
defines a ``standard'' deltifier, which outputs all the words from a Result object and generates edits for all edits.

The recognizer in Sphinx often changes opinion (often at every frame), so that the output from this deltifier changes very frequently, often revoking a word that will be back in the next frame, alternating between readings etc.

FixedLagDeltifier
instead of interpreting the current Result up to the current time, it leaves some fixed lag (measured in frames) at the end of the result. As most intermittent recognition errors happen at the right end of the hypothesis, the fixed lag is a simple and effective method to avoid these.
SmoothingDeltifier
waits until an IU has reached a certain maturity (measured in frames), before it is released to the outside world. This is very successful in reducing the result jitter from ASR, but may occasionally lead to longer latencies if ASR jitter is unfavourable (whereas latency is fixed for the FixedLagDeltifier).
NonIncrementalDeltifier
switches off incrementality by only adding committed hypotheses

Author:
Timo Baumann