Interfacce vocali: ergonomia e architettura dell’informazione #2

di

L’articolo precedente: Interfacce vocali: ergonomia e architettura dell’informazione #1 Analisi linguistica e comunicativa La struttura dell’interazione vocale, per quanto semplificata, è questa: mentre l’utente parla in un microfono il software analizza i suoni ricevuti, li converte in segnali digitali e li confronta con il suo vocabolario interno. Il programma decide, così, se ciò che ha […]


L’articolo precedente: Interfacce vocali: ergonomia e architettura dell’informazione #1

Analisi linguistica e comunicativa

La struttura dell’interazione vocale, per quanto semplificata, è questa: mentre l’utente parla in un microfono il software analizza i suoni ricevuti, li converte in segnali digitali e li confronta con il suo vocabolario interno. Il programma decide, così, se ciò che ha registrato è una parte di testo che si vuole dettare oppure se si tratta di comandi che devono essere eseguiti dal programma. Successivamente elabora le operazioni richieste e risponde ai quesiti con un output vocale. L’interazione continua in questo modo finché l’utente non esplicita la volontà di interromperla.

Una volta ricevuto l’input vocale il programma lo analizza per poterlo riconoscere e comprendere mettendolo a confronto con il suo vocabolario. È di basilare importanza, quindi, stabilire un vocabolario che elenchi quali saranno gli input accettabili dal sistema. Il vocabolario di un’interfaccia vocale può essere sostanzialmente diverso rispetto a quello che le persone utilizzano conversando tra loro, pur rimanendo sempre all’interno dello stesso dominio di applicazione (Yankelovich 1997). Un grande rilievo, quindi, deve essere dato alla scelta dei vocaboli, poichè sono l’unico strumento attraverso cui l’interazione procede. È necessario prestare molta attenzione all’utilizzo dei sinonimi poiché, anche se due parole sembrano intercambiabili in un particolare contesto, in un altro possono avere prospettive molto diverse. Se si persiste, quindi, nell’utilizzo di termini diversi da quelli proposti in un determinato ambito, probabilmente si vogliono sottolineare contrasti particolarmente salienti (Brennan 1998).

Nella scelta dei vocaboli probabilmente si sceglieranno termini basici per riferirsi a oggetti comuni, con lo scopo di essere chiari e comprensibili per agevolare il riconoscimento da parte del sistema. I termini di base sono:

  • brevi
  • facili da ricordare
  • veloci da pronunciare
  • molto frequenti.

Il sistema è tenuto sia a riconoscere sia a utilizzare vocaboli di questo tipo per essere compreso, ma allo stesso tempo non deve abusare di semplificazioni che potrebbero portare l’utente a sentirsi sottovalutato (Moore 2000).

È importante prestare molta attenzione al principio di coordinazione tra input e output, dato che il parlante tende a formulare una frase secondo il modello e le regole semantiche utilizzate per costruire o interpretare la più recente frase ascoltata (Brennan 1998). L’utente, quindi, si aspetta che il computer sia in grado di capire come input le parole che lui stesso ha utilizzato come output e che i riferimenti a determinati oggetti utilizzino sempre gli stessi vocaboli, in modo da non creare confusione nella comprensione. Nell’ambito dell’output vocale che il programma pronuncia per comunicare e far procedere la navigazione è necessario prevedere un messaggio chiaro nei contenuti, pronunciato con parole comprensibili ed espresso in modo sufficientemente lento da dare idealmente la possibilità di prendere appunti.

La maggiore difficoltà nella costruzione di un software di interazione vocale è data dalle problematiche di riconoscimento degli input, soprattutto per quanto riguarda la volubilità della lingua, la velocità di elocuzione e le oscillazioni della pronuncia nelle diverse varietà regionali. Parlando con un computer si tende a scegliere un linguaggio più innaturale rispetto a quello che che si utilizza comunemente, caratterizzato da una sintassi semplice e un vocabolario prevedibile di parole di alta frequenza (Brennan 1998). L’utente, però, deve potersi rendere conto che il programma non necessita di questo sforzo, ma che, al contrario, è concepito per gravarsi esso stesso di tutto il peso della comprensione degli input.

Nella fase di stesura dei testi che saranno utilizzati per la navigazione vocale bisogna prestare molta attenzione alla correttezza della grammatica, della sintassi e della semantica poiché il loro scopo finale non sarà la lettura diretta da parte dell’utente, ma la fruizione avverrà attraverso l’ascolto. Il testo viene scritto per essere pronunciato e lo strumento che permette di trasmettere la prosodia tipica del linguaggio parlato è la punteggiatura. È solo attraverso di questa, infatti, che chi scrive può fare in modo che la voce sintetizzata pronunci le frasi in modo corretto. Osservando i testi che vengono scritti per una navigazione vocale, la punteggiatura in un primo momento può apparire come incoerente o errata, ma ad un’analisi più attenta si può notare che essa è utilizzata per rendere nel testo scritto la prosodia propria del testo parlato, per fare in modo cioè che i programmi di sintesi vocale possano produrre output il più possibile vicini alla lingua parlata normalmente.

Anche per l’analisi questo tipo di testi, quindi, ci si può riferire alle celebri massime di Grice (1975). Affinché risulti comunicativo, un testo

  • dovrebbe essere informativo ma non troppo, cioè offrire un giusto numero di informazioni, senza risultare eccessivo
  • dovrebbe contenere contributi pertinenti, concisi e ordinati
  • attraverso cui raggiungere il primario scopo di informazione.

Concludendo, come riepilogo dei principi finora esposti, possiamo elencare una serie di raccomandazioni per rendere l’interazione vocale semplice da usare e comunicativa il più possibile. Il sistema dovrebbe:

  • offrire poche informazioni
  • pronunciare lentamente gli output vocali
  • utilizzare una sintassi semplice
  • adottare un vocabolario prevedibile (parole di alta frequenza)
  • non abusare delle ripetizioni dei vocaboli
  • capire come input vocaboli utilizzati come output
  • offrire feedback
  • offrire aiuto in qualsiasi momento (“ripeti” “aiuto” “torna indietro”)
  • richiedere conferma delle scelte dell’utente
  • non bloccare la navigazione su un errore ma fare in modo che si muova verso un altro nodo
  • eliminare la ripetizione di messaggi d’errore dando assistenza progressiva
  • dare la possibilità all’utente di saltare passaggi e interrompere il sistema mentre sta parlando (Barge in).

Case study: il servizio informativo ACI Viaggiare Sicuri

L’Aci, Automobile Club d’Italia, in collaborazione con il Ministero degli Affari Esteri, offre un servizio di navigazione vocale che consente di informarsi sulle condizioni di un Paese nel quale si desidera compiere un viaggio. L’utente interagisce attraverso il telefono con un software che gli permette di ricevere informazioni generali su sicurezza, clima, viabilità nei paesi stranieri di interesse. Il vantaggio del mezzo telefonico consiste nella possibilità di rimanere aggiornati anche quando si è in viaggio e non si dispone di una connessione Internet (il servizio è attivo anche per le chiamate provenienti dall’estero). Il servizio vocale è attivo nelle ore notturne, in modo da offrire l’opportunità di essere informati nell’arco delle 24 ore.

Il servizio è strutturato in sei parti:

  • introduzione e breve spiegazione del servizio
  • scelta del continente
  • scelta del paese
  • scelta delle informazioni
  • ascolto delle informazioni

Appena comincia la navigazione, l’utente riceve il benvenuto dal software, che gli offre la prima possibilità di scelta. A chi utilizza il servizio per la prima volta, il programma fornisce l’opportunità di ascoltare una spiegazione dettagliata delle istruzioni per utilizzare del servizio.

La navigazione è basata sulla pronuncia esplicita di determinati vocaboli che permettono di proseguire. All’utente non è permessa la scelta delle parole da utilizzare, ma queste vengono apertamente suggerite. Ad ogni nodo di scelta viene ribadita un’opzione di aiuto: pronunciando in qualsiasi momento “ripeti” il sistema riproporrà ancora la frase pronunciata, nel caso non fosse stata compresa. Allo stesso modo pronunciando “inizio” il sistema ritornerà al menu principale, mentre dicendo “fine” si concluderà la comunicazione.

Quando comincia la navigazione all’utente viene chiesto di indicare il continente e gli viene fornito l’elenco delle categorie tra cui scegliere. Successivamente gli viene chiesto di pronunciare il nome del Paese desiderato e, con un altro passaggio, di scegliere tra l’ascolto di indicazioni su sicurezza, sanità o visti e valute. Compiuta anche questa scelta il programma legge le informazioni desiderate. Alla fine della lettura viene chiesto se si vogliono ascoltare indicazioni di altro tipo sullo stesso Paese, su un altro Paese, se riascoltare il menu o se terminare la comunicazione. L’interazione viene quindi terminata solo su esplicita richiesta dell’utente.

Se il sistema non coglie l’input dell’utente chiede di ripetere la scelta; se per cinque volte di seguito non capisce l’informazione, il programma chiude automaticamente la conversazione. Questa brusca interruzione sorprende l’utente, non vengono date spiegazioni ed egli potrebbe sentirsi smarrito. La situazione è completamente gestita dal software, che non offre scelte o alternative. In caso di simili errori si dovrebbe offrire ulteriore assistenza all’utente, ad esempio tornando di nuovo al menu principale, o comunque, cercando un modo alternativo per continuare l’interazione.

L’utente ascolta una voce femminile, che lo guida nella navigazione. La voce si esprime lentamente e pronuncia i vocaboli chiaramente, articolando i suoni. Talvolta le pause tra le frasi sono talmente brevi che l’utente fatica a rendersi conto che un’esposizione è terminata e si sta passando a un altro argomento. Ciò richiederebbe un grado di attenzione maggiore, che però è compensato dalla chiarezza generale dei testi e dalla linearità dell’interazione.

Il software alterna frasi lunghe, utilizzate per le spiegazioni, a frasi brevi che indicano i vocaboli da pronunciare per compiere la scelta. Le prime, pur utilizzando molte parole, hanno un contenuto di informazioni adeguato ad essere ascoltato; sono semplici e riportano chiaramente le indicazioni di base della navigazione, raggiungendo pienamente il loro scopo informativo. I testi più brevi, invece, sono utilizzati per richiedere i dati necessari alla navigazione; si utilizzano vocaboli semplici, specialmente parole di alta frequenza, e non vi sono tecnicismi di alcun tipo.

La struttura permette all’utente di raggiungere l’informazione desiderata in cinque passaggi, ma l’organizzazione è lineare e non presenta difficoltà. Grazie alla possibilità di ascoltare ulteriori spiegazioni su esplicita richiesta, il servizio risulta agevole anche a chi lo utilizza per la prima volta.

Un altro importante aspetto della comunicazione è dato dalla presa del turno di parola. Il sistema offre la possibilità all’utente di interromperlo anche quando non ha ancora finito di parlare. L’input vocale dell’utente, infatti, viene riconosciuto e analizzato anche se egli parla mentre l’applicazione sta ancora terminando il suo discorso. Questa possibilità è basilare per rendere la conversazione fluente e il più simile possibile a un normale dialogo; al contrario, se questa opportunità non venisse offerta e l’utente dovesse sempre aspettare la fine delle parole del software prima di parlare, l’interazione sarebbe oltremodo frustrante e innaturale.

Concludendo, possiamo dire che il servizio ha una navigazione semplice, la struttura è chiara e le informazioni sono facili da raggiungere. In qualche occasione l’interazione può sembrare frenata poiché non si offrono alternative in caso di un riconoscimento non avvenuto. Questa circostanza, comunque, non compromette il design complessivo dell’applicazione.

Bibliografia

Brennan, S.
1998 “The Vocabulary Problem in Spoken Dialogue Systems”, to appear in Luperfoy, S. (Ed.), Automated Spoken Dialog System, Mit Press, Cambridge.

Grice, H.P.
1975 “Logic and Conversation”, in Cole, P. – Morgan, J. (Eds.), Syntax and semantics: Speech acts, volume 3, pp. 41-58, Academic Press, New York.

Moore, R.K.
2000 “Spoken Language Technology: Where Do We Go From Here?” invited keynote talk at the 38th annual meeting of the association for computational linguistics (ACL 2000), Hong Kong, 3-6 October 2000.

Yankelovich, N.
1997 “Using Natural Dialogs as the Basis for Speech Interface Design” to appear in Luperfoy, S. (Ed.), Automated Spoken Dialog System, Mit Press, Cambridge.

09.05.2005