In this video, we'll delve into the advanced features in SI Script.
Meta variables return information about a rule. The speech engine populates these meta variables as it parses the grammar, which means that the variables are not writable, they are read-only. This is because it's the engine, not your grammar, supplying the information. There are basically two meta variables available:
meta.rulename.score
Provides the confidence score from the Engine
meta.rulename.text
Provides the raw text for the given rule
We also have shortcuts available to us like we did with rules:
meta.current()
Use for information about the current rule (data that is currently being executed)
meta.latest()
Use for information about the last rule matched
Declaring variables
var varname = value
Conditionals
if (condition) {statement}
else {execute}
Within ABNF: Enclose SISR tags with {!{ }!}
Digit Recognition provides very high accuracy for single digits. However, likelihood of misrecognition increases as number of digits increases. To solve this with SISR, check the confidence score of each digit, throw out bad recognitions, and query database with good digits.
(Please see video at 11:50 for an example application)
Our next video will be about converting older grammars to use current SISR standard.