OmniTouch 4625 CCivr
ASR MANUAL – April 2011
Information in this document is subject to change without any notice. The content of this manual is for information only and may
not apply to your region and/or to your certification level. This manual is not legally binding.
© 2000-2011 Alcatel-Lucent - All rights reserved
1/31
OmniTouch 4625 CCivr – ASR MANUAL –
Contents
OmniTouch 4625 CCivr ..............................................................................................................1 1 Overview.................................................................................................................................3 2 Recognition is based on Grammars ......................................................................................3 3 ASR Recognition parameters ................................................................................................4 4 3.1 How to visualize Nuance CCivr licenses........................................................................4 3.2 ASR Recognition parameters .........................................................................................4 3.3 Starting voice recognition with trigger mechanism.........................................................7 3.4 Stop recognition with trigger mechanism .......................................................................8 Nuance Packages and tools ..................................................................................................8 4.1 Create New Project: (e.g. department.nuance) .............................................................9 4.2 Create a grammar file ...................................................................................................10 4.3 Compile the created project..........................................................................................10 4.3.1 “Grammar Package” loading.................................................................................11 4.3.2 Grammars importation ..........................................................................................12 4.3.3 De-activation of Packages ....................................................................................13 4.3.4 Create a grammar .................................................................................................14 4.3.5 Including grammar files .........................................................................................16 4.4 GetInput Building Block ................................................................................................17 4.4.1 GetInput BB results ...............................................................................................17 4.4.2 Results of voice recognition ..................................................................................18 4.5 Non NLU grammar........................................................................................................19 4.5.1 4.6 Script using Non NLU grammar ............................................................................20 NLU: Natural Language Understanding .......................................................................21 5 Speech recognition is ready for your applications ...............................................................21 6 Annex – one example ..........................................................................................................23 6.1 "Nuance Grammar Builder" tool to create grammar recognizing "Yes" and "No" .......23 6.2 Use this grammar with GetInput BB for recognition.....................................................25 2/31
OmniTouch 4625 CCivr – ASR MANUAL –
1 Overview
This ASR Manual is focusing on Nuance. Please remind there are other
vendors like Loquendo and Telisma*, with comparable tools.
It’s no more than an introduction to ASR. For reference documentation,
please use Nuance or Loquendo documentation. Training is mandatory
to become autonomous on ASR: a first level is provided by AlcatelLucent training or Alcatel-Lucent Professional Services. For more
advanced capabilities please attend Nuance training or involve Nuance
Professional Services.
ASR is speaker independent and language dependant
Several levels of Nuance ASR :
z Nuance ASR 8.5 tier 1 up to 250 words,
z Other
Tier are available on demand :
Tier 2 for up to 2500 words
Tier 3 unlimited amount of words and closed grammar
Tier 4 unlimited and open grammar
2 Recognition is based on Grammars
Automatic Speech recognition is in theory “SPEECH - TO – TEXT”
So ASR is about Text or Key Words or “Grammars”.
One grammar is written in Grammar Specification Language or GSL
z Single word / group of words recognition
Grammar types
z Non “Natural Language Understanding” grammar: the recognized
words are considered as words
z Natural Language Understanding (NLU) grammar: an interpretation is
associated to the recognized words
E.g: recognized word “Mary” can be associated to the phone
number “35500”
Keywords are more natural than DTMF codes in menu. Example:
DTMF => If you are a runner: press 1, organization: press 2,
support: press 3, journalist: press 4, for public: press 5.
ASR => Are you a runner, organization, support or journalist or
public?
z Automated Attendant
Based on names recognition (called party name, product
names, town names, etc…)
Transfer to the associated extension.
3/31
OmniTouch 4625 CCivr – ASR MANUAL –
3 ASR Recognition parameters
3.1 How to visualize Nuance CCivr licenses
You can go through “Configuration / System / Features” to see Nuance installed
licenses.
By this way, you will know the maximum number of simultaneous lines that can use
Nuance Automatic Speech Recognition.
Number of simultaneous accesses (sessions), for each language, by step of 2.
90 sessions maximum (simultaneous use of ASR engine)
3.2 ASR Recognition parameters
ASR efficiency depends on the management of recognition parameters like
“Acceptance”, “Accuracy”, “Sensitivity” …
These parameters are grouped together in an object called “Dialog Step”. These
values can be managed:
At system level (used by all applications)
z Login Panel / Configuration / Application / SIR Parameter
At application level (different management possibilities)
z Configuration / Application / SIR Parameter (and select the right
“dialog step”)
z In SIR enabled BB (e.g. GetInput, AllocatedSIR)
4/31
OmniTouch 4625 CCivr – ASR MANUAL –
Configuration / Application / SIR Parameters in the “login panel”
Configuration / Application / SIR Parameter at Application Level
4625 CCIVR Application Generator and Configuration screen are using some
parameter names but Nuance ones are different. Other ASR vendors will use other
names for ASR tuning parameters.
5/31
OmniTouch 4625 CCivr – ASR MANUAL –
Please refer to the ASR vendor documentation and some training / assistance is
recommended.
Recognition Parameter Mapping:
CCIVR names
Nuance parameters names
Acceptance
rec.ConfidenceRejectionThreshold
Accuracy
rec.Pruning (Nuance naming)
Sensitivity
ep.ThresholdSnrt
N-Best
rec.DoNBest
End of Speech
ep.EndSeconds
Recognition
treated within STS_Nuance
Start of Speech
ep.StartSeconds
And there are more parameters!
Some explanations
Acceptance: Specify threshold for recognition acceptance by entering the required
percentage in the Acceptance box. You can also use the appropriate slide control.
Default value is 50%.
It is recommended that values over 90% and below 20% are not used.
Accuracy: State value for recognition accuracy by entering it in the Accuracy box.
You can also use the appropriate slide control.
Default value is 1000.
The higher the value, the more precise the recognition (but more CPU will
be needed!). 300 is recommended as minimum for a small vocabulary. For larger
vocabularies, the value should be six times the maximum branching factor of the
used grammar. The maximum branching factor is defined as "the maximum number
of words that can follow a word or silence at any point in the grammar". The
maximum is 1400.
Sensitivity: State threshold value for the triggering of the speech recognition by
entering the required value in the Sensitivity box. You can also use the appropriate
slide control. Using the Sensitivity parameter you can specify the energy level
which a signal must exceed the "noise floor" to be recognized as speech.
Recommended values: 6-10 dB
N-Best: If the “N-Best” function is switched off, speech recognition only provides
the best recognized result. If it is turned on, speech recognition provides not only
the best recognized result but also a word sequence with alternatives and their
probabilities.
End of speech: Specify the minimum period of silence during speech input before
it is assumed to be complete. For this, enter the required value in the End of
speech box.
Default value is 300ms.
800ms are recommended for continuous speech input. 300ms should be used
for recognition of isolated words.
6/31
OmniTouch 4625 CCivr – ASR MANUAL –
Recognition: Specify the maximum time during which speech recognition should
remain active.
Default value is 100 sec.
Start of speech: Specify how long speech activity is to be detected on the line
before speech recognition begins. Enter the required value for this in the Start of
speech box.
Default value is 300ms.
Using this parameter you can raise the tolerance of the speech recognition in
case of background noises and interference.
Closure Result Threshold: It is the ratio of the selected words according to the
ration of the best selected.
Example: 3 words are recognized (one at 80%, two at 65%, three at 59%), so
if “closure result threshold is 20%, only 2 words (one and two) will be kept,
because of the probability (80%-20%=60%)
3.3 Starting voice recognition with trigger mechanism
Amplitude is higher than threshold for a minimum duration
Sensitivity:
Sensitivity level is not a fixed value. You can manage it.
It is defined as level higher than the basic level (mainly the noise floor).
It is important to configure the Sensitivity level in Noisy environment (public
places, mobile phone call…)
If the Input signal level exceeds the Sensitivity threshold during a time greater
than Start of Speech, then an input is detected
7/31
OmniTouch 4625 CCivr – ASR MANUAL –
3.4 Stop recognition with trigger mechanism
On a recognition result
On timeouts
No speech, no DTMF
Non recognizable speech
Exception in the building block
No speech, no DTMF:
The relevant time-out can be defined in the building block and is named ‘First Key
Timeout’.
Non recognizable speech:
If the sensitivity level is reached but no end of speech is detected (E.g. noisy line),
then the recognition stops after expiration of ‘recognition’ time-out.
Exception in the building block:
Recognition stops in any case when the building block is stopped.
4 Nuance Packages and tools
Nuance “Grammar Package” = SIR “Context”
No “package design tools” in 4625 CCIVR
z Packages are “language-dependent” (and will be stored on language
specific directories on 4625 CCivr server)
z 2 different tools for the Grammar building:
Tool: Text editor
{ Written in a text file and save with the extension
".grammar"
8/31
OmniTouch 4625 CCivr – ASR MANUAL –
Tool: Nuance "Grammar Builder"
{ Graphic User Interface: GUI (NGB)
z Grammar “Compilation” done (outside 4625 CCIVR) using NGB
Each package (actually its main grammar) must have unambiguous name
4.1 Create New Project: (e.g. department.nuance)
Open "Grammar Builder" tool:
z Start/ Programs/ Nuance/ Grammar Builder/ NGB
z Create a project. A project is a collection of all the parameters
related to the grammar package
File/ New
9/31
OmniTouch 4625 CCivr – ASR MANUAL –
4.2 Create a grammar file
z File/ New
z Write the grammar and save it
4.3 Compile the created project
After saving the grammar, your project must be compiled. Choose language for
recognition package.
10/31
OmniTouch 4625 CCivr – ASR MANUAL –
If compilation is OK, this message will appear
4.3.1
“Grammar Package” loading
Readily compiled (binary) package (whole directory tree!) must be imported
using the Configuration Client ( CCIVR login panel / “configuration” tool)
ALL packages ever needed by attached applications must be “told” to
platform
Once loaded, each application may use the packages needed
Optimizations (free engine pool”) exist
Packages of different languages may be loaded!
11/31
OmniTouch 4625 CCivr – ASR MANUAL –
4.3.2
Grammars importation
Note : The process "nlm.exe" (Nuance License Manager) must be started before activating the
ASR project loaded. Please use DeployNuanceAsrLicense available on Business Portal.
See Nuance ASR License Deployment Guide in Annexes for more details
12/31
OmniTouch 4625 CCivr – ASR MANUAL –
4.3.3
De-activation of Packages
If you don’t need a Nuance package anymore, you can de-activate it:
Stop application (verify that there is no more attachment on it, stop
debug…)
Configuration / Application / SIR Context
1. Click on the arrow
2. Click on Activate
3. Press Ok. “The Grammar Packages to load” window should be empty now.
The package has been deactivated!
4. Select the package you want in the tree.
5. Click on Delete if you don’t use anymore this package in your application or
Import a new package.
13/31
OmniTouch 4625 CCivr – ASR MANUAL –
4.3.4
Create a grammar
z Create a grammar file
It's a text file (“.grammar”; e.g: “test.grammar” where “test”
is the grammar file name)
Grammar file contains a grammar
z The grammar name must contain at least 1 upper case, and start with
a dot (e.g: ‘.Mygrammar’)
z It contains a group of definitions formatted like:
Grammar_name Grammar_description
z A grammar description contains a list of words, sub-grammars, and
operators which define the recognizing utterances.
z The grammar is written using a specific language called Grammar
Specification Language (GSL)
The description of the grammar uses 5 operators:
z () [ ] ? + *
14/31
OmniTouch 4625 CCivr – ASR MANUAL –
You can build a hierarchy of grammars using sub-grammars, also called
grammar rules.
z Sub-grammar name does not start with a dot (.)
z Sub-grammar name must contain at least 1 upper case
E.g: ‘Name’
By breaking a grammar into smaller units, you
can create components that are reusable by
multiple grammars or applications.
The use of sub-grammars:
z Simplifies grammar creation and revision
z Helps focus the grammar development to the task at hand
z Hides unnecessary details and promotes modularity
For example, a grammar defining how to say a date might have subgrammars
for day, month, and year, and those subgrammars might reference
subgrammars for different ways of saying numbers, and so on:
The top-level grammar .Date can then be referenced by applications for
recognition, without needing to know anything about the subgrammars used
by the .Date grammar.
To include the contents of a subgrammar in a grammar description, you just
refer to the subgrammar by its unique name as you do with a word name.
The description of the subgrammar referred to is included in exactly the
location you specify it in.
15/31
OmniTouch 4625 CCivr – ASR MANUAL –
For example, the following grammars describe naturally phrased numbers from 0 to
99. Four subgrammars are defined and then used to create the top-level grammar
.N0-99, that can be referenced by applications
Phrases defined by the top-level grammar .N0-99 include: “two,” “eight two,”
“zero,” “seventeen,” “fifty,” and “thirty nine.”
4.3.5
Including grammar files
In many cases the grammars for a particular application are defined in a
single main grammar specification file. However, you can use the #include
directive to include a grammar file in a static grammar.
z To create modular subgrammars that you can later include in the
grammar file for one or more applications
z To keep your application grammar files smaller and simpler
z Included grammar files can contain both subgrammars and top-level
grammars.
When the grammar file is compiled, any GSL line of the form #include
"filename.grammar" is replaced by the contents of the file
filename.grammar.
16/31
OmniTouch 4625 CCivr – ASR MANUAL –
The grammar compiler searches for your include files locally—that is, in the
directory where the compiler is run. If you want to include a Nuance sample
grammar, copy this grammar from the grammars directory (for example,
%NUANCE%\data\lang\language\grammars\) to the directory where the compiler is
run or Right Click on it then Add to Project from NGB.
An included file may itself contain #include lines. Using the #include directive is
necessary when your grammars are defined in more than one file, since you can
pass one file only as an argument to the command-line compiler.
4.4 GetInput Building Block
“GetInput” Building block is necessary to use Nuance ASR feature
z SIR parameters (grammar, result…)
z no “SelectFromMenu” BB with Nuance ASR
z Prompt language has no effect on recognition (only loaded packages!)
4.4.1
GetInput BB results
Results “recognized”: a list of strings (N-Best) contains either “Word only”,
“formatted results” (selectable per BB) or “NLU” slots:
“Word only” returns the plain result string (e.g.: For digits
recognition “one two”)
“NLU slots” returns a string which can be converted into a
structure to get the slot values with their confidences and
interpretations. (e.g.:{‘slot1’[‘confidence’ ‘int1’…’int n’] …
’slotX’[‘confidence’ ‘int1’…’int n’]}), one slot can point to
multiple interpretations.
17/31
OmniTouch 4625 CCivr – ASR MANUAL –
4.4.2
Results of voice recognition
Voice recognition system provides different results, maybe with different
probabilities result:
As the result is influenced by many parameters (noise, there are not 2
speaker speaking similar,… ) the recognition system detects different
results, maybe with different probabilities.
E.g. Meier / Reiher: Result will be Meier 80%, Reiher 76 %
z List of possible results (N-Best)
z List of associated probabilities
The designer has to decide on the results
In some cases the result is below e.g. 20%. In such a case the designer has to re-ask
for input. Or two results are close together. The designer should offer the two
results for a new decision between them.
z Whether result is good enough or not
Accept or reject it
z Or offer a limited choice of possibilities for new decision
According to the received results with highest probabilities
This analysis is the post processing
z Decision algorithm (context sensitive)
Bad results very often a consequence of bad ergonomic. Please check:
z How questions can be understood
z Keywords choice (similar keywords or too short words)
Note that similar word for human perception is not always
similar for the recognition engine. E.g.: CAR and BAR are
similar for human understanding but very different for the
CCivr recognition engine
18/31
OmniTouch 4625 CCivr – ASR MANUAL –
4.5 Non NLU grammar
Non NLU grammar means that the Nuance Speech recognition engine will
recognizes callers’ utterances and will consider them as word: no
interpretation is associated to it.
Non NLU grammar example:
This grammar recognizes 2 words: “training” or “support”
19/31
OmniTouch 4625 CCivr – ASR MANUAL –
4.5.1
Script using Non NLU grammar
In the “GetInput” BB, the “list expression defining context” parameter must be
managed as follows:
• Enter the grammar name: [‘.Agent’]
• Or enter a “list” type variable containing the grammar name: $var=
[‘.Agent’]
20/31
OmniTouch 4625 CCivr – ASR MANUAL –
4.6 NLU: Natural Language Understanding
The natural language system generates some interpretations matching the
input utterances (speaking) and the grammars
The NLU Nuance returns a structured interpretation based on commands like
"slot-filling" or "return".
The Natural language commands are specified between braces ({…..}).
You have to create a slot definitions file before using the NLU Nuance.
z The file must be called name_master.slot_definitions, where name
corresponds to the name of the recognition package.
z The file provides a list of all the used name of slots (one per line)
z Example with slot filling only
Mygrammar (?from [(?my checking ?account) {<source-account checking>}
(?my saving ?account) {<source-account saving>}])
‘.Mygrammar’ is the grammar name
‘source-account’ is the slot name
For the utterances said “from my checking account, my checking,
checking…", the slot ‘source-account’ will return, every time, "checking"
The "return" commands allow you to associate a value without filling a slot
The "return" value is not displayed inside the interpretations.
z You need to affect the "return" value to a variable.
The Grammar syntax is the following one:
‘.Result’ is the grammar name & ‘Saying’ is a sub-grammar
‘var’ is a variable name & ‘test’ is the slot name
For the utterances said “yes”, “ye”, the slot “test” will return the value “1”
5 Speech recognition is ready for your
applications
However, it should be handled with minimum care
z In the way to ask the question
z In the keywords choice...
Several ASR Engines are available on 4625 CCIVR :
21/31
OmniTouch 4625 CCivr – ASR MANUAL –
z
z
z
z
Nuance
Loquendo ASR
Others SDK (Telisma…)
These technologies are exclusive and cannot co-exist on a same IVR.
Please ask for free temporary ASR licenses. Use eSR or fill form
exposed on Business Portal
22/31
OmniTouch 4625 CCivr – ASR MANUAL –
6 Annex – one example
Create a simple voice recognition application
6.1 "Nuance Grammar Builder" tool to create grammar
recognizing "Yes" and "No"
-
Open the tool "Grammar Builder"
-
Create a new project
-
Then create your grammar
We will call this grammar « yesno »
-
An edition window appears, write your grammar
The grammar name must have at least one upper case character (at least the first
character)
23/31
OmniTouch 4625 CCivr – ASR MANUAL –
-
Save this grammar
Once this grammar has been saved, your project must be compiled.
-
Compile your project
Choose the language for the recognition package
24/31
OmniTouch 4625 CCivr – ASR MANUAL –
-
Follow the compilation steps in the « Output Window »
6.2 Use this grammar with GetInput BB for recognition.
-
Create this application
TTS is used in the GetInput and the PlayVoice.
25/31
OmniTouch 4625 CCivr – ASR MANUAL –
-
In the GetInput BB options, enter the grammar which will be used
Note:
The expression used to define the grammar is a "list" type object.
-
Check the option « Word only » in the SIR parameters menu.
-
BB Calculation detail:
Because you have selected « Word only » in the BB Getinput, the BB result
GetInput.recognised will return a list of strings recognized by the grammar.
The variable $word is a string type.
The first element in this list has the best probability to map the word that you will have
said.
26/31
OmniTouch 4625 CCivr – ASR MANUAL –
Then we test the result of the recognition thanks to a BB Branch.
-
Branch "Yes" detail:
-
Branch "No" detail:
Save this application and import the grammar.
27/31
OmniTouch 4625 CCivr – ASR MANUAL –
-
Import the grammar in your application
-
Select the language for the package you want to import
28/31
OmniTouch 4625 CCivr – ASR MANUAL –
-
Precise the location where you can found the package you want to import, you have to
select the dictionary file for your grammar.
-
Validate your choice
29/31
OmniTouch 4625 CCivr – ASR MANUAL –
-
The package appears on the left in the window
-
You have to load (put the package on the right in the window) and to activate the
package
o
p
n
q
30/31
OmniTouch 4625 CCivr – ASR MANUAL –
-
The grammar is now available for your application
You have to test now your application.
Alcatel-Lucent, Lucent, Alcatel-Lucent and the Alcatel-Lucent logo are trademarks of Alcatel-Lucent.
All other trademarks are the property of their respective owners. The information presented is subject
to change without notice. Alcatel-Lucent assumes no responsibility for inaccuracies contained herein.
© 2000-2011 Alcatel-Lucent All rights reserved.
31/31
OmniTouch 4625 CCivr – ASR MANUAL –
© Copyright 2025 Paperzz