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.