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