Speech Recognition Issues
Recognizer Issues During the Grammar Compile
With some applications, there can be a considerable pause/recognition latency during the recognition grammar compile.
The recognition grammar is all the possible sequences of words that the recognizer is looking for. For example, the grammar at a password node may consist of a four-digit sequence of numbers followed by “ready,” or the word “cancel,” or the command sequence “Talkman,” “sleep.” Typically, there is different grammar at each prompt in an app.)
In extreme cases, rather than high latency, the same underlying cause can result in memory issues or a device crash. To resolve these issues, edit the task/.vad file to limit the grammar expansion to sequences of words that the user is allowed or expected to say. An example is disallowing infinite loops of words.
In TaskBuilder tasks, grammar stops should be used. Grammar stops include priority prompts (on nodes) and link conditions containing “.wait,” “.pendingodrs,” “.receive,” and “.barcode.” The longest delays are a result of recognition grammar that contains excessive overlapping loops or cycles. Subroutine calls, their return paths, and loop backs to correct input or repeat a prompt are areas that are prone to excessive unintended grammar expansion. In most cases, modifying the task/.vad file prevents these issues. Adding a single grammar stop can reduce the computation of a grammar from ten seconds to under 200 milliseconds.
Non-English PnG may be more susceptible to these issues but they can occur with any recognition model.
Proper use of grammar stops is beneficial to performance of all recognition engines.
VoiceLink
-
These issues do not occur in VoiceLink-Artisan apps.
-
With non-English PnG, there can be a 5-10 second latency in TaskBuilder-based VoiceLink 4.3 tasks during the first two and a half minutes after a taskload, an operload, or word training.
PnG Testing
When enabling PnG, test specific tasks before deployment.
- TaskBuilder tasks: With languages other than English, any delays can occur randomly following a task load, an operator load, or during retraining. It is not necessary to test for latency for more than a few minutes after these events. Latency can occur randomly; all runs should be tested.
- VoiceArtisan VADs: These issues are less likely to occur in Artisan apps and Guided Work (where it is easier to define the grammar during development, and problem constructs are less likely to be created). To test an Artisan app, it is important walk through the entire dialog.