Sistemi computazionali per il linguaggio naturale
Bad News…Good News
• Una frase è un descrittore incompleto dell’informazione che contiene
• “Alcuni cani sono fuori” = 2, 3, 4 cani… Bobby, Fido … Alcuni dei nostri cani…
• G.N.: Il linguaggio naturale permette di essere tanto vaghi o tanto precisi quanto si vuole!
Bad News…Good News
• La stessa espressione ha diversi significati in diversi contesti
• “Dov’è l’acqua?” In un laboratorio, l’acqua distillata; a tavola l’acqua potabile; con l’idraulico, la perdita d’acqua…
• G.N.: Il linguaggio naturale permette di comunicare qualsiasi cosa con un insieme finito di simboli.
• Se cosi’ non folsse il linguaggio non potrebbe essere appreso…
Bad News…Good News
• Nessun programma può essere esaustivo perchè nuove espressioni vengono continuamente coniate
• “Il programma sta runnando da 50 secondi, non è che per caso si è alluppato?”
• G.N.: Il linguaggio naturale si evolve insieme al mondo che descrive
Bad News…Good News
• Ci sono tantissime espressioni diverse per dire la stessa cosa
• “Tanti auguri! Buon compleanno! ”
• G.N.: Quando si hanno molte conoscenze è più facile derivare inferenze; il linguaggio naturale è ‘pensato’ per agenti che hanno molte conoscenze…
Tipi di compiti
• Comprendere (o generare) testi scritti.
• Comprendere (o generare) il parlato.
• Fornire traduzioni.
Cosa significa una frase?
Una fraseUna rappresentazione TARGETIn un determinato CONTESTO
Problema: tanti sono i contesti tante sono le possibili rappresentazioni del significato di una frase
I tipi di analisi linguistica
Analisi morfologica:
Si scompongono le singole parole nelle componenti (affissi, suffissi, radici..) e si si separano I segni di interpunzione dalle parole
Es: ‘incontriamoci alle 10,30… Anzi no! Meglio alle 11!’
Incontriamoci = incontr + iamo + ci
declinazione Suffisso pronominale
radice
I tipi di analisi linguistica
Analisi sintattica:
Sequenze lineari di parole sono trasformate in strutture che mostrano in che modo le parole
si relazionano le une con le altre all’interno della frase
Le frasi che violano la sintassi di un linguaggio devono essere riconoscibili
I tipi di analisi linguistica
Analisi semantica:
Le strutture create dall’analizzatore sintattico sono assegnate al loro significato.
Deve essere possibile individuare le frasi che hanno ‘significato anomalo’
Esempio: Idee verdi e senza colore dormono furiosamente
I tipi di analisi linguistica
Analisi semantica:
Le strutture create dall’analizzatore sintattico sono assegnate al loro significato.
Deve essere possibile individuare le frasi che hanno ‘significato anomalo’ in uno o più universi di significato
Esempio: Idee verdi e senza colore dormono furiosamente
I tipi di analisi linguistica
Integrazione del discorso:
L’assegnazione del significato può essere determinata al di fuori della frase in analisi.
Esempio: Francesco è uno studente modello. Lo è sempre stato.
I tipi di analisi linguistica
Analisi pragmatica:
Bisogna che il programma sia in grado di intendere ciò che una frase può voler dire al di là del significato letterale
Esempio: “Scusi, mi saprebbe indicare la più vicina fermata della metropolitana?”
“Si, certo”… Non è una risposta accetabile“No, mi spiace”… E’ una risposta accettabile
Analisi sintattica
La finalità dell’analisi sintattica è di ottenere il Parsing di una frase, cioè di derivare la struttura gerarchica delle dipendenze tra le parole della frase.
Ovviamente serve una teoria sintattica per farlo!
Analisi sintattica‘Voglio stampare il file iniziale di Bill’
S
(RM1)
NP
ADJS
NPV
VP
VP
PRO
NP
(RM3)
Io
(RM2) PRO
Io stampare
V
voglio
(RM4)
ADJS
inizialedi Bill il file
NP
N
Analisi sintattica
S = sentence (frase)
(RM) = Reference Marker - serve per riallacciarsi dopo…
NP = Noun Phrase (sintagma nominale)
VP = Verbal Phrase (sintagma verbale)
PRO = pronoun (pronome)
ADJS = Adjective (aggetivo)
N = Noun (nome)
Analisi sintatticaPer eseguire il parsing serve
1) Una rappresentazione dichiarativa dei ‘fatti sintattici’
di una lingua, ovverosia una GRAMMATICA
2) Un algoritmo di parsing che associa frasi a strutture e viceversa
Esempio di regola della grammatica: S NP VPSi legge: una frase è composta da un sintagma nominale e da un Sintagma verbale
Analisi sintatticaPer ogni linguaggio la sua GRAMMATICE DEFINISCE:
1) La sua capacità generativa in senso debole, ossia l’insieme delle frasi benformate
2) La sua capacità generativa in senso forte, ossia l’insieme delle strutture sintattiche ad esse
associate.
Analisi sintatticaParsing TOP-DOWN
Si inizia con il simbolo di partenza e si applicano le regole fino a che I simboli ai terminali dell’albero sintattico corrispondono alle componenti della frase che si sta analizzando
Analisi sintatticaParsing BOTTOM-UP.
Si inizia con la frase e si applicano le regole all’indietro fino a che un solo albero è prodotto, quello che ha ai terminali le parole della frase che si deve analizzare.
Analisi sintatticaParsing BOTTOM-UP con filtraggio TOP-DOWN.
Aggiunge alla strategia precedente l’impiego di una serie di tavole grammaticali precalcolate che eliminano possibili constituenti che non potrebbero mai essere combinati in forma sintatticamente valida per un dato linguaggio.
Analisi sintatticaQuando le interpretazioni sono molteplici…
Il linguaggio è ricco di frasi che possono essere associate a diversi alberi sintattici.
Esempio: ‘Guardo l’uomo con il cannocchiale’.
Sussistono diverse strategie per trattare questo tipo di frasi.
Analisi sintatticaQuando le interpretazioni sono molteplici…
Best Path with Backtracking
Segue un albero alla volta ma registra tutte le ‘scelte’ alternative in modo che se una interpretazione fallisce torna indietro e considera le scelte alternative.
Analisi sintatticaQuando le interpretazioni sono molteplici…
Best Path with Patchup
Segue un albero alla volta e registra tutte le ‘scelte’ alternative come il precedente, ma se una struttura fallisce inverte prima di tutto l’ordine dei componenti della parte della frase che contiene l’ambiguità
Analisi sintatticaQuando le interpretazioni sono molteplici…
Wait and See
Segue un albero alla volta e registra solo le scelte che non presentano ambiguità fino a quando lo sviluppo della procedura non consente di inserire le soluzioni in una forma non ambigua.
Analisi sintatticaQuando le interpretazioni sono molteplici…
All pathsCostruisce tutte le possibili interpretazioni
sintattiche, anche quelle meno probabili. Può essere una strategia molto poco efficente.
Integrazione del discorsoRichiede la costruzione di una base di conoscenza
per il discorso che deve essere interpretato.
Si possono usare diversi formalismi, tipo frames o scripts.
Integrazione del discorsoEsempio:
User isa: Person *login-name: must be ‘string’
Printing isa: physical event * agent: must be ‘animate or program’ * object: must be ‘information-object’
Top Related