Semantica approcci computazionali Maria Teresa PAZIENZA a.a. 2005-06 Analisi semantica Gli approcci computazionali all’analisi semantica si riferiscono al processo in base a cui le diverse rappresentazioni del significato di una frase vengono composte per poi essere poste in corrispondenza dei vari elementi linguistici. Necessità di usare sorgenti di conoscenza diversificate a supporto della rappresentazione del significato; tra esse: 1. i significati delle parole 2. i significati associati alle strutture sintattiche 3. la conoscenza della struttura del discorso 4. conoscenza del contesto 5. conoscenza (almeno) di base del dominio Analisi semantica guidata dalla sintassi Le frasi sono composte da parole ciascuna delle quali assume un significato; le parole si organizzano tra loro secondo regole specifiche e relazionano tra loro per formare una frase con un determinato significato. Il principio di composizionalità (in base al quale il significato di una frase è la risultante del significato di tutte le sue componenti) deve tener conto di tali interrelazioni; nell’analisi semantica basata sulla sintassi la composizionalità dei significati terrà quindi conto delle diverse componenti sintattiche e delle relazioni esistenti. Analisi semantica guidata dalla sintassi L’analizzatore semantico elaborerà il risultato dell’analisi sintattica nelle diverse (ambigue) risultanze con un (probabile) incremento dell’ambiguità. Le ambiguità residue potranno essere risolte grazie sia alla conoscenza di dominio che di contesto che permetteranno di selezionare la rappresentazione (più) corretta. Esempio AyCaramba serves meat e Serving (e)^ Server(e, AyCaramba)^ Served (e, Meat ) Analisi composizionale Augmented Rules We’ll accomplish this by attaching semantic formation rules to our syntactic CFG rules Augmented rules will be as A 1...n { f ( 1.sem,...n.sem)} where each α is a rule’s syntactic constituent. This should be read as: the semantics we attach to A can be computed from some function applied to the semantics of A’s parts. Analisi composizionale Example AyCaramba serves meat • Attachments • Easy parts… {PropNoun.sem} NP -> PropNoun {MassNoun.sem} NP -> MassNoun {AyCaramba} PropNoun -> AyCaramba {Meat} MassMoun -> meat • These attachments consist of assigning constants and copying from children up to parents. Esempio AyCaramba serves meat Esempio AyCaramba serves meat VP domina sia serves che meat. E’ necessario “incorporare” il significato della NP nel significato del verbo e assegnare la “rappresentazione risultante” alla VP.sem Ciò consiste nel sostituire la variabile y con il termine logico meat come secondo argomento del ruolo Served dell’evento Serves e, yIsa ( e, Serving )^ Server( e, AyCaramba)^ Served ( e, y ) Esmpio AyCaramba serves meat Possiamo ora combinare composizionalmente quanto fatto per i vari costituenti sintattici E’ necessario “incorporare” il significato sia della NP che della VP nel significato della frase e assegnare la “rappresentazione risultante” alla S Ciò consiste nel sostituire la variabile x con il termine logico AyCaramba come secondo argomento del ruolo Server dell’evento Serves e, x, yIsa ( e, Serving )^ Server ( e, x )^ Served ( e, y ) Esempio notazione lambda estensione FOPC • S -> NP VP • VP -> Verb NP • Verb -> serves • {VP.sem(NP.sem)} • {Verb.sem(NP.sem) xy e Serving (e)^ Server(e, x )^ Served (e, y ) Ciò consiste nel prendere la semantica di un figlio ed applicarla come una funzione alla semantica dell’altro figlio Composizionalità forte La semantica del tutto (la frase) è stata derivata solamente dalla semantica delle singole componenti/parti (i.e. noi ignoriamo cosa ci sia nelle altre parti dell’albero). Esempio complesso • Dov’è la complessità? • Quale ruolo assume Harry? Esempio complesso La VP per told è VP -> V NP Vpto Quale dovrebbe essere il suo attachment semantico? – Associare la funzione semantica collegata a Vpto con la semantica della NP; ciò fa emergere Harry come l’attore (goer) dell’azione dell’andare. – Associare la semantica di V alla semantica della NP; ciò fa emergere Harry come l’oggetto (tellee) dell’azione del dire Quindi il risultato delle associazioni ci fornisce il giusto valore delle cose dette. V.Sem(NP.Sem, Vpto.Sem(NP.Sem)) Esempio (a) Consideriamo gli attachment per VP VP -> Verb NP NP VP -> Verb NP PP (gave Mary a book) (gave a book to Mary) Assumiamo che le rappresentazioni del significato di entrambe siano le stesse. Associando una valenza forte al lessico, i VP attachments sono: VP.Sem(NP.Sem, NP.Sem) VP.Sem(NP.Sem, PP.Sem) Esempio (b) Associando una valenza forte alla sintassi noi potremmo avere qualcosa del genere • VP -> V NP NP V.sem ^ Recip(NP1.sem) ^ Object(NP2.sem) • VP -> V NP P V.Sem ^ Recip(PP.Sem) ^ Object(NP1.sem) Ovvero il verbo contribuisce da solo al predicato, la grammatica “conosce” i ruoli. Integrazione Se si integra l’analisi semantica nel parser mentre è in funzione … + Si possono usare i constraint semantici per eliminare interpretazioni sintattiche senza senso - Si assegna una rappresentazione del significato ai costituenti che non prendono parte nella maniera corretta alla analisi sintattica Frasi con quantificazioni Consideriamo la frase inglese A restaurant serves meat. • assumiamo che A restaurant possa essere rappresentato come x Isa ( x, Restaurant ) • con la notazione lambda si ha eServing (e) Server(e, xIsa( x, Restaurant )) Served(e,Meat )) Termini complessi Permettere al sistema composizionale di utilizzare rappresentazioni (come oggetti con le parti) del tipo: Complex-Term → <Quantifier var body> x Isa (x, Restaurant ) Conversione Termini complessi vengono racchiusi (embedded) all’interno di predicati. Quindi vengono fatti emergere opportunamente per ridistribuire le componenti della rappresentazione P(<quantifier, var, body>) diventa Quantifier var body connective P(var) Esempio Server(e, x Isa ( x, Restaurant ) ) x Isa ( x, Restaurant ) Server(e, x) Quantificatori e connetivi logici Se si è in presenza del quantificatore esistenziale, allora il connettivo è ^ (and) Se si è in presenza del quantificatore universale, allora il connettivo è -> (implicazione) (più) Termini complessi La tecnica della conversione sposta i quantificatori fuori e prima dell’inizio della forma logica … Ciò causa ambiguità se c’è più di un termine complesso all’interno della stessa frase. Ambiguità dei quantificatori Consideriamo la frase Every restaurant has a menu che può avere più di un significato : ogni ristorante ha un menù – oppure esiste qualche (mega) menù e tutti i ristoranti hanno quel menù Ambiguità dello scopo del quantificatore xRestaurant ( x) e, yHaving (e) Haver (e, x) Had (e, y ) Isa ( y, Menu ) yIsa ( y, Menu ) xIsa( x, Restaurant ) eHaving (e) Haver (e, x) Had (e, y ) Ambiguità Questo problema è simile al problema dell’ attachment delle frasi preposizionali (prepositional phrase attachment ) Il numero delle possibili interpretazioni cresce esponenzialmente con il numero di termini complessi presenti nella frase In assenza di soluzioni generali, ciò che possiamo fare è utilizzare metodi “deboli” (weak methods) per preferire una interpretazione ad un’altra Non-composizionalità Nel linguaggio corrente esistono molti casi in cui non ha senso applicare il principio della composizionalità, il significato (mal definito) del termine non può essere derivato dal significato delle sue componenti/parti – Idiomi, giochi di parole, espressioni ironiche o sarcastiche, metafore, richieste indirette, … Non-composizionalità Occhio di bue, prendere al volo l’offerta, di palo in frasca, due piccioni con una fava, cadere dalle nuvole, la grande guerra, etc… In molte di queste… costruzioni il significato dell’espressione come unico evento è a seconda dei casi – totalmente scorrelato dal significato delle singole parti – correlato in qualche modo oscuro e molto vago Esempio La punta dell’iceberg Di questa frase possiamo dire varie cose; trattasi di 1. Una frase specifica con un significato particolare 2. Una frase flessibile sintatticamente e lessicalmente con un significato particolare 3. Una frase flessibile sintatticamente e lessicalmente con un con un significato parzialmente composizionale 4. … Esempio Si consideri la frase: Enron is the tip of the iceberg. NP -> “the tip of the iceberg” Non va proprio bene… per esempio… – the tip of Mrs. Ford’s iceberg – the tip of a 1000-page iceberg – the merest tip of the iceberg • E cosa dire di – That’s just the iceberg’s tip. Esempio NP -> “the tip of the iceberg” Ciò che sembra che ci serva è qualcosa del tipo NP -> una NP iniziale con tip come sua head seguita da una successiva PP con of come sua head e che abbia iceberg come head della sua NP e che permetta modificatori del tipo merest, Mrs. Ford, e 1000-page per modificare le forme semantiche rilevanti vedremo… Altri approcci all’analisi semantica – Semantic grammars – Information extraction – Probabilistic labeling Ulteriori informazioni su costruzioni non proprio composizionali Word meanings Riferimenti La presentazione utilizza alcune informazioni esemplificative tratte dal libro: D.Jurafsky, J. H. Martin: Speech and Language Processing, Prentice Hall, 2000, cap.14,15,16