Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della...

66
Intelligent Information Retrieval

Transcript of Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della...

Page 1: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Intelligent Information Retrieval

Page 2: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

..c’è ben più delle “parole-chiave”

Chiedo l’intervento Della protezione civile

Page 3: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Intelligent Information Retrieval

• Catturare i “contenuti” espressi mediante media diversi:– Testi– Speech– Immagini– Audio– Video

• Problematiche e applicazioni molto più complesse che in un motore di ricerca standard

• Rappresentazione e recupero dei contenuti spesso basati su metodologie di artificial intelligence

Page 4: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Prossime lezioni

• Trattamento del linguaggio naturale– Opinion Mining– Speech processing– Information Extraction– Question Answering

• Multimedia IR– Image, Audio, Video retrieval

Page 5: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Trattamento del linguaggio naturale (NLP)

un’introduzione

Page 6: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Perché NLP è utile?

• Information Extraction

• Question answering

• Opinion Mining

• Conversational agents

• Summarization

• Machine translation

Intelligent InformationRetrieval

Page 7: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Applicazioni

• Queste applicazioni richiedono una grande quantità di conoscenza

• Vi ricordate HAL in 2001:Odissea nello Spazio? (Kubrik, 68)

• http://www.youtube.com/watch?v=npN9l2Bd06s&feature=related

Page 8: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Open the bay pod doors, Hal

http://www.youtube.com/watch?v=nHJkAYdT7qo

Page 9: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Cosa serve per interpretare il dialogo?

• Speech recognition• Conoscenza sul significato delle parole • Come le parole concorrono a determinare il

significato della frase o domanda• Risoluzione delle referenze anaforiche (where

you get that idea, Hal?)• ..and much more..

Page 10: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Un esempio più realistico

What is the Fed’s current position on interest rates?

• Cosa o chi è “Fed”?• Cosa significa “have a position” (in italiano

c’è la stessa espressione, “avere una posizione”?

• In che modo “current” modifica il senso della domanda?

Page 11: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Rappresentazione dei testi in IR “classico”

Romney Battles McCain for Michigan LeadBy MICHAEL LUO

DETROIT — With economic issues at the top of the agenda, the leading Republican presidential candidates set off Monday on a final flurry of campaigning in Michigan ahead of the state’s primary that could again shake up a remarkably fluid Republican field.Recent polls have indicated the contest is neck-and-neck between former Gov. Mitt Romney of Massachusetts and Senator John McCain of Arizona, with former Gov. Mike Huckabee of Arkansas further back.Mr. Romney’s advisers have acknowledged that the state’s primary is essentially do-or-die for him after successive losses in Iowa and New Hampshire. He has been campaigning heavily throughout the state, emphasizing his childhood in Michigan and delivered a policy speech on Monday focused on aiding the automotive industry.In his speech at the Detroit Economic Club, Mr. Romney took Washington lawmakers to task for being a “disinterested” in Michigan’s plight and imposing upon the state’s automakers a litany of “unfunded mandates,” including a recent measure signed by President Bush that requires the raising of fuel efficiency standards.He criticized Mr. McCain and Senator Joseph I. Lieberman, independent of Connecticut, for a bill that they have pushed to cap and trade greenhouse gas emissions. Mr. Romney asserted that the bill would cause energy costs to rise and would ultimately be a “job killer.”Mr. Romney further pledged to bring together in his first 100 days representatives from the automotive industry, unions, Congress and the state of Michigan to come up with a plan to “rebuild America’s automotive leadership” and to increase to $20 billion, from $4 billion, the federal support for research and development in energy, fuel technology, materials science and automotive technology.

Page 12: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

17 the 13 and 10 of 10 a 8 to 7 s 6 in 6 Romney 6 Mr 5 that 5 state 5 for 4 industry 4 automotive 4 Michigan 3 on 3 his 3 have 3 are 2 would 2 with 2 up 2 think 2 technology

2 speech

2 primary 2 neck 2 is 2 further 2 fuel 2 from 2 former 2 energy 2 campaigning 2 billion 2 bill 2 at 2 They 2 Senator 2 Republican 2 Monday 2 McCain 2 He 2 Gov 1 wrong 1 who 1 upon 1 unions

1 raising 1 pushed 1 presidential 1 polls 1 policy 1 plight 1 pledged 1 plan 1 people 1 or 1 off 1 measure 1 materials 1 mandates 1 losses 1 litany 1 leading 1 leadership 1 lawmakers 1 killer 1 jobs 1 job 1 its 1 issues 1 indicated 1 independent 1 increase

1 including 1 imposing 1 him 1 heavily 1 has 1 greenhouse 1 gone 1 gas 1 future 1 forever 1 focused 1 flurry 1 fluid 1 first 1 final 1 field 1 federal 1 essentially 1 emphasizing 1 emissions 1 efficiency 1 economic 1 don 1 domestic 1 do 1 disinterested 1 die

1 development 1 delivered 1 days 1 criticized 1 could 1 costs 1 contest 1 come 1 childhood 1 cause 1 cap 1 candidates 1 by 1 bring 1 between 1 being 1 been 1 be 1 back 1 automobile 1 automakers 1 asserted 1 aiding 1 ahead 1 agenda 1 again 1 after

1 advisers 1 acknowledged 1 With 1 Washington 1 There 1 Recent 1 President 1 New 1 Mitt 1 Mike 1 Massachusetts 1 Lieberman 1 Joseph 1 John 1 Iowa 1 In 1 I 1 Huckabee 1 Hampshire 1 Economic 1 Detroit 1 Connecticut 1 Congress 1 Club 1 Bush 1 Arkansas 1 Arizona 1 America

Modello vettoriale “bag of words”

Page 13: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Modello “bag of words”

• Sapete “di cosa” si parla • Ma non cosa viene detto..• Trattamento del linguaggio naturale:

“avvicinarsi” a HAL!• 3 problemi:

– Riconoscimento del parlato– Analisi dei testi– Generazione di testi + sintesi vocale

Page 14: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Avvicinarsi a Hal (without cheating!!)

• http://www.manifestation.com/neurotoys/eliza.php3 ELIZA

Page 15: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Trattamento del linguaggio naturale

• Riconoscimento del parlato: convertire il segnale vocale di un parlante in una stringa di termini machine-readable

John goes to

Page 16: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Trattamento del linguaggio naturale

• Elaborazione del linguaggio naturale: convertire una stringa di termini machine-readable in una rappresentazione machine-processable che ne evidenzi la struttura (morfologica, sintattica, semantica, pragmatica..)

Page 17: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

1. Struttura morfologica

John goes to Boston by bus

Analisi morfologica

John/name goes/Verb to/prep Boston/name by/prep bus/noun

Page 18: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

John goes to Boston by bus

Sentence

NounPhrase VerbPhrase

Verb PrepPhrase

Name prep Noun Phrase

Name PrepPhrase

Prep Noun

Analisi sintattica

2.Struttura sintattica

Page 19: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Analisi semantica

John goes to Boston by bus

3. Struttura semantica

Page 20: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Livelli di descrizione: approfondimenti

• Fonetica (speech)

• Morfologia

• Sintassi (sentence)

• Semantica

• Pragmatica, logica.. (discourse)

Page 21: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Morfologia

• Input : una sequenza di parole di un vocabolario• Output: una sequenza di coppie (lemma,tag

morfologica, eventualmente associata a maggiori informazioni, es: flessione, derivazione, composizione, ambiguità)

Es: andiamoci andare/verbo ci/pron bellissimo bello/nome_superl hanno mangiato mangiare/verbo piano piano/(nome,avv,agg)

Page 22: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Morfologia: metodi

• Metodi basati sulla conoscenza (es. grammatiche)

• Metodi di apprendimento automatico (stocastici, algebrici)

En-large-ment-s

Page 23: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Analisi Sintattica

• Input: sequenza di coppie (lemma, tag morfologica o POS/part of speech)

• Output: albero sintattico le cui foglie sono lemmi

Es: Giovanni/nome accompagna/verbo Maria/nome con/prep il/art piano/(nome,agg,avv) ./punt

Page 24: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Sintassi: Metodi

• Metodi basati sulla conoscenza, es. grammatiche

• Metodi di apprendimento automatico (stocastici, algebrici)

Page 25: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Sintassi: problemi

1. Ambiguità dei POS in input

Es: Giovanni/nome accompagna/verbo Maria/nome con/prep il/art piano/(nome,agg,avv) ./punt

E’ possibile risolvere l’ambiguità morfologica usando conoscenza grammaticale, infatti la sequenza “art nome punt” è consentita, mentre “art avv punt” o “art agg punt” no

Page 26: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

2.Ambiguità sintattica

L’ambiguità sintattica è data dal fatto che un gruppo preposizionale “prep art nome” (con il piano) può esserecollegato sia al verbo (accompagna) che al nome (Maria)

Infatti le sequenze “verbo gruppo preposizionale” e “nome “gruppo preposizionale” sono entrambe sintatticamente corrette

Page 27: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Albero 1

name name PP

Giovanni accompagna maria con il piano

prep NP

art noun

S

NP VP

Verb NP

Page 28: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Albero 2

name name

Giovanni accompagna maria con il piano

prep NP

art noun

S

NP VP

Verb NP PP

Page 29: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Ambiguità sintatticaE’ solo la semantica che ci aiuta ad immaginare che in “accompagna Maria col piano” il piano fa da accompagnamento, mentre ad esempio in una frase con identica struttura come “accompagna Maria con gli occhiali” è Maria che porta gli occhiali!!!

Page 30: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Analisi Semantica

• Input: albero sintattico le cui foglie sono lemmi

• Output: espressione logica o grafo, i cui argomenti o nodi sono concetti, i cui predicati o archi sono relazioni semantiche

Page 31: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

giovanni accompagna maria piano

sogg ogg modif(con)

giovanni accompagna mariasogg ogg

pianomodif(con)

Grafi sintattici (ottenuti direttamente dagli alberi)

Dall’albero sintattico al grafo semantico

Page 32: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

giovanni accompagna mariasogg ogg

pianomodif(con)

Grafi concettuali: trasformare parole in concetti non ambigui, le relazioni sintattiche in relazioni concettuali

Dall’albero sintattico al grafo semantico

Person: Giovanniagent eseguire-acco

mpagnamento

patientPerson: Maria

pianoforteinstrum

Page 33: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Ambiguità: problema pervasivo nel NLP

• Cosa serve?• Conoscenza linguistica in formato computer-

processable (eventualmente acquisibile (semi) automaticamente):– Conoscenza dei fonemi– Conoscenza dei prefissi, suffissi, lemmi, desinenze– Conoscenza delle categorie grammaticali– Conoscenza dei significati– ….

• Algoritmi per il trattamento e l’elaborazione della conoscenza

Page 34: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Metodi per l’elaborazione del LN: approfondimenti

Base di conoscenza(lemmi, categorie

grammaticali, regole,Significati)

Algoritmi dielaborazione del LN

Modellare la conoscenzalinguistica

Definire algoritmi pergenerare strutture formalie non ambigue da dati nonstrutturati e ambigui

Page 35: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Metodi per l’elaborazione del LN: approfondimenti

• Algoritmi per l’elaborazione (morfo/sint/sem)– Metodi basati su conoscenza– Metodi stocastici /statistici– Metodi algebrici

• Metodi per la modellazione della conoscenza– Apprendimento automatico (a sua volta, basato sul

algoritmi probabilistici, knowledge-based, algebrici)

Page 36: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Hidden Markov Models

Modelli probabilistici per il trattamento del linguaggio

naturale

Page 37: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Sommario

• Gli Hidden Markov Models sono un modello probabilistico molto studiato in computer science, specialmente in ambito di telecomunicazioni e ricerca operativa

• Nel trattamento del linguaggio naturale, vengono utilizzati per:– Speech recognition– Part of Speech tagging– Analisi sintattica

Page 38: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Catene di Markov (richiamo)

• Sia X1,X2..Xn una sequenza di variabili aleatorie che assumono valori in un alfabeto finito

• Per la formula di Bayes:

• Le variabili sono dette formare una cartena di Markov se:

• Il valore della variabile aleatoria al tempo i dipende solo dal valore al tempo precedente

P(X1,X2,..Xn ) = P(Xi /X1,..Xi−1)i=1

n∏

P(X1,X2,..Xn ) = P(Xi /Xi−1)i=1

n∏

Page 39: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Catene di Markov

• La limitazione di avere un solo elemento di memoria (lo stato precedente) è solo apparente, infatti:

• Ponendo:• La sequenza Z specifica la sequenza X e viceversa• La maggiore complessità risulta nella crescita di dimensionalità

dell’insieme , dato che ogni valore di corriponde ad una possibile sequenza di k valori di Z

• Quindi è possibile modellare catene di Markov a memoria 2,3 ecc.

P(Z1,Z2,...Zk) =i

∏ P(Zi | Zi− k,Zi− k +1...Zi−1)

Zi− k,Zi− k +1...Zi−1 = Xi

Page 40: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Catene di Markov• Possiamo modellare i valori delle variabili aleatorie

come STATI e etichettare le transizioni fra stati mediante probabilità condizionate:

• Es:

P(Xi = s /Xi−1 = s' ) = p(s' / s)

∀s,s'∈ Σ

Stato1: pioggiaStato2: nuvoleStato3: sole

p(pioggia/nuvole)

Page 41: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Catene di Markov nascoste (HMM)

• Un HMM è una quintupla

• Dove: S è un insieme di stati, s0 lo stato iniziale, Y un insieme di simboli di uscita y1..yn, P è una distribuzione di probabilità delle transizioni s’s: p(s’|s), Q è una distribuzione di probabilità dei valori di output q(y|s,s’)

• La probabilità di osservare una certa sequenza di simboli è:

• In un HMM le transizioni fra stati sono “nascoste”, ciò che è visibile è solo la sequenza dei simboli emessi

• Si ha inoltre:

HMM : s0,S,Y ,P,Q{ }

P(y1,y2,...yk ) = p(si | si−1)q(yi | si−1,sii=1..k

s1..sk

∑ )

p(yi ,s | s' ) = q(yi | s,s' )p(s | s' )s’

syi

Page 42: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Esempio 1• Un eremita si trova in una caverna e non può osservare il cielo.

Però nella caverna ci sono delle alghe: il maggiore o minore livello di umidità delle alghe è probabilisticamente collegato allo stato del tempo

Page 43: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Un esempio più correlato: parole e part of speech (POS)

avvagg

art nome

verbo

Il piano suona forte

p(agg/art)

Notate che da ogni stato può essere emesso un sottoinsieme dei simboli in Y (es ”suona” non può essere emesso nelle transizioni da art agg: q(suona|art,agg)=0. In altri termini, “agg” non è un POS di “suona”)

S: le parti del discorsoY: le parole del vocabolario di una linguaLe parole che possonoessere emesse nelletransizioni sverbo sono un sottoinsieme di Y

Page 44: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Catene di Markov nascoste

• Data una sequenza di simboli osservata, quale è la sequenza di stati più probabile che possa averla causata?

• Es: se osservo asciutto-umido-fradicio, questa sequenza può essere causata da molte sequenze di stati, quale è la più probabile?

• Se osservo il piano suona forte, le sequenze di POS possibili sono (dato il modello di Markov della figura precedente):art agg verbo avv, art avv verbo agg, art nome verbo avv, art nome verbo agg…., quale è la più probabile?

Problema: TROVARE

P(s1,s2..sk | y1,y2...yk,s0) =P(s1,s2..sk,y1,y2..yk | s0)

P(y1,y2..yk | s0)

arg maxs1,s2..sk

P(s1,s2..sk,y1,y2..yk | s0)

Page 45: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Quale è la sequenza di stati più probabile?

• Quale di queste sequenze di stati può avere generato “il piano suona forte”?– Art Agg Verb Avv– Art Agg Verb Agg– Art Nome Verb Avv– Art Nome Verb Agg– Art Avv Verb Avv– Art Avv Verb Agg

Page 46: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Trellies (tralicci)

art

agg

avv

ver

nom

art

agg

avv

ver

nom

art

agg

avv

ver

nom

art

agg

avv

ver

nom

Il piano suona forte Antonio accellera il cammino

art

agg

avv

ver

nom

art

agg

avv

ver

nom

art

agg

avv

ver

nom

art

agg

avv

ver

nom

Evidenziano l’evoluzione di un processo che genera una sequenza

6 sequenze 2 sequenze

Evoluzione temporale

S

Page 47: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Esempio 2

Asciutto --umido---fradicioIn questo trellis tutte lep(x|x’) sono non nulle

Per sequenze lunghe k, avrò |S|k possibili percorsi

Page 48: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

..Torniamo alla stima della max_prob sequence

• Poiché si tratta di un processo di Markov, per ogni i:

P(s1, ..si, si+1, ..sk,y1,..yi,yi+1..yk | s0) = P(s1, ..si,y1,..yi | s0)P(si+1, ..sk,yi +1..yk | si)

Cioè posso considerare uno stato interno della catenae calcolare la sottosequenza che massimizza la probabilitàdi raggiungerlo

si€

γ(si) = maxs1..si−1

P(s1, ..si,y1,..yi | s0)

maxs1..sk

P(s1, ..si, si+1, ..sk,y1,..yi,yi +1..yk | s0) =

maxs

maxsi+1..sk

P(si+1, ..sk,yi+1..yk | s)γ i (si ) ⎧ ⎨ ⎩

⎫ ⎬ ⎭

Page 49: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

γi(s)

γi(si) è una funzione che determina quale sequenza di i-1 stati ha la massima probabilità di condurre ad uno stato si al passo i-esimo, condizionata al fatto di partire da uno stato noto s0, e ad aver osservato una certa sottosequenza di simboli y1..yi

Page 50: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Esempio di calcolo della prob. di raggiungere un certo stato

art

agg

avv

ver

nom

art

agg

avv

ver

nom

art

agg

avv

ver

nom

art

agg

avv

ver

nom

Il piano suona forte

s0€

P(art,agg,ver, agg,il, piano,suona, forte | s0) =

P(art,agg,ver,il, piano,suona | s0)P(agg, forte | ver)

P(art,agg,ver,il,piano,suona|s0)=P(art,agg,il piano|s0)P(verbo,suona|agg)

e iterando:

Consideriamo una possibile sequenza di stati per una stringa di simboli:

P(art,il|s0)P(agg,piano|art)P(verbo,suona|agg)P(agg,forte|ver)

e infine :

Page 51: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Max_prob sequence

(1) maxs

maxsi+1..sk

P(si +1,..sk, yi +1..yk | s)γ i (s) ⎧ ⎨ ⎩

⎫ ⎬ ⎭

2)Quindi, trovare la sequenza più probabile che da s del livelloi del trellis conduce a sk:

3)Infine, variando s del livello i, trovare la sequenza completapiù probabile (la formula (1))

maxsi+1..sk

P(si+1, ..sk,yi+1..yk | s)

Perciò:1)Per ogni livello i del trellis,e per ogni stato s del livello i, trovare la sequenza che massimizza la probabilità di arrivarea s :

γi (s)

Page 52: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Max_prob sequence

γ(si) = maxs1..si−1

P(s1, ..si,yi,..yi | s0)

p(yi ,s | s' ) = q(yi | s,s' )p(s | s' )

Poiché negli HMM ho che:

Posso scrivere:

γi (si ) = maxs1...si−1

P(s1,s2..si,y1,y2..yi | s0) =

maxsi−1

p(yi,si / si−1) maxs1...si−2

P(s1,..si−1,y1...yi | s0) = maxsi−1

p(yi,si / si−1)γ i−1(si−1) =

maxsγ k (s)

Page 53: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Algoritmo di Viterbi

1. Set2. Applica la formula precedente (2) per calcolare la funzione gamma

per per la prima colonna del trellis, cioè:

3. Calcolate la γ2 per tutti gli s del secondo livello del trellis

ed eliminate le transizioni s’s per le quali

p(y2,s|s’)γ1(s’)< γ2(s)

γ0(s0 ) = 1

γ1(s) = max p(y1,s | s' )γ 0(s' ) = p(y1,s | s0)

Notate che la γ0 è zero per s diverso da s0!!

γ2(s) = maxs'p(y2,s | s' )γ1(s' )

γk (s)

4. Ripetete lo stesso passo per tutti gli stati della colonna i-esima, fino alla colonna k, e tornando indietro, generate le possibili sequenze a partire dallo stato s che massimizza

Page 54: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Esempio

La/pron,art vecchia/agg,nome la/pron,art porta/nome,verbo la/pron,art sbarra/nome,verbo

a

p

ag

n

v

s0

la

γ1(art)=p(la,art|s0)γ1(pron)=p(la,pron|s0)γ1(s, s≠art,pron)=0

Come vedremo, il problemaè di stimare le p(wk,posi|posj)

Supponiamo di avere a disposizione queste stime

=0,6=0,4

Page 55: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

i=2

a

p

ag

n

v

s0

la vecchia

a

p

ag

n

v

p(vecchia,nome | art)γ1(art) = 0,5× 0,6 = 0,30

p(vecchia,agg | art)γ1(art) = 0,5× 0,6 = 0,30

p(vecchia,nome | pron )γ1( pron ) = 0,1× 0,4 = 0,04

p(vecchia,agg | pron )γ1( pron ) = 0,01× 0,4 = 0,004

Poiché max=0,3 vengono cancellati due percorsi (sia allo statoag che allo stato n si arriva con > probabilità dallo stato a, Quindi si eliminano i percorsi s0-p-ag e s0-p-n)

γ2(ag)=0,3, γ2(n)=0,3

Page 56: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

i=3

a

p

ag

n

v

s0

la vecchia

a

p

ag

n

v

a

p

ag

n

vla

p(la,art | ag)γ 2(ag) = 0,1× 0,3= 0,03

p(la, p | ag)γ 2(ag) = 0,2× 0,3 = 0,06

p(la,art | n)γ 2(n) = 0,3× 0,3= 0,09

p(la, p | n)γ 2(n) = 0,7 × 0,3= 0,21

γ 3(a) = 0,09

γ 3( p) = 0,21

Page 57: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

..proseguendo

a

p

ag

n

v

s0

la vecchia

a

p

ag

n

v

a

p

ag

n

vla

a

p

ag

n

v

a

p

ag

n

v

a

p

ag

n

vporta la sbarra

I percorsi possibili sono: 1: art n art n pron ver, e 2: art n pron ver art n. Se γ6(n)> γ6(v), l’algoritmo restituisce solo il percorso 2, altrimenti il percorso 1

Page 58: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

L’algoritmo di Viterbi ha moltissime applicazioni

• l'algoritmo di Viterbi serve per determinare quale sequenza di dati trasmessi sia la più probabile causa del flusso osservabile in uscita.

• l'algoritmo calcola la probabilità dei diversi flussi in ingresso in modo ricorsivo, eliminando in blocco, ad ogni passo, quelli di probabilità minore. Tale eliminazione permette una cospicua riduzione della complessità delle relative operazioni di calcolo.

• Applicazioni pressochè in ogni campo dell’informatica: telefonia cellulare, speech recognition, genetica..

Page 59: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

HMM+Viterbi per riconoscimento del parlato

Forme d’onda (segnale vocale)

Vettori delle caratteristichespettrali

Stima dei parametri (fonemi)

HMM+Viterbi

Sequenza di parole

Page 60: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

HMM+Viterbi per l’analisi sintattica

Albero sintattico (parse tree)

Definiamo stringa trasversale un pattern di tags sintattiche che collega un termine alla radice dell’albero, es:I: Pp-NP-S (il primo elemento è il POS)am: vpb-VP-VP-Sin: In-PP-VP-S

Page 61: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

HMM per l’analisi sintattica

HMM1: data una stringa di parole, predice la stringa di POS

HMM2: predice la sequenzadi stringhe trasversali

combina le stringhe

Page 62: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Il solito problema:data una osservazione, predire la sequenza di

stati che la genera

T è l’insieme delle tag sintattiche, S l’insieme delle stringhetrasversali , wi sono le parole osservate

Page 63: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Euristica per combinare le stringhe

Si combinano nodi con la stessa etichetta

Page 64: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Stima dei parametri del modello

• L’algoritmo di Viterbi si basa sulla stima delle probabilità p(yk,s|s’) dove yk è l’output osservato e s,s’ sono gli stati del modello (parole, POS, stringhe trasversali..)– I parametri (cioè le p) possono essere stimati su un “training

set” ovvero sequenze annotate da esperti (ad esempio il Wall Steet Journal corpus, per i testi scritti, e vari “speech” corpora PRONELEX, CMUdict..)

– Algoritmo di Baum-Welch per la stima dei parametri http://labrosa.ee.columbia.edu/doc/HTKBook21/node7.html

Page 65: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Esempio (WSJ)<s id="s1"> <graph root="s1_500"> <terminals> <t id="s1_1" word="Pierre" pos="NNP"/> <t id="s1_2" word="Vinken" pos="NNP"/> <t id="s1_3" word="," pos=","/> <t id="s1_4" word="61" pos="CD"/> <t id="s1_5" word="years" pos="NNS"/> <t id="s1_6" word="old" pos="JJ"/> <t id="s1_7" word="," pos=","/> <t id="s1_8" word="will" pos="MD"/> <t id="s1_9" word="join" pos="VB"/> <t id="s1_10" word="the" pos="DT"/> <t id="s1_11" word="board" pos="NN"/> <t id="s1_12" word="as" pos="IN"/> <t id="s1_13" word="a" pos="DT"/> <t id="s1_14" word="nonexecutive" pos="JJ"/> <t id="s1_15" word="director" pos="NN"/> <t id="s1_16" word="Nov." pos="NNP"/> <t id="s1_17" word="29" pos="CD"/> <t id="s1_18" word="." pos="."/> </terminals>

Centinaia di migliaia di frasiannotate con POS e tag sintattiche.E’ possibile ottenere stimesignificative di p(wi,POSi|POSi-1)E p(POSi,Si|POSi-1,Si-1)

Page 66: Intelligent Information Retrieval. ..cè ben più delle parole-chiave Chiedo lintervento Della protezione civile.

Per approfondimenti

• Statistical Methods for Speech Recognition

• Frederick Jelinek• MIT press