Elaborato finale in Intelligenza Artificiale Hidden Markov Models

Hidden Markov Models
Elaborato finale in Intelligenza Artificiale
Hidden Markov Models
Anno accademico 2014/2015
Candidato:
Nicola Marzano
N46001674
1
Hidden Markov Models
Indice
Capitolo 1
1.1 Hidden Markov Models …………………………………………. 3
1.2 Algoritmi semplificati basati su matrici …………………..
5
1.3 Filtri di Kalman ………………………………………………………
7
1.3.1 Applicabilità del filtraggio di Kalman …………..
9
1.4 Reti bayesiane dinamiche …………………………………….. 10
1.4.1 Fallimento transitorio ……………………………….. 13
1.4.2 Fallimento Persistente ……………………………………….. 13
1.5 Riconoscimento del parlato ………………………………….. 14
1.5.1 I suoni del parlato ……………………………………… 16
1.5.2 Le parole …………………………………………………… 18
1.5.3 Le frasi ……………………………………………………… 20
1.5.4 Costruire un riconoscitore vocale ………..……. 22
1.6 Bibliografia …………………………………………………………… 23
2
Hidden Markov Models
CAPITOLO 1
1.1 Hidden Markov Models
Gli Hidden Markov Models ( HMM ) sono un modello temporale probabilistico
utilizzato per l’analisi di sequenze. Questi modelli sono stati introdotti negli
anni '70 e sono stati estensivamente utilizzati nel campo della "speechrecognition"
e
della
ricostruzione
di
segnali.
Gli HMM sono modelli probabilistici in cui lo stato del processo è descritto da
una singola variabile casuale discreta, i cui possibili valori corrispondono agli
stati possibili del mondo .
Consideriamo il classico esempio della coffe machine. Supponiamo di avere
nel nostro ufficio una macchina che ha l'ottima qualità di fare il caffè o il
tè gratuitamente, ma ha la pessima caratteristica di non avere un
selezionatore per le bevande, per cui noi non possiamo prelevare la nostra
bevanda preferita a nostra discrezione. Quando cioè ci poniamo davanti alla
macchinetta e premiamo l'unico pulsante presente a volte esce caffè altre tè.
Noi potremmo immaginare che il subdolo meccanismo sottostante potrebbe
essere generato dal fatto che la macchina possiede due stati interni
corrispondenti alle due bevande. I due stati poi si alternano con una
probabilità decisa casualmente e che dipende soltanto dallo stato in cui si
trova la macchina in quel preciso istante. Questa restrizione ne fa un modello
di Markov, in quanto lo stato successivo dipende soltanto dallo stato attuale.
E’ possibili aggiungere variabili di stato al modello temporale e rimanere
nell’architettura HMM, ma per far ciò occorre combinarle tutte in una
‘megavariabile’ i cui valori sono costituiti da tutte le possibili tuple di valori
delle singole variabili di stato.
In un modello regolare di Markov, lo stato è direttamente visibile
all’osservatore e quindi le probabilità di transizione da uno stato all’altro sono
le uniche incognite.
Tre aspetti fondamentali sono legati all’uso dei HMM:
3
Hidden Markov Models
1. Il primo deriva dal fatto che dato i parametri del modello è necessario
calcolare la probabilità della sequenza di output, e data la sequenza di output
bisogna calcolare i valori delle probabilità degli stati nascosti (risolto con il
back-forward algoritmo).
2. Il secondo deriva dalla possibilità che dati i parametri del modello si trovi la
sequenza di stati nascosti più probabile per generare una specifica sequenza
di output (risolto con l’algoritmo di Viterbi).
Basandosi su un processo markoviano, cioè un processo in cui la probabilità di
essere in uno stato in un determinato istante dipende solo dallo stato
all’istante precedente, l'algoritmo sceglie il percorso che è più vicino alla
sequenza di simboli ricevuti all'interno del traliccio ovvero del campo di tutte
le possibilità. Il criterio di scelta tra le possibilità può essere
Una volta scelto il criterio è applicabile la stessa legge di decodifica. Ad ogni
passo, l'algoritmo elimina i percorsi meno probabili fino a rimanere con un
solo superstite.
L'algoritmo è tanto più prestante quanto il numero di passi è alto. Ovviamente
maggiore è il numero di passi e maggiore è la lentezza nella decodifica e
maggiore è il dispendio di risorse.
Di seguito è riportato il diagramma a traliccio della sequenza a distanza
minima con i=5 stati al posso t=5.
4
Hidden Markov Models
3. Il terzo problema consiste nel calcolare i parametri dell’HMM, dato un gruppo
di sequenze di output (risolto con l’algoritmo di Baum-Welch).
Dato un HMM (Hidden Model Markov) e una sequenza di simboli osservabili o
un insieme di tali sequenze, l'algoritmo di Baum-Welch permette di trovare
l'insieme più probabile per il quale si possano dichiarare le probabilità di
uscita e di transizione (ovvero le matrici b ed a). L'algoritmo segue il modello
di
E-M, nel quale inizializziamo una stima grezza delle matrici a e b.
Nella prima fase generiamo la matrice 𝛼 𝑒 𝛽, e la matrice 𝛾 così
Definita
𝛾(𝑖, 𝑗, 𝑑) = 𝛼(𝑖, 𝑑 − 1)π‘Žπ‘–π‘— π‘π‘—π‘˜ 𝛽(𝑗, 𝑑)
Nella seconda fase calcoliamo le matrici e nel seguente modo: è data
dal rapporto del numero di volte in cui passiamo dallo stato -esimo allo
stato -esimo e il numero di volte che passiamo dallo stato -esimo a
qualunque altro stato; è data dal rapporto del numero di volte in cui dallo
stato i-esimo emetto il simbolo e il numero di volte in cui da uno stato esimo passa ad un simbolo qualunque. Tali matrici verranno sostituite ad e
, reiterando finché i miglioramenti saranno significati e le matrici saranno
stabilizzate.
La natura semplificata degli HMM permette un’implementazione molto
semplice ed elegante, basata su matrici, di tutti gli algoritmi di base.
5
Hidden Markov Models
1.2 Algoritmi semplificati basati su matrici
Con una singola variabile di stato discreta 𝑋𝑑 possiamo dare una forma
concreta alle rappresentazioni del modello di transizione, del modello
sensoriale e dei messaggi in avanti e all’indietro.
Supponiamo di denotare i possibili stati della variabile 𝑋𝑑 con i valori interi
1, … , S, dove S è il numero di stati possibili.
Il modello di transizione P(𝑋𝑑 |𝑋𝑑−1 ) diventa una matrice T di dimensioni S x S ,
in cui
𝑇𝑖𝑗 = (𝑋𝑑 = 𝑗|𝑋𝑑−1 = 𝑖)
Ovvero , 𝑇𝑖𝑗 è la probabilità di una transizione dallo stato i allo stato j.
Anche il modello sensoriale è espresso in forma di matrice.
In questo caso dobbiamo usare solo quella parte del modello che specifica la
probabilità che appaia 𝑒𝑑 , dove 𝑒𝑑 è il valore della variabile di prova Et . In ogni
passo temporale t costruiamo una matrice diagonale 𝑂𝑑 in cui gli elementi
sulla diagonale sono costituiti dai valori P(et |𝑋𝑑 = i) e tutti gli altri valgono 0.
Ora, se usiamo i vettori colonna per rappresentare i messaggi in avanti e
all’indietro, i calcoli si riducono a semplici operazioni tra matrici e vettori.
L’equazione in avanti diventa :
𝑓1:𝑑+1 = 𝛼𝑂𝑑+1 𝑇 𝑇 𝑓1:𝑑
e quella all’indietro :
π‘π‘˜+1:𝑑 = π‘‡π‘‚π‘˜+1 π΅π‘˜+1:𝑑
Da queste equazioni possiamo vedere che la complessità temporale
dell’algoritmo forward-backward applicata a una sequenza di lunghezza t è
O(S2t), dato che ad ogni passo richiede di moltiplicare un vettore di S elementi
per una matrice S x S.
I requisiti spaziali sono O(St) poiché il passaggio in avanti memorizza t vettori
di lunghezza S.
6
Hidden Markov Models
Oltre a fornire una descrizione elegante degli algoritmi di filtraggio e
smoothing per gli HMM, la formulazione matriciale rivela alcune possibili
migliorie:
1. Una semplice variazione dell’algoritmo di forward-backward permette di
eseguire lo smoothing con un’occupazione spaziale costante,
indipendentemente dalla lunghezza della sequenza.
2. Smoothing online a ritardo fisso.
7
Hidden Markov Models
1.3 Filtri di Kalman
Stimare lo stato di un sistema in presenza di disturbi non è sempre semplice.
Per ovviare a ciò si usano i filtri di Kalman.
Immaginiamo di osservare un uccellino che vola al tramonto attraverso il
denso fogliame di una foresta; è difficile indovinare dov’è l’uccellino e dove
apparirà nell’istante successivo.
Se fossimo stati un operatore radar durante la Seconda Guerra Mondiale, ci
sarebbe risultato difficile capire all’istante successivo dove una lucetta
sarebbe apparsa;
andando ancora più indietro nel tempo, immaginiamo di essere Keplero che
cerca di ricostruire il moto dei pianeti da una collezione di osservazioni
angolare inesatte prese a intervalli irregolari e misurati in modo impreciso.
In tutti questi casi stiamo cercando di stimare lo stato ( posizione e velocità,
ad esempio ) di un sistema fisico partendo da una sequenza di osservazioni
rumorose .
Il metodo del filtraggio di Kalman è un algoritmo di inferenza sviluppato per
risolvere questo tipo di problema.
Chiaramente per specificare lo stato di un sistema sono necessarie alcune
variabili continue come ad esempio posizione ( X, Y, Z ) e velocità ( 𝑋̇ , π‘ŒΜ‡, 𝑍̇ ) per
l’uccellino.
Ci serviranno anche delle adeguate densità condizionali per rappresentare il
modello di transizione e quello sensoriale;
Useremo distribuzioni gaussiane lineari.
Questo significa che lo stato successivo 𝑋𝑑+1 dev’essere una funzione lineare
dello stato corrente 𝑋𝑑 più un rumore gaussiano.
Consideriamo ad esempio la coordinata X dell’uccellino, ignorando le altre.
Chiamiamo βˆ† l’intervallo tra le osservazioni e presumiamo che la velocità di
volo sia costante; l’aggiornamento della posizione sarà dato da :
Μ‡
𝑋𝑑+βˆ† = 𝑋𝑑 + π‘‹βˆ†
8
Hidden Markov Models
Se aggiungiamo rumore gaussiano otteniamo un modello di transizione
gaussiano lineare :
𝑃(𝑋𝑑+βˆ† = π‘₯𝑑+βˆ† |𝑋𝑑 = π‘₯𝑑 , 𝑋̇𝑑 = π‘₯Μ‡ 𝑑 ) = 𝑁(π‘₯𝑑 = π‘₯Μ‡ βˆ†, σ)(π‘₯𝑑+βˆ† )
Struttura rete bayesiana per un sistema con posizione 𝑋𝑑 e velocità 𝑋̇𝑑 .
9
Hidden Markov Models
1.3.1 Applicabilità del filtraggio di Kalman
Il filtro di Kalman con le sue varianti, è utilizzato in una vasta gamma di
applicazioni : la più “classica” è il tracciamento radar di velivoli o missili.
Un utilizzo analogo si ha nel tracciamento acustico di sommergibili e veicoli di
terra, e in quello visuale di veicoli e persone.
Un’applicazione più originale è la ricostruzione delle traiettorie delle particelle
partendo da fotografie delle camere a bolle o quella delle correnti oceaniche.
La versatilità del filtraggio di Kalman va ben oltre il semplice tracciamento dei
movimenti: qualsiasi sistema caratterizzato da variabili di stato continue e
misurazioni rumorose può giovarsene.
Sistemi simili includono macchinari industriali, impianti chimici o reattori
nucleari.
10
Hidden Markov Models
1.4 Reti bayesiane dinamiche
Le reti bayesiane dinamiche ( DBN ) rappresentano un modello temporale di
probabilità.
Ogni modello di Markov nascosto può essere rappresentato da una DBN con
una sola variabile di stato e una di prova. Inoltre ogni DBN a variabili discrete
può essere rappresentata come un HMM.
Come già detto in precedenza, basta combinare tutte le variabili di stato della
DBN in una megavariabile i cui valori corrispondono a tutte le possibili tuple di
valori delle singole variabili.
Ora, se ogni HMM è una DBN e ogni DBN può essere trasformata in un HMM,
dov’è la differenza ??
La differenza sta nel fatto che, scomponendo lo stato di un sistema complesso
nelle sue variabili costitutive, la DBN può trarre vantaggio dalla grandezza del
modello temporale di probabilità.
Supponiamo ad esempio che una DBN abbia 20 variabili di stato booleane,
ognuna con tre genitori nella time slice precedente.
In questo caso il modello di transizione della DBN comprende
20 x 23 = 160 probabilità; il corrispondente HMM invece ha una matrice di
transizione con 220 stati e quindi 240, ovvero circa un trilione di probabilità.
Questo è un male per almeno tre ragioni:
1. L’HMM richiede molto più spazio.
2. L’enorme matrice di transizione rende l’inferenza molto più costosa.
3. Il problema di apprendere un tale numero di parametri rende il modello HMM
inapplicabile a problemi di grandi dimensioni.
Un esempio molto interessante è rappresentato dalla supervisione di un robot
alimentato a batteria che si muove su un piano.
11
Hidden Markov Models
𝑋𝑑 = (𝑋𝑑 , π‘Œπ‘‘ ) è la posizione mentre 𝑋̇𝑑 = (𝑋̇𝑑 , π‘Œπ‘‘Μ‡ ) è la velocità e Zt è l’uscita.
La posizione all’istante di tempo successivo dipende dalla posizione e della
velocità iniziali.
La velocità nel passo successivo dipende dalla velocità corrente e dallo stato
della batteria ( Batteria0 ).
Lo stato della Batteria all’istante successivo dipende dallo stato della batteria
precedente e dalla velocità.
Bmisurat rappresenta la misura del livello stesso.
Tutto questo ci dà il modello del robot.
Senza entrare nel dettaglio diremo che vi sono in questo esempio continue
misure sulla batteria.
Queste misure ( fatte da opportuni sensori ) potrebbero essere affetti da
errori.
Ci sono due tipi di fallimenti dovuto ai sensori :
1. Fallimento transitorio
2. Fallimento persistente
12
Hidden Markov Models
1.4.1 Fallimento transitorio
E’ il tipo più semplice di fallimento.
Il sensore invia occasionalmente dati senza significato.
Nel caso del robot , ad esempio, il sensore di livello della batteria potrebbe
avere il difetto di inviare un valore pari a zero quando qualcuno urta il robot,
anche se la batteria è completamente carica.
1.4.2 Fallimento Persistente
Si definisce fallimento persistente l’invio di un valore da parte di un sensore
che però ha subito in qualche modo un guasto.
Nel caso del nostro robot è il caso in cui un sensore subisce qualche danno, si
guasta e l’invio del suo valore sarà sbagliato per sempre.
13
Hidden Markov Models
1.5 Riconoscimento del parlato
Una delle applicazioni più importanti dei modelli temporali probabilistici è il
riconoscimento del parlato.
Il suo compito è identificare una sequenza di parole pronunciate da un
oratore dato il corrispondente segnale acustico. Il parlato è la modalità
principale di comunicazione tra essere umani e la possibilità che le macchine
possano riconoscerlo in modo affidabile sarebbe immensamente utile. Una
cosa ancora più utile sarebbe la comprensione del parlato, che consiste
nell’identificare il significato delle frasi pronunciate.
La comunicazione vocale rappresenta il nostro primo contatto con il mondo
nudo e crudo dei dati sensoriali reali. Questi dati sono rumorosi in senso
letterale: ci potrà essere rumore di fondo; variazione nel modo in cui certe
parole sono pronunciate; parole differenti possono avere lo stesso suono e
così via.
A livello generale possiamo definire il problema come segue.
Sia Parole una variabile casuale che spazia su tutte le possibili sequenze di
parole che possono essere pronunciate, e Segnale la sequenza acustica
osservata.
L’interpretazione più probabile della frase pronunciata sarà allora il valore di
Parole che massimizza 𝑃( π‘π‘Žπ‘Ÿπ‘œπ‘™π‘’ | π‘ π‘’π‘”π‘›π‘Žπ‘™π‘’ ).
𝑃( π‘π‘Žπ‘Ÿπ‘œπ‘™π‘’ | π‘ π‘’π‘”π‘›π‘Žπ‘™π‘’ ) = 𝛼𝑃( π‘ π‘’π‘”π‘›π‘Žπ‘™π‘’ | π‘π‘Žπ‘Ÿπ‘œπ‘™π‘’ )𝑃( π‘π‘Žπ‘Ÿπ‘œπ‘™π‘’ )
𝑃( π‘π‘Žπ‘Ÿπ‘œπ‘™π‘’ | π‘ π‘’π‘”π‘›π‘Žπ‘™π‘’ ) è il modello acustico .
Le parole con lo stesso suono ( “soffitto” = ceiling e “sigillare” = sealing ) si
chiamano omofone.
𝑃( π‘π‘Žπ‘Ÿπ‘œπ‘™π‘’ ) è il modello linguistico che specifica la probabilità di ogni frase :
ad esempio, “soffitto alto” ( high ceiling) sarà più probabile di
“sigillare alto” ( high sealing).
14
Hidden Markov Models
Solitamente nei sistemi di riconoscimento vocale si usa il modello a
biagrammi che fornisce la probabilità che ogni parola compaia subito dopo
ogni altra parola.
Il modello acustico è basato sui foni e cioè che tutti i linguaggi umani usano un
repertorio limitato di circa 40 o 50 foni. L’esistenza dei foni rende possibile
dividere il modello acustico in due parti : la prima si occupa della pronuncia e
specifica, per ogni parola, una distribuzione di probabilità su tutte le possibili
sequenze di foni.
La seconda parte del modello acustico considera il modo con cui i foni sono
realizzati sotto forma di segnali acustici.
15
Hidden Markov Models
1.5.1 I suoni del parlato
Le onde sonore sono variazioni periodiche di pressione che si propagano
nell’aria.
Esse vengono campionate con una frequenza di campionamento . Per il
parlato si usa tipicamente una frequenza compresa tra 8 e 16 kHz, cioè da
8.000 a 16.000 campioni al secondo. La precisione di ogni misurazione è
determinata dal fattore di quantizzazione ed i riconoscitori vocali tipicamente
impiegano dagli 8 ai 12 bit.
Questo significa che un sistema di fascia bassa, che campiona a 8 kHz con una
quantizzazione a 8 bit, richiederà quasi mezzo megabyte al minuto.
Questa soluzione non è molto efficace a causa della grande mole di
informazione. Per questa ragione i sistemi “riassumono” le caratteristiche del
segnale su intervalli estesi, che prendono il nome di frame.
La figura mostra le trasformazioni successive dal puro suono a una sequenza
di frame. Si può notare che i frame si sovrappongono parzialmente; questo ci
permette di non perdere informazione se un evento acustico importante si
verifica proprio a cavallo tra due frame adiacenti.
Nell’esempio ci sono frame con solo tre caratteristiche ma nei sistemi in
generale ne troviamo decine, o anche centinaia.
16
Hidden Markov Models
Naturalmente, una parte dell’informazione andrà perduta nel processo che
riduce il segnale vocale completo a
un’etichetta βˆ†Q. L’arte dell’elaborazione dei segnali consiste nello scegliere le
caratteristiche e le regioni in modo tale da minimizzare la perdita di
informazione utili.
17
Hidden Markov Models
1.5.2 Le parole
Possiamo pensare che ogni parola specifichi una particolare distribuzione di
probabilità 𝑃( 𝑋1:𝑑 | π‘π‘Žπ‘Ÿπ‘œπ‘™π‘Ž ), dove 𝑋𝑖 specifica lo stato del fono nell’i-esimo
frame. Tipicamente questa distribuzione viene separata in due parti : il
modello di pronuncia fornisce la distribuzione sulle sequenze di foni, mentre
il modello dei foni descrive in che modo un fono corrisponde a una sequenza
di frame.
Le parole vengono studiate attraverso un diagramma di transizione.
Ci sono due varianti :
1. Modello di parola con variazione dialettale
2. Modello di parola con coarticolazione e variazione dialettale
Il primo modello rappresenta come la pronuncia di una parola può variare
attraverso il dialetto.
La coarticolazione è un fenomeno che si verifica durante la fonazione, per il
quale ogni fono subisce l'influenza del contesto nel quale è articolato, vale a
dire dei foni che lo precedono o lo seguono.
Di seguito è rappresentato un esempio con entrambi i modelli della parola
“tomato” :
18
Hidden Markov Models
Possiamo costruire modelli simili per ogni fono, eventualmente introducendo
dipendenze dal contesto. Ogni modello di parola, unito a quelli dei
corrispondenti foni, fornisce la descrizione completa di un HMM.
19
Hidden Markov Models
1.5.3 Le frasi
Per poter sostenere una conversazione con un essere umano una macchina
dev’essere capace di riconoscere parlato continuo, e non solo parole isolate.
Si potrebbe pensare che il parlato continuo non sia altro che una semplice
sequenza di parole, e che sia possibile applicare a ognuna di esse l’algoritmo
che abbiamo delineato in precedenza. Quest’approccio fallisce per due
ragioni.
La prima è che la sequenza delle parole più probabili non corrisponde alla più
probabile sequenza di parole.
Il secondo problema è la segmentazione, che consiste nel decidere quando
finisce una parola e comincia quella successiva.
Un approccio semplice, diffuso ed efficace è il modello a bigrammi . In questo
modello vale l’ipotesi di Markov del primo ordine : la probabilità di ogni parola
dipende solo da quella immediatamente precedente.
Un grande vantaggio del modello a bigrammi sta nella sua facilità di
apprendimento: è sufficiente contare il numero di volte che compare ogni
coppia di parole in un insieme rappresentativo di stringhe per stimare la
probabilità.
Ad esempio, se “a” compare 10.000 volte ed è seguito da “gun” 37 volte, allor
P(guni|ai-1) = 37/10.000; dove P è la probabilità stimata.
Dopo un tale addestramento ci si aspetterebbe che “I have” e “a gun” abbiano
probabilità stimate abbastanza alte mentre le probabilità di “I has” e “an gun”
dovrebbero essere basse.
E’ possibile passare anche a un modello a trigrammi .
Questo modello di linguaggio è più potente ed è in grado di giudicare che “
mangio una banana “ è più verosimile di “ mangio una bandana “.
Questi modelli però sono più difficili da realizzare e hanno un maggior costo.
20
Hidden Markov Models
La tabella è l’unione degli unigrammi e dei bigrammi nella versione originale
del testo “ Intelligenza Artificiale “ (vol. 2) di Russel e Norvig.
“The” è quella più comune con 33508 occorrenze.
Il biagramma “of the” è il più frequente con 3833 occorrenze.
Alcuni biagrammi sono inaspettati, come ad esempio le 4 occorrenze dello
scorretto “on is”, perché il conto ignora la punteggiatura : una frase potrebbe
terminare con “on” e la successiva iniziare con “is”.
Si può combinare il modello del linguaggio con quello delle parole, in modo da
gestire correttamente le sequenze di parole.
Si agisce in due passi fondamentali :
ο‚· Costruire l’HMM .
ο‚· Usare l’algoritmo di Viterbi per trovare la sequenza di stati più probabile.
Il metodo più diffuso è il decodificatore A*, che per trovare la sequenza di
parole più probabile applica in modo ingegnoso la ricerca A*. L’idea è
considerare ogni sequenza di parole come un cammino attraverso un grafo i
cui nodi sono etichettati con delle parole. I successori di un nodo sono
costituiti da tutte le parole che possono seguirlo; così, il grafo per tutte le frasi
di lunghezza massima n ha n livelli, ognuno di larghezza massima W, dove W è
il numero delle possibili parole.
21
Hidden Markov Models
1.5.4 Costruire un riconoscitore vocale
La qualità di un sistema di riconoscimento vocale dipende da quella di tutti i
suoi componenti: il modello del linguaggio, i modelli di pronuncia e delle
parole.
La struttura dei modelli di pronuncia è sviluppata a mano. Il costo e la rarità
dei dati etichettati a mano, insieme al fatto che tali dati potrebbero non
rispecchiare il tipo di oratori e le condizioni acustiche di un nuovo contesto,
potrebbero condannare quest’approccio al fallimento.
Esiste, fortunatamente, l’algoritmo EM che può apprendere i modelli di
transizione e sensoriale di un HMM senza disporre di dati etichettati. Le stime
derivate dai dati elaborati a mano possono essere usate per inizializzare i
modelli.
L’idea è semplice: dato un HMM possiamo calcolare la probabilità di ogni
stato in ogni passo temporale e, con una semplice estensione, la probabilità di
ogni coppia di stati in passi consecutivi. Il metodo garantisce l’incremento a
ogni iterazione della corrispondenza tra modelli e dati, e generalmente si
ottiene una qualità dei dati migliore di quella ottenuta dagli insiemi iniziali
etichettati a mano.
Nel riconoscimento di parole isolate in buone condizioni acustiche con un
vocabolario di poche migliaia di parole, l’accuratezza può superare il 99%.
Nel caso di parlato continuo e con una varietà di oratori si va dal 60 all’ 80%;
in una telefonata con rumore di fondo l’accuratezza decresce ulteriormente.
22
Hidden Markov Models
1.6 Bibliografia
Il testo utilizzato per la stesura di questa tesi è stato:
ο‚· Intelligenza Artificiale (vol. 2) di Russel e Norvig.
23
Hidden Markov Models
24