Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a. 2001-2002.

Post on 03-May-2015

214 views 0 download

Transcript of Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a. 2001-2002.

Intelligenza Artificiale Metodologie di ragionamento

Prof. M.T. PAZIENZA

a.a. 2001-2002

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 guerra)

Elaborazione Linguaggio Naturale

Estensione temporale: 1950….

Finalità: dalla traduzione automatica,al question-answering 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 inerente 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

I sistemi di nlp si concentrano su:

dominio particolare

obiettivo particolare

NLP-origini

Applicazioni:

• traduzione automatica inglese-russo

• calcolo delle frequenze

• riconoscimento stile autore

• identificazione indici e concordanze

NLP-origini

Linguaggi procedurali per gestire:

• conoscenza grammatiche del linguaggio

• conoscenza significato termini

• conoscenza ruolo del dominio applicativo

Necessità 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 generali (proprie del linguaggio) e specifiche di dominio (sottolinguaggi)

Sistemi di NLP

Le relazioni tra una lingua e ciò di cui la lingua parla sono rispettivamente descritte nella teoria dell’estensione e 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 di 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’estensione 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

• 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.

• Gestione delle metafore.

Ruolo della conoscenza

Aspettative

Eventi prototipici (script di Schank)

Problemi:

Quale script scegliere per interpretare una situazione?

Quando lo script usato non è più adeguato?

Alternative:

Obiettivi - Piani

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

• Sommarizzatore