Feedback

  • Contents
 

Use Filler Rules or Garbage Rules to Catch Unimportant Words in Responses

        On this page Hide

In SRGS grammars, you use filler rules or garbage rules to separate the unimportant, contextual words and phrases from the important words and phrases (tokens) that result in specific data and actions.

Filler rules

Filler rules in grammars are when you define the optional words and phrases that a caller might say. Since you define common unimportant words in filler rules, the confidence level of the recognition is usually higher. However, the larger a grammar increases in size, the lower the confidence levels might descend without further tuning. To use filler rules in grammars, ensure that you include only those unimportant rules that a majority of IVR callers use. Defining filler rules with unimportant words that callers say infrequently or not at all impacts the efficiency and accuracy of speech recognition.

ABNF example of filler rules

#ABNF 1.0;
language en-us;
mode voice;
tag-format <semantics/1.0>;
root $DepartureCity;
$DepartureCity =
$PreFiller
(springfield [missouri] {out.city="Springfield"; 
 
out.state="Missouri"} |
dallas [texas] {out.city="Dallas"; 
 
out.state="Texas"})
$PostFiller;
$PreFiller =
[ ([i would | id] like to (leave 
 
| depart) from) | ([i am | im](leaving | departing) from) ];
$PostFiller =
[ please ];		

GrXML example of filler rules

<?xml version="1.0"?>
<grammar xmlns="http://www.w3.org/2001/06/grammar"
xml:lang="en-US"
root="cities"
mode="voice">
<rule id="cities">
<ruleref 
 
uri="#filler"/>
<one-of>
<item>
Springfield
<item 
 
repeat="0-1">Missouri</item>
<tag>out.city="Springfield";out.state="Missouri";</tag>
</item>
<item>
Dallas
<item 
 
repeat="0-1">Texas</item>
<tag>out.city="Dallas";out.state="Texas";</tag>
</item>
</one-of>
<ruleref 
 
uri="#filler"/>
</rule>
<rule id="filler">
<one-of>
<item 
 
repeat="0-1">I would</item>
<item 
 
repeat="0-1">Id</item>
<item 
 
repeat="0-1">I am</item>
<item 
 
repeat="0-1">Im</item>
</one-of>
<item 
 
repeat="0-1">like to</item>
<one-of>
<item 
 
repeat="0-1">leave</item>
<item 
 
repeat="0-1">depart</item>
<item 
 
repeat="0-1">leaving</item>
<item 
 
repeat="0-1">departing</item>
</one-of>
<item 
 
repeat="0-1">from</item>
</rule>
</grammar>

Garbage rules

Garbage rules are a part of the SRGS special rules—along with NULL and VOID—in the SRGS specification. Garbage rules use a single entity to ignore unimportant words that may or may not occur within a grammar rule. While you can use garbage rules to account for a wide number of possible responses, garbage rules generally decrease speech recognition confidence levels as it is more difficult for the speech engine to discern what speech does not match a defined token.

Important!

While filler rules and garbage rules can provide benefits, Genesys recommends that you use these types of rules sparingly. For filler rules, define only unimportant words and phrases that occur frequently in responses to avoid needlessly inflating grammar sizes. For garbage rules, do not use them as filters for large numbers of unimportant words as recognition confidence levels decrease.

The following grammar examples define filler rules or garbage rules to use in the rule for recognizing a city of departure, as when reserving passage on a commercial flight. The important part of the grammar is the city of departure. The filler rules and garbage rules are for any other commonly spoken words that are unimportant in the response, as a caller might say in the following examples:

  • "I would like to depart from Springfield, Missouri, please."

  • "I'm leaving from Springfield."

  • "I am departing from Springfield."

  • "Leave Springfield."

ABNF example of garbage rules

#ABNF 1.0;
language en-us;
mode voice;
tag-format <semantics/1.0>;
root $DepartureCity;
$DepartureCity =
$GARBAGE
((springfield [missouri]) {out.city="Springfield"; 
 
out.state="Missouri";}) |
(dallas [texas] {out.city="Dallas"; 
 
out.state="Texas";})
$GARBAGE;

GrXML example of garbage rules

<?xml version="1.0"?>
<grammar xmlns="http://www.w3.org/2001/06/grammar"
xml:lang="en-US"
root="cities"
mode="voice">
<rule id="cities">
<ruleref 
 
special="GARBAGE"/>
<one-of>
<item>
Springfield
<item 
 
repeat="0-1">Missouri</item>
<tag>out.city="Springfield";out.state="Missouri";</tag>
</item>
<item>
Dallas
<item 
 
repeat="0-1">Texas</item>
<tag>out.city="Dallas";out.state="Texas";</tag>
</item>
</one-of>
<ruleref 
 
special="GARBAGE"/>
</rule>
</grammar>