APA: un prototipo di sistema automatico per l’analisi prosodica* Leandro D’Anna° - Massimo Petrillo°° °Fondazione “Ugo Bordoni” Napoli -°° CIRASS Università di Napoli “ Federico II” 1. SOMMARIO Viene qui proposto il prototipo di un software per l’analisi automatica della prosodia (APA, Analisi Prosodica Automatica). Il funzionamento del sistema si basa sul riconoscimento delle sillabe e sull’analisi dell’andamento temporale delle tre grandezze di riferimento per la prosodia: durata, l’energia e la frequenza fondamentale. La suddivisione in sillabe viene effettuata dall’analisi della curva di energia del segnale opportunamente trattata, individuando nei massimi relativi più evidenti i nuclei sillabici e nei minimi tra di essi i confini. Il secondo blocco è costituito da un insieme di tre procedure: la prima realizza la stilizzazione, mentre le altre due procedure effettuano rispettivamente la ricerca delle pause nella curva dell’energia e la ricerca dei reset sia dell’energia sia della frequenza fondamentale (ossia di tre dei quattro boundary marker che caratterizzano le U.T.). L’integrazione dell’informazione proveniente da queste procedure con quelle sui confini sillabici permette una prima suddivisione in unità tonali. Allo scopo di migliorare l’accuratezza della suddivisione ottenuta, è stato poi sviluppato un modulo per l’analisi ritmica. Le informazioni provenienti da tale modulo insieme con quelle sui confini sillabici consentiranno di realizzare un procedura che ricerchi l’ultimo dei boundary marker: l’allungamento prepausale dopo la sillaba tonica. 2. INTRODUZIONE Lo studio della prosodia sta assumendo un ruolo sempre più importante nell’ambito del riconoscimento automatico del parlato e nella sintesi text-to-speech. La comprensione dei fenomeni prosodici consentirebbe, infatti, una sintesi più vicina al parlato naturale e potrebbe facilitare il compito di un riconoscitore automatico, che sarebbe in grado di dedurre anche le informazioni non prettamente verbali presenti nel parlato. Principalmente per i motivi sopraesposti il nostro lavoro è basato su tecniche di tipo algoritmico in modo da contribuire alla creazione di un modello della prosodia. Diversamente da tecniche quali le reti neurali o ad HMM, il minor numero di parametri necessari al funzionamento del nostro sistema permette una loro classificazione e uno studio delle loro funzioni, cosa che per i pesi e le soglie di una rete neurale è poco utile per fini descrittivi. Nel nostro caso, quindi, si potrà stabilire con precisione quale è il ruolo che un certo parametro svolge nel sistema, a quali conseguenze si giunge se esso assume valori particolari, quali interazioni fra i parametri sono determinanti e quali no. Una volta messo a punto un sistema di questo tipo, la cui uscita sia ragionevolmente in accordo con le aspettative dei linguisti, si * Sebbene il lavoro è stato pensato e svolto in collaborazione tra i due autori, i §§3-4 sono da attribuire a LD, mentre il § 2 è da attribuire a MP. I §§ 1 e 5 sono stati scritti in collaborazione tra i due autori. potrebbe dire di avere un modello valido che consentirebbe una descrizione quanto più possibile precisa della prosodia. 3. DESCRIZIONE PROCEDURE L’analisi prosodica viene fatta essenzialmente osservando due parametri fisici fondamentali: l’energia e la frequenza fondamentale. Dalla prima di queste grandezze viene ricavata la segmentazione in sillabe del segnale e la durata sillabica viene ovviamente determinata a partire dalla suddivisione in sillabe effettuata da un sillabatore automatico [1,7] che, utilizzando il principio della scala di sonorità, analizza la curva dell’energia del segnale individuando nei massimi relativi più evidenti i nuclei sillabici e nei minimi tra di essi i confini sillabici. Il calcolo di queste tre grandezze non basta per considerare la nostra analisi come prosodica: è necessario usare questi dati per l’individuazione nel segnale delle unita tonali da cui sono composte. Quattro sono i fenomeni che consentono di riconoscere le 1° Esempio unità tonali: presenza di una pausa, reset della frequenza fondamentale, reset dell’energia ed allungamento prepausale dopo l’ultima sillaba tonica. Lo scopo del nostro lavoro è, quindi quello di stabilire quali sono le variazioni significative, o i valori, dei parametri prosodici in 2° Esempio corrispondenza delle quali si ha il passaggio tra un’unità tonale e l’altra. Il primo modulo realizzato per tale procedura è stato quello della stilizzazione della curva di f0. Questo modulo nasce dall’esigenza di separare all’interno della curva di f0 la componente macroprosodica, 3° Esempio ossia quella percettivamente significativa, da quella microprosodica o da quella dovuta ad errori nell’algoritmo di estrazione di f0. In fonetica già da molti anni è disponibile un algoritmo per la stilizzazione, il Figura 1 – Esempi dei vari casi di suddivisione di un MOMEL (Modelisation de target point. La linea tratteggiata indica la presenza di una pausa silente o di un reset di f0 o dell’energia. MELodie) [2,3], che utilizza per l’interpolazione funzioni polinomiali quadratiche (spline). Tale approccio, però, è stato contestato da ‘t Hart [4] che ha evidenziato come l’utilizzo di polinomi del 2° ordine porterà sì alla costruzione di un profilo di f0 molto fedele ma che un ascoltatore non riuscirà ad apprezzare rispetto ad un profilo più grossolano ottenuto mediante interpolazione con spezzate. Il modulo realizzato nel sistema APA effettua la stilizzazione utilizzando un meccanismo di interpolazione lineare in accorso con ‘t Hart. Esso, nella prima fase, individua come appartenenti all’insieme dei target point, intesi come i punti di riferimento, tutti i punti di minimo e di massimo locale nella curva di f0. Nella seconda fase, a partire da un set minimo di tre target point pseudo-allineati, viene individuata la retta che li interpola adoperando il metodo dei minimi quadrati. Ogni target point successivo verrà considerato allineato ai precedenti se dista meno di 2σ (ossia il doppio dello scarto quadratico medio) dalla retta inter-polante (figura 1- 1° esempio) e se tra questi punti ed il punto in questione non c’è una pausa o un reset significativo. Altrimenti il modulo considererà il punto in questione come facente parte di un nuovo insieme di punti pseudo-allineati che include l’ultimo punto del vecchio insieme (figura 1 –2° esempio) nel caso in cui non ci sia una pausa o un reset o non lo include negli altri casi (figura 1 – 3° esempio). Il secondo modulo sviluppato si occupa di individuare tra tutte le pause presenti nel segnale vocale quelle effettivamente di tipo silente. L'algoritmo implementato effettua tale determinazione a partire dalla curva dell'energia e di f0 calcolate su una finestra di durata pari a 25ms e sovrapposta alla successiva di 15ms. Esso fissa un valore di soglia Emax per l'energia al di sotto del quale vi può essere una pausa silente, essendo l’energia mai nulla in queste. Il valore Emax, così individuato, non è fisso ma viene determinato a partire dalla dinamica dell’energia calcolata ogni quattro secondi. Il modulo identifica nel segnale come pause silenti le porzioni sorde di durata maggiore di dmin= 290 ms e in cui l’energia rimane al di sotto di Emax. La durata dmin è parametrizzabile ed è stata determinata empiricamente a partire dall’osservazione che per le pause di riprogrammazione la durata tipica non supera i 250 ms. Inoltre occorre notare che questo modulo fa parte di una sistema complessivo per l’analisi prosodica ed, in quanto tale, ad esso non è richiesta l’individuazione di tutte le pause silenti, vista anche l’assenza di un esatto confine temporale tra i vari tipi di pausa, ma piuttosto che gli intervalli indicati essere pause silenti lo siano a tutti gli effetti. A tal proposito occorre segnalare che da un controllo effettuato utilizzando 10 turni del corpus AVIP1 etichettati da una fonetista esperta, gli intervalli individuati dal modulo risultano essere nel 95% dei casi delle pause silenti e che l’insieme delle pause individuate costituisce l’ 80% di quelle individuate dalla fonetista. Il terzo modulo che compone il nostro sistema è quello che si occupa di individuare altri due boundary marker quali i reset di f0 e dell’energia (vedi figura 2). Per reset di f0 si intende il comportamento della curva di f0 che, dopo aver raggiunto un minimo o un massimo in prossimità del confine destro di un’unità tonale, all’inizio della nuova unità tonale si riporta ai valori più in alto del range del parlante. Il nostro sistema tenta un’individuazione di questi reset utilizzando i semitoni come unità di misura per rendere tale stima indipendente dalla dinamica del parlante. 1 La sigla AVIP sta per “Archivio delle varietà dell’italiano parlato” e si riferisce ad un progetto MURST COFIN 97 coordinato da P.M. Bertinetto (Scuola Normale di Pisa). Esso ha come finalità la raccolta di un corpus di dialoghi e la loro annotazione fonetica, fonologica e prosodica. E’ disponibile liberamente via anonymous all’indirizzo: ftp.cirass.unina.it/pub/avip. Per quanto riguarda i reset dell’energia essi sono legati alla necessità di prendere fiato nei punti giusti e non può prescindere dalla sottostante struttura sillabica. Infatti sia i confini di una sillaba che il confine destro di un'unità tonale debbono cadere in prossimità di un minimo dell'energia a causa dell’andamento della curva dell’energia (declination) all’interno di un’unità tonale. In virtù di tale considerazione, la curva dell’energia considerata è stata calcolata utilizzando finestre temporali di durata variabile e i cui estremi sono sincronizzati alla struttura sillabica individuata dal modulo per la sillabazione automatica. La curva così ottenuta, per essendo meno ricca di dettagli rispetto a quella utilizzata per le pause silenti, si presta molto meglio ad analizzare le differenze energetiche tra una sillaba ed un’altra e ad individuare quelle sillabe per cui avviene un calo significativo dell’energia. Il modulo realizzato innanzitutto individua tra tutte le porzioni sorde di durata Figura 2- Schema dell'algoritmo per l’individuazione dei maggiore di 120 ms, quelle per reset di f0 e dell’energia. le quali il reset Δf è significativo, ossia Δf>1 ST oppure -1.5 ST <Δf < -2.4 ST2. Successivamente, se nella porzione individuata, c’è un minimo dell’energia sillabica e la sillaba successiva non cade in una pausa silente, allora il modulo pone, in corrispondenza del marker sillabico più vicino al limite destro della porzione sorda, un confine di unità tonale. In figura 3 è mostrato un esempio di suddivisione effettuata da APA. 2 Occorre notare che se per reset positivi esiste una soglia al di sopra della quale il salto è significativo, per reset negativi è stata osservata un intervallo per la significatività di un reset piuttosto che una soglia come ci si aspettava. Tale fenomeno per poter esser compreso richiede ulteriori approfondimenti futuri su un’insieme di turni più vasto e comprendente varie tipologie di frasi. Figura 3 - Esempio di suddivisione in unità tonali ottenuta utilizzando solo le pause silenti (seconda immagine) ed utilizzando anche i reset di f0 e dell’energia (terza immagine). 4. RISULTATI Il corpus impiegato nella valutazione dei risultati ottenuti con il sistema APA era costituito da una serie di 21 turni di un dialogo in parlato spontaneo tratti dal corpus AVIP di un parlante italiano di sesso maschile. Successivamente i turni sono stati suddivisi in unità tonali da una fonetista esperta impiegando sia un metodo uditivo-percettivo sia uno spettroacustico. Il numero di unità tonali determinate in questo modo dalla fonetista è stato pari a 92. Infine si è proceduto all'analisi automatica dei turni con le procedure sviluppate. Tale procedura ha individuato un totale di 75 U.T di cui 57 U.T. in perfetto accordo (pari al 76 % delle unità individuate in automatico) con quelle individuate dalla fonetista. Per quanto riguarda gli errori commessi dalla procedura automatica, possiamo così suddividerli per ordine di gravità: • Errori di accorpamento senza parametri; • Errori di accorpamento con parametri; • Errori di spostamento del confine dell'U.T. di una sillaba; • Errori di separazione di un'intera parola; • Errori di separazione all'interno di una parola dell'U.T. Un errore di accorpamento, con o senza parametri, avviene in generale quando la procedura automatica accorpa due o più unità individuate dalla fonetista esperta. Si definisce errore di accorpamento senza parametri il caso in cui, dato un confine fissato dalla fonetista e non determinato dalla procedura automatica, non è presente alcun boundary marker tra quelli considerati ossia la presenza di un reset di f0 e dell'energia. Questo tipo di errore è quello meno grave per due motivi: il primo è dovuto al fatto che la procedura automatica allo stato attuale non individua il quarto boundary marker e quindi, in taluni casi, necessariamente dovrà commettere questo tipo di errore. Il secondo motivo, ben più profondo, è dovuto al fatto che quando avviene questo tipo di errore spesso non c'è accordo tra diversi fonetisti in quanto ci si trova di fronte a dei casi ambigui. Se invece vi è uno solo dei due fenomeni o entrambi ma con un'entità del salto al di là delle soglie fissate nella procedura per la determinazione dei reset si è in presenza di un errore di accorpamento con parametri. Un errore di spostamento avviene quando la procedura automatica fissa il confine di una U.T. esattamente una sillaba prima di dove dovrebbe cadere. Questo tipo di errore è essenzialmente dovuto ad una errata suddivisione fatta dal sillabatore che, sovrastimando la durata dell'ultima sillaba, fa sì che essa risulti avere più energia rispetto alla sillaba che la precede e quindi la procedura individuerà erroneamente quest'ultima come confine di U.T. Un errore di separazione, infine, avviene quando la procedura fissa erroneamente il confine di U.T. ponendolo all'interno di essa. Si definisce errore di separazione di una parola quando il confine viene fissato esattamente una parola prima del confine vero e proprio mentre si definisce errore di separazione interno quando il confine viene posto all'interno di una parola. Quest'ultimi due tipi di errore sono i più gravi e inaccettabili poiché la procedura automatica pone un confine dove sicuramente non ce n'è nessuno. Nella tabella 1 è possibile vedere un'analisi riassuntiva delle suddivisioni fatte dalla procedura automatica. N.RO DI U.T % TOTALE ACCORDO 57 76 ERRORE DI ACCORPAMENTO SENZA PARAMETRI 10 13 ERRORE DI ACCORPAMENTO CON PARAMETRI 4 6 ERRORE DI SPOSTAMENTO DI UNA SILLABA 2 3 ERRORE DI SEPARAZIONE PAROLA INTERA 1 1 ERRORE DI SEPARAZIONE ALL'INTERNO 1 1 Tabella 1- Valutazione delle risposte fornite dalla procedura automatica. Nella prima riga viene indicato il numero di U.T. correttamente individuate dalla procedura, ossia il numero di U.T. in cui c'è pieno accordo con la suddivisione effettuata dalla fonetista esperta, e la percentuale di risposte corrette rispetto al numero totale n tot di U.T. Aut = 75 determinato dalla procedura automatica. Nelle successive righe vi è la distribuzione di tutti i tipi di errori commessi dalla procedura automatica quando applicata al corpus di valutazione e la percentuale di risposte errate rispetto al numero totale n tot di U.T. Aut Come possiamo vedere la procedura automatica realizzata fornisce una suddivisione corretta nel 76% delle risposte fornite, mentre il tipo di errore più frequentemente commesso è un errore di accorpamento che avviene nel 19% dei casi. Gli errori di spostamento, che abbiamo visto essere legati ad errori del sillabatore, avvengono nel 3% dei casi mentre gli errori inaccettabili, quelli di separazione, avvengono nel 2% dei casi. 5. CONCLUSIONI E SVILUPPI FUTURI Il sistema APA (vedi figura 4) attualmente trascura completamente la determinazione del quarto dei boundary marker ossia l’allungamento prepausale a partire dall’ultima sillaba Figura 4 – Schema dei moduli che costituiscono il sistema APA. I moduli fondamentali sono racchiusi da un bordo in neretto. Le parti tratteggiate indicano parti ancora in costruzione. tonica. Questa determinazione, però, non può prescindere da un’accurata individuazione della struttura ritmica e da uno studio dell’integrazione tra questa e la struttura intonativa. A questo proposito, occorre segnalare che è stato realizzato un modulo per l’individuazione automatica delle sillabe prominenti limitato all’individuazione dei soli accenti lessicali [5]. Esso si basa sullo studio dei massimi di una funzione di valutazione data dal prodotto della durata sillabica e l’energia sillabica [6]. Attualmente si sta lavorando ad un modulo che consideri anche gli accenti di pitch e che possa fornire una classificazione tra prominenze principali e secondarie. I risultati di questo modulo saranno fondamentali per la procedura che si occuperà di individuare le porzioni di segnale in cui avviene l’allungamento prepausale. E siccome la maggior parte degli errori compiuti dal sistema è costituito da errori di accorpamento, la possibilità di individuare tale marker potrà sicuramente migliorare l’accuratezza delle risposte individuate dal sistema. BIBLIOGRAFIA [1] Petrillo M., Sillabificazione dei segnali vocali: un approccio procedurale, Atti del XXVIII Convegno Nazionale dell’AIA, Trani (Bari), 2000, pp 303-306. [2] Hirst D., Nicolas P., Espesser R., Coding the f0 of a continuous text in French: an experimental approach, Actes du XII Congrès International des sciences Phonétiques, Aix-en-Provence, 1991, Vol. 5, pp.234-237. [3] Hirst D., Espesser R., Automatic modelling of fundamental frequency using a quadratic spline function, Travaux de l’Instituit de Phonetique d’Aix, 1993, Vol. 15, pp. 71-85. [4] ‘T Hart J., F0 stylization in speech: straight lines versus parabolas, Journal of the Acoustical Society of America, vol. 90, no. 6, June 1990, pp. 3368-3370. [5] Savy R., Gamal D., D’Anna L., Metodi di analisi e codifica del piano soprasegmentale a confronto, Atti del XXVIII Convegno Nazionale dell’AIA, Trani (Bari), 2000, pp 257-261. [6] Silipo R., Greenberg S., Automatic transcription of prosodic stress for spontaneous English discourse, Proc. of the XIVth International Congress of Phonetic Sciences (ICPhS), San Francisco, CA, August 1999,vol. 3, pp.2351-2355. [7] Cutugno F., Passaro G., Petrillo M. Sillababificazione fonologica e sillabificazione fonetica, in Atti del XXIII Congresso della Società di Linguistica Italiana, Napoli, 28-30 ottobre 1999, in corso di stampa.