Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Grammatiche di Chomsky e
analisi automatica del linguaggio naturale
L’elaborazione automatica del linguaggio naturale prende le
mosse dalla teoria linguistica di Noam Chomsky, una delle
personalità scientifiche più rilevanti del nostro secolo.
Secondo Chomsky la capacità che ogni essere umano ha di
capire e produrre frasi e discorsi nella sua lingua è dovuta ad
un insieme di conoscenze presenti nella sua mente:
definiamo questo insieme di conoscenze implicite
competenza linguistica.
Tale competenza è almeno in parte inconsapevole: infatti la
maggior parte delle persone sono in grado di produrre e
capire le frasi corrette, così come di individuare
immediatamente gli usi scorretti della loro lingua, pur senza
sapere il modo in cui questo avviene.
Inoltre, essa deve essere innata: non si spiegherebbe altrimenti
la velocità con cui un bambino in pochi anni riesca a parlare
una lingua in modo sostanzialmente corretto semplicemente
imitando chi lo circonda.
1
Grammatiche di Chomsky e
analisi automatica del linguaggio naturale
La competenza linguistica, a sua volta, si suddivide in tre componenti:
- competenza fonologica: capacità di un parlante di produrre e capire
i suoni della lingua parlata;
- competenza sintattica: capacità produrre o riconoscere frasi
grammaticalmente corrette;
- competenza semantica: capacità di assegnare o di estrarre
significato dalle frasi.
Grammatiche di Chomsky e
analisi automatica del linguaggio naturale
2
Le Grammatiche di Chomsky
Def. Una grammatica formale e'
un sistema G = <VT,VN,P,S> caratterizzato da:
Le Grammatiche di Chomsky
Esempio. G=<{a,b,c},{S,B,C},P,S>
con P consistente delle seguenti
Def.
produzioni
Il linguaggio generato da
una grammatica e' S → aS
l'insieme delle stringhe S→B
di terminali ottenibili B → bB
con una sequenza
B → bC
finita di passi di
riscrittura consistenti C → cC
nell'applicazione delle C→c
regole di produzione genera
L(G) = {anbmch | n 0, m,h 1}
3
Grammatiche formali o grammatiche a struttura sintagmatica
α --> β con α ∈ V+ e β ∈ V*
Grammatiche di Chomsky e
analisi automatica del linguaggio naturale
raggruppare le parole dell’esempio (a) in questo modo:
«Il gatto» - « mangia il topo».
F SN – SV
SN DET – N
SV V – SN
DET il
N gatto, topo
V mangia
4
Grammatiche di Chomsky e
analisi automatica del linguaggio naturale
Così espresse, le regole possono sembrare un po’ oscure. Ma acquistano
subito il loro significato se le interpretiamo in questo modo:
una frase (F – nel nostro eempio, ‘il gatto mangia il topo’) consiste di:
- un sintagma nominale (SN – nel nostro esempio ‘il gatto’) seguito da
- un sintagma verbale (SV, nel nostro esempio ‘mangia il topo’)
un SN (nel nostro esempio ‘il gatto’ oppure ‘il topo’) è costituito da:
- un determinante (DET, nel nostro esempio ‘il’) e da
- un nome (N, nel nostro esempio ‘gatto’ o ‘topo’)
Grammatiche di Chomsky e
analisi automatica del linguaggio naturale
• le regole vengono applicate per passi successivi a partire
dalla prima
• alcune regole possono essere applicate più volte se
necessario
• fino ad arrivare a una regola che a destra contenga un
simbolo terminale
Simbolo terminale: un simbolo che non può essere
ulteriormente scomposto
5
Albero di Derivazione
Data una grammatica formale, si dirà che una stringa appartiene al
linguaggio corrispondente se esiste una derivazione nella grammatica dal
simbolo iniziale a quella stringa.
L'ordine di applicazione delle produzioni è irrilevante, mentre è rilevante la
relazione che ogni produzione istituisce fra i simboli.
Per le grammatiche CF e quelle regolari tale relazione è esprimibile
mediante una struttura detta "ad albero".
Data la grammatica G = (V, T, S, P)
l'
albero di derivazione di una stringa si ottiene nel modo seguente:
ogni suo nodo ha un'
etichetta che è un simbolo di V
l'
etichetta della radice è S
ogni nodo non terminale ha un'
etichetta che è in (V -T)
ogni nodo terminale ha un'
etichetta che è in T
se un nodo con etichetta x ha come discendenti diretti, nell' ordine i
nodi con etichetta x 1, .........., xk allora x --> x1 ........xk è in P.
Albero Sintattico
6
Grammatiche formali o grammatiche a struttura sintagmatica
Così, ad esempio, se
VT = {il, cane, gatto, insegue, morde}
VN = {S, NP, VP, Det, N, V}
P = {S --> NP VP, NP --> Det N, VP --> V NP, Det --> il, N -->
cane, N --> gatto, V --> insegue, V --> morde}
Avremo:
L (G) = {il cane rincorre il gatto, il gatto rincorre il cane, il cane
morde il gatto, il gatto morde il cane, il cane rincorre il cane, il
gatto rincorre il gatto, il cane morde il cane, il gatto morde il
gatto}
Grammatiche di Chomsky e
analisi automatica del linguaggio naturale
Non si riesce a generare la frase «il gatto topo il mangia».
Neanche la frase «il gatto il topo mangia», che suona un po’ strana, ma è
comunque ammissibile in italiano.
Alle regole generative del componente di base nelle teoria di Chomsky si
affiancano altre regole che applicate alla frase standard la trasformano in
diversi modi corretti (ad esempio rendono la frase passiva: «Il topo è
mangiato dal gatto»).
Un programma non avrebbe difficoltà ad usare regole come queste per:
- generare frasi o,
- data una frase, analizzarla al fine di ricostruire la sua struttura e
verificare se essa è tra quelle ammesse dalla grammatica: questi
programmi si chiamano parser, o analizzatori sintattici, e sono alla base di
tutti i sistemi di elaborazione del linguaggio naturale.
Se dunque fosse possibile costruire grammatiche generative-
trasformazionali per una data lingua, avremmo un metodo efficiente ed
elegante per realizzare un programma in grado di elaborare almeno la
sintassi di quella lingua.
Tuttavia il compito di costruire queste grammatiche si è rivelato assai più
improbo di quanto Chomsky non ritenesse. Attualmente esistono porzioni
di grammatica abbastanza complete per varie lingue (soprattutto
l’inglese), ma si è lontani dall’obiettivo di una formalizzazione completa.