10 - Riconoscimento vocale

Version 38.1 by administrator BDP on 2019/03/25 15:55

GetAlfaNumCode (CGetAlfaNumCode)

Richiede al chiamante, tramite riconoscimento vocale, il codice di identificazione alfanumerico, eseguendo un riconoscimento vocale per ogni carattere del codice. In alternativa è in grado di riconoscere anche i toni DTMF. E' necessario che sul sistema sia stato installato un motore di riconoscimento vocale SAPI compatibile, con relative licenze, non fornito con il Messenger oppure un motore integrato (disponibile solamente utilizzando LightHouse).

Parametri di Configurazione

ParametriDescrizione
Tipo di motore di sintesi vocale

Selezionare il tipo di motore tra i seguenti:

Directory contenente i file wav/aviIndicare la directory, o selezionare dalla lista, tramite il pulsante Browse, in cui sono contenuti i messaggi che il sistema deve riprodurre al chiamante. La tabella sotto Messaggi Disponibili riporta l'elenco dei messaggi utilizzabili.
MotoreSelezionare il motore di riconoscimento vocale da utilizzare dal sistema. Nota: il suo valore dipende dai motori installati nel sistema.
Abilita Beep di avviso ad inizio riconoscimentoIndicare se deve essere emesso un breve segnale acustico prima di ogni fase di riconoscimento vocale.
Termina riconoscimento su ricezione DigitIndicare se la fase di riconoscimento può essere interrotta dalla pressione di un tasto dal parte dell'utente. Se abilitato, i tasti numerici entrano a far parte del codice, mentre * e # concludono l'acquisizione dei caratteri (fine del codice).
Tempo massimo di attesa (secondi)Se è stato selezionato un motore SAPI, specificare il tempo massimo, in secondi, di ogni fase di riconoscimento vocale. Valore predefinito: 20 secondi.
Massimo silenzio iniziale (secondi)Se è stato selezionato un motore integrato, specificare il periodo massimo di silenzio, in secondi, che il riconoscimento attende, prima che l'utente cominci a parlare, prima di uscire per fallimento.  Valore predefinito: 20 secondi.
Soglia di affidabilità (0-100)Indicare un valore tra 1 e 100 che indica il grado di sicurezza con cui un carattere deve essere riconosciuto per poter essere considerato valido. Valori alti indicano maggiore precisione e, quindi, maggior probabilità di nessun riconoscimento. Valore predefinito: 70.
Numero massimo tentativiNumero massimo di tentativi in caso di codice non valido (nessuna digitazione).
Lunghezza massima dei codiciNumero massimo di digit del codice utente. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un Call Data.
File Grammatica da utilizzareNome del file contenente la grammatica da utilizzare. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un Call Data.
Nome Transfer PropertySelezionare la Transfer Property in cui viene salvati il codice acquisito.
Servizio successivo se riconoscimento validoSolamente configurando il Servizio tramite Messenger Configurator. Selezionare dall'elenco il servizio da attivare nel caso di codice riconosciuto e confermato dall'utente.
Servizio successivo per mancato riconoscimentoSolamente configurando il Servizio tramite Messenger Configurator. Selezionare dall'elenco il servizio da attivare nel caso di codice NON riconosciuto o NON confermato dall'utente.
  

Messaggi Disponibili

Nome FileMessaggio
IntroMessage.wavMessaggio di accoglienza con istruzioni per l'inserimento del proprio codice.
CharNotRecognized.wavComunica che il riconoscimento del carattere corrente non è andato a buon fine.
RecognizedCodeIs.wavMessaggio del tipo: "Il codice riconosciuto è...".
confirm.wavMessaggio del tipo: "Premere 1 per confermare, 0 per riprovare...".
RepeatCode.wavInvita l'utente a riprovare il riconoscimento del codice dall'inizio.
  

Grammatica

Il file contenente la definizione della grammatica utilizzata per il riconoscimento del codice dell'utente ha la struttura di un file INI con le seguenti quattro sezioni:

  • La sezione [Grammar] contiene i parametri generali della grammatica, attualmente il solo nome.
  • La sezione [List] contiene le associazioni tra le parole che il sistema deve essere in grado di riconoscere ed il relativo carattere da aggiungere al codice nel caso che il sistema riconosca una certa parola.
  • La sezione [Stop] indica le parole chiave che il sistema deve considerare come conclusione del codice; utili nel caso in cui i codici cliente non siano tutti della stessa lunghezza.
  • La sezione [ConfirmOptions] contiene le opzioni ammesse per la conferma del codice riconosciuto dal sistema;
    • la chiave "Confirm" indica la parola che deve essere pronunciata dal cliente per confermare il codice riconosciuto
    • la chiave "Cancel" indica la parola per annullare il riconoscimento e introdurre il codice dall'inizio.

Esempio File Grammatica

[Grammar]
Type=AlfaCode
[List]
0=0
1=1
2=2
3=3
4=4
5=5
6=6
7=7
8=8
9=9
uno=1
due=2
tre=3
quattro=4
cinque=5
sei=6
sette=7
otto=8
nove=9
zero=0
a=A
bi=B
ci=C
di=D
e=E
effe=F
gi=G
acca=H
i=I
elle=L
emme=M
enne=N
o=O
pi=P
qu=Q
erre=R
esse=S
ti=T
u=U
vu=V
zeta=Z
x=X
y=Y
k=K
j=J
w=W
ics=X
ipsilon=Y
cappa=K
vudoppia=W
doppiavu=W
gei=J
ilunga=J
igreca=Y
Ancona=A
Bologna=B
Catania=C
Domodossola=D
Empoli=E
Firenze=F
Genova=G
Hotel=H
Imperia=I
Livorno=L
Milano=M
Napoli=N
Otranto=O
Palermo=P
Quadro=Q
Roma=R
Savona=S
Torino=T
Urbino=U
Verona=V
Zagabria=Z
[Stop]
stop
end
[ConfirmOptions]
Confirm=corretto
Cancel=annulla

SpeechToText (CSpeechToText)

Questo blocchetto permette di convertire l'audio del chiamante (parlato) in testo tramite il motore di riconoscimento vocale di Google (Google Speech API). Il testo può essere salvato in una Transfer Property o in un CallData, per potere essere analizzato/elaborato successivamente da ulteriori blocchetti impostati nel flusso della chiamata.

Il servizio è disponibile anche in compatibility mode.

Parametri di Configurazione

Proprietà

Cliccando sulla funzionalità Proprietà del blocchetto sono visualizzate le seguenti schede:

Scheda Messaggi

STT_skMessaggi.jpg

L'elenco dei campi visualizzati è il seguente:

ParametriDescrizione
Lista messaggiLista dei messaggi da riprodurre al chiamante come invito e istruzioni per ciò che deve dire.

Utilizzare i tasti Nuovo, Modifica e Cancella per selezionare e impostare il tipo di messaggio da riprodurre tra i seguenti:

  • File
  • Numero
  • Importo
  • Sequenza di caratteri
  • Lista formattata
  • Data/Ora
  • Data/Ora attuale
  • Data/Ora del file
  • Ordinale

Scheda Motore

STT_skMotore.jpg

Impostare i campi seguenti:

ParametriDescrizione
Motore di riconoscimento vocale da utilizzareSelezionare il motore di riconoscimento da utilizzare. Al momento l’unico motore disponibile e configurabile è Google Speech API.
Codice LinguaIndicare il codice della lingua, in formato BCP-47, da utilizzare per il riconoscimento. Valore predefinito: it-IT.
Termina riconoscimento su ricezione digitsSelezionare se il riconoscimento può essere terminato dalla pressione di un digit da parte del chiamante.
Tempo massimo di attesaIndicare il tempo massimo consentito, espresso in secondi, al chiamante per effettuare la sua scelta vocale. Valore predefinito: 30 secondi.
Soglia di affidabilitàIndicare il livello di affidabilità, tra 0 e 100, da raggiungere per considerare il riconoscimento valido. Valore predefinito: 70.

Scheda Messaggi errore

STT_skMessaggiErr.jpg

Impostare i campi seguenti:

ParametriDescrizione
Numero massimo di tentativiIndicare  il numero massimo di tentativi di riconoscimento. Se la fase di riconoscimento non avesse successo, indica il numero di tentativi consentiti al chiamante. Valore predefinito: 2.
Messaggio di errore con invito a ripetereIndicare il messaggio da riprodurre in caso di mancato riconoscimento.

Scheda Salvataggio scelta

STT_skSalvataggio.jpg

Impostare i campi seguenti:

ParametriDescrizione
Nome Transfer PropertySelezionare la Transfer Property in cui salvare il testo convertito (in caso di riconoscimento con successo) o il digit premuto.
CallDataIndicare il CallData in cui salvare il testo convertito (in caso di riconoscimento con successo) o il digit premuto.

Port di Uscita

Cliccando sulla funzionalità Port di Uscita del blocchetto sono visualizzate le seguenti schede:

ParametriDescrizione
NextServiceFailureIndicare il servizio successivo da attivare nel caso in cui il motore non riconosca l'audio e non sia premuto dal chiamante alcun digit.
NextServiceDigitDetectedIndicare il servizio successivo da attivare nel caso in cui il riconoscimento sia interrotto dalla pressione di un digit.
NextServiceRecognizedIndicare il servizio successivo da attivare nel caso il riconoscimento abbia successo.

Transfer Property

Oltre alla Transfer Property definita in fase di configurazione, il blocchetto crea le due seguenti Transfer Property di sistema che possono essere eventualmente usate dai blocchetti successivi:

ParametriDescrizione
__RecognizeResult__Contiene l’esito della richiesta di riconoscimento.
_ASR_Source

Contiene la sorgente dell’informazione contenuta nella Transfer Property e nel Call Data definiti in configurazione. I valori possibili sono:

  • “” (stringa vuota): nel caso in cui non sia riconosciuto l'audio e non sia rilevato alcun digit.
  • “DTMF”: nel caso sia rilevato un digit che interrompe la fase di riconoscimento. La Transfer Property e il Call Data, eventualmente configurati come variabili di uscita, conterranno il digit ricevuto.
  • “STT”: nel caso il motore di riconoscimento restituisca un qualsiasi valore. La Transfer Property e il Call Data, eventualmente configurati come variabili di uscita, conterranno il testo riconosciuto.

VoiceMenu (CVoiceMenu)

Presenta un menu di opzioni e, in base alla scelta del chiamante, effettuata tramite il riconoscimento vocale, attiva il servizio associato. Permette di configurare la sequenza di messaggi (file wav/avi, numeri, date, ecc.) da riprodurre all'utente per invitarlo a segnalare al sistema la sua scelta.

E' inoltre possibile, in caso di nessuna scelta o di scelta errata, configurare un servizio predefinito. Questo servizio richiede che sul sistema sia stato installato un motore di riconoscimento vocale SAPI compatibile, con relative licenze, non fornito con il Messenger oppure un motore integrato (solo disponibile utilizzando LightHouse).

Parametri di Configurazione

ParametriDescrizione
Tipo di motore di sintesi vocale

Selezionare il tipo di motore tra i seguenti:

Usa un dizionario interno al motoreSe è stato selezionato un motore di sintesi integrato, è possibile abilitare l'uso di un dizionario interno, specificandone il folder e il nome. 
Lista dei messaggi

Indicare la lista dei messaggi da riprodurre alla chiamante per guidarlo nella scelta. Utilizzare i tasti Nuovo, Modifica, Cancella e le frecce di ordine per selezionare il tipo di messaggio tra i seguenti:

  • File WAV/AVI
  • Numero
  • Importo
  • Sequenza di caratteri
  • Lista formattata
  • Data/Ora
  • Data/Ora corrente
  • Data/Ora di un file
  • Ordinale.

Per ogni tipo, oltre alla selezione o al valore, occorre indicare ulteriori parametri specifici, come formato di data e ora, sequenze, decimali significativi, ecc.

Inoltre è possibile indicare eventuali parametri specifici per la lingua corrente.  Questo parametro gestisce esclusivamente l'italiano e lo spagnolo. Per entrambe le lingue, se questo parametro è impostato con "F", gli ordinali sono riprodotti al femminile, in tutti gli altri casi al maschile. Solo per lo spagnolo, se questo parametro è impostato con "F", il numero 1 è riprodotto al femminile, altrimenti al maschile. Solo per l'italiano, se questo parametro è impostato con "E", l'importo è riprodotto in EURO altrimenti in Lire. 

Motore del Riconoscimento VocaleSelezionare dalla lista il motore di riconoscimento vocale da utilizzare.
Abilita Beep di avviso ad inizio riconoscimentoAbilitato se è stato selezionato un motore integrato. Indica se deve essere emesso un breve segnale acustico prima di ogni fase di riconoscimento vocale.
Termina riconoscimento su ricezione DigitsAbilitato se è stato selezionato un motore SAPI. Indica se la fase di riconoscimento può essere interrotta dalla pressione di un tasto dal parte dell'utente. Se abilitato, i tasti numerici entrano a far parte del codice, mentre * e # concludono l'acquisizione dei caratteri (fine del codice).
Tempo massimo di attesa (secondi)Abilitato se è stato selezionato un motore SAPI. Massimo periodo di silenzio, espresso in secondi, che il riconoscimento attende prima che l'utente cominci a parlare, prima di uscire per fallimento.  Valore predefinito: 20 secondi.
Abilita riconoscimento durante la play (Barge ln)Abilitato se è stato selezionato un motore integrato. Abilita l’interruzione dei messaggi nel momento in cui l’utente pronuncia una frase, un nome o un qualsiasi comando vocale (senza attendere il “beep” di fine messaggio).
Massimo silenzio iniziale (secondi)Abilitato se è stato selezionato un motore integrato. Specificare il periodo massimo di silenzio, in secondi, che il riconoscimento attende, prima che l'utente cominci a parlare, prima di uscire per fallimento.  Valore predefinito: 20 secondi.
Look Ahead TimeAbilitato se è stato selezionato un motore integrato. Indicare il tempo in millisecondi che l'algoritmo di riconoscimento utilizza per verificare il frame audio successivo al fine di migliorare la qualità della codifica. Valore predefinito: 800 millisecondi. Per maggiori informazioni vedere anche Look Ahead Time.
Soglia di affidabilità (0-100)E' un valore tra 1 e 100 che indica il grado di sicurezza con cui un carattere deve essere riconosciuto per poter essere considerato valido. Valori alti indicano maggiore precisione e, quindi, maggior probabilità di nessun riconoscimento. Valore predefinito: 70.
Servizio da attivare a seconda della selezioneUtilizzare i tasti Nuovo, Modifica e Cancella per indicare il servizio da attivare a seconda della scelta fatta dal chiamante.
Parola chiaveParola che l'utente deve pronunciare per attivare l'opzione. Se si indica il carattere "-", il servizio associato è quello di default attivato nel caso che nessuna delle altre condizioni sia soddisfatta al termine delle ripetizioni previste.
Digit associatoEventuale digit che l'utente può digitare per attivare il servizio associato.
Servizio attivatoSolo configurando il Servizio tramite Messenger Configurator. Selezionare dalla lista il servizio da attivare per la particolare sequenza.
Numero massimo di tentativiMassimo numero di tentativi concessi all'utente per effettuare la sua scelta prima di proseguire con il servizio di default.
Messaggio di errore con invito a ripetereMessaggio che, in caso di mancato riconoscimento, invita l'utente a ripetere la sua scelta. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un Call Data.
Messaggio di errore su raggiungimento limiteMessaggio di errore nel caso che si superi il numero di tentativi concessi senza aver riconosciuto con successo la scelta dell'utente. Il tasto Assegna Valore consente di salvare il valore indicato in una costante, oppure recuperarlo da una Transfer Property o un Call Data.
Abilitazione salvataggio sceltaAbilitare la casella per attivare il salvataggio della scelta dell'utente in una Transfer Property.
Nome Transfer PropertySelezionare dall'elenco il nome della Transfer Property in cui salvare la scelta.
Aggiungere all'attuale valoreSe abilitato, la scelta dell'utente viene accodata, separata da virgola, all'attuale contenuto della Transfer Property. E' possibile quindi usare una Transfer Property per memorizzare tutta la sequenza di scelta dell'utente.
Eventuale separatoreEventuale caratteri di separazione da inserire nella transfer property tra il valore esistente e la parola riconosciuta dal servizio.