Speech Recognition Control Language (SRCL) is a grammar formalism produced by the Speech Recognition API Committee (http://www.srapi.com) and the Enterprise Computer Telephony Forum (http://www.ectf.org). It is a particular type of the Backus-Naur Form (BNF) of grammars, which is well understood among the formal language and linguistics communities.
Most computational linguists write grammars based on the constructs of a language, such as noun phrase and intransitive verb, but it has been shown that grammars that effectively offer a template mechanism allow greater recognition rates with lower computation required, since simple pattern matching is sufficient on the output of the speech engine.
However, a user will need to be trained such that their speech will conform to the templates, and only in limited domains can this ever apply.
The grammar in Figure 2.1 is in SRCL format, and uses such a template mechanism and will allow utterances such as ``follow me'', ``may I see your passport'' and ``good evening may I see your invitation''.
In the SRCL format, each rule has a '=' to separate the left hand
side from the right. Each nonterminal is surrounded by '<>' whilst
there is no delimiter for terminals. Regular expressions may be used
upon the nonterminals within the right hand side of each rule, for
example the use of '
' to indicate optionality (0-1 of the
nonterminal), a '
' to indicate
of the nonterminal
it follows, and a '
' to indicate
of the preceding
non-terminal [14].
The SRCL grammar allows tagging of the terminals which can be preserved
in the output of an engine enabling an element of structure to passed
as output, (as generally they output a list of terminals with no structure).
The example shows the possible expansions of the
nonterminal
each being annotated with the string ``documentType''.