Specifiche funzionali Integrazione comandi vocali

Transcript

Specifiche funzionali Integrazione comandi vocali
Integrazione VUI con Ambiente di sviluppo della “Story”
Specifiche tecniche
L’ambiente di sviluppo VOCS prevede ce ad ogni azione eseguita dal player
dello storyteller venga inviato un feedback a Speaky che interagisce con
l’utente in maniera appropriata con eventuali prompt vocali.
Il Player dello Storyteller reagisce ad usa serie di eventi definiti, in fase di
progettazione, dall’autore della “Story”. Ad ogni evento corrisponde un insieme
di azioni che il player eseguirà a seguito dell’evento specifico. L’autore della
“Story” potrà, opzionalmente, associare ad ogni evento oppure ad ogni azione,
un insieme di comandi vocali che scateneranno i medesimi eventi o le
medesime azioni, ma nella modalità di interazione vocale .
Le azioni associate ai comandi vocali, o alle diverse interazioni tra utente e
“Story” (tramite il player), sono le medesime. In aggiunta un comando vocale
potrà sollevare anche più azioni contemporaneamente.
Interfaccia per Input e Output Vocale:
L’ambiente di sviluppo della “Story” verrà corredato con una interfaccia per
l’inserimento degli elementi Vocali. Tali elementi sono di due tipi differenti,
input vocali (“Speaky Speech Input”) e output vocali (“Speaky Speech
Output”);
Speaky Speech Input (SSI)
Più frasi per ogni evento/azione (Control Block):
Gli input vocali sono insiemi di frasi alle quali è assegnato un significato
specifico corrispondente ad un evento oppure ad una azione predefinita
all’interno dei blocchi evento o blocchi di controllo/azioni dello script (plot)
della “Story”. Ogni evento o azione avrà quindi una o più frasi (comandi vocali)
che lo scatenano.
Comandi vocali duplicati: (Ambiguità)
Ogni frase potrà essere duplicata per altri eventi o azioni relativi a differenti
script all’interno della “Story” (ad es. in scene diverse tra loro). Per risolvere
l’ambiguità il player vocale invierà di volta in volta a Speaky lo stato in cui si
trova (es. in quale scena o gruppo di scene, o stato specifico all’interno della
scena, ecc.). Questa informazione permetterà a Speaky di inviare il codice
corretto, dell’evento o dell’azione, al player rispetto al contesto in cui si trova.
Questa attività di disambiguazione la definiamo come “Sistema automatico di
disambiguazione”.
In alternativa questo compito potrà essere demandato al player che scatena
l’evento o esegue l’azione corrispondente in base al contesto in cui si trova.
Il sistema di sviluppo controlla i comandi vocali inseriti durante la definizione
della “Story” ed evidenzia all’autore le eventuali anomalie e duplicati. L’autore
potrà quindi stabilire se risolvere i duplicati con frasi differenti oppure lasciare
al “sistema automatico di disambiguazione” tale compito.
Speaky Speech Output (SSO)
Feedback o Prompt vocali: Casualità, Prosodia ed Emozione.
L’autore della “Story” ha la possibilità di definire, per ogni azione effettuata dal
player, durante l’interazione con l’utente, una serie di feedback vocali o frasi
che verranno erogate da Speaky. In particolare ogni feedback vocale verrà
associato ad un codice specifico. Ad ogni codice corrispondono una o più frasi
che Speaky erogherà in maniera casuale per dare l’impressione della variabilità
con cui risponde alle medesime azioni all’interno della “Story”.
I feedback vocali possono essere corredati da effetti prosodici (tag di prosodia)
o espressivi (tag emozionali) in maniera da rendere emozionante ed
accattivante la comunicazione con l’utente della “Story”.
L’interfaccia
di
sviluppo
utilizzata
dall’autore
della
“Story”
prevede
la
costruzione dei prompt vocali in maniera semplice ed intuitiva e permette
l’inserimento dei tag, di prosodia ed emozionali, in modalità grafica.
Le componenti per l’ambiente di sviluppo
L’ambiente di sviluppo della “Story” utilizzerà una serie di componenti grafiche
per l’inserimento degli elementi vocali sopra definiti ovvero gli “Speaky Speech
Input” e “Speaky Speech Output”. Tali componenti verranno implementati
utilizzando l’ambiente di sviluppo Microsoft Visual Studio .Net 2010. Esse
saranno componenti contenenti le API (Application Programming Interface) per
l’integrazione delle stesse nell’ambiente di sviluppo della “Story” e si declinano
in interfacce grafiche per l’inserimento degli elementi vocali durante la
costruzione della “Story”. L’autore utilizzerà tali interfacce grafiche per definire
gli elementi vocali.
L’ambiente di sviluppo delle “Story” è sviluppato con l’ambiente Microsoft
Visual Studio 2010 .Net ed il linguaggio specifico è VC++ Nativo (non .NET). Il
linguaggio di programmazione per le componenti vocali è invece C#.NET.
Considerando gli ambienti e i linguaggi di programmazione utilizzati verrà
sviluppata una interfaccia per la comunicazione tra i vari ambienti di sviluppo.
Il Flusso di Dialogo
Il flusso di dialogo che deriva dalla implementazione della “Story” è costruito in
base alla struttura della “Story” stessa così come definita nel documento
specifico. Qui di seguito vediamo come si mappa la struttura del dialogo vocale
con la struttura della “Story” sulla base delle componenti che la costituiscono.
Il Dialogo Vocale può essere inoltre personalizzato in alcuni suoi elementi
dall’autore della “Story”. Tali personalizzazioni sono di seguito descritte.
Es. Definire comportamenti alternativi per i comandi universali, accorpare gli
stati di dialogo (import di stati), definire gli stati di transizione (es. stati di
conferma comando vocale), ecc.