Sistemi basati su conoscenza Comunicazione basata sul linguaggio naturale (grammatica, semantica) Prof. M.T. PAZIENZA a.a. 2002-2003 Comunicazione La comunicazione è lo scambio intenzionale di informazioni effettuato attraverso la produzione e percezione di segni presi da un sistema condiviso di segni convenzionali Linguaggio = sistema complesso e strutturato di segni per la comunicazione Il linguaggio umano è altamente codificato e copre un numero infinito di istanze di comunicazione Linguaggio Parola qualsiasi tipo di segno comunicativo convenzionale Parlante chi attiva la comunicazione Ascoltatore chi riceve la comunicazione Enunciato valore della comunicazione Linguaggio per comunicare Atti linguistici per trasferire informazione all’ascoltatore Atti linguistici per far agire l’ascoltatore Linguaggio per comunicare Pianificazione • Decidere quale atto linguistico attivare e quando per raggiungere l’obiettivo di comunicare una determinata informazione ad un ascoltatore • Nondeterminismo degli atti linguistici Linguaggio per comunicare Comprensione degli atti linguistici La sintassi e la semantica determinano la comprensione di un atto linguistico Comprensione di atti linguistici Grammatiche basate sulla struttura di frase (stringhe composte da sottostringhe o sintagmi) S-> NP VP Categorizzazione dei sintagmi esempi: Sintagmi nominali, NP, Noun Phrase Sintagmi verbali, VP, Verb Phrase Sintagmi preposizionali, PP, Prepositional Phrase I sintagmi sono dei link tra grammatica e semantica. Grammatiche Una grammatica o sintassi G è definita da: V alfabeto di simboli terminali N alfabeto di simboli non terminali (o categorie sintattiche) P insieme finito di regole di produzione sintattiche del tipo dove ed V) S assioma o simbolo iniziale G (V,N,P,S) Esempio V= il, lo, gatto, topo, sasso, mangia, beve N= <frase>,<sogg>,<verbo>,<comp-ogg>, <art>, <nome> S=<frase> P: <frase>::=<sogg><verbo><comp-ogg> <sogg>::=<art><nome> < comp-ogg >::=< art><nome> <art>::= il lo <nome>::= gatto topo sasso <verbo>::= mangia beve <frase> <sogg> <art> <nome> il gatto Esempio di albero sintattico <verbo> mangia <comp-ogg> <art> <nome> il topo Modelli di comunicazione Messaggio codificato 1- Il parlante ha in mente una proposizione P 2- Il parlante codifica la proposizione in segni W 3- L’ascoltatore tenta di decodificare il messaggio W per ricostruire la proposizione P Si ipotizza di mantenere la stessa interpretazione ai tre livelli Processi della comunicazione Intenzione Generazione Sintesi Percezione Analisi S vuole che H creda P S sceglie le parole W S emette le parole W H percepisce W’ H inferisce che W’ ha vari significati Pi Disambiguazione H inferisce che S intendeva affermare Pi Assimilazione H decide di credere Pi Processi della comunicazione Parsing Parsing: processo di assegnazione di una parte del discorso (nome, verbo,…) ad ogni parola di una frase ed al raggruppamento di parole in sintagmi (albero di analisi o sintattico) Un albero sintattico è un albero in cui i nodi interni rappresentano sintagmi, gli archi rappresentano l’applicazione di regole grammaticali e le foglie rappresentano parole. Processi della comunicazione Interpretazione semantica: processo di estrazione del significato da un enunciato di un particolare linguaggio; associazione di significati a stringhe in isolamento (now); possibile ambiguità degli enunciati Interpretazione pragmatica: associazione di significati ad enunciati e fatti in contesti specifici (S3); rappresentazione della situazione corrente Linguaggio per comunicare Si usa il linguaggio per comunicare se e solo se gli agenti coinvolti nella comunicazione: • Condividono la conoscenza di un linguaggio • Condividono la conoscenza del contesto della conversazione • Sono razionali e quindi la loro reazione ad un atto linguistico è prevedibile Modelli di comunicazione Modello del linguaggio situato Il significato di un messaggio dipende sia dalle parole che dalla situazione in cui le parole sono emesse le stesse parole (strutture di) assumono significati diversi in contesti diversi (es: sono qui, leggi questo libro. Il “valore” di qui, questo, cambiano con il tempo ed il luogo) Comunicazione con Tell e Ask Agenti che condividono lo stesso linguaggio di rappresentazione interna e i simboli usati. (problema della condivisione della denominazione dei simboli e delle relazioni tra simboli) possono accedere alle basi di conoscenza degli altri nello stesso modo che alla propria (tramite la Tell per inviare una proposizione e tramite la Ask per verificarne la conoscenza) (problema dell’aggiornamento delle Bdc) Comunicazione telepatica Comunicazione con Tell e Ask Comunicazione tramite il linguaggio Condivisione del linguaggio di comunicazione (ed, al più, del linguaggio interno ma non della Bdc) Traduzione da linguaggio esterno a linguaggio interno Problema di riconciliare le differenze tra le basi di conoscenza interne degli agenti Comunicazione tramite il linguaggio Linguaggio Naturale Necessità di definire una grammatica formale • Dinamicità della lingua • Non grammaticalità di alcune espressioni • Comprensibilità del messaggio anche se scorretto formalmente I linguaggi formali sono assunti essere adatti a gestire i linguaggi naturali, ma con molti limiti e problemi Linguaggio Naturale • Definiamo lessico l’insieme delle parole ammissibili del vocabolario della lingua • Le parole sono raggruppate in categorie o parti del discorso (nome, articolo, pronome,verbo,…) • Classi aperte (nomi, verbi, aggettivi) • Classi chiuse (pronomi, avverbi, articoli, preposizioni, congiunzioni) Grammatica del linguaggio Regole • S-> NP VP S congiunzione S • NP -> Pronome Sostantivo Articolo Sostantivo Cifra Cifra NP PP NP RelClause • VP-> Verbo VP NP VP Aggettivo VP PP VP Avverbio • PP -> Preposizione NP • RelClause -> that VP Analisi sintattica • Ricostruzione della struttura della frase di un enunciato, data una grammatica • Foresta di analisi: lista ordinata di Alberi di analisi • Algoritmi di parsing: approccio top-down e bottom-up Analisi di un enunciato Descrivere grammatiche BNF (problemi) • Descrive stringhe (senza significato) • Descrive grammatiche libere da contesto S->NP VP Sostantivo-> odore … … … Grammatica logica Logica del primo ordine • Gestisce “stringhe con significato” • Ogni nonterminale diventa predicato unario vero per stringhe che sono sintagmi di quella categoria NP( s1 ) VP( s2 ) S (Concatena( s1 , s2 )) ( s " odore"...) Sos tan tivo( s ) Grammatiche a clausole definite DCG Una grammatica logica permette inferenze non limitate (quindi approccio risolutivo costoso, necessaria una limitazione) Nelle grammatiche a clausole definite (DCG) ogni formula deve essere una clausola definita (in forma di Horn ha un solo atomo come conseguente e un atomo o una congiunzione di zero o più atomi come antecedente) Con il formalismo DCG una grammatica è definita in termini di logica del primo ordine Grammatiche a clausole definite DCG Sul lato sinistro un singolo nonterminale (aumentato o meno) Sul lato destro di una regola: • I simboli nonterminali possono essere aumentati con argomenti (semantica) in più NP(s,sem) • Una variabile può apparire sul lato destro di una regola DCG • Un test logico tra graffe può apparire sul lato destro di una regola. Grammatiche Se non si distinguono i casi (ruoli sintat. e concord.) le grammatiche possono generare anche frasi sgrammaticate (overgenerazione) Es. Io dare te la penne Non è vero che qualunque NP si combina con qualunque VP e questo con qualunque PP in qualsiasi ordine L’introduzione di nuove regole che considerino i casi farebbe esplodere (nel numero) le grammatiche Grammatiche aumentate 1. Parametrizzare le regole ed aggiungere delle variabili permette di mantenere cost. il num. di regole di una grammatica (costo computazionale) e risolve anche il problema delle concordanze. Esempio (in inglese) S->NP(nominativo) VP …. 2. Sottogategorizzare i verbi Esempio (in inglese) PP->Preposizione NP(accusativo) Sottocategorizzazione verbale Analisi dei complementi (sintagmi obbligatori che seguono un verbo all’interno del sintagma verbale) • Lista di sottocategorizzazione (lista di categorie che il verbo accetta prioritariamente e che lo caratterizzano) • Aggiunti (sintagmi non dominati del verbo: spazio e tempo) E’ possibile che un verbo abbia più di una lista di sottocategorizzazione / E’ possibile che un sostantivo abbia più di una categoria Sottocategorizzazioni verbali Sottocategorizzazioni verbali Aumentare la catergoria VP con un appropriato argomento di sottocategorizzazione (complementi necessari a formare un VP completo) VP(sottocat)-> VP([NP!sottocat]) NP(accusativo) !VP([Aggettivo!sottocat])Aggettivo !VP([PP!sottocat]) PP !Verbo(sottocat)[] Sottocategorizzazioni verbali Semantica dei linguaggi formali Semantica composizionale La semantica di un qualsiasi sintagma è funzione della semantica dei suoi sottosintagmi (esempio, in aritmetica se conosciamo il significato di X,Y,+, allora conosciamo il significato di X+Y) Semantica dei linguaggi naturali • Il significato delle parole (e dei sintagmi) non dipende in maniera composizionale dal contesto circostante • E’ possibile avere più interpretazioni semantiche corrette di una stessa locuzione • Necessità di effettuare una disambiguazione, ovvero una scelta tra le possibili interpretazioni semantiche Ambiguità lessicale • Si ha ambiguità lessicale nel caso in cui una parola abbia più di un significato. • L’ambiguità lessicale può essere trasversale rispetto alle categorie (es. piano) Ambiguità sintattica (o strutturale) • L’ambiguità sintattica può essere presente con o senza ambiguità lessicale “La vecchia porta la sbarra” Le ambiguità lessicale e sintattica portano all’ambiguità semantica Ambiguità semantica Una forma di ambiguità semantica è data dall’ambiguità dei riferimenti (ad esempio anaforici) Egli urlava per avere a tutti i costi un pallone. Lo spinsi fuori dalla porta Albero di analisi (espressioni aritmetiche) Albero di analisi Interpretazione pragmatica Spesso è necessario completare l’interpretazione con informazioni relative: 1)alla situazione corrente; tale informazione non è composizionale e dipende dal contesto (es: riferimenti a soggetti sottintesi, ad avverbi temporali e spaziali,…) 2)ad oggetti citati precedentemente nel testo (anafora) Es.1 Dopo la proposta di Mario a Maria, hanno cercato un prete e si sono sposati. In luna di miele sono andati a Parigi. 2.Giovanni ama Maria, ma lei non ricambia il suo sentimento. Interpretazione pragmatica • L’interpretazione pragmatica prende in considerazione la situazione corrente per determinare l’effetto di un enunciato in un determinato contesto Disambiguazione Per disambiguare una frase è necessario disporre del modello del parlante e dell’ascoltatore, oltre a conoscere il contesto. • Modello del mondo • Mondo mentale • Modello linguistico La disambiguazione è il processo in base a cui si decide quale delle possibili interpretazioni è quella intesa dal parlante