Vai alla Home Page About me Courseware Federica Living Library Federica Federica Podstudio Virtual Campus 3D Le Miniguide all'orientamento Gli eBook di Federica La Corte in Rete
 
 
Il Corso Le lezioni del Corso La Cattedra
 
Materiali di approfondimento Risorse Web Il Podcast di questa lezione

Francesco Cutugno » 13.Riconoscimento del parlato - parte terza


Riconoscimento del parlato


Modelli del linguaggio basati su grammatiche


Probabilità condizionate in sequenze: bi-grammi

Data una sequenza di parole W(w1 …wn) appartententi ad un vocabolario V, la probabilità di prevedere l’intera sequenza è:

P(w_1,...,w_n)=P(w_1)P(w_2|w_1)P(w_3|w_2,w_1)...P(w_n|w_{n-1},...,w_1)=\prod_{k=1}^nP(w_k|w_1^{k-1})

dove:

w_1^{k-1} = w_1,w_2,...,w_{k-1}

Una possibile semplificazione è troncare la sequenza condizionando ogni parola solo rispetto alla parola seguente:

P(w_n|w_1^{n-1}) \approx P(w_n|w_{n-1})

la probabilità cosi ottenuta si denomina probabilità di bi-gramma che si può calcolare cosi:
P(w_1^n) \approx \prod_{k=1}^nP(w_k|w_{k-1})

N-grammi

Generalizzando il caso precedente si ottiene la probabilità di N-gramma:

P(w_n|w_1^{n-1}) \approx P(w_n|w_{n-N+1}^{n-1})

La stima di questa probabilità è basata sulla disponibilità di un corpus molto grande di testi.

Detto C(wn-1 wn) il conteggio dei bigrammi wn-1 wn si ha che:

P(w_n|w_{n-1}) =\frac {C(w_{n-1}w_n)}{\sum_wC(w_{n-1}w)}

Dove C(wn-1) è il conteggio del numero di occorrenze della sola parola wn-1 (equivalente alla probabilità di unigramma) utilizzato come fattore di normalizzazione.

N-grammi (segue)

Generalizzazione per il calcolo diretto degli N-Grammi:

P(w_n|w_{n-N+1}^{n-1}) =\frac {C(w_{n-N+1}^{n-1}w_n)}{C(w_{n-N+1}^{n-1})}

In pratica la frequenza di occorrenza di ogni N-Gramma viene normalizzata con quella del (N-1)Gramma precedente.

I testi impiegati per i calcoli di probabilità di N-Gramma sono solitamente suddivisi in frasi, ad ogni frase viene aggiunto un simbolo di start e uno di end
P(domani andiamo allo stadio)=

P(domani andiamo allo stadio)=

P(domani|<s>) P(andiamo|domani) P(allo|andiamo) P(stadio|allo) P(</s>|stadio)=

[C(<s>,domani)/C(<s>)] * [C(domani,andiamo)/C(domani)] * [C(andiamo,allo)/C(andiamo)] * [C(allo,stadio)/C(allo)] * [C(stadio,</s>)/C(stadio)]

Smoothing di N-grammi

Nel calcolo effettivo delle probabilità di N-Gramma effettuate in un corpus alcuni N-Grammi possono non essere incontrati:

P(w_n|w_{n-N+1}^{n-1}) =\frac {C(w_{n-N+1}^{n-1}w_n)}{C(w_{n-N+1}^{n-1})}
quindi l’espressione sopra riportata può essere nulla o addirittura indeterminata.

Consideriamo il calcolo delle probabilità di Uni-Gramma in un corpus di N parole che possono essere scelte in un vocabolario di V parole possibili:
P(w_i)=\frac {c_i} N

ci=0 non implica che wi sia una parola impossibile se appartiene a V, si
deve quindi imporre P(w ) ≠ 0 ∀ w ∈ V

Smoothing di Laplace per Uni-grammi:

P_L(w_i)=\frac {c_i +1} {N+V}
P_L(w_n|w_{n-1})=\frac {C(w_{n-1}w_n)+1} {C(w_{n-1})+V}

Perplexity

Data una distribuzione di probabilità di N-Grammi calcolata su un corpus di addestramento (train) e un corpus di test formato da N parole, si definisce la seguente grandezza:

Perplexity (PP):

PP(W)=\sqrt[N]{\frac 1 {P(w_1,w_2...w_N})}

è facile dimostrare che nel caso in cui la probabilità di concatenazione di sequenze di parole sia espressa attraverso i bigrammi la perplexity è espressa come segue:
PP(W)=\sqrt[N]{\prod_{i=1} ^N \frac 1 {P(w_i|,w_{i-1})}}

Word Lattice

Uno spazio di ricerca reticolare per parole in un vocabolario.

Uno spazio di ricerca reticolare per parole in un vocabolario.


  • Contenuti protetti da Creative Commons
  • Feed RSS
  • Condividi su FriendFeed
  • Condividi su Facebook
  • Segnala su Twitter
  • Condividi su LinkedIn
Progetto "Campus Virtuale" dell'Università degli Studi di Napoli Federico II, realizzato con il cofinanziamento dell'Unione europea. Asse V - Società dell'informazione - Obiettivo Operativo 5.1 e-Government ed e-Inclusion