Intelligenza Artificiale
50 anni dopo
Human Language Technology
Maria Teresa PAZIENZA
a.a. 2007-08
nice to meet you
nice to meet you
Sistemi intelligenti creano una rappresentazione formale
che collega il linguaggio ai concetti ed ai task delle
applicazioni reali
Programma
Introduzione storica ed obiettivi dell’Intelligenza Artificiale: Dartmouth
Summer Research Project on Artificial Intelligence
Trattamento del Linguaggio Naturale. Sistemi di NLP (Natural Language
Processing).
• Analisi sintattica: grammatiche, parsing
• Parsing robusto: approcci simbolici e quantitativi
• Rappresentazione della conoscenza per l’analisi semantica
• Il problema del significato e la grammatica
• Il ruolo del lessico
Applicazioni: Estrazione di Informazione da testi, Question Answering, Reasoning
ontologico, Summarization, Web intelligence, Machine translation.
Libro di testo
• D.Jurafsky, J. H. Martin: Speech and Language Processing, Prentice Hall,
2000, cap.2,3,8,9,10,14,15,16
• Presentazioni ppt (sul sito del corso di Int. Art., Didattica Web Tor Vergata)
Esami
Sono previste per ciascun appello:
• prova scritta
• progetto implementato singolarmente o in gruppo
• orale (discussione eventuale sulla prova scritta e sul contributo personale al progetto)
Per partecipare ad una prova d’esame è obbligatorio prenotarsi almeno 24 ore prima
dell’esame.
La partecipazione ad una prova scritta non preclude la partecipazione a prove successive (nel
caso si rifiuti la valutazione conseguita) previa nuova registrazione.
La consegna del progetto può avvenire in un appello diverso da quello della prova scritta. Il
progetto può essere realizzato singolarmente o in gruppo.
Appelli sessione estiva:
9 luglio 2008 aula 9 ore 9,30
16 luglio 2008 aula 9 ore 9,30
Dartmouth Artificial Intelligence
Conference
We propose that a 2 month, 10 man study of artificial intelligence
be carried out during the summer of 1956 at Dartmouth
College in Hanover, New Hampshire.
The study is to proceed on the basis of the conjecture that every aspect of
learning or any other feature of intelligence can in principle be so
precisely described that a machine can be made to simulate it. An
attempt will be made to find how to make machines use language, form
abstraction and concepts, solve kinds of problems now reserved for
humans, and improve themselves.
J. McCarthy, M.L. Minsky, N. Rochester, C.E. Shannon
August 31, 1955
Intelligenza Artificiale
Il problema ancora da risolvere è:
Qual è
il corretto livello di astrazione della mente
umana
per costruire un modello mentale
che debba successivamente guidare le azioni di
una macchina intelligente?
Intelligenza Artificiale
Materia in forte evoluzione; dare una definizione
che delimiti rigorosamente i campi di interesse
rischierebbe di escludere a priori sviluppi futuri
che già si intravedono
E’ contemporaneamente scienza e tecnica,
disciplina di frontiera in cui s’incontrano diversi
domini del sapere: logica, informatica,
psicologia, neuroscienze, filosofia…
Intelligenza Artificiale (IA)
L’IA si manifesta con un duplice profilo:
• disciplina ingegneristica (costruire macchine
capaci di svolgere compiti intellettuali)
• disciplina psicologica (costruire macchine capaci
di esprimere le caratteristiche essenziali
dell’attività cognitiva umana spiegando i rapporti
tra pensiero e fisicità dell’uomo)
Sogni realizza
(da 2001: Odissea nello Spazio)
bili ?
HAL
 Hal : - Buonasera, David.
-Ascolta
 David: - Come va, Hal?
-Analizza
 Hal : - Va tutto benissimo, e tu?
-Comprende
 David: - Beh, non c'è male.
-Ragiona
 Hal : - Hai fatto dell'altro lavoro?
-E’ pragmatico
 David: - Si', qualche disegno.
-Risponde
 Hal : - Posso vederlo?
 David: - Certo.
 Hal : - Un'ottima esecuzione, David. Mi pare che tu abbia migliorato parecchio.
Chi (o cosa) è Hal ?
Una intelligenza “Artificiale” o “Naturale” ?
Cosa vuol dire “Intelligenza Artificiale” ?
Intro
Il test di Turing
http://cogsci.ucsd.edu/~asaygin/tt/ttest.html
http://it.wikipedia.org/wiki/Test_di_Turing
Test ideato da Alan Turing (1919-1954) per determinare
se una macchina è in grado di pensare. Vi sono tre
partecipanti:
A: un esaminatore
B: un uomo
C: una macchina
 A è tenuto separato da B e C, e deve stabilire chi è
l’uomo e chi è la macchina ponendo delle domande
 Se A non distingue la macchina, allora la macchina ha
passato il test, ed è considerata “in grado di pensare”
E un bel problema !
-Filosofico: cosa vuol dire “pensare”? Cosa vuol dire intelligente?
-Tecnologico: esiste Hal? Dove è l’IA oggi?
Intro
A.L.I.C.E.
http://www.alicebot.org
 Come funziona ALICE?
 Non è poi così “intelligente”!
 Semplice insieme di 41.000 coppie domanda-risposta
(pattern-template) espressi tramite espressioni regolari
 Implementato in AIML (Artificial Intelligence Markup
Language), linguaggio di markup XML-compliant
 Nessun tipo di conoscenza linguistica, tranne l’utilizzo
di sinonimi
 ALICE può quindi essere messa in difficoltà con trucchi
che richiedono conoscenza linguistica!
Sintassi: “you are a robot” VS “a robot, this is what you
are”
Intro
Intelligenza Artificiale (IA)
I calcolatori generali (general purpose) hanno la
caratteristica di essere macchine simboliche, ovvero sono
(1) macchine capaci di manipolare “strutture di simboli”
da porre in corrispondenza ad entità diverse:
•
•
•
•
•
parole di una lingua naturale,
espressioni matematiche,
posizioni del gioco degli scacchi,
oggetti da riconoscere e classificare,
……
Intelligenza Artificiale (IA)
I calcolatori generali (general purpose) sono
(2) macchine capaci di utilizzare l’istruzione di “salto
condizionato” che consente di cambiare l’ordine di
esecuzione delle istruzioni.
La macchina rivela una capacità discriminativa,
ovvero seleziona/sceglie la sequenza di istruzioni
da eseguire rivelando un atteggiamento intelligente.
Intelligenza Artificiale (IA)
Inizialmente
attenzione all’analisi di problemi relativi ad ambiti ben
delimitati, per risolvere i quali bastano regole
esplicite per l’elaborazione simbolica e poca
conoscenza specializzata.
Successivamente
da elaborazione simbolica a conoscenza tacita, ad
abilità senso-motorie, alla capacità di adattamento
all’ambiente naturale o alle interazioni sociali con
altri agenti naturali o artificiali.
Intelligenza Artificiale (IA)
Inizialmente
convinzione che compito principale dell’IA fosse lo studio
delle strategie di soluzione di problemi efficacemente
selettive, o “euristiche”.
La programmazione euristica, analogamente agli esseri
umani, esplora solo una parte dei percorsi che, in base alle
informazioni possedute, potrebbero portare ad una
soluzione accettabile del problema dato e che soddisfino
alcuni requisiti irrinunciabili.
Intelligenza Artificiale (IA)
Tipicamente fondati sulla programmazione euristica sono i
sistemi basati su conoscenza (e tra questi i sistemi
esperti); tutti basati su una base di conoscenza che
raccoglie e sistematizza conoscenze e tecniche di
ragionamento euristico.
Su una base di conoscenza opera un motore inferenziale che
risolve i problemi posti, anche simulando tecniche di
ragionamento euristico.
I sistemi basati su conoscenza vengono considerati uno dei
“prodotti” principali della Intelligenza Artificiale
simbolica.
Learning to Reason
Learning
W
Reasoning
Knowledge
Representation
KB
Task
• interarazione con il mondo (World)
per knowledge representation si intende:
- ciò che si è scelto per facilitare il processo di inferenza
- ciò che si è imparato a seguito dell’interazione con il mondo
•
la prestazione viene misurata rispetto al mondo e per uno specifico task di
ragionamento
Page 19
Intelligenza Artificiale (IA)
I sistemi basati su conoscenza non permettono di affrontare
adeguatamente alcuni aspetti:
Conoscenza tacita: il comportamento intelligente che si
ispira al “saper fare”, ovvero ad una abilità difficile da
descrivere con conoscenze dichiarative e regole esplicite
di manipolazione simbolica
Azioni in tempo reale: capacità di reazione adeguate in
tempi utili per il problema
Robustezza: capacità di lavorare anche in situazioni diverse
da quelle previste dai progettisti
Intelligenza Artificiale (IA)
Il connessionismo ha affrontato con un qualche successo alcuni
problemi di conoscenza tacita e robustezza.
Il modello di un sistema di IA, in tal caso, assomiglia più ad un robot
immerso in un ambiente non predeterminato dal progettista ed in
grado di mostrare comportamenti adattivi in tempo reale, che ad un
calcolatore in grado di sostenere una conversazione o di giocare
una partita a scacchi.
Il connessionismo rivela incapacità di simulare ampie capacità di
ragionamento e di affrontare i problemi dell’IA distribuita e dei
sistemi multiagente (ogni agente deve comunicare con altri agenti,
formarsi aspettative sui risultati delle interazioni, ragionare su
obiettivi e capacità di altri agenti, dimensione sociale dell’IA).
Intelligenza Artificiale (IA)
La simulazione di comportamenti intelligenti è
rimasta un obiettivo centrale dell’IA (test di
Turing).
Ma:
si possono simulare con successo varie forme di
comportamento verbale senza avere alcuna
informazione sui meccanismi che presiedono alla
generazione o alla comprensione del linguaggio
naturale (es. ELIZA).
Intelligenza Artificiale (IA)
La costruzione di programmi simulativi che siano in grado
di fornire indicazioni (spiegare) su certe capacità
cognitive è assimilabile al processo di costruzione e
revisione dei modelli scientifici.
Quando il programma “gira” sul calcolatore, diventa
possibile individuarne le lacune, suggerire modifiche per
migliorarlo trovando nelle sue prestazioni conferme o
smentite della teoria generale.
Es. General Problem Solver che dimostrava di essere una
simulazione del protocollo verbale di un soggetto umano alle prese
con la dimostrazione di un teorema di logica proposizionale.
Intelligenza Artificiale (IA)
E’ possibile progettare macchine che abbiano prestazioni
comparabili agli esseri umani nel ragionamento pratico
senza che queste provino emozioni?
Le emozioni che si provano di fronte a situazioni reali
possono essere viste come qualità soggettivamente
esperite di particolari stati mentali, cioè come particolari
tipi di qualia.
In filosofia della mente un qualia è la qualità
soggettivamente esperita di uno stato mentale (es. reazione
di fronte ad un oggetto di un determinato colore)
Intelligenza Artificiale (IA)
Possibile ruolo causale di alcuni tipi di qualia nel processo
cognitivo. Riguardano l’esperienza cosciente, o coscienza
fenomenica (distinta dall’autocoscienza) .
Nell’ambito dell’IA sono stati considerati solo aspetti della
coscienza legati all’introspezione ed alla riflessione,
attraverso sistemi capaci di fornire resoconti articolati sui
propri stati e processi interni e di modificare i propri
programmi sulla base di tali resoconti.
Intelligenza Artificiale (IA) in pratica
 Sintetizzatori artificiali della voce (call center)
 Gioco a scacchi su rete con qualcuno (persona, programma?)
 Sistemi di supporto alle decisioni
 Agenti intelligenti
 Sistemi per
–
–
–
–
–
–
l’elaborazione del linguaggio naturale,
la traduzione automatica,
l’apprendimento automatico,
l’estrazione di informazioni da testi e la sintesi,
la generazione,
….
Language Technologies (LT) in pratica













Speech recognition
Speech synthesis
Text categorization
Text summarization
Text indexing
Text retrieval
Information extraction
Data fusion e Text data mining
Question answering
Report generation
Spoken dialogue
Translation
….
Language Technologies (LT) in pratica
Metodologie e risorse
 Metodologie generali dell’informatica (linguaggi di
programmazione, algoritmi per il trattamento dei dati,
ingegneria del software, …)
 Algoritmi dedicati al trattamento del linguaggio
 Tecniche statistiche (per l’information retrieval e
l’acquisizione di conoscenza, …)
 Logica e formalismi logici di rappresentazione
 Conoscenza del linguaggio naturale
 Corpora e tools di elaborazione di collezioni di documenti
…
Intelligenza Artificiale (IA) in pratica
Dal punto di vista ingegneristico, l’IA è valutata per
le sue capacità e prestazioni, indipendentemente
dai metodi e dai meccanismi che sono utilizzati
per realizzarla.
Idea di base: costruire macchine che non
necessariamente “simulino”, riproducendolo, il
comportamento del cervello umano, ma che siano
in grado di “emularlo selettivamente” nel risultato
finale di certe operazioni
Architettura di base di un sistema di IA:
ambiente
Un sistema IA non è un insieme di istruzioni
immutabili che rappresentano la soluzione
di un problema, bensì un ambiente in cui
rappresentare, utilizzare e modificare una
base di conoscenza.
La soluzione viene costruita dinamicamente a
fronte di un certo numero di possibilità.
Architettura di base di un sistema di IA:
ambiente
Un sistema IA deve esprimere due tipi distinti di conoscenza:
• una “base di conoscenza” (che raccoglie la conoscenza di
dominio e del problema attraverso asserzioni e fatti da un
lato e relazioni e regole dall’altro)
• un “motore inferenziale” che utilizza la base di conoscenza
per giungere alla soluzione e fornire spiegazioni. Scelta
dinamica di quale conoscenza utilizzare nel processo
risolutivo.
forward chaining versus backward chaining.
Logica
La logica è sicuramente uno degli strumenti più antichi,
assestati e rigorosi utilizzati dall’uomo per formalizzare e
spiegare il proprio ragionamento.
La logica è semanticamente ben definita, altamente
dichiarativa, ed ha un apparato deduttivo generale.
La logica classica è utilizzata in IA per rappresentare la
conoscenza su un problema (anche se con alcune
limitazioni). La BdC diventa una collezione di asserzioni
della logica dei predicati del primo ordine; le regole di
inferenza permettono di dedurre nuove asserzioni
(teoremi) non esplicitamente contenute nella BdC
Programmazione logica e Prolog
La programmazione logica nasce negli anni ’70
Kowalsky ad Edimburgo definì i fondamenti teorici della
progr. logica ed un’interpretazione procedurale delle
clausole della logica che permette di ridurre il processo
di dimostrazione di un teorema al tradizionale processo
di computazione dei linguaggi di programmazione.
Colmeraurer a Marsiglia nel 72 realizzò un interprete per
il linguaggio Prolog.
Apprendimento automatico
Un sistema non potrà dirsi “intelligente” se
manca della proprietà di accrescere le
proprie conoscenze e migliorare le proprie
abilità (apprendimento).
Per raggiungere questo obiettivo bisogna
dotare le macchine simboliche di capacità di
ragionamento induttivo oltre che deduttivo.
Apprendimento automatico
Il ragionamento induttivo procede
da asserzioni singolari riguardanti particolari fatti o
fenomeni (“esempi”)
ad asserzioni universali esprimibili mediante ipotesi o
teorie che spieghino i fatti dati e siano in grado di
predirne di nuovi.
L’inferenza deduttiva preserva la “verità” (nel senso della
correttezza logica)
L’inferenza induttiva non garantisce ciò e può tendere ad
un’eccessiva generalizzazione e a produrre errori.
Limiti, problemi aperti e …
Sistemi inferiori alle aspettative
L’apprendimento e la rappresentazione del buon senso
comune sono ben lontani dall’essere una soluzione
completa.
Limitata crescita incrementale della conoscenza
Alto costo di manutenzione dei sistemi intelligenti
…
… aspettative
 Supporto all’accesso di informazioni in grandi patrimoni
conoscitivi (archivi aziendali, informazioni on-line,
repositories di dominio,…) che richiede la capacità di
analisi e gestione di dati eterogenei e ridondanti.
 Strumenti per l’estrazione di conoscenza ad ampio spettro
che utilizzino tecniche di apprendimento automatico.
 Capacità di integrare, all’interno di sistemi informativi
generali, moduli che producano task intelligenti
 Navigazione intelligente sul web
IA debole versus IA forte
L’IA debole si propone di costruire (reale costruibilità)
macchine che si comportino “come se” fossero
intelligenti, ossia macchine capaci di risolvere tutti i
problemi che l’intelligenza umana sa risolvere.
L’IA forte afferma che la macchina che agisce in modo
intelligente deve avere una “intelligenza cosciente”, una
mente cosciente indistinguibile dalla mente umana; l’IA
forte vuol dare risposta al problema astratto di che cosa
sia il “pensare” per una macchina, anche se poi non
riesce a costruire macchine intelligenti.
… Le simulazioni al calcolatore dei processi cerebrali forniscono
modelli degli aspetti formali di questi processi, ma la simulazione
non va confusa con la riproduzione.
Il modello computazionale dei processi mentali non è più reale di
quello di qualsiasi altro fenomeno naturale. Si può immaginare
una simulazione al calcolatore dell’ossidazione degli idrocarburi
in un motore d’automobile, o dei processi di digestione in uno
stomaco alle prese con una pizza. Nel caso del cervello la
simulazione non è più reale che nel caso dell’automobile e dello
stomaco.
La simulazione di un processo cognitivo non produce gli stessi effetti
della neurobiologia di quel processo cognitivo….
J.Searle, La mente è un programma?, 1990
Approfondimenti
• J. McCarty, M.L. Minsky, N. Rochester, C.E. Shannon: A
proposal for the Dartmouth Summer Research Project on
Artificial Intelligence, 1955,
http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html
• R. Cordeschi, G. Tamburrini: L’Intelligenza Artificiale: la storia
e le idee, 2001,
http://www3.humnet.unipi.it/epistemologia/gtamb/ia.pdf
• H. Uskoreit: “Language Technology, A First Overview”
http://www.dfki.de/~hansu/LT.pdf
• D. Gelernter: “Artificial Intelligence is Lost in the Woods”
http://www.technologyreview.com/printer_friendly_article.aspx?id=18867
Argomenti trattati in questa lezione
• origini dell’IA
• ruolo del linguaggio naturale in applicazioni reali
intelligenti
• ruolo dell’apprendimento automatico
• Limiti, problemi aperti ed aspettative nei
confronti dell’IA
Scarica

1PresentazioneCorso - Università degli Studi di Roma Tor Vergata