Intelligenza Artificiale Linguaggio naturale Prof. M.T. PAZIENZA a.a. 2004-2005 Atti linguistici Quando un agente effettua un’azione intesa ad avere effetti sulla struttura cognitiva di un altro agente, compie un atto comunicativo Gli atti comunicativi basati sul linguaggio naturale si chiamano atti linguistici (tra parlante ed ascoltatore) Atti linguistici Categorie di atti linguistici: • Rappresentativi (atti che affermano una proposizione) • Commissivi (atti che promettono o minacciano) • Espressivi (atti che ringraziano o chiedono scusa) • Dichiarativi (atti che cambiano lo stato delle cose – dichiarazione di matrimonio) Elaborazione Linguaggio Naturale Estensione temporale: 1950…. Finalità: dalla traduzione automatica,al questionanswering in linguaggio naturale, comprensione testi, sommarizzazione, classificazione automatica di documenti, accesso a documentazione su rete, estrazione di informazione da testi, generazione di testi, analisi storica di una lingua, comprensione di linguaggi gergali,… NLP Problemi: • rappresentazione di stringhe e strutture linguistiche invece che di numeri… • gestione della intrinseca ambiguità del linguaggio naturale • inadeguatezza calcolatori prima generazione (elaborano caratteri come numeri) • inadeguatezza linguaggi programmazione AI-hard NLP Realizzare un sistema competente nel linguaggio naturale tanto quanto un uomo richiederebbe la risoluzione del Problema dell’IA NLP Ruolo della conoscenza nella risoluzione delle ambiguità : • • • • conoscenza del mondo reale obiettivi della comunicazione linguistica credenze dei partecipanti alla comunicazione struttura ed analisi del discorso NLP Sistemi efficienti di NLP si concentrano su: dominio particolare obiettivo particolare NLP-origini Applicazioni: • traduzione automatica inglese-russo • calcolo delle frequenze • identificazione indici e concordanze NLP-origini Linguaggi procedurali per gestire: • conoscenza grammatiche del linguaggio • conoscenza significato termini • conoscenza ruolo del dominio applicativo Necessità di esplicitare nelle istruzioni del programma tutta la conoscenza NLP - evoluzione L’enfasi dell’elaborazione del linguaggio naturale si è spostata sulla comprensione di un testo (posta elettronica, notizie giornalistiche, libri, documentazione,…) e sul recupero di informazioni da collezioni di doc. Sistemi di NLP Necessità di risorse linguistiche sia generali (proprie del linguaggio) che specifiche di dominio (sottolinguaggi) Sistemi di NLP Le relazioni tra una lingua (teoria dell’estensione ) e ciò di cui la lingua parla (teoria dell’intensione) Teoria dell’estensione Tratta concetti come denotazione, denominazione, estensione, verità e concetti ad esse collegati ( la parola blu, o il predicato B di pari significato in un sistema linguistico simbolico denotano ugualmente un oggetto blu) Teoria dell’intensione Tratta concetti come intensione, sinonimia, analiticità e concetti ad essa collegati (per intensione intendiamo un’espressione o, più specificatamente, la sua componente di significato designativo) (per esempio l’intensione della parola blu è la proprietà di essere blu) Descrizione di una lingua Da un punto di vista sistematico, la descrizione di una lingua può partire dalla teoria dell’intensione e costruire poi la teoria dell’estensione sulla base di essa (Al fine di accertare che una parola denota un dato oggetto, si deve dapprima comprendere la parola, cioè sapere qual è la sua intensione, ovvero si deve conoscere la condizione generale che un oggetto deve soddisfare per essere denotato con quella parola). NLP - evoluzione Linguaggi di programmazione dichiarativi in cui le regole (grammatica) siano considerate strutture simboliche da manipolare PROLOG permette al programmatore (linguista computazionale) di specificare le regole e lasciare al sistema le decisioni implementative (dire cosa fare, piuttosto che come fare) Definizione di grammatiche in PROLOG (applicabilità per gramm. di piccole dimensioni) Grammatiche / Parser • Una grammatica è (una definizione astratta di ) un insieme di oggetti strutturati “ben formati” • Un parser è un algoritmo - set di istruzioni per il riconoscimento di oggetti linguistici strutturati all’interno di stringhe di parole NLP - evoluzione Identificazione / definizione di oggetti strutturati a supporto della gestione di oggetti linguistici Grammatiche e parser sono concettualmente indipendenti; – poiché devono condividere come dati gli oggetti linguistici strutturati, il modo di definire le grammatiche influenza la scrittura dei parser. Specifiche per grammatiche • • • • RTN (recursive transition network) ATN (augmented transition network ) CHART DCG (definite clause grammar) RTN (recursive transition network) Consistono di una collezione di reti ciascuna delle quali ha il nome di una categoria sintattica (POS - Part Of Speech) Ogni rete consiste di una collezione di stati connessi da archi che hanno il nome delle categorie sintattiche. RTN (recursive transition network) Una data stringa di parole è grammaticale o meno secondo la RTN se esiste un cammino che dallo stato iniziale conduca allo stato finale passando attraverso archi successivi della rete le cui etichette corrispondono alle categorie sintattiche delle parole successive nella stringa. ATN (augmented transition network ) Le ATN rappresentano una evoluzione delle RTN. Sono dotate di memoria e delle capacità di “aumentare” gli archi con azioni e condizioni che fanno riferimento a quella memoria. Gli “aumenti” annullano la caratteristica dichiarativa del formalismo Chart parser Un “chart” è fondamentalmente una struttura dati in cui il parser registra i tentativi positivi di raggruppare sottocostituenti di stringhe di parole. Una volta che un costituente è stato riconosciuto in una parte della stringa , non c’è più bisogno di riprocessarlo in un’altra sequenza (non necessario backtracking) Definite Clause grammars-DCG (grammatiche a clausole definite) Con le DCG è possibile descrivere le grammatiche (stringhe e loro significati) in termini di logica del primo ordine. Ogni non-terminale diventa un predicato unario vero per stringhe che sono sintagmi di quella categoria. Sono grammatiche a struttura di frase annotate con variabili PROLOG che si esprimono facilmente in espressioni PROLOG. Anche se sono grammatiche, possono essere usate direttamente come un parser. Ambiguità La vecchia porta la sbarra Frase totalmente ambigua: l’intera sequenza di parole ha più di una struttura linguistica associabile. Incontrarono le ragazze che amavano Frase localmente ambigua: ambiguità presente in alcune sottoparti della frase Comprensione del significato Comprensione del linguaggio: correla le forme linguistiche al significato Generazione del linguaggio: assegna significato a forme linguistiche Comprensione del significato Come si può affermare che una struttura simbolica rappresenta il significato di una frase? • Il significato di una domanda è una procedura per trovare una risposta • Il significato di un’affermazione è una procedura per aggiungere significato a quanto il ricevente il messaggio linguistico riceve. Rappresentazione del significato Rappresentare la conoscenza in termini di un grafo i cui nodi rappresentano concetti ed i cui archi rappresentano le relazioni tra essi (reti semantiche) Schank - Dipendenze concettuali Rappresentazione del significato • Schank propose un set di azioni primitive (es. applicazione di una forza a, trasferimento mentale di un’informazione) attraverso cui esprimere un qualunque evento in un qualunque linguaggio naturale • PRO: costruzione di una interlingua • CONTRO: non si possono raggruppare più concetti in “chunk” più grandi Rappresentazione del significato • Logica per esprimere il significato del linguaggio naturale • Principio di composizionalità (il significato di una frase può essere ottenuto da operazioni composizionali sul significato delle sue parti) • Un approccio computazionale alla comprensione del linguaggio deve porre in essere filtri sintattici e semantici ->Selectional restrictions Selectional restrictions A ciascun “senso” di una parola è possibile associare markers semantici che specifichino features e condizioni sulle features dei sensi delle parole che possono combinarsi con questi ultimi. Un marker semantico può permettere di eliminare un’analisi sintattica che non la soddisfi. Marker semantici e selectional restrictions sono computazionalmente efficaci. Comprensione del linguaggio Un qualunque modello di comprensione del linguaggio non può prescindere da un modello di rappresentazione della conoscenza Conoscenza del mondo versus conoscenza del dominio La conoscenza del dominio permette di scartare alcune interpretazioni di una frase perché fuori contesto. NLP - applicazioni correnti • • • • Traduttori (basso livello) Linguaggi di interrogazione a basi di dati Word processors Generatori di risposte / spiegazioni iin linguaggio naturale • Sistemi di classificazione / indicizzazione con parametri linguistici • Sistemi per l’estrazione di informazioni • Sommarizzatori