5
Per poter illustrare adeguatamente le fasi operative e gli obiettivi
raggiunti sarà necessario introdurre alcuni argomenti che sono il risultato di
ricerche fatte durante il tirocinio.
Il primo punto su cui occorre soffermarsi è il linguaggio naturale
(capitolo 1), in quanto presupposto necessario all’analisi che segue negli
altri capitoli. Si procede poi ad illustrare i passaggi che rendono possibile la
comprensione di un linguaggio da parte dell’uomo, per arrivare a presentare
sinteticamente la storia della traduzione automatica (capitolo 2) e quello che
è il suo oggetto di studio: l’interpretazione del linguaggio naturale ad opera
di un calcolatore. A tale fine si illustrerà lo specifico sistema di traduzione,
LMT (capitolo 3), che ricorre a un approccio funzionale per la buona
interpretazione da parte di una macchina, mentre nel capitolo 4 verranno
presentate le problematiche più rilevanti che un sistema di traduzione
automatica deve affrontare e come queste siano in parte risolte dal sistema
LMT. Infine verranno introdotte alcune nozioni base di Prolog (capitolo 5),
per poi terminare con il resoconto sul Porting dal Quintus Prolog allo SWI
Prolog (capitolo 6) e le conclusioni finali (capitolo 7).
6
1 Il Linguaggio Naturale
1.1 Introduzione
In un sistema di Traduzione Automatica il linguaggio naturale è
l’oggetto di analisi e “riflessione” da parte dello stesso calcolatore al quale è
richiesto di elaborare una traduzione da una lingua a un’altra, come
potrebbe fare un interprete umano.
Voglio quindi illustrare le conoscenze che necessitano a un interprete
per operare tale traduzione linguistica e quante di queste sono poi state
ritenute necessarie per permettere a un calcolatore di effettuare lo stesso
lavoro.
Il linguaggio è uno degli aspetti fondamentali del comportamento
umano e costituisce una componente essenziale della nostra vita
quotidiana: sia nelle sue manifestazioni scritte sia in quelle parlate,
rappresenta il più comune mezzo di comunicazione e di interazione tra le
persone.
Con l’avvento delle nuove tecnologie si sono fatti notevoli passi avanti
nello studio della semantica attraverso i calcolatori e in base ai risultati
ottenuti si è iniziato ad ipotizzare di poter creare nuove forme di intelligenza
artificiale1 capaci di elaborare il linguaggio naturale.
Innanzitutto per comprendere e produrre in un dato linguaggio
(naturale o artificiale) è necessario conoscerne:
• Il lessico, cioè un insieme di «lessemi» ovvero espressioni basiche
(non analizzate);
• La sintassi, cioè un insieme di regole in base alle quali le parole della
lingua in esame possono combinarsi in costruzioni ben formate; e,
secondo un modo di intendere diffuso;
1
Con il termine intelligenza artificiale (spesso abbreviato in AI, dall'inglese Artificial Intelligence), si
intende generalmente l'abilità di un computer di svolgere funzioni e ragionamenti tipici della mente
umana.
7
• La semantica composizionale, cioè un insieme di regole per derivare il
significato di ogni costruzione complessa dal significato delle sue
parti.
Attraverso tali conoscenze l’uomo è capace di esprimere il proprio
pensiero, la propria creatività, le proprie emozioni e comunicarle agli altri
componenti della comunità che lo circonda.
1.2 La comprensione umana del linguaggio
In linguistica con linguaggio naturale s’intende la capacità, esclusiva
degli esseri umani, di comunicare tra loro, usando un codice di
comunicazione di tipo linguistico.
Si è discusso a lungo, e si continua a discutere, su quali siano le
caratteristiche che contraddistinguono il linguaggio umano da altri sistemi
comunicativi (si pensi al linguaggio della politica o della pubblicità, il
linguaggio delle immagini, il linguaggio dei fiori, ecc.) e in particolare al
cosiddetto linguaggio degli animali.
Su un punto si è trovato un accordo: solo il linguaggio umano presenta
quella che Andrè Martinet ha chiamato doppia articolazione. Il linguaggio
umano si presenta doppiamente articolato: nel senso che, riconosciute le
unità significative di una frase, i morfemi, che hanno sia una forma sia un
significato (prima articolazione), queste sono ulteriormente scomponibili in
segmenti più piccoli, i fonemi, dotati di un significante ma privi di un
significato proprio (seconda articolazione). Un esempio chiarirà questo
concetto:
Ieri si corr-eva il Gran Premi-o
1 2 3 4 5 6 7 8
Questa frase risulta composta da otto morfemi, ognuno dei quali è
divisibile in unità più piccole che sono i fonemi. Per esempio: / g+r+a+n /.
Accanto a questo doppio livello di articolazione si presentano altre tre
caratteristiche proprie del linguaggio: la discretezza, la ricorsività e la
dipendenza dalla struttura che costituiscono le caratteristiche proprie del
linguaggio umano. Infatti:
8
a) La discretezza distingue tipicamente il linguaggio umano da quello
animale. Per discreto s’intende che i suoi elementi si distinguono gli
uni dagli altri in maniera netta. Ad esempio in italiano i suoni [p] e
[b], per quanto molto simili, hanno per il parlante e per l’ascoltatore
un valore definito (ad esempio patto ha un significato diverso da
batto).
b) Un’altra differenza fra linguaggio animale e linguaggio umano
consiste nel fatto che il primo è un sistema di comunicazione limitato,
mentre il secondo è un codice semanticamente illimitato, cioè ha la
possibilità di creare continuamente nuove espressioni sulla base del
meccanismo della ricorsività. Esso consiste nella costruzione di frasi
complesse inserendo in una frase data un’altra frase e in quest’ultima
un’altra frase, ad esempio “Il cane, che ha comprato Mario, non mi
piace” può diventare “Il cane Pongo a macchie nere e bianche col
collare rosso, che ha comprato Mario, non mi piace” continuando ad
aggiungere nuove applicazioni del nome. Un altro esempio della
ricorsività è dato dall’uso della congiunzione e, come possiamo
vedere dalla frase seguente “Giorgio corre” che diventa “Giorgio corre
e grida e inciampa e suda e..”.
c) La dipendenza dalla struttura consiste nella organizzazione delle
frasi in base a relazioni complesse secondo le quali una frase non è
organizzata come una semplice successione di parole, in cui la forma
di una parola è determinata dalla forma di quella immediatamente
precedente, o comunque più vicina: al contrario, in molti casi la
forma di una parola dipende dalla forma di altre parole molto distanti.
Le prime due proprietà caratterizzano anche altri sistemi quali ad
esempio il linguaggio dell’informatica mentre ciò che contraddistingue il
linguaggio umano dagli altri è la dipendenza dalla struttura.
Gli altri sistemi di comunicazione (come ad esempio: il linguaggio dei
computer, il linguaggio dell’arte, il linguaggio dei gesti, ecc.) mostrano di
non possedere queste proprietà, o almeno non tutte.
9
Tutti i tipi di linguaggio hanno sicuramente un elemento comune: sono
sistemi di comunicazione, servono cioè a trasmettere informazioni da un
emittente a un destinatario (o ricevente). Per esempio, un programmatore
che vuole dialogare con un computer, per realizzare un determinato
programma, userà un certo tipo di linguaggio; oppure, tra i codici animali, le
api realizzano vari tipi di danza per comunicare con le loro compagne la
distanza di una fonte di cibo e la direzione esatta per raggiungerla o le
formiche che liberano delle sostanze chimiche che informano le altre sul
senso di marcia.
Si potrebbero portare molte altre esemplificazioni, ma queste appaiono
sufficienti per chiarire che tutti i tipi di linguaggio realizzano una forma di
comunicazione, ma non per questo sono da considerarsi manifestazioni
diverse di un unico sistema poiché, pur essendo identici nella funzione, non
lo sono nelle loro strutture.
La comprensione del significato di una frase, ritenuta intuitivamente
un compito semplice, coinvolge in realtà svariati processi cognitivi. Sono
necessarie, infatti, l'analisi della struttura fonologica e sintattica della frase
presentata e la comprensione del significato degli elementi lessicali in essa
contenuti.
La possibilità da parte dell’uomo di compiere tali processi è
determinata dalle conoscenze che esso possiede, nonché dalla propria
capacità, per mezzo di queste, di intuire concetti sconosciuti. Pertanto la
comprensione di un linguaggio da parte di un ascoltatore o di un lettore è
strettamente legata alla memorizzazione e alla capacità di gestione delle
conoscenze pregresse che gli permettano di compiere i ragionamenti e le
manipolazioni di numerose informazioni linguistiche.
Questo compito è tutt’altro che semplice: i linguaggi naturali sono
sostanzialmente codici arbitrari, vale a dire non presentano alcuna
corrispondenza fra espressione e significato (rare sono le eccezioni: si pensi
alle onomatopee in cui vi è una somiglianza fra la forma e il suo
contenuto, l’espressione cricrì riproduce fonicamente il verso dell’animale cui
si riferisce). Strettamente legata all’arbitrarietà è un’altra peculiarità delle
lingue verbali: la sinonimia che consiste nella possibilità di associare a un
10
medesimo contenuto una molteplicità di espressioni. E’ importante dire che
le lingue, a differenza di altri tipi di codici, come quello “numerico”, oltre che
sinonimiche sono ambigue. Ciò vale per singole parole o per combinazioni di
sintagmi. Si veda ad esempio la frase “L’operazione è riuscita
perfettamente”, essa si presta a diverse interpretazioni (potrebbe essere
difatti un’operazione matematica, chirurgica o di altra natura).
Diversamente il codice numerico non può essere ambiguo ma solo
sinonimico (il significato di “35” è rappresentabile attraverso più espressioni:
“30+5”, “40-5”, “7x5”, ecc.).
Le lingue dunque, essendo per loro natura sinonimiche ed ambigue,
sono da ritenersi dei codici vaghi. Tra i dispositivi per limitare la vaghezza vi
è la stessa sinonimia che consenti di riformulare un enunciato adoperando
dei termini più facilmente comprensibili, e al contempo di introdurre nuove
parole, ampliando così il vocabolario. Non a caso le lingue sono codici aperti
che possono essere perciò arricchiti illimitatamente.
E sono proprio la ricchezza lessicale, la flessibilità della sintassi, ma
soprattutto i diversi gradi di ambiguità a rendere l’analisi automatica del
linguaggio, un’operazione così complessa ed ardua. Quale che sia il tipo di
applicazione cui il sistema di elaborazione del linguaggio naturale si rivolge,
per eseguire il suo compito in maniera soddisfacente, dovrà prevedere la
trasposizione di un testo in una rappresentazione concettuale.
11
ANALISI
LESSICALE
ANALISI
SINTATTICA
ANALISI
SEMANTICA
INTERPRETAZIONE
PRAGMATICA
Testo grezzo
Sequenza di parole
Interpretazione
Rappresentazione sintattica
Forma logica
1.3 L'architettura di base per un sistema di
comprensione
La ricchezza del vocabolario, la flessibilità della sintassi e le diverse
forme di ambiguità sono alcune delle proprietà della lingua che
contribuiscono a rendere l'analisi automatica del linguaggio, un’operazione
piuttosto complessa. Per eseguire questo compito in maniera adeguata, un
sistema di elaborazione che si rivolga a comprendere un linguaggio naturale
piuttosto che a produrlo, dovrà provvedere alla trasformazione di un testo in
una rappresentazione concettuale.
Per ottenere dei buoni risultati si richiede l'utilizzo di molteplici fonti di
conoscenza: da quella fonologica (rilevante esclusivamente per il
riconoscimento del parlato) a quella pragmatica, passando attraverso
successive fasi di analisi morfologica, lessicale, sintattica e semantica.
Nel processo di analisi si possono individuare diverse fasi.
Figura 1 Il processo di analisi di un testo nell’elaborazione del linguaggio naturale.
Regole
morfologiche
Conoscenza
del discorso
Grammatica
Regole
semantiche
Lessico
Conoscenza
del mondo