Grammatiche, Linguaggio e Automi R. Basili TAL - a.a. 2009-2010.

Slides:



Advertisements
Presentazioni simili
“ LAUREE SCIENTIFICHE ”
Advertisements

Automi temporizzati.
MATEMATICA PER L’ECONOMIA
Sommario Nelle lezioni precedenti abbiamo introdotto tutti gli elementi che formano un particolare tipo di linguaggio logico, denominato linguaggio predicativo.
Sintassi (prima parte)
Traduttore diretto dalla sintassi (seconda parte)
Parser Bottom UP Giuseppe Morelli. Parser Bottom UP Un parser Bottom Up lavora costruendo il corrispondente albero di parsing per una data stringa di.
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Linguaggi Regolari e Linguaggi Liberi
Costruzione delle tabelle di parsing LR canoniche
Traduzione guidata dalla sintassi
Capitolo 8 Sistemi lineari.
Specifiche Algebriche
Linguaggi a memoria condivisa Lidea è di aggiungere ad un linguaggio imperativo dei costrutti per rappresentare lesecuzione parallela di statements. Supponiamo.
Informazioni sul Corso
Sistemi di Lindenmayer
1 Linguaggi di Programmazione - elementi Corso di Laurea in Informatica (AA 2005/2006) Gabriella Pasi e Carla Simone
Il ragionamento classico
Sistemi computazionali per il linguaggio naturale
Semantiche dei linguaggi di programmazione
Elaborazione del linguaggio naturale automi & morfologia Maria Teresa PAZIENZA a.a
Metodologie per la gestione di conoscenza ontologica Prof. M.T. PAZIENZA a.a
FMZ, Giugno 2001 Parsing del linguaggio naturale Fabio Massimo Zanzotto Università di Tor Vergata.
Maria Teresa PAZIENZA a.a
Sistemi basati su conoscenza Comunicazione basata sul linguaggio naturale Prof. M.T. PAZIENZA a.a
Sistemi basati su conoscenza Conoscenza e ragionamento Prof. M.T. PAZIENZA a.a
Pianificazione attività di Istituto Parte laboratoriale
Funzioni, Rappresentazioni e Coscienza
Chomsky La grammatica/sintassi è una proprietà della mente
-calcolo Vogliamo studiare le problematiche relative al meccanismo di chiamata di funzione (eg differenze fra binding statico e dinamico) in isolamento.
Implementazione di Linguaggi 2
1 Implementazione di Linguaggi 2 Massimo Ancona DISI Università di Genova Testo: A.V. Aho, R. Sethi, J.D.Ullman Compilers Principles,Techniques and Tools,
Unità Didattica 2 I Linguaggi di Programmazione
Fondamenti di Informatica1 Linguaggi Classificati rispetto alle caratteristiche principali: –potere espressivo che influenza lo stile di programmazione.
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
LINGUAGGI DI PROGRAMMAZIONE
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Fondamenti di Comunicazione Digitale
Progetto per lesame di Linguaggi e Modelli Computazionali LS Chiara Chiara Gualtieri.
Logica Matematica Seconda lezione.
Linguaggi e Modelli Computazionali LS - Prof E.Denti
Lo sviluppo del software e i linguaggi di programmazione
Introduzione ai linguaggi formali e alle stringhe
Facoltà di Ingegneria Corso di Laurea: Insegnamento: Lezione n°: Titolo: Docenti: INGEGNERIA AUTOMAZIONE II 2 LINGUAGGI FORMALI ED AUTOMI PROF. ALESSANDRO.
SINTASSI.
Fabio Massimo Zanzotto (slides di Andrea Turbati con aggiunte)
Modelli di Calcolo e Lingue
Sistemi basati su conoscenza Comunicazione basata sul linguaggio naturale (grammatica, semantica) Prof. M.T. PAZIENZA a.a
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Sistemi basati su conoscenza Linguaggio naturale: grammatiche Prof. M.T. PAZIENZA a.a
Elaborazione del linguaggio naturale CFG: esercizi Maria Teresa PAZIENZA a.a
Componenti formali del linguaggio
Intelligenza Artificiale 1 Gestione della conoscenza lezione 19 Prof. M.T. PAZIENZA a.a
Elaborazione del linguaggio naturale automi & morfologia Maria Teresa PAZIENZA a.a
Semantica approcci computazionali Maria Teresa PAZIENZA a.a
4/26/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
Linguaggi di programmazione: panoramica Linguaggi di programmazione ad alto livello: – –Programmazione procedurale – –Programmazione object oriented –
Sistemi basati su conoscenza Linguaggio naturale: semantica Prof. M.T. PAZIENZA a.a
Grammatiche Grammatiche libere da contesto Grammatiche regolari
public class volume { public static void main (String[] args) { final double bott_vol =2.0; final double latt_vol = 0.355; int bott_num = 4; int latt_num.
Grammatiche non contestuali (1)
Sistemi basati su conoscenza Comunicazione basata sul linguaggio naturale (grammatica, semantica) Prof. M.T. PAZIENZA a.a
Automi temporizzati.
In generale, con il termine di grammatica si intende un formalismo che permette di definire un insieme di stringhe mediante l’imposizione di un particolare.
SVILUPPO DEL LINGUAGGIO secondo le più importanti teorie
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Introduzione alla LOGICA MATEMATICA Corso di Matematica Discreta. Corso di laurea in Informatica. Prof. Luigi Borzacchini III. La logica delle proposizioni.
Linguaggi e Grammatiche Alfabeto : insieme non vuoto di elementi detti simboli A = { a, b, c } Stringa : sequenza di simboli di un alfabeto ab abc abcab.
Linguaggi, stringhe e alfabeti. Linguaggi e grammatiche Un linguaggio è un sistema di comunicazione tra persone che permette di trasmettere informazioni.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Transcript della presentazione:

Grammatiche, Linguaggio e Automi R. Basili TAL - a.a

Sommario Grammatiche: definizione di base Grammatiche: definizione di base La gerarchia di Chomsky La gerarchia di Chomsky Grammatiche e Lingue Naturali Grammatiche e Lingue Naturali Cenni alla Teoria degli Automi Cenni alla Teoria degli Automi

Motivazioni Un sistema di riconoscimento della sintassi di una lingua deve esibire proprietà: Un sistema di riconoscimento della sintassi di una lingua deve esibire proprietà: –Descrittive. Deve cioè spiegare la motivazioni alla base della accettabilità grammaticale degli enunciati di una lingua in termini di Proprietà lessicali delle classi di oggetti elementari della lingua Proprietà lessicali delle classi di oggetti elementari della lingua Proprietà strutturali degli enunciati Proprietà strutturali degli enunciati –Procedurali: Deve fornire meccanismi computazionali in grado di Riconoscere la accettabilità grammaticale Riconoscere la accettabilità grammaticale Costruire le strutture grammaticali che soggiacciono ai singoli enunciati accettabili Costruire le strutture grammaticali che soggiacciono ai singoli enunciati accettabili

Grammatiche Formali Un linguaggio L e caratterizzato da un insieme di stringhe, cioe sequenze finite di elementi di un vocabolario di partenza A Un linguaggio L e caratterizzato da un insieme di stringhe, cioe sequenze finite di elementi di un vocabolario di partenza A …I will consider a language to be a set (finite or infinite) of sentences, each finite in length and constructed out of a finite set of elements… All natural languages are languages in this sense… Similarly, the set of sentences of some formalized system of mathematics can be considered a language Chomsky 1957 …I will consider a language to be a set (finite or infinite) of sentences, each finite in length and constructed out of a finite set of elements… All natural languages are languages in this sense… Similarly, the set of sentences of some formalized system of mathematics can be considered a language Chomsky 1957

Grammatiche Formali (2) Dato un vocabolario A, linsieme di tutte le stringhe costruite su A (A*) più loperazione di concatenazione (formazione di stringhe complesse a partire da stringhe semplici) costituisce una struttura algebrica definita come monoide libero su A. Dato un vocabolario A, linsieme di tutte le stringhe costruite su A (A*) più loperazione di concatenazione (formazione di stringhe complesse a partire da stringhe semplici) costituisce una struttura algebrica definita come monoide libero su A. Normalmente, non tutte le stringhe del monoide costituiscono frasi ben formate di L: per es, dato un frammento del lessico italiano, non tutte le sequenze arbitrarie sono frasi dellitaliano: Normalmente, non tutte le stringhe del monoide costituiscono frasi ben formate di L: per es, dato un frammento del lessico italiano, non tutte le sequenze arbitrarie sono frasi dellitaliano: –Il bambino corre Corre il bambino –*il corre bambino * bambino corre il ….. Dato un vocabolario A, linsieme di tutte le stringhe costruite su A (A*) più loperazione di concatenazione (formazione di stringhe complesse a partire da stringhe semplici) costituisce una struttura algebrica definita come monoide libero su A. Dato un vocabolario A, linsieme di tutte le stringhe costruite su A (A*) più loperazione di concatenazione (formazione di stringhe complesse a partire da stringhe semplici) costituisce una struttura algebrica definita come monoide libero su A. Normalmente, non tutte le stringhe del monoide costituiscono frasi ben formate di L: per es, dato un frammento del lessico italiano, non tutte le sequenze arbitrarie sono frasi dellitaliano: Normalmente, non tutte le stringhe del monoide costituiscono frasi ben formate di L: per es, dato un frammento del lessico italiano, non tutte le sequenze arbitrarie sono frasi dellitaliano: –Il bambino corre Corre il bambino –*il corre bambino * bambino corre il …..

Grammatiche Formali (3) Quindi L con vocabolario A è in genere un sottoinsieme proprio di A*, i.e. L A* Quindi L con vocabolario A è in genere un sottoinsieme proprio di A*, i.e. L A* IL compito della grammatica di L è di catturare il sottoinsieme in questione generando tutte e sole le stringhe che lo compongono (capacità generativa debole) e di esprimere la struttura delle frasi di L (capacità generativa forte). IL compito della grammatica di L è di catturare il sottoinsieme in questione generando tutte e sole le stringhe che lo compongono (capacità generativa debole) e di esprimere la struttura delle frasi di L (capacità generativa forte). –[il bambino] [legge [il libro ]] e non –* [[[[il] bambino] legge] il] libro] Quindi L con vocabolario A è in genere un sottoinsieme proprio di A*, i.e. L A* Quindi L con vocabolario A è in genere un sottoinsieme proprio di A*, i.e. L A* IL compito della grammatica di L è di catturare il sottoinsieme in questione generando tutte e sole le stringhe che lo compongono (capacità generativa debole) e di esprimere la struttura delle frasi di L (capacità generativa forte). IL compito della grammatica di L è di catturare il sottoinsieme in questione generando tutte e sole le stringhe che lo compongono (capacità generativa debole) e di esprimere la struttura delle frasi di L (capacità generativa forte). –[il bambino] [legge [il libro ]] e non –* [[[[il] bambino] legge] il] libro]

Grammatiche Formali (4) Grammatiche Formali (4) Per lo studio delle proprietà formali, è utile considerare linguaggi semplificati, con lessici molto ridotti e sintassi semplice, per es, linguaggi come i seguenti: Per lo studio delle proprietà formali, è utile considerare linguaggi semplificati, con lessici molto ridotti e sintassi semplice, per es, linguaggi come i seguenti: –ab, abab, ababab, abababab,… –ab, aab, aabbbb, aaaaabb,... –ab, aabb, aaabbb, aaaabbbb... –aa, bb, abba, baab, abaaba, aaabbaaa,... –a, abab, abbabb, abbababbab,... –abc, aabbcc, aaabbbccc, aaaabbbbcccc

Grammatiche Formali (5) Una grammatica formale è un sistema deduttivo di assiomi e regole di inferenza, che genera le frasi della lingua come suoi teoremi (capacità generativa debole). Inoltre, assegna rappresentazioni strutturali alle frasi (capacità generativa forte). Una grammatica formale è un sistema deduttivo di assiomi e regole di inferenza, che genera le frasi della lingua come suoi teoremi (capacità generativa debole). Inoltre, assegna rappresentazioni strutturali alle frasi (capacità generativa forte).

Grammatiche Formali (6) Una grammatica formale è definita da una quadrupla : Una grammatica formale è definita da una quadrupla : –(i) Un vocabolario terminale V T –(ii) Un vocabolario non terminale V N –(iii) Un assioma, o simbolo iniziale S V N –(iv) Un insieme di regole di riscrittura –(iv) Un insieme di regole di riscrittura Nella sua forma più generale, la parte sinistra e la parte destra della regola di riscrittura sono stringhe qualsiasi costruite sui due vocabolari, con la sola restrizione che la parte sinistra deve contenere almeno un simbolo di V N. Nella sua forma più generale, la parte sinistra e la parte destra della regola di riscrittura sono stringhe qualsiasi costruite sui due vocabolari, con la sola restrizione che la parte sinistra deve contenere almeno un simbolo di V N.

Derivazione da una GF Una derivazione è una sequenza di stringhe che parte dallassioma S e arriva fino a generare una stringa w 1, …, w N del linguaggio tramite le regole, eliminando via via i simboli non terminali. Una derivazione è una sequenza di stringhe che parte dallassioma S e arriva fino a generare una stringa w 1, …, w N del linguaggio tramite le regole, eliminando via via i simboli non terminali. Modalità top-down: parte da S e cerca tutte le sostituzioni sufficienti a generare w 1, …, w N Modalità top-down: parte da S e cerca tutte le sostituzioni sufficienti a generare w 1, …, w N Modalità bottom-up: parte da w 1, …, w N e ne riscrive i frammenti usando le regole sino a riscrivere lassioma S Modalità bottom-up: parte da w 1, …, w N e ne riscrive i frammenti usando le regole sino a riscrivere lassioma S

Esempio: G= G= V T : {a, b}, V N : {S, A, B} Assioma: S V T : {a, b}, V N : {S, A, B} Assioma: S Regole: Regole: S A B S S ε AB BA BA AB A a B b S A B S S ε AB BA BA AB A a B b Esempio di derivazione: Esempio di derivazione: S >ABS >BAS >BAABS >BAAB >bAAB >baAB >baaB>baab ε è la stringa vuota, lelementi neutro rispetto alla concatenazione: ε è la stringa vuota, lelementi neutro rispetto alla concatenazione: ε = ε = ε = ε =

Alberi La rappresentazione del risultato del parsing e una struttura che deve esprimere La rappresentazione del risultato del parsing e una struttura che deve esprimere –Lordine degli elementi costituenti una espressione –Il tipo grammaticale dei costituenti –Lorganizzazione gerarchica dei costituenti Le strutture dati che garantiscono tali proprietà sono detti alberi Le strutture dati che garantiscono tali proprietà sono detti alberi

Alberi (2) Gli alberi sono strutture dati definite da una 5-pla dove Gli alberi sono strutture dati definite da una 5-pla dove –N e un insieme finito di nodi –Q e un insieme finito di etichette (label) –D e una relazione dordine parziale debole in N N detta relazione di dominanza –P e una relazione dordine parziale stretta in N N, detta precedenza –L e la funzione di etichettatura da N a Q

Alberi (3) esempio Il gatto beve il latteIl gatto beve il latte N={1,2,3,4,5,6,7,8,9,10,11,12,13,14} N={1,2,3,4,5,6,7,8,9,10,11,12,13,14} Q={S,NP,VP,Det,N,V} Q={S,NP,VP,Det,N,V} D={,,,,,,,, …} D={,,,,,,,, …} L={,, …,,, …} L={,, …,,, …} Il 10 gatto 11 beve 12 il 13 latte 14 SVPNP Det N V Det N NP

Grammatiche ed Alberi Il gatto beve il latteIl gatto beve il latte Vn={S,NP,VP,Det,N}, Assioma: S Vn={S,NP,VP,Det,N}, Assioma: S Produzioni: {S NP VP, VP V NP, NP Det N} Produzioni: {S NP VP, VP V NP, NP Det N} Derivazioni Derivazioni S > NP VP > Det N VP > Il N VP > Il gatto VP > Il gatto V NP > Il gatto beve NP > Il gatto beve Det N > Il gatto beve il N > Il gatto beve il latte S > NP VP > Det N VP > Il N VP > Il gatto VP > Il gatto V NP > Il gatto beve NP > Il gatto beve Det N > Il gatto beve il N > Il gatto beve il latte Il 10 gatto 11 beve 12 il 13 latte 14 SVPNP Det N V Det N NP

Grammatiche ed Alberi Il gatto beve il latteIl gatto beve il latte Vn={S,NP,VP,Det,N}, Assioma: S Vn={S,NP,VP,Det,N}, Assioma: S Produzioni: {S NP VP, VP V NP, NP Det N} Produzioni: {S NP VP, VP V NP, NP Det N} Derivazioni Derivazioni S > NP VP > Det N VP > Il N VP > Il gatto VP > Il gatto V NP > Il gatto beve NP > Il gatto beve Det N > Il gatto beve il N > Il gatto beve il latte S > NP VP > Det N VP > Il N VP > Il gatto VP > Il gatto V NP > Il gatto beve NP > Il gatto beve Det N > Il gatto beve il N > Il gatto beve il latte Il 10 gatto 11 beve 12 il 13 latte 14 1S 32 VPNP 67 V NP 8 Det 9 N 45 Det N derivazionetop-down

Grammatiche ed Alberi Il gatto beve il latteIl gatto beve il latte V N ={S,NP,VP,Det,N}, Assioma: S V N ={S,NP,VP,Det,N}, Assioma: S Produzioni: {S NP VP, VP V NP, NP Det N} Produzioni: {S NP VP, VP V NP, NP Det N} Derivazioni Derivazioni Il gatto beve il latte > Det beve il latte > Det N beve il latte > NP beve il latte > NP V il latte > NP V Det latte > NP V Det N > NP V NP > NP VP > S Il gatto beve il latte > Det beve il latte > Det N beve il latte > NP beve il latte > NP V il latte > NP V Det latte > NP V Det N > NP V NP > NP VP > S Il 10 gatto 11 beve 12 il 13 latte 14 1S 3VP 6V 7NP 8Det 9N 4Det 5N 2NPderivazionebottom-up

Esercizi Date le seguenti frasi scrivere una grammatica che le rappresenta e descrivere almeno in due casi lalbero sintattico di derivazione. Date le seguenti frasi scrivere una grammatica che le rappresenta e descrivere almeno in due casi lalbero sintattico di derivazione. –Mario mangia –Giovanni scrisse un poema –Il libro fu scritto da due autori –Le prime sezioni erano noiose

Esercizi (2) Estendere la grammatica precedente alle seguenti frasi Estendere la grammatica precedente alle seguenti frasi –Mario mangia di notte –Giovanna di notte scrisse il primo capitolo del libro –Le ore insonni scorrevano attraverso la notte a Roma Descrivere gli alberi sintattici generati dalla grammatica sulle tre frasi. Descrivere gli alberi sintattici generati dalla grammatica sulle tre frasi.

Esercizi (3) Quanti non terminali (categorie grammaticali) sono necessarie? Quanti non terminali (categorie grammaticali) sono necessarie? Quante frasi generano interpretazioni grammaticali multiple? Quante frasi generano interpretazioni grammaticali multiple? Quali informazioni semantiche sono necessarie per la disambiguazione? Quali informazioni semantiche sono necessarie per la disambiguazione? Descriverne alcune in forma testuale. Descriverne alcune in forma testuale.

Riferimenti Bibliografici Lyons, Introduzione alla Linguistica Teorica, II. Grammatica, Lyons, Introduzione alla Linguistica Teorica, II. Grammatica, –Capitoli 4.1, 4.2, 4.3, 6.1, 6.2, 8.1