1 ATN & CHART-DIAGRAM Università degli studi di Pisa Facoltà di scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Corso di Intelligenza.

Slides:



Advertisements
Presentazioni simili
Ricorsione in SQL-99.
Advertisements

Linguaggi algoritmici
Estendere i linguaggi: i tipi di dato astratti
PHP.
Sommario Nelle lezioni precedenti abbiamo introdotto tutti gli elementi che formano un particolare tipo di linguaggio logico, denominato linguaggio predicativo.
Analizzatori Lessicali con JLex
Analizzatori Sintattici con Cup Giuseppe Morelli.
Costruzione delle tabelle di parsing LR canoniche
Costruzione di tabelle di Parsing SLR
STRUTTURE DATI AVANZATE Abstract Data Types Presentazione realizzata da: Mario Capurso – Altamura Michele Doronzo Aldo Lamacchia.
Algoritmi e Programmazione
Liste di Interi Esercitazione. Liste Concatenate Tipo di dato utile per memorizzare sequenze di elementi di dimensioni variabile Definizione tipicamente.
Lez. 121 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Progettazione.
Lez. 91 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Alberi di ricerca.
Breath-first search Visita in ampiezza di un grafo Algoritmo Esempio
RICONOSCIMENTO DI SEQUENZE DI EVENTI
Reaching Definitions. Tino CortesiTecniche di Analisi di Programmi 2 Reaching definitions Dato un punto del programma, quali sono i comandi di assegnamento.
Intelligenza Artificiale Linguaggio naturale
Intelligenza Artificiale 2 Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Iterazione enumerativa (for)
Maria Teresa PAZIENZA a.a
Sistemi basati su conoscenza Comunicazione basata sul linguaggio naturale Prof. M.T. PAZIENZA a.a
Fondamenti di Informatica II Ingegneria Informatica / Automatica (A-I) Meccanica Prof. M.T. PAZIENZA a.a – 3° ciclo.
Macchine non completamente specificate
Informatica Problema Algoritmo Programma
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 12/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 05/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Boruvka Algoritmi.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Grafi.
Unità Didattica 2 I Linguaggi di Programmazione
Linguaggi di markup1 LINGUAGGI DI MARKUP. Linguaggi di markup2 Documenti su Internet Internet permette (tra laltro) di accedere a documenti remoti In.
Corso di Laurea in Ingegneria per lAmbiente e il Territorio Informatica per lAmbiente e il Territorio Docente: Giandomenico Spezzano Tutor: Alfredo Cuzzocrea.
I File.
LINGUAGGI DI PROGRAMMAZIONE
INFORMATICA MATTEO CRISTANI.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Capitolo 12 Minimo albero ricoprente: Algoritmi di Prim e di Borůvka Algoritmi.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 08/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Sistemi basati su conoscenza Comunicazione basata sul linguaggio naturale (grammatica, semantica) Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Linguaggio naturale: grammatiche Prof. M.T. PAZIENZA a.a
Word: gli strumenti di formattazione
Intelligenza Artificiale 1 Gestione della conoscenza lezione 19 Prof. M.T. PAZIENZA a.a
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl 1 Strutture dati per.
Ereditarieta’. Contenuti Introduciamo un meccanismo fondamentale di Java: l’ereditarieta’ Permette di estendere classi gia’ definite (ovvero di definire.
Lezione 10 Riccardo Sama' Copyright  Riccardo Sama' Word: strumenti di correzione.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Analisi sintattica efficiente Giacomo Baldi Elaborazione del Linguaggio Naturale.
Linguaggi e Modelli Computazionali LS Anno Accademico 2007/2008 Alessio Della Motta Un linguaggio per descrivere partite di Maraffone: il gioco più popolare.
1 Informatica Generale Alessandra Di Pierro Ricevimento: Giovedì ore presso Dipartimento di Informatica, Via Buonarroti,
Grammatiche Grammatiche libere da contesto Grammatiche regolari
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Sistemi basati su conoscenza Comunicazione basata sul linguaggio naturale (grammatica, semantica) Prof. M.T. PAZIENZA a.a
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Intelligenza Artificiale Metodologie di ragionamento Prof. M.T. PAZIENZA a.a
Informatica e Informatica di Base
Università degli studi di Modena e Reggio Emilia Facoltà di Scienze Fisiche, Informatiche e Matematiche Corso di Laurea in Informatica Progettazione e.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
OTTIMIZZAZIONE DI UN PERCORSO GRAFO CAMMINO MINIMO.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi Avanzati a.a.2013/2014 Prof.ssa Rossella Petreschi Albero ricoprente di costo minimo Lezione n°12.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°10.
Algoritmi Avanzati a.a.2014/2015 Prof.ssa Rossella Petreschi Lezione n°9.
Transcript della presentazione:

1 ATN & CHART-DIAGRAM Università degli studi di Pisa Facoltà di scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica Corso di Intelligenza Artificiale: Trattamento Automatico del Linguaggio Naturale Prof. Amedeo Cappelli Presentazione: Elena Fiore

2 Il del linguaggio naturale nella società dell’informazione L’informazione scientifica, tecnica e relativa alle imprese raddoppia, oggi, in meno di un anno; Tra il 70% e il 90% di tutta l’informazione digitale prodotta viene memorizzata in forma di testo; Crescono le possibilità di calcolo sia in termini di velocità che di massa di dati memorizzati; Velocità e massa devono essere correlate alla possibilità di utilizzare selettivamente l’informazione ; Si rende necessaria la creazione e la reperibilità di contenuti ovvero di significati legati a parole, frasi e altre parti del discorso e del testo;

3 Sistemi basati sul linguaggio naturale e parser Un sistema basato sul linguaggio naturale procede all’analisi di una frase in due momenti distinti: -l’analisi sintattica o parser, cui spesso è associata l’interpretazione semantica; -l’analisi contestuale. Un parser è un programma che si articola in un numero ristretto di funzioni: -scansione della frase in input; -scansione della grammatica per il reperimento delle regole rilevanti; -strutturazione della frase e memorizzazione progressiva.

4 Augmented grammars L’uso di una grammatica CF  limitazione del parser ad accettore di linguaggio. Per memorizzare la struttura di una frase e per rifiutare frasi mal-formate la grammatica viene estesa con features o augmentations: NP  Det N

5 ATN Augmented Transition Networks Un ATN è un grafo in cui: (a) i nodi sono etichettati con nomi di altri puntatori di tipo ATN; (b) gli archi sono contrassegnati da: - categorie di parole - identificatori (puntatori) di altri ATN - test. Esistono altri due tipi di archi: -archi di tipo done -archi di tipo jump

6 ATN Augmented Transition Networks Si entra in un ATN quando si incontra un nodo di tipo NP. Si esce quando si attraversa un arco di tipo “done”. Per attraversare “legalmente” un arco occorre che: -tutti i test siano soddisfatti dal valore della variabile corrente. -se l’arco è etichettato con una categoria di parole, la parola corrente deve appartenere a tale categoria. Durante l’attraversamento degli archi l’ATN assegna dei valori agli slots (o augmentations) delle strutture create. Per attraversare un arco etichettato con l’identificatore di un altro ATN si invoca la corrispondete network. Il risultato è utilizzato nel proseguimento dell’analisi.

7 Alcuni esempi di ATN NPNP1 nomedone Consideriamo il parser della frase: “Mary” Arco Azione NP/nome NAME=* NUM=3s Parola Tipo Mary nome

8 Alcuni esempi di ATN SS1 NPdone S2 verbo Arco Test Azione S/NPSUBJ=* MOOD=dichiarativo S1/verbo NUM(SUBJ)  NUM(*) VERB=* NUM=NUM(SUBJ)  NUM(*) Consideriamo ora la frase:”Mary cammina”.

9 Alcuni esempi di ATN NPNP1NP2 Articolo Aggettivo Sostantivodone Pronome Sostantivo Nome Arco Test Azione NP/ArticoloDET=*, NUM=NUM(*) NP/PronomePronome=*, NUM=NUM(*) NP/SostantivoNUM(*)=3pSostantivo=*, NUM=3p NP/NomeNome=*, NUM=3s NP1/AggettivoAGG=append(Agg,*) NP1/Sostantivo NUM(*)  NUMSostantivo=*, NUM=NUM(*)  NUM

10 Alcuni esempi di ATN SS1S2S3S4 NPVerbo NP done jump Arco Test Azione S/NPSUBJ=* MOOD=dichiarativo S1/Verbo NUM(SUBJ)  NUM(*) VERBO=* NUM= NUM(SUBJ)  NUM(*) S2/NPTransitivo(VERBO)OBJ=* S2/jump¬ Transitivo(VERBO) S3/NPBi-TransitivoIND-OBJ=OBJ OBJ=*

11 Alcuni esempi di ATN VERBO V1 jump done V2 verbo Arco Test Azione VERBO/doAUX=do FIRST-V=* V1/verboIf AUX=do,TENSE(*)=infinitoVERBO=* Else TENSE(*)=presente o pass.If FIRST-V=nil, FIRST-V=* V2/done TENSE=TENSE(FIRST-V) Un ATN per i verbi composti: do

12 Alcuni esempi di ATN PPPP1 preposizione done PP2 NP Arco Azione PP/preposizione PREP=* PP/pp-sostantivo PP=* PP1/NP OBJ=* Un ATN per le prepositional-phrases: pp-sostantivo

13 L’algoritmo di parsing tramite ATN 1. Settare il puntatore ATN ad (S) e il puntatore alla locazione nella frase all’inizio della frase in questione. 2. Scegliere un arco di uscita dal nodo corrente. Per poter attraversare “legalmente” l’arco dovranno essere verificate le seguenti condizioni: (a) Tutti i test dovranno essere soddisfatti dal valore della variabile corrente. (b) Se l’arco è etichettato con una categoria di parole, la parola corrente dovrà appartenere a tale categoria.

14 3. Eseguire le azioni associate all’arco. In più: (a) Se l’arco è una categoria di parole, aggiornare, di una parola, la posizione corrente nella frase e sostituire il nodo corrente con il destinatario dell’arco in esame; (b) Se l’arco corrisponde ad un altro ATN, inserire il nodo iniziale dell’ATN nella pila dei puntatori ATN; (c) Se l’arco è di tipo jump, sostituire il nodo corrente con il destinatario dell’arco in esame; (d) Se l’arco è di tipo done, eliminare il nodo corrente dai puntatori ATN e settare * al valore restituito da questo nodo. Se il puntatore ATN è ora vuoto e tutte le parole del testo sono state processate, restituire *. Se il puntatore ATN è vuoto e rimane testo da analizzare,fallire. Altrimenti ritornare al passo (2).

15 TOP-DOWN VS BOTTOM-UP La strategia top-down è altamente predittiva indicando già la possibile struttura della frase  essa riduce l’ambiguità delle parole. La strategia bottom-up non possiede, invece, questo vantaggio dato che espande i nuovi archi tenendo conto solo del primo costituente riconosciuto. D’altra parte, ogni volta che l’algoritmo top-down ha bisogno di fare backtracking esso torna ad esaminare nuovamente i componenti della frase che aveva precedente processato per predizioni che si sono rivelate errate. L’algoritmo bottom-up, invece, esamina ogni elemento di una frase solo una volta evitando di riscriverlo più, volte se utilizzato in diverse regole. E’ possibile, combinando i due metodi, tentare di avvantaggiarsi delle peculiarità di uno e dell’altro.

16 Chart Parsing Un chart può essere visualizzato come un grafo i cui nodi rappresentano punti nella frase e i cui archi rappresentano, invece, i costituenti. Ogni nodo corrisponde allo spazio tra due parole (più l’inizio e la fine). Ogni arco ha il nome del costituente che inizia e finisce ai nodi che connette. Il chart iniziale contiene solo gli archi corrispondenti alle singole parole dell’input e alle loro categorie lessicali. Non appena un costituente viene trovato viene aggiunto al chart.

17 Alcuni esempi di Chart Il Chart iniziale della frase:”Mary mangia una mela” Mary mangiaunamela NomeVerboDeterNome In cui assumiamo una grammatica con seguenti regole: S  NP VP NP  Determiner NP2  NP2 NP2  Nome  Aggettivo NP2  NP2 PP PP  Preposizione PP VP  Verbo  Verbo NP  VP PP

18 Le componenti di un Chart Gli archi di un chart possono essere completi o attivi. Un arco è completo quando la sua remainder è vuota, altrimenti è attivo. Un arco completo rappresenta un costituente che è stato individuato. Un arco attivo rappresenta uno stadio nella ricerca di un costituente. La sua remainder rappresenta cosa deve ancora essere trovato. Un arco può essere specificato tramite il numero del nodo di inizio e del nodo di fine insieme con la rappresentazione della regola della grammatica su cui è basato e la remainder di quella regola ancora da completare. Il numero del nodo di fine viene utilizzato per separare la parte della regole che è gia stata analizzata dalla remainder.

19 Alcuni esempi di archi di un Chart Una regola del tipo: ( 4 NP  DET 5 NP2) rappresenta un arco attivo con nodo di inizio 4, nodo di fine 5, che sta analizzando un costituente di tipo NP, che ha già trovato il suo DET e che ha ancora bisogno di NP2 per diventare completo. Un arco completo avrà il numero di nodo di fine alla fine della regola come in: ( 4 NP  DET NP2 6 ).

20 Chart Parser Il parser si serve del chart introducendovi un nuovo costituente ogni volta che una regola viene applicata con successo. Ogni volta che c’è un non-terminale all’inizio della remainder cerca per altri costituenti all’interno del chart. Se c’è un arco per il corrispondente simbolo nel punto corrente nel chart, il parser può avanzare nella frase fino al punto di fine di quell’arco senza bisogno di eseguire nuovamente l’analisi del costituente. Di conseguenza possiamo ottenere il risparmio di una notevole quantità di inefficienza combinatoriale rispetto al parser top-down.

21 L’algoritmo di parsing tramite Chart 1. Il chart viene inizializzato in modo da rappresentare le parole della frase di input con le relative categorie lessicali e propone il simbolo iniziale della grammatica come primo nodo del chart. 2. Ripete i seguenti passi: (a) rimuove ciascun membro della lista degli archi pendenti del chart e lo considera come nuovo arco; (b) combina il nuovo arco con il chart (questo potrebbe produrre nuovi archi pendenti); (c) se il nuovo arco è attivo, propone il primo simbolo del suo remainder come suo nodo di fine nel chart (questo può produrre nuovi archi pendenti)

22 L’algoritmo di parsing tramite Chart 3. Il parser riesce se, ad un certo punto, tra gli archi o tra gli archi pendenti ce n’è uno completo tale che: (a) il suo nodo di inizio è uguale al primo elemento dei nodi del chart; (b) il suo nodo di fine è uguale all’ultimo elemento dei nodi del chart; (c) la sua label è uguale al simbolo iniziale della grammatica. 4. Se non ci sono archi pendenti quando deve esserne scelto uno, il parser fallisce.

23 Alcuni esempi di Chart Il Chart finale della frase:”Mary mangia una mela” Mary mangiaunamela NomeVerboDeterNome NP2 VP NP NP2 NP VP S