Computational Models of Discourse

Download Report

Transcript Computational Models of Discourse

speech in, speech out
speech-in components
Nuance server
compiled recognition grammar, master language package, licence manager
Nuance client
24 listopad 2006
WS0607 – elevator
2/15
recognition grammar
anticipate user’s responses
what pieces of information are needed to complete the dialog?
in what order will they be requested?
one piece of information at a time in particular order (directed dialog),
several pieces at once, in any order, and prompt for missing items (mixed
initiative)?
24 listopad 2006
WS0607 – elevator
3/15
recognition grammar
syntax
Nuance: Grammar Specification Language (GSL)
Diamant: Speech Recognition Grammar Format (SRGF)
24 listopad 2006
WS0607 – elevator
4/15
recognition grammar
GSL grammar: doc in a file with .grammar extension; e.g. mygram.grammar
(mygram will be the resulting package name)
contents: GrammarRuleName GrammarDescription
GrammarRuleName: at least one uppercase character
GrammarDescription: sequence of words, grammar names, and operators that define a set
of recognizable word sequences
words (terminals) in lower-case
operators:
24 listopad 2006
() concat
(A B C ... Y)
A and B and ...
[ ] disjunction
[A B C ... Y ]
either A or B or...
? optional
?Y
Y is optional
+ positive closure
+Y
at least one Y
* Kleene star
*Y
zero or more Y
WS0607 – elevator
5/15
recognition grammar
GSL grammar: example expressions
[morning afternoon evening]
“morning”, “afternoon”, “evening”
(good [morning afternoon evening])
“good morning”, “good afternoon”, “good evening”
(?good [morning afternoon evening])
“good morning”, “good afternoon”, “good evening”, “morning”, “afternoon”, “evening”
(thanks +very much)
“thanks very much”, “thanks very very much”, ...
(thanks *very much)
“thanks much”, “thanks very much”, “thanks very very much”, ...
24 listopad 2006
WS0607 – elevator
6/15
recognition grammar
example GSL grammar
.grammar file
.GO_FLOOR [
FLOOR:f
(?the FLOOR:f floor)
(?the FLOOR:f please)
(?Filler ?the FLOOR:f floor ?please)
] {<floor $f>}
.slot_definitions file
floor
Filler [
(i would like to go to)
(i want to go to)
(uh)
]
FLOOR [
first
second
third
fourth
]
24 listopad 2006
{return("1")}
{return("2")}
{return("3")}
{return("4")}
WS0607 – elevator
7/15
recognition grammar
another option: SRGF and export as Nuance GSL
GrammarTest.bat
24 listopad 2006
WS0607 – elevator
8/15
recognition grammar
compiling the package (compile-package.bat)
set PKGHOME = path to your gsl file (w/o extension)
nuance-compile %PKGHOME% English.America.1.3.0
master recognition package
24 listopad 2006
WS0607 – elevator
9/15
recognition grammar
testing the grammar (text)
parse-tool -package path_to_your_model
nl-tool –package path_to_your_model –grammar grammar_in_your_model
24 listopad 2006
WS0607 – elevator
10/15
speech recognition
running Nuance:
licence manager: lm.bat
recognition server: rs.bat
set PKGHOME = path to your compiled model
recserver -package %PKGHOME% lm.Addresses=localhost config. ...
testing the grammar (speech)
xapp -package path to your compiled model lm.Addresses=localhost
24 listopad 2006
WS0607 – elevator
11/15
Diamant with speech-in
running nuance client
edit Diamant config file: Clients.ini
NuanceClient.bat
(btw, have the licence manager and the server running too... duh!...)
24 listopad 2006
WS0607 – elevator
12/15
Diamant with speech-in
adding speech-in
add device as usual
activate recognition: output <string> „start” (start command) to nuance client
read (speech) input from nuance
client into variable as usual
access recognition confidence
(of type Real) like this: var#confidence
24 listopad 2006
WS0607 – elevator
13/15
speech-out components
Mary server
online at DFKI...
Mary client
MaryClient.bat
24 listopad 2006
WS0607 – elevator
14/15
Diamant with speech-out
adding speech-out
add device as usual
optionally, set format: {format =
<string>}
(default plain text) and voice
{voice = <string>}
in output node, output <string> to Mary client as usual
24 listopad 2006
WS0607 – elevator
15/15
speech-enabled dialogs
recognition tends to be imperfect...
if recognition confidence low, then, for example (btw, think:
grounding):
repeat question
ask for confirmation („did you say blah?”)
inform user what they can say („you can say blah, bloo, and blee, please try
again”)
but... don’t let user get stuck in endless clarification dialog either!
24 listopad 2006
WS0607 – elevator
16/15