Intelligenza Artificiale Linguaggio naturale
description
Transcript of Intelligenza Artificiale Linguaggio naturale
![Page 1: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/1.jpg)
Intelligenza Artificiale Linguaggio naturale
Prof. M.T. PAZIENZA
a.a. 2004-2005
![Page 2: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/2.jpg)
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)
![Page 3: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/3.jpg)
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)
![Page 4: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/4.jpg)
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,…
![Page 5: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/5.jpg)
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
![Page 6: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/6.jpg)
NLP
Realizzare un sistema
competente nel linguaggio naturale
tanto quanto un uomo
richiederebbe la risoluzione del
Problema dell’IA
![Page 7: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/7.jpg)
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
![Page 8: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/8.jpg)
NLP
Sistemi efficienti di NLP si concentrano su:
dominio particolare
obiettivo particolare
![Page 9: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/9.jpg)
NLP-origini
Applicazioni:
• traduzione automatica inglese-russo
• calcolo delle frequenze
• identificazione indici e concordanze
![Page 10: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/10.jpg)
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
![Page 11: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/11.jpg)
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.
![Page 12: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/12.jpg)
Sistemi di NLP
Necessità di risorse linguistiche
sia
generali (proprie del linguaggio)
che
specifiche di dominio (sottolinguaggi)
![Page 13: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/13.jpg)
Sistemi di NLP
Le relazioni tra
una lingua (teoria dell’estensione )
e
ciò di cui la lingua parla (teoria dell’intensione)
![Page 14: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/14.jpg)
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)
![Page 15: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/15.jpg)
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)
![Page 16: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/16.jpg)
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).
![Page 17: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/17.jpg)
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)
![Page 18: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/18.jpg)
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
![Page 19: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/19.jpg)
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.
![Page 20: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/20.jpg)
Specifiche per grammatiche
• RTN (recursive transition network)
• ATN (augmented transition network )
• CHART
• DCG (definite clause grammar)
![Page 21: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/21.jpg)
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.
![Page 22: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/22.jpg)
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.
![Page 23: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/23.jpg)
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
![Page 24: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/24.jpg)
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)
![Page 25: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/25.jpg)
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.
![Page 26: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/26.jpg)
Ambiguità
La vecchia porta la sbarraFrase totalmente ambigua: l’intera sequenza
di parole ha più di una struttura linguistica associabile.
Incontrarono le ragazze che amavanoFrase localmente ambigua: ambiguità
presente in alcune sottoparti della frase
![Page 27: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/27.jpg)
Comprensione del significato
Comprensione del linguaggio: correla le forme linguistiche al significato
Generazione del linguaggio: assegna significato a forme linguistiche
![Page 28: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/28.jpg)
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.
![Page 29: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/29.jpg)
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
![Page 30: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/30.jpg)
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
![Page 31: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/31.jpg)
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
![Page 32: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/32.jpg)
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.
![Page 33: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/33.jpg)
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.
![Page 34: Intelligenza Artificiale Linguaggio naturale](https://reader035.fdocuments.net/reader035/viewer/2022081312/56814f1f550346895dbcb15c/html5/thumbnails/34.jpg)
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