venerdì 23 dicembre 2016

Comprensione del dialogo: scarsa

Continuando il mio confronto tra i sistemi di dettatura ho visto che il parlato spontaneo in italiano pone ancora enormi problemi. La percentuale di errori, espressa in WER, è di regola superiore al 50%: 10 volte superiore rispetto a quella per lettura ad alta voce.
 
Una parte di questi problemi è senz’altro dovuta al fatto che i prodotti con cui ho fatto il confronto non sono pensati per interpretare dialoghi. Non compiono quindi alcune operazioni moderatamente semplici e che con ogni probabilità permetterebbero di migliorare molto il risultato: non distinguono tra le voci dei dialoganti, non cercano di disambiguare le sovrapposizioni… Inoltre, eliminano spesso le ripetizioni di parole o segmenti, che però fanno parte costitutiva di un dialogo.
 
Tuttavia, le scarse prestazioni nel riconoscimento sono sicuramente dovute anche ad altri fattori, e in particolare al fatto che il parlato reale è difficile da comprendere, con le sue sovrapposizioni, ripetizioni, incertezze, parole che sfumano l’una nell’altra e via dicendo.
 
Qui di sotto riporto i risultati del riconoscimento di un dialogo interpretato da due diplomati o studenti universitari baresi, un maschio e una femmina, di poco più di vent’anni: Corpus CLIPS, sottocorpus Dialogico – Bari – Map Task, file DGmtA02B.wav. Il dialogo è in italiano, con accento ben percepibile ma lieve; in qualche punto in cui si passa all’italiano regionale o direttamente al dialetto. Ho passato gli audio a Dragon (senza addestramento utente) e a Google (Docs). Le percentuali di errore sono queste:
 
Dragon
Parlante a: 53,9 (22,7 sostituzioni, 30 cancellazioni, 1,3 inserimenti)
Parlante b: 71,4 (28,6 sostituzioni, 39,3 cancellazioni, 3,4 inserimenti)
Totale: 58,6
 
Google
Parlante a: 45,7 (12,1 sostituzioni, 32,3 cancellazioni, 1,3 inserimenti)
Parlante b: 74,3 (15 sostituzioni, 56,8 cancellazioni, 2,4 inserimenti)
Totale: 53,4
 
In entrambi i casi, inoltre, i problemi sono dovuti al riconoscimento di un numero molto basso di parole. La trascrizione ortografica originale del dialogo contiene 767 parole. Dragon ne trascrive solo 530, Google arriva al massimo a 481. Per Google poi occorre mettere in campo tutta una serie di stratagemmi, visto che il riconoscimento online di Google Docs ogni tanto si blocca. La soluzione migliore che ho trovato è stata quella di inserire pause di silenzio di 3 o 5 secondi nel file audio originale e interrompere il riconoscimento di Google Docs in corrispondenza di queste pause: apparentemente questo dà al sistema il tempo di elaborare l’input precedente. Tuttavia, come mostra il WER, anche se riconosce poco, quel poco Google lo riconosce bene.