per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I...

48
Tecnologie per il trattamento automatico e la comprensione automatica del linguaggio naturale Prof. Domenico Cotroneo con la collaborazione Ing. Christian Esposito Dispensa del corso Introduzione al corso 1. Concetti generali In un famoso film di Stanley Kubrick, intitolato “2001: Odissea nello spazio”, uno dei ruoli principali era ricoperto da HAL 9000. Esso è il computer senziente di bordo, che impartisce e controlla tutte le funzioni della navicella spaziale Discovery, capace di avanzati comportamenti linguistici, come dialogo e comprensione del linguaggio, fin anche alla lettura delle labbra. Sfortunatamente, nella realtà, siamo abbastanza lontani dal realizzare una macchina con le prestazioni di HAL 9000. Quali sono le principali problematiche sottese alla realizzazione di una simile macchina? In linea generale, un tale agente deve essere dotato di capacità di interazione con esseri umani attraverso il linguaggio, includendo comprensione attraverso speech recognition (riconoscimento della lingua parlata) e natural language understanding (comprensione del linguagguio naturale), e comunicazione attraverso il natural language generation (generazione del linguaggio naturale) e speech synthesis (sintesi della lingua parlata). Dovrebbe anche essere capace di effettuare information retrieval (individuare dove risiedono le risorse testuali), information extraction (estrazione del contenuto informativo pertinente da un testo o un discorso) e inference (elaborazione delle conclusioni sulla base di elementi noti). Sebbene tali problematiche siano lontane dall’essere completamente risolte, alcune tecnologie di linguistica computazionale necessarie per la realizzazione di HAL 9000, sono presenti in disparati prodotti commerciali. La branca dell’intelligenza artificiale (Artificial Intelligence, AI), che studia queste tematiche prende il nome di Speech and Language Processing, e lo scopo del presente corso è quello di fornire uno stato dell’arte di tale materia. Cosa distingue un’applicazione di elaborazione del linguaggio da una di elaborazione dati? Consideriamo il programma Unix wc: quando viene impiegato per contare il numero di byte o bit in un file, realizza una semplice elaborazioni dati. Quando, invece, è usato per contare il numero di parole, realizza un’elaborazione del linguaggio, dal momento che deve disporre della conoscenza di cosa è una parola. Da questo semplice esempio si evince che un programma di elaborazione del linguaggio richiede una considerevole mole di informazioni di natura linguistica per poter svolgere il proprio compito. Il bagaglio di conoscenza necessario a un programma informatico per sostenere complessi comportamenti linguistici può essere raggruppato in sei distinte categorie: I. Fonetica e Fonologia, aiuta a modellare come le parole vengono pronunciate;

Transcript of per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I...

Page 1: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Tecnologie per il trattamento automatico e  

la comprensione automatica del linguaggio naturale  

Prof. Domenico Cotroneo con la collaborazione Ing. Christian Esposito 

 

Dispensa del corso 

Introduzione al corso  

1. Concetti generali  

  

In un famoso film di Stanley Kubrick, intitolato “2001: Odissea nello spazio”, uno dei ruoli principali era  ricoperto  da  HAL  9000.  Esso  è  il  computer  senziente  di  bordo,  che  impartisce  e  controlla  tutte  le funzioni della navicella  spaziale Discovery,  capace di  avanzati  comportamenti  linguistici,  come dialogo  e comprensione  del  linguaggio,  fin  anche  alla  lettura  delle  labbra.  Sfortunatamente,  nella  realtà,  siamo abbastanza  lontani  dal  realizzare  una macchina  con  le  prestazioni  di HAL  9000. Quali  sono  le  principali problematiche  sottese  alla  realizzazione di una  simile macchina?  In  linea  generale, un  tale  agente deve essere dotato di capacità di interazione con esseri umani attraverso il linguaggio, includendo comprensione attraverso  speech  recognition  (riconoscimento  della  lingua  parlata)  e  natural  language  understanding (comprensione  del  linguagguio  naturale),  e  comunicazione  attraverso  il  natural  language  generation (generazione  del  linguaggio  naturale)  e  speech  synthesis  (sintesi  della  lingua  parlata).  Dovrebbe  anche essere capace di effettuare information retrieval (individuare dove risiedono le risorse testuali), information extraction  (estrazione  del  contenuto  informativo  pertinente  da  un  testo  o  un  discorso)  e  inference (elaborazione  delle  conclusioni  sulla  base  di  elementi  noti).  Sebbene  tali  problematiche  siano  lontane dall’essere  completamente  risolte,  alcune  tecnologie  di  linguistica  computazionale  necessarie  per  la realizzazione  di  HAL  9000,  sono  presenti  in  disparati  prodotti  commerciali.  La  branca  dell’intelligenza artificiale (Artificial  Intelligence, AI), che studia queste tematiche prende  il nome di Speech and Language Processing, e lo scopo del presente corso è quello di fornire uno stato dell’arte di tale materia. 

Cosa  distingue  un’applicazione  di  elaborazione  del  linguaggio  da  una  di  elaborazione  dati? Consideriamo il programma Unix wc: quando viene impiegato per contare il numero di byte o bit in un file, realizza una semplice elaborazioni dati. Quando,  invece, è usato per contare  il numero di parole, realizza un’elaborazione del linguaggio, dal momento che deve disporre della conoscenza di cosa è una parola. Da questo  semplice  esempio  si  evince  che  un  programma  di  elaborazione  del  linguaggio  richiede  una considerevole mole di informazioni di natura linguistica per poter svolgere il proprio compito. Il bagaglio di conoscenza necessario a un programma informatico per sostenere complessi comportamenti linguistici può essere raggruppato in sei distinte categorie: 

I. Fonetica e Fonologia, aiuta a modellare come le parole vengono pronunciate; 

Page 2: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

II. Morfologia,  apporta  informazioni  per  lo  studio  della  struttura  grammaticale  delle  parole  e  la relativa classificazione e appartenenza a determinate categorie; 

III. Sintassi,  analizza  le  relazioni modulari  che  stabiliscono  il posto delle parole  in una  frase,  come  i sintagmi si compongano nelle frasi, e come le frasi si dispongano a formare un periodo; 

IV. Semantica, studia il significato delle parole e di insiemi di parole; V. Pragmatica, si occupa di come il contesto influisca sull´interpretazione dei significati delle parole; VI. Discorso, si interessa delle unità linguistiche maggiori di una frase e la loro correlazione. 

Una componente sorprendente di queste sei categorie è che tutti i task di elaborazione linguistica possono essere visti come compiti di risoluzione di ambiguità ad uno di questi livelli. Prendiamo ad esempio la frase in inglese “I made her duck”, questa può significare: 

a) Ho cucinato un’anatra per lei. b) Ho cucinato la sua anatra. c) Ho realizzato (forse un modello in plastica?) la sua anatra. d) Le mie azioni hanno causato il repentino abbassamento della sua testa o del suo corpo. e) L’ho magicamente trasformata in un’anatra. 

Questi  differenti  significati  sono  causati  da  un  certo  numero  di  ambiguità,  ovvero  dato  un  ingresso linguistico al programma, esistono delle multiple strutture linguistiche alternativamente applicabili ad esso. Nel  corso  del  presente  corso  saranno  introdotti  modelli  e  algoritmi  per  risolvere  questi  elementi  di ambiguità. Ad esempio decidere  se  ‘duck’ è un  verbo o un nome può essere  risolto  con part of  speech tagging, mentre determinare  se  ‘make’ assume  il  significato di  ‘creare’ o di  ‘cucinare’, è possibile con  la word sense disambiguation.  

 Figura 1 Snapshot del programma ELIZA 

 

Per molti,  l’abilità di elaborazioni  linguistiche  analoghe  agli essere umani  sarà possibile  solo  con l’arrivo di macchine intelligenti come gli esseri umani. Il primo sostenitore di questa intima connessione tra capacità linguistiche e cognitive fu Alan Turing, che in suo famoso scritto introdusse ciò che prese il nome di Test di Turing. Questo è un  test empirico  in cui  l’uso del  linguaggio da parte di un computer consente di comprendere se è in grado di pensare. Esso fondamentalmente coinvolge due persone e un computer, e il gioco consiste che una persona dialogando con l’altra persona e il computer, debba stabilire quale dei due interlocutore è il computer. Se la macchina è in grado di vincere il gioco (ovvero non si ha l’individuazione corretta  di  chi  sia  la macchina),  allora  è  intelligente.  Senza  soffermarci  troppo  sulla  rigorosità  di  tale metodo,  l’argomentazione di Turing è che se una macchina è  in grado di usare  il  linguaggio come farebbe un  essere  umano,  è  sufficiente  per  un  test  operativo  di  intelligenza.  Sorprendentemente,  molti  dei problemi sollevati da Turing divennero rilevanti nel contesto di un programma chiamato ELIZA. Eliza è un primo esempio di programma di elaborazione automatica del  linguaggio, capace di condurre una  limitata conversazione  con  un  utente,  imitando  le  risposte  di  uno  psicoterapista.  Quest’applicazione  adopera tecniche  di  pattern‐matching  (in  ambito  informatico,  si  intende  una  corrispondenza  tra  stringhe,  quindi 

Page 3: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

senza alcun elemento di  intelligenza):  lavora analizzando e sostituendo delle semplici parole chiavi  in frasi preconfezionate. A seconda delle parole che l'utente immetteva nel programma, l'illusione di uno scrittore umano veniva chiaramente svelata o poteva continuare per parecchio  tempo. Alcune volte era  talmente convincente che  i suoi  interlocutori credevano che esso potesse capire  realmente  loro e  i  loro problemi, come se dietro la macchina ci fosse davvero un essere umano. Tale risultato non dipende dalla presenza o meno nella macchina di  forme di  intelligenza o comprensione, smentendo così  il  fondamento del Test di Turing.  

2. La gerarchia di Chomsky  

Un  linguaggio  è definito  come un  insieme  (anche  infinito) di  stringhe, ognuna  costituita da una concatenazione  di  simboli  terminali,  chiamati  talvolta  parole.  I  linguaggi  formali  hanno  definizioni matematiche rigorose, in questo si differenziano dai linguaggi naturali, come l’italiano e l’inglese, che non hanno  ne  una  precisa  definizione,  ma  sono  caratterizzati  da  una  vasta  comunità  di  parlanti.  Una grammatica è un  insieme finito di regole che specificano  il  linguaggio.  I  linguaggi formali, per definizione, sono  sempre dotati di una  chiara  grammatica, mentre per quelli naturali non  è  così.  I  linguisti, però,  si sforzano di  scoprire  le  loro proprietà attraverso un processo di  indagine  scientifica, per poi codificarne  i risultati in una grammatica. Il modo più comune per rappresentare la struttura grammaticale di una frase, ad esempio  “Mary  loves  that person”, è di adoperare un albero,  come  illustrato  in Figura 2.  Il nodo S è quello radice dei nodi NP e VP, rispettivamente per la parte nominale e verbale della frase. VP è nodo padre dei nodi V e NP, rispettivamente verbo e nome. Ad ogni nodo foglia è associata una parola della frase da analizzare. Per  realizzare  l’albero di una  frase, è necessario conoscere  la struttura del  linguaggio, così da servirsi di un  insieme di regole per determinare quali strutture ad albero sono consentite. Tali regole, alla destra della Figura 2, determinano che un certo simbolo può essere espanso in un albero di una sequenza di altri simboli (ad esempio, S ‐> NP VP significa che il nodo S può generare a sua volta due nodi NP e VP). La struttura grammaticale aiuta a determinare  il significato di una frase. Nella teoria dei  linguaggi formali,  le grammatiche  sono  rappresentate dalla quadrupla G = <V, T, P, S>, dove V e T  sono un  insieme  finito di simboli, P sono le regole grammaticali di generazione e S è il carattere del nodo radice. Rispettivamente V contiene tutti  i simboli non terminali,  in Figura 2 sono ad esempio S, NP, VP e simili, mentre T contiene  i simboli terminali, ad esempio “Mary”, “loves” e simili. 

 

 Figura 2 Rappresentazione ad albero di una frase e relativa grammatica 

 I  formalismi grammaticali possono essere classificati  in base alla  loro capacità generativa, ovvero 

l’insieme dei linguaggi che possono rappresentare. Il linguista Chomsky descrive quattro classi di formalismi grammaticali,  che  differiscono  solo  per  il  formato  delle  regole  di  riscrittura.  Le  classi  possono  essere organizzate  in  una  gerarchia,  in  cui  ogni  classe  può  essere  utilizzata  per  descrivere  tutti  i  linguaggi  che appartengono  ad  una  classe  meno  potente  e  alcuni  linguaggi  aggiuntivi.  Salendo  lungo  la  gerarchia aumenta  il  potere  espressivo  delle  grammatiche, ma  naturalmente  gli  algoritmi  che  le  gestiscono  sono meno efficienti. La gerarchia di Chomsky è composta dai seguenti livelli, vedi in Figura 3: 

Page 4: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

• Grammatiche di  tipo 0  (illimitate o  ricorsivamente enumerabili)  include  tutte  le grammatiche dei linguaggi formali, e non hanno alcun tipo di restrizione nell’impostazione delle regole, ad eccezione che il termine a destra non sia nullo; 

• Grammatiche  di  tipo  1  (dipendenti  dal  contesto)  hanno  regole  della  forma  αAβ  ‐>  αγβ,  con  A simbolo non  terminale e  α,  β e  γ  stringhe di  simboli  terminali e non.  Le  stringhe  α e  β possono essere vuote, ma la γ non deve essere vuota. 

• Grammatiche  di  tipo  2  (libere  dal  contesto)  sono  definite  da  regole  nella  forma  A  ‐>  γ,  con  A simbolo non terminale e γ una stringa di simboli terminali e non terminali. 

• Grammatiche di  tipo 3  (regolari)  restringe  le sue  regole ad un singolo simbolo non  terminale nel lato sinistro della produzione e nel lato destro un singolo simbolo terminale, possibilmente seguito (o  preceduto, ma  non  entrambe  le  forme  nella  stessa  grammatica)  da  un  singolo  simbolo  non terminale. 

L’appartenenza  di  una  classe  di  grammatica  di  tipo  superiore  in  quella  di  tipo  inferiore  è  un’inclusione propria, nel senso che esistono, ad esempio, linguaggi sensibili al contesto che sono non liberi dal contesto e linguaggi liberi dal contesto che sono non regolari. Si dimostra che le lingue naturali non sono regolari, e per  la maggior parte delle  lingue  e delle  costruzioni  sia  sufficiente una  grammatica  libera dal  contesto. Tuttavia,  esistono  rari  casi  (un  caso  famoso  è  contenuto  nel  tedesco  svizzero)  che  richiedono  una grammatica dipendente dal contesto.   

 Figura 3 Diagramma di Venn dei linguaggi sulla base della gerarchia di Chomsky 

 

3. Espressioni regolari  

Le espressioni regolari sono una sintassi attraverso cui si possono rappresentare insiemi di stringhe. Gli  insiemi caratterizzabili con espressioni regolari sono anche detti  linguaggi regolari (e coincidono quelli generabili dalle grammatiche regolari e riconoscibili dagli automi a stati finiti). Le espressioni regolari sono composte da costanti e operatori che denotano insiemi di stringhe, e da operatori tra questi insiemi. Dato un alfabeto finito Σ, sono definite le seguenti costanti: 

• insieme vuoto, indicato con   oppure Λ; • stringa vuota, indicata con ε; • carattere, ad esempio a in Σ indica l'insieme {"a"} 

e le operazioni: • concatenazione, RS o R°S indica l'insieme { αβ | α in R e β in S }; • unione, R   S indica l'unione dei due insiemi; • stella di Kleene, R* indica l'insieme con tutte le possibili iterazioni ottenibili dagli elementi di R; • intersezione, R ∩ S indica l'intersezione tra i due insiemi di stringhe; • complementazione di R, indica l'insieme delle stringhe appartenenti a Σ*‐R. 

Ad esempio dati R = { "a","b" } e S = { "7","8" } ho che RS = { "a7", "b7", "a8", "b8" }, mentre S* = { ε, "7", "8", "77", "78", "87", "88", "777", "778", ... }. Le espressioni regolari hanno anche dei caratteri speciali che sono il carattere jolly ‘.’, che può rappresentare un numero indefinito di simboli dell’alfabeto, e le àncore, 

Page 5: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

che fissano l’applicazione dell’espressione a particolari posizioni del testo, ad esempio ‘^’ impone la verifica dell’espressione per i simboli a inizio del testo da analizzare. 

Le  espressioni  regolari  possono  essere  impiegate  sia  per  una  formalizzazione  precisa  di  un linguaggio, ma  anche  per  la  definizione  di  operazioni  di  ricerca  in  stringhe. Una  ricerca  con  espressioni regolari  richiede  un  pattern  di  corrispondenza  e  un  corpus,  all’interno  del  quale  realizzare  la  ricerca. L’espressione  ritornerà  l’insieme di  stringhe  che  soddisfano  la corrispondenza con  il pattern di  ricerca.  Il pattern  di  ricerca  viene  rappresentato  con  un’espressione  regolare  compresa  tra  due  caratteri  ‘/’.  Ad esempio  se  io ho un pattern  /song/,  la  ricerca  su un  testo mi  restituirà  tutte  le  frasi  che  contengono  la parola “song”, ad esempio “She  loves all our songs”. Un altro  importante uso delle espressioni regolari è nella  sostituzione di  caratteri all’interno di una  stringa. Nel  linguaggio di programmazione Perl esiste un operatore  di  sostituzione,  chiamato  s,  che  ha  due  argomenti:  l’espressione  regolare  della  stringa  da sostituire,  e  l’espressione  regolare  della  stringa  di  sostituzione.  Se  vogliamo  correggere  un  errore  di battitura  “squola”  con  il  corretto  “scuola”,  basterà  quindi  scrivere  il  comando  s/squola/scuola/.  Le sostituzioni sono un utile mezzo per implementare programmi di comprensione del linguaggio, come ELIZA. ELIZA,  infatti,  opera  con  una  cascata  di  sostituzioni  per  espressioni  regolari,  che  date  alcune  frasi  in ingresso, può realizzare quelle di uscita per sostituzione., Consideriamo il seguente dialogo con ELIZA: 

User: Well, my boyfriend made me come here ELIZA YOUR BOYFRIEND MADE YOU CAME HERE User: He says I’m depressed much of the time ELIZA I AM SORRY TO HEAR YOU ARE DEPRESSED

Le risposte di ELIZA sono ottenute a partire dalle frasi inserite dall’utente: s/.* YOU ARE (depressed|sad) .*/I AM SORRY TO HEAR YOU ARE \1/

 4. Automi a stati finiti 

 Un automa a stati finiti è un sistema con le seguenti caratteristiche: 

• dinamico, perché evolve nel tempo passando da uno stato all'altro; • invariante, poiché a parità di condizioni iniziali, il comportamento del sistema è sempre lo stesso; • discreto, dal momento che  le variabili d'ingresso, di stato, d'uscita, possono assumere solo valori 

discreti.  L' automa a stati finiti è un modello di calcolo semplice, rappresentabile come un piccolo dispositivo, che mediante una testina legge una stringa di input su un nastro e la elabora usando un apposito algoritmo, e di una memoria limitata. In sostanza è un caso particolare di macchina di Turing, utilizzato per l'elaborazione di quei  linguaggi che nella gerarchia di Chomsky sono definiti di Tipo 3 o Regolari. Gli automi a stati finiti possono  essere  rappresentati  mediante  un  grafo,  in  cui  i  nodi  rappresentano  gli  stati  e  gli  archi  le transizioni, o in una versione tabellata, sulle righe lo stato corrente e sulle colonne l’ingresso, e l’elemento della tabella rappresenta la transizione verso il prossimo stato e l’uscita dell’automa. Gli automi a stati finiti possono essere impiegati in un ampio spettro di applicazioni, come ad esempio il riconoscimento (e anche l’accettazione), di stringhe di caratteri.  

 Figura 4 Esempio di automa a stati finiti per il linguaggio L = {anbm | m,n>0} 

 

Page 6: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

La linguistica dei corpora  

1. Definizione e costruzione di corpus  

La  linguistica  dei  corpora  può  considerarsi  come  un  approccio  di  indagine  linguistica.  Dopo  un periodo di  latenza dovuta alla critica chomskyana, si è avuta un’esplosione del ricorso a tale metodo, con l’elaborazione  di  numerosi  progetti  nazionali  e  internazionali,  grazie  alle  tecnologie  informatiche,  che hanno incrementato enormemente il potere di trattamento dei dati testuali. Corpus indica una qualiasi raccolta completa ed ordinata di scritti, di uno o più autori, riguardanti una certa materia,  oppure  un  campione  di  una  lingua  preso  in  esame  nella  descrizione  della  lingua.  I  corpora contengono testi reali, e non sezioni ridotte o alterate; inoltre sono un campione linguistico e non possono mai  contenere  tutte  le possibili occorrenze  testuali di una data  lingua. Una popolazione è un  insieme di tutte  le possibili osservazioni di una  lingua  su un dato campo. Un campione,  invece, è una  sezione della popolazione, che ingloba solo alcune possibili osservazioni. Il momento più delicato della costruzione di un campione  risiede  proprio  nella  scelta  del  materiale,  in  modo  che  rappresenti  adeguatamente  la popolazione.  Un  campione  deve  essere  rappresentativo,  per  essere  utile  e  significativo,  ossia  deve presentare alcune caratteristiche simili a quelle che avrebbe l’intera popolazione ed esibire lo stesso tipo di informazione (caratteristica qualitativa) con  la stessa probabilità di occorrenza (caratteristica quantitativa) della  popolazione. Un’altra  caratteristica  del  corpus  è  la  sua  estensione,  ovvero  la  sua  ampiezza,  che  è anche un fattore che  influenza  il grado di rappresentatività di un campione testuale. Esistono vari metodi per valutare la rappresentatività di un campione, ma va detto che un campione non è mai completamente rappresentativo  in generale, ma  solo  limitativamente  rispetto a uno  specifico punto di vista.  La maggior parte delle valutazioni più accurate, comunque, si basano sulla  ricchezza del vocabolario, misurata come numero di parole diverse presenti nel campione. Rispetto all’estensione,  i corpora vengono classificati  in statici (quelli con dimensione fissa) e in dinamici (con estensione variabile e una raccolta periodica di nuovo materiale). Avere un corpus statico ha i suoi vantaggi: le analisi sono condotte una sola volta, in un lasso di tempo  limitato,  può  essere  facilmente  distribuito,  usato  in maniera  standardizzata  per  diverse  analisi  e comparato con altri corpora statici, costruiti  in maniera simile, e tutte  le analisi sono ripetibili. Un corpus dinamico,  invece,  permette  di  condurre  anche  analisi  di  tipo  diacronico, ma  ovviamente  richiede  di  un lavoro continuo e una maggiore difficoltà di distribuzione, trattamento e comparazione. Al corpus dinamico viene spesso affiancato un corpus monitor, per la raccolta e l’analisi di nuovo materiale da aggiungere.  

 Figura 5 Rappresentatività tra campione e popolazione 

Nella costruzione di un corpus,  il primo passo è  la pianificazione della sua struttura  in modo che possa essere rappresentativa della varietà linguistica che si intende rappresentare. Il secondo passo sarà la concreta acquisizione del materiale per il corpus. Sia che si adoperi materiale già preparato da oltri, o che si sia  provveduto  da  soli  all’acquisizione,  è  necessario  tenere  presente  che  il  testo  elettronico  contiene sempre  una  certa  quantità  di  errori,  la  cui  eliminazione  deve  sempre  avvenire  in maniera manuale  o semiautomatico (terzo passo). Prima di procedere al passo successivo dell’etichettatura, si devono stabilire delle regole su come vanno trattati i caratteri del corpus, individuando un insieme di simboli per l’alfabeto 

Page 7: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

e un altro per i separatori. È necessario che nessun simbolo risulti ambiguo, ossia non impiegato in maniera diversa  all’interno  del  corpus.  La  procedura  di  segmentazione  dei  confini  delle  unità  linguistiche  fa emergere  il problema della  individuazione di che cosa si debba considerare parola. Dal punto di vista del trattamento  automatico  dei  corpora,  è  emersa  la  definizione  di  parola  come  ogni  insieme  di  simboli deliminatato da una coppia di separatori (parola grafica). Al fine del trattamento linguistico vanno, inoltre, distinti  i  lessemi,  i tipi di parola  (types) e  le occorrenze di parole grafiche  (tokens).  Il rapporto tra  i tipi di parole e  le occorrenze testuali (type/token ratio) ci dà un’approssimazione della ricchezza del vocabolario del  testo  esaminato: maggiore  è  tale  valore  e maggiore  è  la  varietà del  vocabolario presente nel  testo. Esiste anche un’altra definizione di questa misura, che non tiene conto dei types, ma dei lessemi. Per fare ciò,  però,  è  necessario  svolgere  un  trattamento  molto  complesso  sui  testi,  che  prende  il  nome  di lemmatizzazione. Il vantaggio è la sua immediata praticità e la possibilità di ottenerla in modo automatico, senza un particolare trattamento per lingue diverse, anche sconosciute.  

 Figura 6 Le tappe dell'analisi testuale su corpus 

 Il world wide web può essere  considerato un  corpus, un enorme deposito di materiale  testuale, 

facilmente accessibile, gratuito, vario negli stili, nelle tipologie e nei contenuti linguistici rappresentati. Dal punto di vista dell’estensione certamente il web è uno dei corpora più grandi mai raccolti, anche se l’esatta composizione in termini quantitativi è ancora indeterminata. Il web non presenta le diverse varietà di una lingua:  vi  sono  privilegiati  (quantitativamente)  alcuni  particolari  domini,  come  quelli  delle  stesse  nuove tecnologie,  congiuntamente a materiale vicino al parlato  come  forum e  chat.  L’accesso alle  informazioni avviene attraverso motori di ricerca che adoperano algoritmi di selezione che privilegiano determinati tratti per  ordinare  e  selezionare  i  documenti. Nel web,  inoltre,  il  tasso  di  errori  è  significativamente  più  alto rispetto  ad  altri  testi,  che possono essere  raccolti e  controllati. Gli errori non  si  limitano  a  soli  sbagli di trascrizione  o  scannerizzazione,  ma  la  forte  presenza  di  pagine  amatoriali,  scritte  da  utenti  che  non padroneggiano completamente  la  specifica  lingua,  finisce per  costituire una  rappresentazione  sbilanciata delle  caratteristiche  linguistiche  dei  testi.  Si  verifica  non  solo  che  l’interrogazione  scorretta  consente  di ottenere risultati forvianti, ma anche che  l’interrogazione corretta può non ritornare  la piena quantità dei dati utilizzabili. Dal punto di vista metodologico,  il web pone  il problema connesso con  la sua dinamicità incontrollata:  la  dimensione  del  web  è  indeterminabile.  Attualmente,  il  dibattito  sulla  costruzione  di architetture che permettono l’uso del web nella ricerca linguistica è molto acceso. In particolare sono allo studio soluzioni per migliorare  i sistemi di selezione dei  risultati,  in modo che siano bilanciati, con buoni livelli di accuratezza e validità dei risultati ottenuti. Al momento  l’impiego del web come corpus  in senso tecnico è una realtà, ma che deve essere trattata con molta cautela. 

Page 8: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 2. Codifica e Annotazione dei corpora ‐ Standard di codifica e annotazione 

 Raccolto  il  corpus,  per  poterne  sfruttare  la  ricchezza  come  fonte  di  dati  linguistici,  può  essere 

necessario dotarlo di un  insieme di  informazioni aggiuntive,  secondo un processo che prende  il nome di annotazione o echitettatura  linguistica, e che rappresenta una forma di codifica del corpus. Essa consiste nell’associazione di un’etichetta  (detta anche  tag o markup) a una porzione  specifica e ben delimitata di testo. Il sistema usato per costruire e attribuire le etichette si dice linguaggio di marcatura, e un esempio è l’SGML oppura  i più recenti XML o HTML. L’etichettatira  linguistica può riguardare qualunque aspetto del testo, e  serve principalmente per poter estrarre  successivamente  in maniera  agevole e  veloce una  gran quantità di dati linguistici e non dal testo. Un esempio tipico di annotazione è il grammatical tagging, in cui ad  ogni  parola  viene  associata  la  relativa  categoria  grammaticale.  Parallelo  all’annotazione,  esiste  un ulteriore livello di astrazione che prende il nome di metalinguaggio di annotazione, che stabilisce la forma sintattica delle etichette e fornisce la base per la validazione della correttezza di annotazione. 

L’annotazione  linguistica può essere  condotta  in modo  automatico,  semi‐automatico o manuale. Quest’ultima tradizionalmente viene svolta da persone che appongono le specifiche etichette alle porzioni di testo sulla base di valutazioni più o meno condivise e standardizzate. L’annotazione automatica avviene, invece, senza l’intervento umano, attraverso applicazioni del Natural Laguage Processing, basate su regole oppure  su  approcci  probabilistici.  È  noto  che  entrambi  gli  approcci  producono  una  serie  significativa  di errori nell’accuratezza dell’annotazione. Per questo motivo, in genere, l’annotazione combina i due metodi, dando luogo ad un’annotazione semi‐automatica, e procede attraverso una scrematura automatica, seguita da una fase di controllo manuale. 

A lungo, chi realizzava e progettava grandi corpora, definiva indipendentemente un proprio schema di  annotazione.  Tuttavia  l’uso  dei  corpora  in  ambito  scientifico  e  commerciale  ha  imposto  negli  anni l’esigenza della definizione di uno standard di annotazione. I requisiti di un tale standard sono: 

a) Separazione e autonomia del materiale grezzo da quello di codifica; b) Esplicitazione delle fasi di annotazione in un file, esterno al corpus, liberamente accessibile; c) Forma standard e omnicomprensiva di codifica; d) Indicazione esplicita dei criteri di annotazione; e) Possibilità di condurre ricerche specifiche sulle annotazioni; f) Indipendenza di fruizione di corpora e relative annotazioni dalle specifiche piattaforme software in 

uso. La principale organizzazione di standardizzazione mondiale, l'International Organization for Standardization (ISO), ha iniziato un lavoro mirato alla definizione di requisiti standard delle annotazioni e sta mettendo in campo  sforzi per  trovarne una proposta  comune,  che  renda  i  sistemi esistenti  interoperabili  tra  loro. Di seguito è riportata una brave carrellata delle principali implementazioni di annotazione di corpora. 

Tra  le  implementazioni  di  codifica,  la  più  nota  e  diffusa  è  quella  elaborata  dalla  Text  Encoding Initiative  (TEI).  Le  TEI  Guidelines  sono  delle  linee  guida  che  definiscono  le  norme  per  la  produzione  di documeti per scopi diversi. Suggerisce  il formato di marcatura SGML o XML, e una codifca di caratteri ISO 646 e Unicode. L’approccio usato da TEI nell’annotazione  linguistica è di tipo strutturale/semantico, ossia mira  a  specificare  il  ruolo  delle  frasi  di  un  testo,  per  organizzarlo  strutturalmente.  L’idea  è  di  fornire un’ontologia  d’annotazione  comune  ad  ogni  tipo  di  testo,  insieme  alle  specificazioni  necessarie  per contenuti particolari. La TEI ha definito diversi insiemi di etichette standard, da usare per le concrete fasi di annotazione, raggruppati per i settori di ricerca più vari. Oltre alle etichette, la TEI predispone diversi livelli di  codifica,  secondo una gerarchia  che va da un’etichettatura obbligatoria, ad una  raccomandata,  fino a giungere ad una opzionale. La creazione di documenti TEI è fatta in conformità ad un set di DTD XML, divisi in: core, base e set addizionali. Il set core definisce gli elementi comuni a tutti i testi, e l’header, contenente informazioni bibliografiche, di codifica, sul contenuto e sulla versione.  Il set base contiene  i DTD specifici per le sei categorie di un testo, con i tag necessari a garantire la fedeltà nella riproduzione del documento. I set addizionali permettono  l’inserimento di elementi speciali, come nomi e date, grafi ed alberi, tabelle e grafici, header speciali aventi il ruolo di corpo del documento.   

Page 9: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 

 Figura 7 Esempio di annotazione secondo le TEI Guidelines: annotazione testuale (a sinistra) e header (a destra) 

 Architecture  and  Tools  for  Linguistic Analysis  Systems  (ATLAS)  è  un’architettura  e  un  insieme  di 

strumenti  per  l’analisi  di  risorse  linguistiche  “lineari”,  ovvero  testo,  clip  audio  e  video.  Permette  di segmentare  il  materiale  linguistico,  tipizzare  le  annotazioni,  e  comprende  un  set  di  metainformazioni basato su Dublin Core. Il suo punto di forza è un modello delle annotazioni molto astratto, che lascia ampio spazio all’adattamento ad esigenze specifiche. ATLAS si compone, essenzialmente, di quattro parti: 

• Un’ontologia d’annotazione • Un’interfaccia di programmazione (API) • Un formato d’interscambio dati (AIF) • Un’infrastruttura di definizione tipi (MAIA). 

L’ontologia d’annotazione si basa sui seguenti elementi: • Segnale, un dato sorgente da annotare in tutto o in parte; • Àncora, una coordinata che individua parti specifiche all’interno di un segnale; • Regione, la parte di un segnale individuata da un’àncora; • Contenuto, un’informazione generica associata ad una regione; • Annotazione, l’associazione di un contenuto ad una regione. 

 

 Figura 8 Ontologia di base di ATLAS 

Page 10: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Dalla Figura 8, risulta che un segnale può essere diviso in più regioni da parte delle àncore; un’annotazione può essere priva di contenuto ed è  legata ad una sola regione, ma questa, a sua volta, può riferirsi a più annotazioni; si possono, infine, costruire gerarchie di annotazioni: l’annotazione è il concetto base di ATLAS. Si  nota  che  l’architettura  di  annotazione  è  relativamente  generale,  con  pochi  vincoli,  soprattutto  sul contenuto:  l’informazione  fornita da una  regione,  in effetti, può essere di qualsiasi  tipo. Lo  strato di API permette  la  connessione  delle  ontologie  di  base  con  le  applicazioni  di  gestione,  la  definizione  dei  tipi (MAIA) ed un linguaggio di interrogazione (AQL). MAIA è il sistema per la tipizzazione degli elementi usato da ATLAS, e permette di qualificare tutte  le ontologie di base. Oltre alle ontologie di base, ATLAS fornisce servizi di  input/output di annotazioni e di accesso ai segnali. Questi servizi sono collegati alle ontologie di base e, tramite API, ai segnali d’origine (audio, video, testo ecc.) e a formati di I/O delle annotazioni (XML, JDBC, reti ecc.).  

 Figura 9 Esempio di annotazione con CES di un testo in francese 

 Mentre TEI e ATLAS si occupano soprattutto di norme generali per la codifica di qualunque tipo di 

testo,  esistono  altre  iniziative  che  hanno  incominciato  a  trattare  più  specificamente  le  annotazioni linguistiche. Uno di questi progetti è il Corpus Encoding Standard (CES), un progetto di codifica dei corpora ideato per le applicazioni di ingegneria linguistica. Si tratta di una specifica conforme alle specifiche TEI, che utilizza  SGML  e  anche  XML.  CES  è  uno  strumento  per  la  codifica  basato  su  un  tipo  di  annotazione essenzialmente strutturale e grammaticale, con la particolarità di dividere in blocchi distinti la gestione del testo, delle annotazioni e dei collegamenti. Il formato sviluppato è meno complesso ed espanso di TEI, ma il campo  di  applicazione  è  più  vasto,  permettendo  annotazioni  grammaticali  su  qualsiasi  tipo  di  testo.  Il campo di annotazione è,  invece,  limitato, adatto  solo ad  informazioni grammaticali e ad allineamenti di testi  in  lingue  diverse.  CES  comprende  note  d’uso  del  metalinguaggio,  set  di  elementi  per  la 

Page 11: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

documentazione delle risorse codificate, per  la codifica dei “dati primari”, ossia  il testo sorgente, e per  la codifica delle annotazioni, che riguardano tre ambiti: 

• Divisione del testo in frasi e parole; • Descrizione morfosintattica (grammaticale) delle parole; • Allineamento e collegamento di testi. 

 3. Analisi di un corpus 

 Una tecnica per evidenziare  le caratteristiche  linguistiche di un testo è  l’osservazione della natura 

statistica del  suo  lessico. Una prima  forma di analisi  sui  corpora,  infatti, è  la  realizzazione di una  lista di frequenza,  ossia  una  lista  di  tutte  le  forme  che  compaiono  nel  corpus,  ciascuna  con  l’indicazione  del numero  di  occorrenze.  A  tali  informazioni  solitamente  è  aggiunto  un  valore,  che  prende  il  nome  di frequenza  relativa  (Fw/N),  che  corrisponde  al  rapporto  tra  le  occorrenze  di  una  singola  parola  (Fw)  e  il numero di parole testuali del corpus (N). Consideriamo, ad esempio, il primo capitolo dei Promessi Sposi, e produciamo un  lista di  frequenza,  si ha  il  risultato  in  Figura 10.  In  genere,  l’osservazione di una  lista di frequenza ordinata per tipi di parole, detta anche formario, è solo un primo passo, cui naturalmente segue il processo di lemmatizzazione.  

 Figura 10 Lista di frequenza del primo capitolo dei Promessi Sposi 

 Nel corso dell’analisi di un testo, è utile ridurre  le forme flesse di uno stesso  lessema a un singolo 

lemma,  tale operazione prende  il nome di  lemmatizzazione. Per  svolgere questo  task, un  software deve disporre  di  tutte  le  possibili  forme  in  cui  un  lemma  si  può  presentare  all’interno  di  un  testo,  saperle riconoscere e sostituirle con  il  lemma appropriato. Per realizzare una  lista  lemmata, è doveroso essere  in grado di risolvere un particolare problema, detto disambiguazione degli omografi, ad esempio nella frase “La porta  si  chiuse” è necessario poter distinguere  se  il  termine  “porta”  si  riferisce al  lemma  sostantivo <<porta>>  o  a  quello  verbale  <<portare>>.  Il  risultato  dell’operazione  è  una  lista  lemmata,  ad  esempio come quella in Figura 11, del testo in esame, a cui si può produrre una lista delle frequenze lemmatizzata, detta anche  lessici di frequenza,, che al posto delle occorrenze delle forme flesse, ha quelle dei  lemmi. La linguistica computazionale ha sviluppato diversi strumenti per condurre in maniera automatica almeno una parte  della  lemmatizzazione,  con  diverse  tecniche,  ereditate  dal  Natural  Language  Processing,  per distinguere  le  forme  omografe  e  riconoscere  la  struttura  sintattica  della  frase.  L’utilità  dei  lessici  di frequenza,  basati  su  corpora  rappresentativi  di  una  lingua,  o  anche  detti  di  riferimento,  risiede  nella possibilità di  fornire un quadro delle principali modalità d’uso ei  lessemi e della  loro copertura  testuale. Hanno  diversi  impieghi:  sviluppo  di  supporti  per  l’insegnamento  delle  lingue,  ricerche  di  lessicografia statistuca, produzione di dizionari‐macchina per il Natural Language Processing, e in generale l’integrazione di dati lessicali per diverse applicazioni linguistiche.  

Page 12: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 Figura 11 Lista lemmatizzata della frase in italiano "Il dottore mi raccomandò di non ostinarmi a guardare tanto lontano" 

 Oltre a quanto descritto, sono possibili ulteriori analisi avanzate dei corpora, tra cui  l’analisi degli 

usi con le concordanze. Le parole non figurano isolate in un periodo, ma accompagnate da altre, formando così quello che comunemente viene chiamato cotesto. Il cotesto che precede e segue una parole, fornisce informazioni sul suo uso e iuta ad individuare i relativi casi d’uso più requenti. Per estrarre da un corpus le parole e i rispettivi cotesti, si usa uno specifico strumento, la concordanza. Essa costituisce la presentazione delle parole di un testo, con l’indicazione della frequenza con cui la parola occorre e il cotesto. Lo scopo è osservare  i  diversi  usi  di  una  parola,  esaminare  i  diversi  cotesti  in  cui  occorre  e  analizzare  la  relativa regolarità con cui si accompagna ad altre parole nel suo cotesto. La prassi più tipica di esibizione del cotesto è nella forma KWIC (keyword‐in‐context), in cui il numero delle parole precedenti e successive alla parola in esame (detta nodo e si trova nella colonna centrale) può variare. 

 

 Figura 12 Snapshot di un software di concordanza 

 4. Interrogazione avanzata e analisi dei dati testuali 

 I corpora etichettati danno la possibilità di condurre ricerche avanzate, ovvero realizzare un sistema 

di estrazione dati che sfrutta la capacità di combinare diversi criteri, in modo da rispondere a interrogazioni su  aspetti multipli  delle  unità  di  analisi.  Altre  possibilità  di  esplorazione  dei  corpora  sono  offerte  dalla statistica testuale, che annovera tra le sue nozioni di base la dispersione e l’uso dei lessemi.  

Page 13: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Mentre la frequenza indica globalmente il numero di occorrenze di una specifica unità linguistica, la dispersione indica se e dove si presentano concentrazioni di occorrenze nel corpus e/o in diverse tipologie testuali.  Per  individuare  la  dispersione  è  necessario  suddividere  il  corpus  in  parti,  e  successivamente calcolare le frequenze relative di ogni unità linguistica nelle lingole parti di suddivisione del corpus. La scelta di  ripartizione  del  corpus  è  un momento  delicato  del  calcolo  della  dispersione,  dal momento  che  ne influisce il valore. Esistono diverse misure di dispersione, ma quella più accettata è la seguente: 

1√ 1

 

dove  ν  indica  il coefficiente di variazione  (rapporto  tra  la deviazione standard e  la media della  frequenza nelle  singole unita di  suddivisione), mentre n  indica  il numero di partizioni del  corpus.  La dispersione  è sempre un numero  inferiore a uno, ed è tanto maggiore, quanto maggiore è  il numero di partizioni  in cui compare la parola. 

Una volta determinata  la frequenza e  la dispersione di una unità  linguistica, è possibile avere una stima dell’uso. L’uso specifica  il modo con cui  l’unità occorre nel corpus e viene calcolato moltiplicando  la frequenza per la dispersione: 

 La nozione di uso  è  centrale nella  statistica  lessicale, poiché  fornisce una  rappresentazione quantitativa della  effettiva  presenza  dell’unità  lessicale  nelle  diverse  parti  del  corpus.  I  risultati  dell’analisi  delle distribuzioni di frequenza lessicali in corpora di grandi dimensioni ha l’utilità pratica di individuare le fasce d’uso dei  lemmi di un dizionario.  Il tasso d’uso sarà sempre di valore  inferiore o al massimo pari a quello della frequenza, tanto  inferiore quanto più  la parola si trova  in un numero basso di partizioni diverse del corpus.  

5. Le applicazioni dello studio dei corpora  

Oltre agli evindenti benefici dell’uso dei corporra in ambiti di ricerca linguistica e letteraria, vi sono applicazione di varia natura che possono godere di significativi vantaggi dall’uso dei corpora.  I dizionari si servono oggigiorno dei dati dei corpora e della loro analisi per la scelta delle voci lessicografiche da inserire, per l’individuazione delle diverse accezioni di una parola, della loro incidenza statistica e per la definizione della casistica d’uso. La costruzione di grammatiche ricorre sovente alla  linguistica dei corpora, da un  lato per avere maggiore aderenza alla realtà linguistica, dall’altro per l’individuazione delle categorie descrittive da adoperare (corpus‐driven grammar). 

Il trattamento automatico del  linguagio ha  impiegato dati  tratti da corpora per  la realizzazione di parser, tagger e lemmatizzatoi che includessero moduli di natura statistica, traendone notevole beneficio in termini di accuratezza. Nel campo della  traduzione automatica,  tecniche  corpus‐based, example‐based e statistiche sono allo studio per la realizzazione di software di traduzione automatica di altre prestazioni. 

Nel campo della didattica delle  lingue,  i corpora danno  la possibilità di predisporre testi autentici, adeguabili alle diverse esigenze comunicative. L’accesso ai corpora consente di pianificare e programmare meglio  l’ordine  con  cui  proporre  le  diverse  strutture  linguistiche,  preferendo  quelle  maggiormente impiegate nell’ambito di interesse dello studente.     

Page 14: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

L’elaborazione del linguaggio naturale 

 L’elaborazione  automatica  del  linguaggio  naturale  ha  lo  scopo  di  implementare  strumenti 

informatici per analizzare, comprendere e generare testi che gli uomini possano comprendere  in maniera naturale,  come  se  stessero  comunicando  con  un  altro  interlocutore  umano  e  non  un  computer.  È caratterizzato  da  due  prospettive  diverse,  che mirano  l’una  all’analisi  del materiale  testuale,  l’altra  alla generazione di testi linguistici: 

Natural  Language  Analysis  (NLA)  o  Natural  Language  Understanding  (NLU):  data  una  frase  ha l’obiettivo di darne una rappresentazione della sua analisi, ossia del processo di comprensione della frase; 

Natural  Language Generation  (NLG): data una grammatica di una  lingua naturale, ha  lo  scopo di produrne frasi di senso compiuto. 

Semplificando, il primo filone vuol far <<comprendere>> (analizzare la struttura della frase al fine di darne una  rappresentazione  astratta)  le  frasi  di  una  lingua  ad  una macchina,  il  secondo  vuol  far  <<parlare>> (produrre frasi grammaticalmente corrette) la macchina. I due processi sono l’uno l’inverso dell’altro. 

Le  distinzioni  tra  le  due  diverse  fasi  del  trattamento  automatico  delle  lingue  naturali  sono fondamentalmente su due fronti: 

La  natura  dell’ingresso  di  un  processo  di  generazione  varia  fortemente  dal  tipo  di  applicazione. Sebbene  un  input  linguistico  può  variare  da  una  tipologia  di  testo  ad  un  altro,  generalmente  è regolato  da  una  grammatica  comune.  Questo  non  si  verifica  nel  processo  di  generazione,  dal momento che ogni sistema di generazione si rivolge a una specifica tipologia di applicazione, con una particolare specifica dell’input. 

Mentre sia NLA che NLG devono essere in grado di rappresentare un intervallo di forme lessicali e grammaticali proprie del dominio applicativo,  il  loro uso d rappresentazione è diverso.  Il primo è stato  caratterizzato  come un processo di  gestione delle  ipotesi  (hypothesis management),  in  cui l’input linguistico viene analizzato sequenzialmente non appena il sistema considera interpretazioni alternative. La sua principale preoccupazione riguarda un ingresso ambiguo, fuori dalle specifiche e mal  formato. Tali problematiche non  sono avvertite nel caso di NLG:  l’ingresso non  linguistico di tale processo tende ad essere relativamente disambiguo, ben specificato e valido.  

 

Natural Language Processing  

1. Concetti Introduttivi  

I differenti due approcci al Natural Language Analysis possono essere raggruppati in due principali classi: 

Knowledge Engineering: codifica manuale di grammatiche e lessici da parte di esperti  Machine Learning: addestramento di modelli statistici su grandi quantità di dati, rappresentati da corpora annotati o meno 

Un modo di vedere questa dicotomia è nella metodologia: il primo approccio tende a lavorare secondo una modalità top‐down, imponendo al testo dei pattern grammaticali e relazioni semantiche ben noti, mentre il secondo ha un modus operandi bottom‐up, ricercando pattern e associazioni da modellare, alcuni dei quali possono non corrispondere a delle proprie relazioni sintattiche e semantiche. Un altro modo di vedere tale distinzione è sulla base della gestione della complessità delle  lingue,  in particolare  in merito al problema dell’ambiguità. Un approccio puramente  simbolico, come  il primo, deve  risolvere  l’ambiguità  imponendo delle  regole addizionali o  fattori contestuali, che possono essere  in qualche modo  formalizzati. Questa è una metodologie  basata  sulla  conoscenza,  da momento  che  si  affida  a  degli  esperti    per  identificare  e 

Page 15: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

descrivere  le  regolarità del dominio. L’approccio empirico è più quantitativo, siccome  tende ad associare delle probabilità alle diverse analisi testuali, e decide tra queste usando dei metodi statistici.   

2. Architettura di un sistema NLA  

 Figura 13 Schema a blocchi di un sistema per l'analisi del linguaggio naturale 

 Un sistema per l’analisi di input linguistici ha un’architettura, rappresentata secondo uno schema a 

blocchi in Figura 13, e si compone dei seguenti elementi:  Due sistemi di riconoscimento,  l’input può essere sia una produzione scritta sia orale, ma  i sistemi che operano l’analisi possono lavorare indistintamente su ognuno di essi, a condizione che siano in una rappresentazione macchina  interna che  il calcolatore è  in grado di manipolare.  Il sistema che opera il riconoscimento dei fonemi prende il nome di Speech‐to‐Text System, e sarà oggetto di un paragrafo nel capitolo delle tecnologie del parlato. Il sistema per la conversione dei grafemi in una rappresentazione macchina  interna  realizza uno  scanning del documento  cartaceo generando un file. Tale sistema è detto Optical Character Recognitioner (OCR). L’OCR può basare la sua azione su una base di  conoscenza  che  contiene  tutti  i  possibili  elementi  tipografici per ogni  simbolo della lingua naturale. Tale approccio diventa impraticabile nel caso del riconoscimento della grafia, in tal caso  si  passa  ad  un  particolare  metodologia  di  Pattern  Recognition,  detta  a  riconoscimento strutturale.  Si  considerare una prospettiva gerarchica, dove gli elementi da  riconoscere  vengono visti come composti da componenti più semplici, detti primitivi. Il riconoscimento di un campione è dato da tipo di primitivi che lo costituiscono e dalla relazione di composizione intercorrente. 

Analisi  lessicale,  ha  il  compito  di  riconoscere  gli  elementi  lessicali,  e  assegnarvi  informazioni  in merito alla loro categoria grammaticale, risolvendo le ambiguità. Si compone di due sottosistemi: 

Riconoscitore di forme, ha il compito di riconoscere le forme atomiche oggetto delle future elaborazioni.  Si  compone  di  un  Tokenizer  che  compone  la  successione  di  caratteri  in ingresso  in  unità  linguistiche,  ad  esempio  parole;  e  di  uno  Stemmer,  che  riconosce  le possibili  forme  flesse  di  una  unità  linguistica  e  ne  associa  la  forma  radicale  e  le meta‐informazioni di flessione; 

Categorizzazione,  o  Tagger,  associa  ad  ogni  unità  linguistica  una  delle  possibili  classi mofolofico‐sintattiche. 

Gli  ostacoli  che  si  possono  riscontrare  in  un’analisi  lessicale  sono  vari.  Nella  Tokenizzazione,  il problema è dato dalla non determinatezza dei delimitatori: essi dipendono fortemente dalla lingua adoperata nel testo e sono presenti irregolarità (unità atomiche composte da un insieme di parole, 

Page 16: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

i.e  Polirematiche).  Inoltre,  è  possibile  che  un  carattere  di  delimitazione  non  sia  adoperato  per delimitare parole (ad esempio il punto nelle sigle). Per lo stemmer è possibile che una forma flessa possa  appatternere  a  varie  posibili  forme  radicali.  Nella  classificazione,  non  è  univoca l’appartenenza di una unità linguistica ad una classe morfologico‐sintattica.  I due  sottosistemi  sono  rappresentati  in  figura  collegati  in  serie, ma  spesso è necessario un  loro lavoro  sinergico,  dal momento  che  l’uno  può  aiutare  a  risolvere  le  ambiguità  che  ostacolano  il lavoro  dell’altro.  Ad  esempio  l’ambiguità  nell’appartenenza  ad  una  forma  flessa  è  risolvibile conoscendo la classificazione morfologica dell’unità. Ad esempio “porta” può essere sia la flessione del  lemma  sostantivo  “porta”,  che  di  quello  verbale  “portare”.  Senza  ulteriori  informazioni  il processo  di  disambiguazione  sarebbe  impossibile,  ma  con  la  conoscenza  dell’appartenenza dell’unità al predicato verbale, è semplice operare l’associazione al lemma “portare”. 

Analisi  sintattica, o Parser, ha  il  compito di  assegnare una  caratterizzazione  sintattica  alla  frase. Dato in ingresso una frase ed una grammatica, il compito del parser è determinare se la frase può essere  generata  dalla  grammatica  e,  in  caso  affermativo,  assegnare  alla  frase  un’adeguata rappresentazione,  detto  albero  di  parsing.  Un  albero  di  parsing  è  un  grafo  aciclico  etichettato, caratterizzato da: un nodo radice, detto Sentence (S), dei nodi foglia con le parole della frase e dei nodi intermedi, che rappresentano la struttura sintattica assegnata alla frase. 

Analisi semantica, Ha  il compito di eseguire un’analisi semantica del testo  in  ingresso, generando meaning rapresentations. Si assegna a pezzi di struttura pezzi di significato. La struttura è composta da simboli e relazioni tra simboli che rappresentano stati del mondo.  

 3. Stemmer 

 Gli stemmer sono analizzatori morfologici, che associano le forme flesse di un termine la sua forma 

radicale.  La  forma  radicale  può  essere  pensata  come  il  lemma  che  si  trova  normalmente  sui  dizionari. Esistono due tipi di analizzatori morfologici: 

Inflectional morphology, esprime relazioni sintattiche tra  le parole tra  le parole della stessa parte del discorso. Nello specifico, studia  la flessione nella forma delle parole, necessaria per esprimere delle caratteristiche grammaticali, come singolare/plurale o passato/presente. 

Derivational Morphology, esprime  la creazione di nuove parole da partire da quelle conosciute, e cerca di collegare le differenti parole con la forma radicale. La derivazione solitamente coinvolge un cambiamento nella categoria grammaticale della parola, e può  implicare un cambiamento del suo significato. Ad esempio “unkind” è fatto a partire da “kind”, ma ha un significato del tutto opposto. 

Gli  analizzatori  morfologici  fanno  un  intenso  uso  di  regole  e  dizionari  lessicali,  che  possono  essere efficientemente codificati in automi a stati finiti. Realizzare un dizionario per un analizzatore morfologico è un  compito  temporalmente dispendioso. Molte applicazioni non  richiedono analizzatori  linguisticamente corretti, in tali casi si ha analizzatori euristici, che usano regola empirica approssimativa.  

Un algoritmo di stemming molto adoperato è detto Algoritmo di Potter, costituito da una serie  in cascata di regole di riscrittura delle parole. Le regole hanno una forma del tipo: 

(condizione) S1 ‐> S2 ovvero, se  la  forma  flessa  finisce con  il suffisso S1 e  la  forma  radicale soddisfa  la condizione, allora S1 è sostituito da S2. Un esempio di tali regole per parole in inglese sono:   (m > 0)  ATIONAL ‐> ATE  |  relational ‐> relate   (m > 0)  FUL          ‐> ε  |  hopeful     ‐> hope Se la forma flessa ha parte radicale di misura positiva, il suffisso ATIONAL o FUL sono sostituiti da ATE o la stringa vuota, cosicché il termine “relational” diventa “relate” e “hopeful”, invece, è “hope”.  

4. Tagger  

Le parole appartenenti ad una  lingua naturale possono essere classificati  in base ad un  insieme di classi morfologiche,  che  costituiscono un  insieme  che prende  il nome di Tagset di Tagging.  Le parti del disocrso  possono  essere  categorizzate  come  classi  chiuse,  ovvero  quelle  in  cui  la  condizione  di appartenenza è relativamente fissa, ad esempio le proposizioni, e classi aperte, in cui è possibile di volta in 

Page 17: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

volta  trovare nuovi elementi, dovute a parole di  recente  conio. Un esempio di  tagset è quello del Penn Treebank, adottato anche per l’annotazione di diversi importanti corpora.  

 Figura 14 Penn Treebank Part‐of‐Speech Tags 

 

Gli algoritmi di tagging ricadono in tre gruppi differenti:  Rule‐based tagger, generalmente posseggono un grande database di regole di determinazione della parte del discorso di una unità linguistica, ad esempio una unità che segue un articolo è un nome. Un esempio è il tagger ENGTWOL, un analizzatore morfologico a due livelli: 

1. Per  primo  viene  consultato  un  dizionario  dei  termini,  con  la  parte  radicale  delle  unità linguistiche,  il POS  tag e alcune  informazioni aggiuntive, e a  tutte  le unità della  frase da analizzare vengono associate una o più etichette sulla base delle entry del dizionario; 

 

 Figura 15 Esempio di dizionario lessicale di ENGTWOL 

 

2. Un  insieme di regole sono applicate per risolvere  le ambiguità morfologiche, ovvero unità che presentano più di una etichetta. 

 

Page 18: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 Figura 16 Esempio di una regola di vincolo per ENGTWOL 

  Stochastic  tagger,  adoperano  un  corpus  per  determinare  la  probabilità  che  una  data  unità linguistica abbia un preciso tag morfologico in un preciso cotesto: 

minimizza {P(unità | tag) * P(tag | precedenti n tag)}  Trasformation‐based tagger, è un approccio ibrido, e come gli algoritmi rule‐based ha un insieme di regole per l’assegnazione dei tag alle unità linguistiche, ma ha anche una componente statistica: le regole  non  sono  inserite  da  un  esperto, ma  computate  a  partire  da  un  corpus  appositamente annotato. Un esempio è il Brill tagger, che opera seguendo questi passi: 

1. Ad  ogni  unità  linguistica  si  applica  il  tag  più  probabile,  con  tale  probabilità  costruita  a partire da un corpus di training annotato considerando solo le singole unità linguistiche; 

2. Successivamente si applicano delle regole di trasformazione, apprese dall’osservazione del training  e  considerando  il  cotesto  all’interno  di  una  frase,  per  correggere  i  tag erroneamente assegnati alle unità. 

 5. Parser 

 Un processo di parsing può essere visto con un algoritmo di ricerca del corretto albero sintattico 

per una data frase, all’interno dello spazio di tutti i possibili alberi sintattici generabili a partire delle regole di una grammatica. I parametri che vanno dati al processo di definizione dell’albero sono: 

1. le  regole  grammaticali,  che  predicono  come  da  un  nodo  radice  S  ci  siano  solo  alcune  vie  di scomposizione possibili per ottenere i nodi terminali; 

2. le parole della frase, che ricordano come la (s)composizione di S debba terminare I due principali approcci al parsing sono: 

Top‐down  o  goal‐driven  approach,  cerca  il  corretto  albero  applicando  le  regole  grammaticali  a partire dal nodo radice S, provando a raggiungere i nodi foglia; 

Bottom‐up o data‐driven approach, si inizia con le parole che compongono la frase di input, da cui si inizia ad applicare le regole grammaticali fino a poter arrivare al nodo radice S. 

La strategia top‐down non perde tempo esplorando alberi che non portino a S come nodo radice, cosa che invece si verifica con la strategia bottom.up. Il top‐down, però, genera un grande indieme di alberi S‐rooted che  sono  inconsistenti  con  l’ingresso  fornito, dal momento  che gli alberi  sono generati  senza esaminare l’input linguistico. Bottom‐up non produce mai alberi inconsistenti con l’input linguistico.  Quando  in un nodo dell’albero  sintattico  si applicano delle  regole grammaticali,  si possono generare un insieme di percorsi alternativi verso uno o più nodi. Tale ramificazione non è espandibile in parallelo, ma va considerato un percorso per volta. Per questo l’esplorazione è fatta secondo due distinte strategie: 

Depth‐first,  la  ricerca  procede  espandendo  sempre  il  primo  nodo  generato,  e  operando  un backtracking nel caso il percorso non fosse giusto; 

Breadth‐first, la ricerca procede espandendo prima tutti nodi di un livello, per poi scendere al livello successivo. Ci sono molti modi di combinare previsioni top‐down con dati bottom‐up per ottenere ricerche più 

efficienti. La maggior parte usano un tipo come meccanismo di controllo per la generazione degli alberi, e l’altro come filtro per scartare a priori alberi che certamente non sono corretti, un esempio è  l’algoritmo del Left Corner. L’idea alla base di quest’algoritmo è di combinare una strategia di generazione degli alberi di  tipo  Top‐down,  con  il  filtraggio  con  considerazioni  di  natura  Bottom‐up.  L’algoritmo  si memorizza  la prima parola dell’input  (left  corner), e non  si devono  considerare  le  regole grammaticali  in  cui  sul  ramo 

Page 19: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

sinistro dellche elencan 

 Que

incorrere iningresso al del  tipo A →condizione questo inco

Riscrifodi w

GesNell’ottica dcui si memonon cadere il nome di ce terminali  

 L’algoritmotask di parsdell’algoritmstato: 

Preasppos

Scacatela  srico

Comregavvcate

Una volta cche dal prim

la derivazionno tutte le ca

esti  approccn situazioni dparser è di ti→* Aα  (es. di  innesco  c

onveniente: crivere una ormulare le reweakly equivstire esplicitadel secondo orizzano i risnella ricorsi

chart. Un chae della regol

 di Earley è sing. L’algoritmo, uno dei 

visione  (Prepettative  topssibilità di esansione  (Scaegoria combscansione  pronosciuta. Tampletamentoola, questa pvenuto  riconegoria. costruito  il chmo nodo por

ne si ha  incoategorie valid

ci  di  parsing,di stallo, senipo left‐recuNP → NP Pche prodott

nuova  gramegole che prvalent grammamente il proapproccio s

sultati intermone a sinistrart è un grafola che deve v

un esempiotmo inizia coseguenti tre

edictor):  crep‐down  dellpansione di nner):  verifibacia con queroduce  un  nale stato verro  (Completeprocedura rioscimento  è

hart, è possitano all’ultim

ongruenza code per il left 

Figura 17 Ese

,  soprattuttoza mai giungrsive. Una grP), ovvero  so di una  reg

mmatica  con resentano ricmar; ocesso di espsi  inserisce  lamedi con l’inra. I risultati o aciclico eticvenir applica

Figura

o di programon una fase e operatori v

ea  nuovi  sta  grammatiogni nodo noica  se  nell’iella prevista nuovo  stato rà aggiunto aer):  quando conosce cheè utile per  c

ibile ottenermo. 

on  il  left corncorner per o

empio di tabella

o  se  si  consgere ad un rrammatica se contiene ugola  gramm

lo  stesso pocorsione a si

plorazione, ea programmtendo di nonintermedi vechettato, dota. 

a 18 Esempio d

mmazione dindi inizializzaviene applica

tati  nell’entica;  verrà  qon terminalenput  esiste,dallo stato ain  cui  l’indiall’entrata sul’indicatore 

e un sintagmcompletare q

re un albero 

ner. Il filraggogni nodo no

a del filtraggio

sidera  una  srisultato. Ciòi dice ricorsiun  simbolo aticale.  Esist

otere  espresnistra, otten

evitando situazione dinamn ripetere il engono memve un arco c

di chart 

namica che zione applicato ad ogni 

trata  correnquindi  creatoe nella gramm,  nella  posiza cui la regolice  di  posiziuccessiva deldi  posiziona significativqualche  altra

di parsing, e

gio può esseon terminale

 

trategia  del  si verifica qva a sinistra,non  terminatono due m

ssivo della pendo così qu

azioni di stamica, una mlavoro già fa

morizzati in uontiene l’ind

opera su unando la regonodo del ch

nte  del  chao  un  numematica; zione  adegula si trova. Seone  viene  sl chart. e  raggiungevo è stato rica  regola  rim

estraendo  l’a

re realizzato. 

tipo  Depthquando la gra, se ammetteale che è  siaodi per pote

precedente, uella che pre

llo. metodologia datto che si puna strutturadicazione de

n chart per rola γ ‐> S. Adhart,  in  funzi

art,  rappresero  di  stati 

uata,  una  pe il confrontspostato  dop

e  l’estrema conosciuto e masta  in  atte

arco o  l’insie

o con tabelle

‐first,  possoammatica ine una regolaa parte dellaer ovviare  a

cercando diende il nome

di parsing  inuò evitare ea che prendei nodi iniziali

 

realizzare und ogni passoione del suo

sentando  leuguale  alle

arola  la  cuio è positivo,po  la  parola

destra  dellaverifica se l’

esa di quella

eme di archi

o n a a a 

i e 

n e e i 

n o o 

e e 

i , a 

a ’ a 

Page 20: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Anche per  il parsing esistono degli approcci  statistici, dove  si  scelgono  le  regole da espandere  in base a probabilità calcolate a partire da un corpus, per arrivare il prima possibile ad un’analisi e restituirla come “più probabile”. Dato un  insieme di regole, fornite sia da esperti che definite a partire da un analisi empirica di un insieme di testi, si definisce la probabilità di applicazione della regola come: 

 |      

ovvero,  la probabilità nota  la parte di  innesto  è pari  al numero di  volte  in  cui  la  regola  è  applicata  nel corpus, diviso il numero di occorrenze della parte di innesco.  

5. Un Applicazione: il correttore ortografico  

Una  delle  applicazioni  elementari  del  NLA  è  l’implementazione  degli  strumenti  di  correzione ortografica o spell checkers. Tali tool devono realizzare due compiti: 

1. Controllare la correttezza di una forma linguistica; 2. Suggerimento della forma linguistica più corretta a fronte di un errore. 

La  maggior  parte  dei  corretto  ortografici  funziona  mediante  la  comparazione  con  un  dizionario  di riferimento, ovvero un  repertorio  lessicale  in cui compaiono  tutte  le possibili  flessioni di ogni parola. Dal momento che andare a memorizzate  tutte  le  forme di  flessioni  impone una non  trascurabile complessità spaziale, si preferisce memorizzare solo la parte radicale delle parole, e corredare il dizionario di un insieme di  regole  di  scomposizione  morfologica  o  di  flessione.  A  fronte  dell’immissione  di  alcune  parole,  lo strumento opera per prima cosa lo stemming con le regole di scomposizione, ottenendo la forma radicale, e successivamente controlla la presenza di quest’ultima nel dizionario. 

Il problema più complesso, è però legato all’individuazione dei suggerimenti per una correzione. In una  lingua  solo alcune  successioni di  lettere  sono consentite, ad esempio  in  italiano non è consentito  la successione  “stb”. A  tale  scopo, oltre  alla  consultazione del dizionario, un  correttore è  corredato da un algoritmo di controllo delle sequenze alfabetiche all’interno di una parola. Lo strumento informatico usato per  indicare  tali  sequenze  è  detto  n‐gramma,  dove  n  è  la  lunghezza  della  sequenza.  L’algoritmo  ha  un insieme di n‐grammi plausibili, e quando in un testo si riscontra una sequenza non consentita, la si segnala come  errore. Un  latro metodo  è  quello  della  distanza minima,  dove  i  candidati  per  la  correzione  sono ottenuti  applicando  alla parola  erronea  gli operazioni di  cancellazione,  inserimento  e  alterazione di una lettera, secondo il principio della minimizzazione della distanza della nuova parola con quella erronea. Per distanza tra due parole, si intende il numero di lettere difformi tra le parole, a parità di lunghezza. Se due parole sono di lunghezza differente, a quella più breve si aggiungono in coda tanti caratteri nulli, quanti ne bastano per arrivare alla  lunghezza dell’altra parola del confronto. Ad esempio, data  la parola “fonia” che non viene riconosciuta dal correttore di Microsoft Word, posso ottenere  i seguenti suggerimenti: “fonda” (alterazione di un carattere), “fonica”  (inserimento di un carattere), “conia”  (alterazione di un carattere), “fobia” (sostituzione di un carattere) e “afonia” (inserimento di un carattere).     

Page 21: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Natural Language Generation  

1. Introduzione  Il Generazione di Linguaggio Naturale (NLG) si occupa della costruzione di sistemi che producano 

un  testo  comprensibile,  in  un  qualsiasi  linguaggio  umano  (Italiano,  Inglese,  etc.),  a  partire  da  una rappresentazione  non  linguistica  della  conoscenza.  Si  tratta  di  un  “problem  solving  linguistico”,  cioè  un tentativo di risolvere un goal di tipo comunicativo attraverso  l’uso del  linguaggio,  in tutte  le sue forme.  Il processo  di  generazione  linguistica  è  uno  dei  più  vecchi  nel  campo  dell’elaborazione  linguistica.  Ad esempio,  il più vecchio e famoso programma C, detto “hello word”, è un primo esempio di programma di generazione  linguistica.  Il  suo  compito  è  di  visualizzare  a  video  la  stringa  “Hello, world”,  ed  applica  un approccio  alla  generazione  che  prende  il  come  di  canned  test  (testo  inscatolato).  Quest’approccio  è semplice da  implementare, ma mal si adatta a nuove situazioni. Si  lascia,  infatti,  l’onere della produzione linguistica al programmatore e non al programma stesso,pertanto ogni variazione di applicazione  impone l’intervento  dell’autore. Un  approccio  più  elastico  in  cui  viene  scritto  in  chiaro  nel  programma  la  parte invariante  del  testo  da  generare,  lasciando  all’utente  l’onere  di  immissione  in  corso  di  esecuzione  del programma  la  parte  variante.  Tale  approccio  viene  detto  template  filling  (compilazione modulo),  ed  è certamente più  flessibile e maggiorente usato, ma ha ancora delle  limitazioni. Ad esempio,  il suo uso da parte di Weizenbaum  in  ELIZA ha  avuto  successo  in  alcune  situazioni, mentre  in  altre ho  generato  frasi senza senso.  

User: Let’s talk just about you – not me. Can you think? ELIZA: YOU LIKE TO THINK I – NOT YOU – DON’T YOU User: I think you are an extremely stupid program ELIZA: PERHAPS YOU WOULD LIKE TO BE AN EXTREMELY STUPID PROGRAM

 Il successo di semplici meccanismi di generazione linguistici ha indicato che, ad una prima approssimazione, la generazione  linguistica è più semplice della comprensione  linguistica. Per questo motivo, gli sforzi degli studiosi  si  sono  concentrati  sulla  comprensione,  considerando  i  precedenti  approcci  sufficienti  per  la generazione. Quando  le esigenze  sono varie e  complesse,  si  rendono necessarie  tecniche più  sofisticate, capaci di generare un appropriato range di frasi, e scegliere tra le frasi candidate sulla base del contesto e del senso voluto. 

Un sistema che si pone come obbiettivo  la generazione di  testo  in  linguaggio naturale si  trova  la necessità di compiere una serie di scelte: 

Selezione del contenuto: ovvero di scegliere appropriatamente il contenuto della frase in base allo specifico intento comunicativo e alla natura delle destinazione della frase; 

Selezione  lessicale:  il  sistema  deve  scegliere  il  lessico  più  adeguato  per  esprimere  i  particolari concetti del contenuto informativo; 

Struttura della frase: 

• Aggregazione: il sistema deve ripartire il contenuto selezionato in frasi, clausole e parole; 

• Espressioni di riferimento: si deve determinare come riferirsi agli oggetti in discussione;  Struttura del discorso:  il  sistema  solitamente deve  trattare  con discorsi  formati da più  frasi,  che devono essere caratterizzate da una struttura coerente e discernibile. 

Queste scelte, congiuntamente alla problematica di predisporre delle frasi  lineari come  insieme di parole, costituisco il cuore del NLG.   

Page 22: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

2. Architettura di un sistema NLG  

 Figura 19 Architettura di un sistema per il NLG 

 

L’architettura per un sistema di NLG è  illustrata in Figura 19, ed è costituita da due componenti in serie: 

Discourse Planner, questo componente  lavora a partire da uno scopo comunicativo e  intraprende l’insieme delle scelte che sono oggetto del NLG. Seleziona  il contenuto dalla base di conoscenza e successivamente  struttura  tale  contenuto  in maniera  appropriata.  Il  risultate  piano  del  discorso specificherà tutte le scelte operare per l’intera comunicazione. 

Surface  realizer,  questo  componente  riceve  la  specifica  del  Discourse  Planner,  e  genera  delle singole  frasi  in  funzione  delle  sue  risorse  lessicali  e  grammaticali.  Tali  risorse  definiscono  le potenzialità  di  generazione  in  uscita  del  componente.  Se  la  specifica  è  costituita  da  più  frasi,  il Realizer viene invocato tante volte quante sono le frasi della specifica. 

 3. Surface Realizer 

 Esistono due possibili approcci alla realizzazione del Realizer:  

Systemic Grammar,  Functional Unification Grammar. 

 o Systemic Grammar 

 Nel Systemic Grammar le frasi sono rappresentate  come collezioni di funzioni, e si adoperano delle 

regole per il mapping di tali funzioni in esplicite forme grammaticali. Un sistema di analisi sistematica delle frasi organizza le funzioni su livelli multipli, come in figura per l’analisi della frase “The system will save the document”. 

Page 23: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 Figura 20 Analisi sistematica di una frase in inglese 

 Questi livelli gestiscono diversi insiemi di funzioni, dette meta‐funzioni, che rappresentano i vari aspetti alla base di un task di generazione linguistica: 

• Le  meta‐funzioni  interpersonali  raggruppano  quelle  funzioni,  che  stabiliscono  e  mantengono l’interazione tra lo scrittore e il lettore. In Figura 20, è rappresentato dal mood layer, che determina se la frase ha un carattere imperativo, affermativo o interrogativo. 

• Le meta‐funzioni concettuali  si  riferiscono a quello che è comunemente definito  il “propositional content”  dell’espressione,  solitamente  espresso  come  semantica  della  frase.  In  Figura  20,  il transitivity layer determina la natura dell’informazione espressa. 

• Le meta  funzioni  testuali  si  riferiscono  al modo  con  cui  le  espressioni  si  adattano  al  discorso corrente. Ciò  include  le problematiche di thematization e reference.  Il theme  layer rappresenta  la marcatura del tema della frase. 

Molte  delle  scelte  che  il  processo  di  generazione  deve  compiere  dipendono  dal  contesto  della comunicazione, che è formalizzato dalle meta funzioni interpersonali e testuali. 

La  grammatica  viene  rappresentata  usando  un  grafo  and/or  aciclico  etichettato,  detto  system network, di cui un semplice esempio è rappresentato in Figura 21. 

 Figura 21 Un semplice esempio di System Network 

Page 24: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 Nel  system  network,  una  parentesi  graffa  indica  sistemi  collegati  con  un  operatore  di  “and”  (ovvero  in parallelo), mentre  la  linea  retta  verticale  sono  i  sistemi  interconnessi  con  una  “or”  (ovvero  in  serie).  Il formalismo del system network non richiede l’uso di una teoria sistematica, ma è possibile basare il tutto su una categorizzazione sistematica. Una systemic grammar utilizza dei realization statements per mappare le caratteristiche specificate della grammatica nella forma sistematica. Ogni caratteristica nella rete può avere un  insieme  di  asserzioni  realizzative,  che  specificano  dei  limiti  sulla  forma  finale  dell’espressione.  Ciò  è illustrato in Figura 21, come un insieme di asserzioni in corsivo al di sotto di ogni caratteristica. Le asserzioni realizzative sono ottenute impiegando i seguenti operatori: 

+X:  inserire la funzione X, ad esempio si specifica che tutte le frasi devono avere un predicato  X/Y:  combinare  le  funzioni  X  e  Y.  Ciò  consente  alla  grammatica  di  avere  una  struttura  di funzione a strati, assegnando differenti funzioni alla stessa porzione dell’espressione. Ad esempio clausole attive combinano l’attore con il soggetto, mentre quelle passive lo scopo con il soggetto 

X^Y:  ordinare la funzione X in un certo punto prima di Y. Ad esempio frasi indicative pongono il soggetto prima del predicato 

X:A:  classificare la funzione X con la caratteristica lessicale o grammaticale A. Tali classificazioni segnalano a un basso  livello un passo  ricorsivo attraverso  la grammatica, da applicare alla  frase, all’elemento  lessicale o morfologico. Le caratteristiche  indicative  inseriscono  la funzione soggetto, che deve essere un nome. Tale elemento verrà ulteriormente specificato da un’altra porzione della grammatica stessa. 

X!L:  assegna alla funzione X l’elemento lessicale L. All’elemento finito del passivo è assegnato l’elemento lessicale “be”. Dato un  sysytem network pienamente  specificato,  la procedura di generazione da applicare è  la 

seguente: 1. Si attraversa la rete da sinistra verso destra, scegliendo la caratteristica appropriata e collezionando 

le associate asserzioni realizzative; 2. Si  costruisce  un’espressione  intermedia  che  riconcilia  l’insieme  delle  limitazioni  imposte  dagli 

statement realizzativi collezionati al passo precedente; 3. Si ripercorre la grammatica dal basso per ogni funzione che non è stata pienamente specificata. 

Consideriamo la seguente specifica di ingresso: 

 L’ingresso specifica l’entità processo, attore e scopo, ma anche che la frase è affermativa e che è un’azione rivolta nel futuro. Il processo generativo inizia con la grammatica in Figura 21, andando ad analizzare i tre elementi  del  primo  livello.  Si  parte  dalla  caratteristica mood,  e  si  sceglie  le  caratteristiche  indicative  e declarative,  dal  momento  che  nell’input  è  indicato  che  la  frase  è  un’asserzione.  In  base  alle  relative asserzioni realizzative ottengo la seguente strutturazione funzionale: 

  

Page 25: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

La presenza di “save” come processo, impone la scelta di una caratteristica transitiva, e dal momento non viene indicato l’uso del passivo, si adotta uno schema attivo: 

si inserisce l’attore e lo si combina col soggetto  si inserisce l’oggetto, combinandolo con lo scopo e ordinando dopo il predicativo.  

Si ottiene il seguente schema:  

  Infine, dal momento che non c’è in ingresso alcuna specifica tematica, si sceglie uno schema di default, che inserisce  theme  e  rheme,  combinando  theme  con  il  soggetto  e  rheme  con  il  restante  dello  schema, ottenendo:  

  

A questo punto,  il processo generativo ricorsivamente adopera  la grammatica per specificare pienamente la frase e gli elementi lessicali e morfologici.  

o Functional Unification Grammar  L’approccio  Functional  Unification  Grammar  usa  l’unificazione  per  manipolare  e  valutare  le  strutture caratteristiche.  L’operazione di unione o merge prende  in  ingresso due  strutture e ne  restituisce una  in uscita  fusione delle due  in  ingresso. Una grammatica ad unificazione è un  insieme di  tratti  la cui unione costituisce  la  corretta  struttura  grammaticale  di  una  frase.  Una  struttura  di  tratti,  detta  anche  feature structure  o  FS,  è  un  insieme  di  coppie  del  tipo  “tratto”  e  particolare  valore  assunto  dal  tratto,  il  tutto organizzato  in una matrice di attributi e valori, detta Attribute‐Value Matrix o AVM. Un AVM può essere rappresentato anche da un grafo, detto Direct Acyclic Graph o DAG, in cui i nodi sono i valori dei tratti e gli archi sono la tipologia di tratto, la direzione è data dalla strutturazione a livelli dei tratti. Questa grammatica ha nel suo livello più alto una serie di alternative per le frasi (categoria, o cat, s), parte nominale  (cat  np)  e  parte  verbale  (car  vp).  L’operatore  di  alternativa  o  “or”  è  data  da  una  coppia  di parentesi graffe. Al livello di frase, tale grammatica supporta le caratteristiche di attore, processo e scopo, e un pattern che descrive la disposizione dei costituenti la caratteristica. Le regole di unione sono quelle che regolano  le caratteristiche di un elemento rispetto a quello precedente (ad esempio  la persona del verbo deve essere  legata a quello del soggetto di una frase). Nella Figura 22,  l’entità S si compone di una parte NP, di una VP e di una NP, dove la prima NP e la VP si uniscono in base al tratto NUMBER, che deve essere pari a quella dell’attore. Questa grammatica è simile a quella sistematica dal momento che supporta una strutturazione a più  livelli,  che  sono acceduti  in maniera  ricorsiva durante  il processo di generazione:  la definizione  degli  elementi  di  S  si  trovano  ripercorrendo  dall’inizio  la  grammatica.  Ovvero  l’attore dell’elemento S, non è altro che un elemento NP, che si lega al primo in base al NUMBER dell’attore ({↑↑ NUMBER } sta ad indicare il NUMBER dell’elemento di livello superiore, ovvero ACTOR).  

Page 26: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 Figura 22 Semplice esempio di grammatica ad unificazione 

 La  struttura di  input  specifica  i dettagli della particolare  frase da generare, e viene  rappresentata  in una forma  affine  a  quello  della  grammatica,  che  prende  il  nome  di  Functional  Description  o  FD,  e  un  suo esempio è illustrato in Figura 23.  

 Figura 23 Un esempio di descrizione funzionale 

 

Nella  figura,  c’è  la  specifica  di  una  frase  con  un  particolare  attore,  “system”  e  un  particolare  scopo, “document”. Il processo è il futuro salvataggio del documento da parte del sistema. La struttura di ingresso specifica i particolari verbi e nomi da usare e anche l’accezione temporale della parte verbale.  Per generare  l’uscita del componente, questo  ingresso viene unificato con  la grammatica della Figura 22, attraverso degli esami multipli della grammatica. L’unione preliminare fa corrispondere all’input, il livello S della grammatica, ovvero la prima alternativa del top level, dando luogo a quanto illustrato in Figura 24. Ad esempio, la caratteristica associata ad ACTOR include anche l’elemento lessicale “system” proprio dell’FD di ingesso la categoria NP della grammatica.  

Page 27: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 

 Figura 24 Risultato dell'unione preliminare 

 

Si continua consultando la grammatica, ottenendo un FD pienamente unificato, illustrato in Figura 25.  

 Figura 25 FD pienamente unificato, risultante del processo di generazione 

 

4. Discourse Planning  

Il componente di realizzazione superficiale prende  in  ingresso uno specificato  input e genera delle singole  frasi. Di conseguenza, esso ha poco o nessun controllo sulla struttura del discorso o  il contenuto delle  frasi.  Questo  cose  sono  controllate  dal  discourse  planner.  I  due  predominanti meccanismi  per  il planning del discorso sono: 

Text Schemata  Rhetorical Relations 

Page 28: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Tale  componente deve anche approcciare  il problema del  content  selection, ovvero  il processo di  scelta della semantica della frase a partire della case di conoscenza in input e sulla base dello scopo comunicativo. Dal momento che tale base di conoscenza non si presente in una forma standard, ma dipende fortemente dalle  caratteristiche  dell’applicativo,  è  difficile  fare  un  discorso  generale  sul  processo  di  selezione  dei contenuti. Concretamente  la base di  conoscenza può essere vista nella  forma KL‐ONE, un cui esempio è illustrato in . In questa rappresentazione si illustrano gli effetti e i passi, da compiersi in successione, che si devono compiere per effettuare l’azione di salvataggio. 

 Figura 26 Una porzione della base di conoscenza della procedura di salvataggio 

 o Text Schemata 

 Un approccio alla progettazione del discorso è quello di  legarne  la struttura del discorso con  la struttura della base di conoscenza. Ad esempio, le direttive scritte che spiegano come svolgere una specifica azione, esprimono  le azioni  richieste ordinate  sulla base della  loro esecuzione. Ogni pre‐condizione di  tali azioni viene specificata prima della relativa azione. Similarmente, gli effetti di queste azioni sono illustrati dopo le relative  azioni.  Sulla  base  di  tali  considerazioni,  è  possibile  realizzare  uno  schema  rappresentante  tale struttura, come quello in Figura 27.  

 Figura 27 Schema di strutturazione dello schema del discorso 

 

Page 29: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Lo schema viene rappresentato con un Augmented Transition Network o ATN, in cui ogni nodo è uno stato e ogni arco una transizione. Il controllo inizia nel piccolo nodo nero in alto a sinistra e procede seguendo gli archi fino a che l’esecuzione non si interrompe nel nodo terminale nell’angolo in basso a sinistra. Il nodo S0 consente l’espressione di tutte le precondizioni, la transizione allo stato S1 impone l’espressione dell’azione stessa. S1 consente la chiamata ricorsiva della rete per esprimere i passi sottesi all’esecuzione dell’azione. La transizione verso S2 non richiede alcuna azione, e S2 consente di esprimere  i possibili effetti collaterali dovuti all’esecuzione dell’azione. Questo approccio sugli schemi consente di ottenere delle strutturazioni del discorso solo di alto livello.  

o Rhetorical Relations  Gli schemi sono utili per la panifica del discorso fornendo un insieme discreto di pattern di espressioni, ma sono affetti da due principali problemi: 

Gli schemi sono impraticabili quando il testo da generare richiede una maggiore varietà strutturale e  ricchezza di espressione. Talvolta si  rendono necessarie delle variazioni nella strutturazione del discorso, e ciò appone notevoli difficoltà ad approcci basati su schemi. 

La struttura del discorso generata dagli approcci con schemi, è data da una semplice frase, senza includere alcuna struttura ad alto livello che pone in relazioni le frasi tra loro. 

Un  utile  approccio  è  di  dare  un’occhiata  sotto  al  tetto  dello  schema  in modo  da  scoprire  le  dinamiche retoriche al  lavoro nel  testo. Un  sistema  informato di  tali dinamiche può  successivamente  sviluppare un proprio  schema  basato  sulle  situazioni  incontrate.  Una  delle  teorie  che  cercano  di  formalizzare  tali dinamiche è detta Rhetorical Structure Theory o RST. È una teoria descrittiva dell’organizzazione del testo basato  sulle  relazioni  che  sussistono  tra  le  parti  del  testo.  Le  relazioni  che  costituiscono  tale  teoria designano il segmento centrale di un discorso come nucleo, mentre il segmento periferico come satellite. È possibile  interpretare  il  secondo nei  termini del primo e non  viceversa.  Le  relazioni RST  sono definiti  in termini di limitazioni che pongono sul nucleo, sul satellite o sulla loro combinazione: 

Elaboration: il satellite presenta dei dettagli aggiuntivi che si riferiscono al contenuto del nucleo;  Contrast: i nuclei presentano elementi che, sebbene simili in alcuni aspetti, sono differenti in certi modi; 

Condition:  il  satellite  presenta  qualcosa  che  deve  verificarsi  prima  della  situazione  espressa  nel nucleo; 

Purpose: il satellite presenta lo scopo del verificarsi dell’azione espressa dal nucleo;  Sequence: l’insieme dei nuclei sono realizzati in sequenza;  Result: la situazione espressa dal nucleo deriva da quella presentata dal satellite. 

Le relazioni RST sono tipicamente rappresentate graficamente come in basso:  

  

Inoltre le varie relazioni possono essere espresse in maniera gerarchica: 

Page 30: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

  Sebbene RST è  stato originariamente proposto come  strumento descrittivo, può essere anche  impiegato come tool per NLG. Per rendere ciò possibile,  le relazioni sono tipicamente riproposti come operatori per un planner basato  sull’Intelligenza Artificiale. Ogni  nodo della base della  conoscenza diventa di  volta  in volta nucleo e satellite, e si valuta l’applicabilità delle varie regole RST, fino a giungere alla base di un albero retorico, non ulteriormente espandibile. 

 Figura 28 Piena strutturazione retorica del testo d'esempio 

 5. Microplanning 

 Nelle  sezioni precedenti non  si è  trattato  il processo del mapping delle  strutture del discorso  in 

uscita al Discourse Planner e l’ingresso del Surface Realizer. Le strutture del discorso specificano la struttura ad  altro  livello  del  testo  da  generare,  ma  includono  pochi  dettagli  utili  al  realizzatore  superficiale.  Il problema di operare una pianificazione più dettagliata prende il nome di Microplanning. Le maggiori aree di interesse sono: 

Referring expressions: si richiede di determinare quegli aspetti di un’entità che dovrebbero essere usati  quando  ci  si  riferisce  all’entità  in  questione  in  un  particolare  contesto.  Se  un  oggetto  è  il centro della discussione, ed è stato già menzionato, è possibile usare un semplice “esso”, mentre l’introduzione di una nuova entità richiede delle espressioni più elaborate. 

Aggregation: si deve ripartire  il contenuto dalla base di conoscenza  in frasi e parole. La frase “Hai appena  compilato  ed  eseguito  un  semplice  programma  in  C”  è  una  forma  aggregata  e 

Page 31: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

maggiormente  leggibile di una  forma non aggregata del  tipo “Hai appena compilato un  semplice programma in C. Hai appena eseguito un semplice programma in C”. 

 

   

Page 32: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Traduzione Automatica  

1. Introduzione alla Traduzione Automatica  

Uno dei problemi di maggiore  impatto pratico connessso all’elaborazione  linguistica è quello della traduzione automatica di testi, o Machine Translation (MT). La traduzione automatica opera da un testo in un  linguaggio  naturale  (la  sorgente  o  Source  Language)  ad  un  altro  (la  destinazione  o  Destination Language). Questo processo si è dimostrato utile per vari compiti, tra cui: 

1. Traduzione  approssimativa,  in  cui  l’obiettivo  è  avere  una  vaga  idea  del  senso  di  un  testo.  Frasi sgrammaticate  e  poco  eleganti  sono  consentite,  purchè  il  senso  sia  ben  chiaro.  Durante  la navigazione  sul  web,  ad  esempio,  un  utente  è  disposto  ad  accontentarsi  della  traduzione approssimativa di una pagina  in  lingua straniera. Talvolta un umano monolingua può perfezionare la  resa dell’output, senza necessariamente conoscere  il  testo nella  lingua originaria  (fase di post‐editing).  In  tal  modo,  lo  strumento  di  traduzione  automatica  rappresenta  un  supporto  per velocizzare il processo di traduzione operato da un umano (computer‐aided human translation). 

2. Traduzione  a  sorgente  ristretta,  in  cui  l’argomento  e  il  formato  del  testo  sorgente  sono severamente limitati. Uno degli esempi di maggior successo è il sistema TAUM‐METEO, che traduce bollettini metereologici dall’inglese al  francese.  Il  suo  funzionamento affidabile è dovuto al  fatto che il linguaggio dei bolletini meteo è molto regolare e ha uno stile formalizzato. 

3. Traduzione pre‐editata, in cui un essere umano edita il testo del documento sorgente per renderlo uniforme  a  un  sottoinsieme  ristretto  rispetto  al  linguaggio  originario,  anche  detto  sublanguage, prima della traduzione automatica. Quest’approccio è molto efficace quando lo stesso documento va  tradotto  in  molti  linguagi  diversi.  Un  esempio  è  rappresentato  dalla  manualistica  di elettrodomestici e altro: società come Xerox hanno definito un linguaggio abbastanza semplice per scrivere  i  propri manuali  di  assistenza,  tale  da  poter  poi  essere  tradotto  automaticamente  con facilità e pochi errori in tutti i linguaggi dei paesi in cui opera l’azienda. 

4. Traduzione letteraria, in cui si conservano tutte le sfumature del testo sorgente. Oggigiorno questo è un compito troppo difficile per i sistemi di traduzione automatica. La  traduzione è un compito difficile, perchè  richiede generalmente una conoscenza approfondita 

del testo, che a sua volta esige una comprensione completa della situazione che si considera comunicare. Questo è  vero anche per  testi molto  semplici, addirittura  composti da una  sola parola. Consideriamo  la scritta “Aperto” sulla porta di un negozio, esso sta ad indicare che il negozio è pronto ad accettare clienti. La  stessa  scritta  su  uno  striscione  davati  a  un  centro  commerciale  appena  innaugurato,  invece,  sta  ad indicare  che  i negozi  sono ora operativi, ma  i  lettori non  si  sentirebbero  ingannati  se  il  centro dovesse chiudere nella notte senza rimuovere  lo scrizione. In tedesco, d’altra parte,  la prima scritta avrebbe come traduzione “Offen”, mentre  il secondo “Neu Eröffnet”.  Il problema è che  linguaggi diversi categorizzano  il mondo  in modo diverso,  ad  esempio  il  termine  francese  “doux” ha una  vasta  gamma di  significati,  che corrisponde  approssimativamente  alle  parole  italiane  “morbido”,  “dolce”  e  “gentile”.  La  traduzione automatica  deve  necessariamente  operare  delle  distinzioni  tra  i  vari  significati  di  un  termine, comprendendo la situazione cui fa riferimento il testo originale, e operare una scelta del giusto termine, al fine di avere una  resa nel  linguaggio destinazione,  che descriva  correttamente una  situazione  identica o molto similare a quella nella sorgente.  

2. La complessità del Machine Translation  

Nelle lingue umane esistono alcune caratteristiche comuni, universali, dovute al ruolo funzionale di una lingua come sistema di comunicazione tra uomini. Ogni linguaggio, ad esempio, possiede nomi e verbi.  Anche quando le lingue differiscono tra loro, tali differenze hanno spesso delle strutture sistematiche, il cui studio viene detto tipologia. Gli elementi tipologici tra lingue sono di diversa natura: 

1. Morfologica, le lingue sono spesso caratterizzabili lungo due dimensioni di variazione: • Il  numero  di  morfemi  per  parola,  si  può  spaziare  da  lingue  isolanti,  come  il 

cantonese,  in  cui  ogni  parola  generalmente  ha  solo  un  morfema,  a  lingue 

Page 33: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

polisintetiche, come l’Eskimo, in cui una singola parola può essere composta di più morfemi, corrispondente a un’intera frase in italiano; 

• Il grado di frammentazione dei morfemi, andando da  lingue agglutinative, come  il turco, dove i morfeni hanno dei confini precisi, a lingue a fusione, come il russo, in cui  c’è  la  tendenza di  fondere  insieme  i morfemi  in modo  tale da essere difficile segmentarli. 

2. Sintattica,  le  lingue  sono  differenti  anche  sull’ordine  di  aggregazione  degli  elementi  del discorso: 

• SVO  (Subject‐Verb‐Object),  il  verbo  tende  a  essere  interposto  tra  soggetto  e oggetto; 

• SOV  (Subject‐Object‐Verb),  il  verbo  tende  ad  assumere  l’ultimo  posto  all’interno della frase; 

• VSO  (Verb‐Subject‐Object),  il  verbo  tende  ad  assumere  la  prima  posizione all’interno della frase. 

Due  lingue  che  condividono  la  loro  tipologia  di  ordinamento  spesso  hanno  anche  altre similitudini: ad esempio  le  lingue SVO generalmente  fanno uso di preposizioni, mentre  le lingue SOV di postposizioni. 

3. Struttura del discorso e collegamento dei predicati con  i  loro argomenti,  in una  relazione esiste  un  termine  principale  e  altri  dipendenti  da  esso,  ad  esempio  nella  relazione  di specificazione  “la  casa  dell’uomo”,  “casa”  è  la  testa  , mentre  “uomo”  è  la  dipendente. alcune  lingue, dette Head‐marking, tendono a marcare una relazionesulla testa,  invece, e quelli  detti  Dependent‐marking  sul  dipendente.  Riprendiamo  la  precedente  relazione  di specificazione,  in  inglese  avremo  l’espressione  “the man‐’s  house”,  dove  il marker  della relazione, ovvero “’s” è posto su “man” che è il termine dipendente, mentre in ungherese si direbbe “az ember hàz‐a”, mentre il marker, “a” è sulla testa. Lingue di tipo verb‐framed marcano la direzione del movimento sul verbo, come in Italiano per i termini “entrare” ed “uscire”, mentre le lingue dette satellite‐framed il marker è posto su un elemento detto satellite, come con i termini in inglese “go in” e “go out”. Infine,  le  lingue  possono  variare  in  base  a  quali  elementi  del  discorso  possono  essere omessi. Molte  lingue  richiedono che si espliciti  il pronome che si  riferisce a un elemento precedentemente  indicato  nel  discorso, mentre  altre  danno  la  libertà  di  ometterli.  Tale differenza  è  illustrabile  con  il  seguente  esempio  (in  blue  nel  testo  in  inglese  sono evidenziati i pronomi omessi nel testo in italiano): 

Stamattina mia madre è venuta in cucina con un libro.  Me lo ha mostrato, dicendo di indicare il mio dolce preferito.  This morning, my mother came in the kitchen with a book.  She showed it to me, telling me to indicate my favourite cake. 

Lingue  che  possono omettere  pronomi  in  questo modo  sono  chiamate  pro‐drop.  Lingue sparse,  come  il  cinese  e  il  giapponese,  richiedono  all’ascoltatore  un maggiore  impegno inferenziale  per  recuperare  elementi  antecedenti,  e  per  questo  sono  definite  cold languages. Lingue che sono più esplicite, rendono più facile il processo di comprensione, e sono dette hot languages. 

Ogni  dimensione  tipologica  può  causare  problemi  quando  si  opera  una  traduzione  da  una  lingua  ad un’altra.  Ovviamente  la  traduzione  da  lingue  SVO,  come  l’Italiano,  a  lingue  SOV,  come  il  giapponese, richiede un grande sforzo di ordinamento della struttura sintattica della frase, vedi Figura 29. La traduzione da una lingua satellite‐framed verso una verb‐framed, o da una head‐marking vero una dependent‐marking richiede  cambiamenti  della  struttura  della  frase  e  vincoli  sulla  scelta  delle  parole.  Lingue  con  intense omissioni di pronomi causano  forti problemi di  traduzione, dal momento che  le omissioni devono essere identificare e le anafore ricostruite.  

Page 34: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 Figura 29 Task di trasferimento da una lingua ad un altra, con evidenziato il processo di conversione della struttura sintattica 

 Esistono  altre  caratteristiche  che  ostacolano  il  processo  automatico  di  traduzione  di  una  lingua 

naturale?  Gli  elementi  di  ostacolo  per  una  MT  si  possono  riassumere  come  derivanti  dalla  creatività costitutiva delle lingue naturali e dalla loro imprevedibilità. Di seguito è presente una breve lista: 

• Omografi testuali, possono essere risolti attraverso l’utilizzo di regole, in cui vi sia l’analisi sintattica della parola. Il termine “porta” in italiano corrisponde a due lessimi differenti, l’uno verbo e l’altro nome.  Il  parsing  o  un  tagging  riesce  facilmente  a  disambiguare  una  tale  situazione  di indeterminatezza.  

• Omografi assoluti, possono essere difficilmente  risolvibili da motori eslusivamente  sintattici nella maggior parte dei casi, a meno che non rientrino in una polirematica o siano determinabili in base al contesto del testo in esame. Ad esempio il termine “calcio” può sia indicare il gioco sportivo che l’elemento  chimico.  Nel  caso  il  termine  compaia  nella  polirematica  “campo  di  calcio”  è  facile ricondurre  il  segno grafico al concetto di gioco  sportivo, oppure  se  il  testo  in esame è  in ambito chimico, all’occorrenza del termine “grafico” c’è un’alta probabilità che ci si riferisca all’elemento chimico. In questi casi il ricorso a strumenti statistici può essere efficace. 

• Polirematiche e collocazioni, possono costituire un problema per tre ordini di motivi: 1. Sono più cristallizzate e spesso hanno traduzioni imprevedibili; 2. Sono in altissimo numero e spesso non censite; 3. Esistono usi “non idiomatici” delle parole che le formano. 

Un possibile metodo di approccio al problema è quello di operare un censimento di tali strutture, ricorrendo a corpora di grandi dimensioni e di varia natura, e di impiegare algoritmi statistici per il loro riconoscimento nei testi da tradurre. In primis il testo viene scandagliato alla ricerca di possibili collocazioni o polirematiche,  in caso di rilevamento, vengono  trattati a parte rispetto al resto del testo,  andando  a  determinare  la  corrispondenza  nella  lingua  di  destinazione,  e  in  caso  di identificazione  della  parola  (o  una  corrispondente  corrispondenza  o  polirematica),  si  realizza  la sostituzione. Il problema è che è possibile che non tutte le collocazioni e polirematiche siano state censite,  in  tal caso se sfuggono al modulo di detection, vengono erroneamente  trattate come gli altri  termini. Un  serio  problema  è  usare  la  stessa  combinazione  in  una  forma  non  cristallizzata, infatti in questo caso la traduzione è inapproppriata se la si considera come forma cristallizzata. Ad esempio  la polirematica “tiro a segno”,  indica generalmente un tipo di attività sportiva traducibile come shooting gallery, ma è anche possibile un uso come nella  frase “ho mandato anche questo tiro a  segno”,  in cui  la  traduzione come polirematica è  inesatta.  In questi casi una macchina che impiega  solamente delle  tecniche  formali  si  trova un ostacolo  insormontabile,  la  stessa difficoltà riscontrabile nel caso di metafore e metonimie. 

• Uso  di  pronomi  anaforici  e  cataforici,  deittici  e  anafore,  rappresentano  un  tipico  problema computazionale. Ricostruire  il  riferimento  linguistico di una  tale espressione è,  infatti, un’attività che chiama in causa fattori di tipo contestuale ed enciclopedico. Esistono, dunque, diversi sistemi, 

Page 35: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

sia  sintattici  che  probabilistici,  che  consentono  la  ricostruzione  di  riferimenti  anaforici precedentemente  presenti  nel  testo,  e  tale  settore  di  ricerca  prende  il  nome  di  Anaphora Resolution. 

Nella maggioranza dei sistemi di traduzione automatica di nuova generazione è sempre incluso un modello basato su corpora o example‐based, poiché sono  in grado di superare vari elementi di ambiguazione nel testo, migliorando così notevolmente le prestazioni.  

3. I modelli di Traduzione Automatica  

 Figura 30 Principali modelli di Traduzione Automatica 

 Diversi  sono  gli  approcci  alla  traduzione  automatica,  che  derivano  da  distinti  modelli  di 

funzionameto  della  lingua  e  dalle  possibilità  offerte  dai  mezzi  sviluppati  in  seno  al  Natural  Language Processing.  I  principali  modelli  adottati  per  programmare  sistemi  di  traduzione  automatica  sono schematizzabili nel seguente modo, vedi Figura 30: 

• Sistemi basati su regole (rule‐based MT), in cui sono identificate alcune circoscritte regole formali di descrizione e trasformazione di unità linguistiche. Tali regole possono essere organizzate in moduli diversi  che  interagiscono  tra  loro,  e  rappresentati  da  diagrammi  ad  albero  o  da  formalizzazioni equivalenti a gerarchie.  

• Traduzione  diretta  o  per  unità,  in  cui  ogni  unità  testuale  è  analizzata  e  scomposta  dal punto di vista morfologico fino a  individuare  il suo corrispondente diretto nella  lingua di arrivo. Il sistema, dotato di un modulo morfologico che analizza  le forme della parola da tradurre,  individua  le varie  informazioni fornite dalla flessione,  le scompone, e una volta ottenuta  la  forma  traducente della base,  applica un  altro  componente morfologico per produrre  la  corretta  forma  flessa  nella  lingua  di  arrivo.  Il  sistema  riduce  al minimo  le informazioni  linguistiche  da  analizzare,  prendendo  in  considerazione  solo  le caratteristiche  della  specifica  lingua  di  partenza  e  di  quella  di  arrivo,  necessarie  per  il procedimento della trasformazione. 

• Traduzione  sintattica  o  T‐sistemi  (transfer  systems),  sono  sistemi  ispirati  all’approccio generativo  fondanti  su modelli di grammatica  formale  centrati  sul  livello  sintattico. Tali sistemi  abbandonano  l’approccio  lessicale,  in  favore  della  centralità  di  operazioni  di trasformazione sintattica. Il modello è sostanzialmente composta di tre fasi: 

1. Analisi morfosintattica; 2. Trasferimento della struttura sintattica della lingua di partenza in quella di arrivo; 3. Sintesi. 

I sistemi sintattici si servono di strumenti propri del Natural Language Processing, come il parsing  sintattico per  la prima  fase, e  il Natural Language Generation per  la  terza. Tra  i sistemi basati sulle regole, quelli sintattici sono i maggiormente usati e i migliori in termini di performance. 

• Traduzione  a  interlingua,  in  cui  il  passaggio  da  una  lingua  ad  un’altra  è  filtrato  dalla presenza di una  rappresentazione  intermedia,  l’interlingua. L’interlingua,  in genere, non consiste in una vera e propria lingua, ma in una serie di livelli astratti di rappresentazione morfologica,  sintattica  e  semantica,  che  si  vuole  considerare  di  base.  L’inserimento 

Page 36: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

dell’interlingua  permette  di  costruire  modelli  plurilingui  in  cui  il  trasferimento  delle strutture sintattiche ha sempre come elemento della coppia di lingue, l’interlingua stessa, riducendo  così  notevolmene  l’elaborazione  della  fase  cenrale  della  trasformazione sintattica. 

• Sistemi probabilistici o Statistical Machine Translation (SMT), si tratta di un approccio solitamente definito  “empirico”, dal momento  che  si basa  su dati disponibili  sotto  forma di  corpora.  Esso  si fonda  sull’accesso  a  corpora  paralleli  (ovvero  costituiti  da  testi  orginali  in  una  lingua  e  da  loro traduzioni  in  una  o  più  lingue)  cui  attingere  per  rilevare,  sulla  base  delle  porzioni  da  tradurre, strutture  già  tradotte  utilizzabili  per  fare  una  sorta  di  “calchi”  sugli  esempi  presenti  nel  corpus (example‐based MT). I sistemi SMT fanno ricorso a parametri statistici per l’attribuzione dell’ordine delle parole e del migliore candidato per la traduzione. Questi sistemi sono spesso stati definiti non linguistici o “anti‐linguistici”, dal momento che fanno solo uso delle probabilità di co‐occorrenza e delle frequenze delle parole, piuttosto delle regole di tipo grammaticale o linguistico. Le probabilità di co‐occorenza sono basate principalmente su due  tipi di dati:  la presenza di candidati simili nei corpora  paralleli  usati  come  riferimento,  e  la  posizione  delle  parole  all’interno  della  frase confrontata  con  l’ordine  delle  parole  all’interno  del  corpus.  I  risultati  dei  sistemi  di  impronta statistica si sono rilevati migliori rispetto a quelli che fanno ricorso a regole. 

Una maniera  comoda  per  rappresentare  i  tre  approcci  dei  sistemi  basati  sulle  regole  è  di  utilizzare  il triangolo di Vauquois, illustrati in Figura 31. Il triangolo mostra come la profondità di analisi richiesta cresce se  si parte dagli  approcci diretti, e  si  arriva  a quelli  interlingua, passando per quelli di  trasferimento.  In aggiunta, illustra come la quantità di conoscenza richiesta decresca salendo verso il vertice del triangolo.  

 Figura 31 Trangolo di Vauquois 

 I sistemi attuali di traduzione automatica sono spesso ibridi, e tentano di arricchire le metodologie 

basate  su  regole  con  quelle  adoperanti  i  corpora,  introducento  moduli  che  si  integrano  in  forma componenziale e che permettono  lo sviluppo di diverse strategie di  risoluzione a seconda dello specifico problema  traduttivo da affrontare.  La  flessibilità dei modelli  ibridi è anch’essa un  indicatore  teorico non marginale  che  suggerisce  una  rappresentazione  della  produzione  linguistica  come  insieme  di  strategie adoperabile in relazione a specifiche consizioni linguistiche ed extralinguistiche dell’utente.  

4. Applicazioni commerciali di traduzione automatica  

Oggi il mercato offre una gran quantità di software per la traduzione automatica. Tra le applicazioni per personal computer  i sistemi più noti e diffusi sono quelli prodotti da Globalink, Systran,  Intergraph e Logos. Systran, in particolare, è un approccio multisorgente (sono presenti due sorgenti di conoscenza: dei 

Page 37: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

dizionari elettronici e delle regole linguistiche), multitarget (a partire da una sola unità di analisi è possibile generate testi in varie lingue differenti) e con un modello operazionale che si compone di tre fasi: 

1. Analisi delle parole: analisi morfologica e lookup nei dizionari; 2. Analisi delle frasi: le frasi che compongono il testo in esame viene analizzato attraverso tecniche di 

parsing; 3. Sintesi: si compone del trasferimento dei singoli termini nella lingua di destinazione e sistemazione 

delle frasi ottenute. La  Commissione  Europea  traduce  molti  dei  propri  documenti  con  l’ausilio  di  versioni  perfezionate  di Systran, mentre  diverse multinazionali  (vedi  la  parte  di  supporto  del  sito  della Microsoft,  in  Figura  32) hanno iniziato a tradurre manuali d’uso e documentazione interna con altri prodotti commerciali simili.  

 Figura 32 Esempio di supporto della MIcrosoft in italiano disponibile per traduzione completamente automatica 

 I  sistemi  di  traduzione  on‐line,  spesso  gratuiti,  hanno  registrato  un  certo  successo  negli  ultimi  anni.  Il traduttore Babelfish del motore di ricerca Altavista o quello di Google è basato sulla tecnologia Systran. Con tali sistemi l’utente può ottenere una traduzione in tempo reale di un testo o di una qualunque pagina Web in una qualunque lingua, in una delle numerose lingue supportate con un semplice click. Il risultato, però, è il più delle volte una traduzione grezza più o meno  imprecisa, a seconda delle caratteristiche del testo di partenza.  

 Figura 33 Il servizio di traduzione automatica di Google 

 Se  i  sistemi  di  largo  consumo  sono  indicati  per  i  non  esperti,  che  hanno  bisogno  di  traduzioni 

immediate,  anche  se  di  bassa  qualità,  i  workbenches  sono  pensati  per  traduttori  professionisti.  Le workbenches sono pacchetti integrati per la gestione flessibile delle traduzioni, e contengono: 

• Word processors multilingue, • Controllori grammaticali e ortografici, • Dizionari e banche dati terminologiche (termbancks), • Corpora paralleli e programmi di allineamento dei testi, 

Page 38: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

• Programmi di accesso e condivisione di traduzioni. Tra  le  funzionalità più efficaci vi sono  le translation memories, che  lavorano confrontando  il materiale da tradurre con quello già  tradotto, e mediante appositi algoritmi suggeriscono  la  traduzione più probabile, permettendo all’utente di confermare o rifiutare il suggerimento. Tali sistemi lasciano al traduttore la piena gestione del lavoro in completa autonomia, aumentandone la produttività e la velocità nel trattamento dei testi e permettendo a ciascuno di seguire  la propria strategia di  lavoro.  I sistemi  integrati più diffusi sono tutti di produzione europea, e tra questi il più diffuso è Trados Translation Workbench.  

 Figura 34 Translation Work Flow nella suite Trados 

    

Page 39: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Tecnologie della lingua parlata  

1. Introduzione  

L’elaborazione  della  lingua  parlata,  o  spoken  language  processing,  si  riferisce  all’insieme  delle tecnologie  relative  al  riconoscimento,  generazione  a partire da un  testo elettronico e  comprensione del parlato. Un sistema per la lingua parlata ha almeno i seguenti tre sottosistemi:  

• speech recognition subsystem, che converte un discorso parlato in grafemi,  • text‐to‐speech subsystem, che genera fonemi a partire da un testo in formato elettronico • spoken  language  understanding  subsystem,  che mappa  le  parole  in  azioni  e  pianifica  le  azioni 

intraprese dal sistema. Esiste una  considerevole  sovrapposizione nelle  tecnologie  che  stanno  alla base di questi  tre  sistemi. Un insieme di regole vengono definite dai  linguisti per  i sistemi della  lingua parlata, con un  limitato successo. Negli ultimi anni, però, degli approcci statistici data‐driven hanno ottenuto dei risultati incoraggianti. Questi sono basati sulla modellazione dei segnali del parlato, usando dei ben definiti algoritmi statistici, che sono in grado di estrarre automaticamente un carico informativo dai dati.  

Ogni  produzione  linguistica  individuale  è  a  suo  modo  unica  e  irripetibile.  Superare  questa irriducibilità attraverso una macchina significa incontrare necessariamente una serie di difficoltà. Una delle caratteristiche che pongono delicate questioni teoriche ed applicative è la mancanza di invarianza dei suoni linguistici, soprattutto dal punto di vista acustico. Tale mancanza significa che quello che noi riconosciamo abitualmente come lo stesso suono (per esempio la [t] in “strada” e la [t] in “terra”), se osservato dal punto di vista acustico, ci appare nella maggioranza delle sue occorrenze tutt’altro che identico, tanto da essere in molti  casi  simile  piuttosto  ad  altri  suoni,  oppure  essere  del  tutto  assente  nella  catena  sonora.  Tale variabilità è anche dipendente dall’interlocutore, che può non avere una corretta pronuncia a causa della sua età, di problemi all’apparato fonico, di ignoranza o di inflessioni dialettali. 

 Figura 35 Diagramma della variabilità di pronuncia di alcune parole inglesi 

 

Page 40: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

2. Caratteristiche del parlato  

Per realizzare un sistema di elaborazione del parlato, bisogna comprendere le caratteristiche della lingua  parlata. Allo  scopo,  è  utile  considerare  le  differenze  che  sussistono  tra  la  lingua  parlata  e  quella scritta. Molti  attributi  grammaticali  e  stilistici  sono  stati  individuati  per  distinguere  una  comunicazione scritta  da  una  orale.  Da  un’analisi  dello  studioso  Biber,  emerge  che  alcune  tipiche  caratteristiche  di distinzione  includono  il  numero  di  passivi  e  di  pronomi  impiegati,  l’uso  di  contrazioni  e  di  forme normalizzate  (tecnica  stilistica  in  cui  il  verbo  principale  è  convertito  in  un  nome:  “Il  giudice  respinse l’ordinanza inaspettatamente” ‐> “Il rigetto dell’ordinanza da parte del giudice fu inaspettata”). Un esempio di tale distinzione è in Figura 36. 

 Figura 36 Dimensioni delle differenze tra comunicazione scritta e orale 

 Fortunatamente,  la maggior  parte  di  tali  distinzioni  nello  stile  grammaticale  e  nella  scelta  lessicale  può essere gestita attraverso un addestramento, specifico per contesto applicativo e modalità, dei modelli nei sistemi di elaborazione del parlato. 

Un  altro  problema  per  l’elaborazione  del  parlato  è  la  mancanza  di  fluidità.  I  dialoghi  parlati mostrano  un  gran  numero  di  problematiche,  come  interruzioni,  correzioni,  pause,  frasi  sgrammaticate, ellissi (omissione del soggetto ed altri elementi non indispensabili) e frasi sconnesse. Tali sfide sono proprie di input orali spontanei e rappresentano un ulteriore fattore di degradazione delle prestazioni di un sistema di elaborazione del parlato. Il motivo alla base di tale degradazione è che i modelli acustici costituenti alcuni sistemi  sono allenati  con  la  lettura di documenti  scritti, mentre quelli  linguistici  con dei  corpora di  testi scritti. Anche in questo caso degli approcci statistici, ma soprattutto un addestramento mirato dei modelli, consente di ottenere migliori prestazioni. 

Spesso nelle conversazioni orali, molto del carico  informativo non è presente propriamente nella parole, ma  nelle  caratteristiche  prosodiche  con  cui  si  pronuncia  la  sequenza  di  parole.  Consideriamo  il semplice “Ok”, in base all’intonazione di pronuncia può assumere un insieme di significati che spazia da un’ affermazione di noia  fino a un accordo di entusiasmo.  L’interpretazione del parlato, quindi, non  si deve limitare  al  solo  significato  semantico  delle  parole  o  dal  contesto  della  conversazione, ma  anche  dalla prosodia.  Questa  proprietà  del  parlato  è  ancora  un  open  issue  della  ricerca  sulla  spoken  language processing.  

3. Sistemi Text‐to‐Speech  

Una delle principali aree della  ricerca  sul parlato prende  il nome di sintesi del parlato, o Text‐to‐Speech  (TTS).  La  tecnologia TTS  si occupa della  costruzione di programmi  in grado di produrre  frasi allo 

Page 41: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

scopo  di  far  interagire  linguisticamente  in  modo  naturale  la  macchina  con  l’uomo.  L’operazione  di conversione di un testo elettronico in una sequenza acustica paragonabile alla voce umana, non è tuttavia particolarmente agevole. La pronuncia di una parola non consiste nella pronuncia separata di foni presi da un  inventario.  Si  tratta  di  un’attività  ben  più  complessa,  che  richiede  la  capacità  di  programmare  la sequenza  fonica dotata di un adeguato profilo prosodico,  in relazione a condizioni esterne e  individuabili nel momento  in  cui  l’atto  viene  in essere. Una macchina presenta una  serie di  limitazioni  fisiche,  come l’assenza  di  un  adeguato  apparato  fono‐articolatorio,  che  impediscono  la  necessaria  resa  spontanea  e continua del parlato con voce naturale. Se anche si ipotizzasse di superare l’ostacolo dell’articolazione vera e  propria  con  sequenze  registrate,  rimarrebbe  la  questione  difficilmente  gestibile  di  memorizzare  la pronuncia  di  tutte  le parole del  vocabolario  in  tutte  le  sue  forme  flesse,  e  soprattutto  l’impossibilità  di gestire  la  dimensione  intonativa,  con  il  risultato  che  la  lettura  di  una  frase  sarebbe  penosamente innaturale. Si rende dunque necessario disporre di un modello formale e integrato a più livelli con una serie di parametri acustici che superino tali difficoltà. 

Diversi sono i modelli di produzione del parlato assunti nel corso degli ultimi anni: 1. Modello articolatorio, secondo cui si procede ad una simulazione dell’apparato  fono‐articolatorio 

umano; 2. Modello acustico,  secondo  cui  si  cerca di produrre un  segnale  che  riproduca  alcuni degli  aspetti 

dell’onda sonora; 3. Modello  concatenativo,  secondo  cui  si  tenta  combinare  porzioni  di  segnale  di  parlato  umano  in 

maniera da produrre un effetto quanto più naturale. I primi modelli TTS sono detti phoneme‐based, ossia basati sull’inventario fonologico di ciascuna lingua: con un ridotto inventario di unità si generava un segnale parlato che tuttavia non teneva conto dei fenomeni di coarticolazione,  della  transizione  tra  foni  e  della  prosodia,  e  risultava  del  tutto  innaturale,  e  a  volte difficilmente comprensibile. Oggi le unità di analisi su cui si basano i sistemi TTS sono più ampie e possono essere  costituite  da  coppie  di  foni  e/o  sillabe,  in modo  da  garantire  una  resa migliore  dei  fenomeni  di transizione. 

Schematicamente  il TTS è un’applicazione che  riceve  in  ingresso un  testo  in  forma elettronica,  lo elabora  e  in  output  produce  un’onda  sonora  parlata  corrispondente  al  testo  inserito.  Le  odierne applicazioni TTS presentano solitamente un modello seriale, in cui vi sono una serie di livelli di trattamento dell’informazione linguistica che sono successivamente sottoposti a diverse fasi di lavorazione. Uno schema indicativo è quello presente in Figura 37. 

 Figura 37 Schema di modello seriale TTS 

Page 42: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 Il  processo  di  generazione  di  un  parlato  sintetizzato  può  essere  ridotto  schematicamente  a  cinque  fasi principali: 

• Pre‐trattamento, questa fase serve a trasformare il testo in una forma utilizzabile dal calcolatore. La normalizzazione  del  testo  converte  in  forma  standard  “leggibile”  le  diverse  parti  del  testo  da sintetizzare,  come  numeri,  sigle,  acronimi,  date  e  simboli  (ad  esempio  trasformabile  “29”  in “ventinove”  ed  “€”  in  “euro”). A  questa  fase  appartiene  anche  l’analisi  della  punteggiatura  e  la valutazione  delle  possibili  ambiguità  che  influenzeranno  il  trattamento  del  testo,  in  particolare l’individuazione  dei  confini  di  una  frase.  Alla  fine  della  fase  sarà  presente  un  testo  trascritto ortograficamente in una forma omogenea utilizzabile nel prossimo step. 

• Analisi morfo‐sintattica, è un modulo di parsing che provvede alla segmentazione del testo in unità morfografiche e/o sintattiche. Questa tappa serve per individuare la categoria grammaticale di ogni unità lessicale e a individuare la struttura e le relazioni tra i sintagmi presenti nelle frasi del testo. Si tratta di una fase  importante per trattare alcuni tipi di omografie, ma anche per fornire una base per le successive fasi di attribuzione della struttura prosodica. 

• Fonetizzazione,  ha  il  compito  di  passare  dalla  rappresentazione  fonologica  ad  una  fonetica,  che tenga  presente  gli  allofoni  e  le  tendenze  alla  coarticolazione  della  lingua. Dato  che  ogni  lingua manifesta notevoli differenze nel  rapporto  tra grafia e concrete  fonie, esistono diversi  sistemi di fonetizzazione, categorizzabili in due raggruppamenti principali: 

1. Rule‐based, operano su lingue in cui esiste un rapporto relativamente regolare tra fonemi e grafemi 

2. Corpora‐based,  operano  su  lingue  in  cui  la  pronuncia  di  una  parola  è  maggiormente imprevedibile dalla sua trascrizione grafica. 

Per  lingue come  l’italiano, gran parte del  lavoro per  la  fonetizzazione è  realizzabile attraverso un convertitore  grafema‐fonema,  che  applica  un  numero  finito  di  regole  definite  per  trasformare  i caratteri  scritti  in  sequenze  fonetiche.  Le  parole  che  non  rispettano  tali  regole,  come  quelle  di origine  straniera,  sono  trattate  in  maniera  separata  e  inserite  in  un  dizionario  fonetico  delle eccezioni,  che  contiene  direttamente  le  pronunce  delle  parole  che  ne  fanno  parte.  L’approccio, quindi, è  ibrido, con un uso di un sistema rule‐based per trattare  la maggior parte delle parole, e corpora‐based,  invece, per  le cose parole di eccezione alle regole di pronuncia. Nel caso di  lingue molto  irregolari,  come  l’inglese,  la  conversione  basata  su  regole  gioca  un  ruolo  marginale.  Si preferisce,  invece, un  fonetizzatore basato  su un dizionario di  riferimento, più o meno  esteso  a seconda del modello, che contiene le diverse forme delle parole (parole testuali) in una trascrizione fonetica  standard,  simile  dunque  ai  dizionari  delle  eccezioni.  Per  le  lingue  con  una morfologia flessionale molto  ricca  a  volte  la  rappresentazione  è  fatta  in modo  da  separare  inizialmente  la radice  dalla  desinenza  flessiva  in modo  da  velocizzare  l’accesso  al  dizionario,  per  ricomporle  in seguito alla sequenza fonetica. 

• Generazione prosodica, ha lo scopo di modulare l’intonazione del testo appena fonetizzato in modo che appaia naturale ed adeguata al tipo di enunciato da produrre. Si tratta di una fase complessa e delicata:  si  pensi  a  quante  variazioni  intonative  aggiungano  significato  nella  distinzione  di  frasi interrogative  e  affermative  in  italiano,  o  in modo  ancora  più  sottile,  nelle  variazioni  del  focus dell’enunciato ossia delle porzioni che si desiderano mettere in rilievo. 

• Sintesi del segnale, consiste nella vera e propria generazione del segnale acustico, effettiva sintesi dell’onda sonora corrispondente al  testo dato  in  input. Spesso per questa  fase si usa uno speech database,  ovvero  una  raccolta  di  segmenti  di  parlato  registrato,  che  sono  successivamente concatenati in modo da produrre una sequenza parlata continua.  

Page 43: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

 Figura 38 La testa parlante di Lucia 

 Il parlato umano è caratterizzato da elementi fondamentali che non passano unicamente attraverso 

il sistema fonico‐acustico‐uditivo, e quindi non fruibili attraverso il solo segnale acustico. Il parlato è sempre accompagnato  da  differenti  espressioni  del  viso.  Da  questa  osservazione,  nasce  l’idea  di  realizzare macchine  che possano  simulare un parlato multimodale, ossia un parlato  che non  si  avvalga  solamente della modalità fonico‐acustica.  In questa direzione si muove  la nascita della sinesi audio‐visiva, ed esempi elettronici  delle  cosiddette  teste  paranti,  di  teste  appunto  che  producono  discorsi  accompagnati dall’animazione del viso che simula i movimenti delle labbra, della mascella e della lingua durante il parlato. Le teste parlanti sono realizzate con animazioni  in tre dimensioni che possono produrre movimenti fluidi, grazie ad una programmazione parametrizzata, in alcuni casi ulteriormente controllata con il confronto con dati reali registrati e indicizzati in modo ottico.  

4. Sistemi di comprensione della lingua parlata  

Il  riconoscimento del parlato, altrimenti detto Automatic Speech Recognition ASR,  racchiude una serie di applicazioni  in grado di  identificare  le sequenze  linguistiche del parlato spontaneo, convertirle  in formato  elettronico,  e  permettere  l’interazione  con  programmi  e  servizi  usando  la  voce.  Si  tratta dell’operazione logicamente inversa a quella dei sistemi TTS, tanto da essere anche definita speech‐to‐text. I  sistemi  ASR  servono  per  diversi  scopi:  dettare  testi  al  computer,  trascrivere  relazioni  e  discorsi automaticamente, interagire linguisticamente con una macchina in sistemi di dialogo telefonici ed altro. 

 

 Figura 39 Un modello sorgente‐canale per un sistema di speech recognition 

 Come mostrato in Figura 39, una sorgente stabilisce una sequenza di parole, detta W, che intende 

comunicare per via orale. La sequenza viene trasmessa attraverso un canale di comunicazione disturbato verso il componente di elaborazione del segnale acustico del riconoscitore. Infine, un decodificatore opera una  conversione  del  segnale  acustico  X,  in  una  sequenza  di  parole Ŵ,  che  è  visibilmente  prossimo  alla sequenza originale W. Un tipico riconoscitore del parlato consiste dei seguenti componenti: 

Page 44: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

• Adaptation,  si  tratta  del  modulo  su  cui  le  applicazioni,  che  intendono  usare  i  risultati  del riconoscitore, possono agire per calibrare i parametri del sistema in base alle proprie esigenze; 

• Acustic  model,  include  la  rappresentazione  della  conoscenza  circa  l’acustica,  la  fonetica,  la variabilità  dello  strumento  di  acquisizione  del  segnale  sonoro  e  del  canale  di  comunicazione,  le possibili  differenze  dei  vari  possibili  interlocutori. Questa  fase  è  quella  che  caratterizza  i  diversi sistemi, poiché per  il riconoscimento si possono usare parametri estratti dall’analisi spettrografica delle singole unità fonetiche o di interi blocchi, oppure si possono usare sistemi generici di pattern matching, ossia di comparazione di schemi o modelli (templates). 

• Language model, si  riferisce alla conoscenza  linguistica del sistema come  il concetto di parola,  la possibile  co‐occorrenza delle parole e  il  relativo  cotesto.  Le  semantiche e  le  funzioni  relative ad un’operazione che un utente potrebbe richiedere, possono anche essere necessarie per un modello linguistico.  In  genere,  durante  la  fase  di  riconoscimento,  vengono  suggeriti  diversi  candidati possibili che presentano caratteristiche tali da essere compatibili con l’input vocale per la presenza di omofonie o quasi fonie più o meno estese, per risegmentazione, per ipoaticolazione. Si pensi ad un input in inglese che sia, per esempio, compatibili con diverse sequenze (come “ani ce cream”, “a nice cream” o “a nice scream”).  

• Signal  processing,  è  il  componente  che  recepisce  il  segnale  acustico  e  ne  estrae  i  vettori  delle caratteristiche salienti, per poi passarli al decoder; 

• Decoder, è  il cuore del sistema, deputato alla restituzione della sequenza di parole contenuta del segnale acustico. 

I  due  modelli  presenti  nel  sistema  possono  essere  caratterizzati  da  regole,  ma  molti  sistemi  ASR preferiscono  far  uso  di  corpora  di  parlato,  sotto  forma  di  training  corpus,  in  modo  da  garantire  un soddisfacente  trattamento di diversi  input  linguistici.  In  tal  caso  si parla di un processo di  corpus‐based speech recognition.  

 Figura 40 Schema a blocchi di un sistema di riconoscimento del parlato 

  

Page 45: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

I problemi di maggiore complessità nel riconoscimento del parato sono simili a quelli individuati per TTS: 

1. L’estrema  variabilità  individuale  delle  caratteristiche  vocali  (legate  al  genere,  alle  caratteristiche dell’apparato  fono‐articolatorio, ma anche e  soprattutto alle peculiarità di pronuncia del  singolo parlante; 

2. I fattori di ipoarticolazione tipici del parlato spontaneo 3. La gestione di diverse tipologie testuali. 

Tali  problemi  possono  essere  in  parte  aggirati mediante  la  fase  di  addestramento, ma  ciò  rende  poco flessibile  il  sistema,  perché  ogni  nuovo  utente  dovrebbe  svolgere  una  nuova  sessione  di  training  per  la propria voce. Uno degli obiettivi principali dei sistemi di  riconoscimento vocale è proprio  la possibilità di essere indipendenti dal parlante.  

5. Comprensione del linguaggio parlato (Acero)  

Un  sistema  di  comprensione  del  parlato  è  fondamentale  per  interpretare  gli  enunciati  degli interlocutori e  intraprendere  le azioni più appropriate. Una conoscenza  lessicale, sintattica e semantica è necessaria  per  lo  svolgimento  di  tale  scopo.  In  è  schematizzato  un  tipico  sistema  di  comprensione  del parlato: 

• Riconoscitore e sintetizzatore del parlato per effettuare operazioni di input output; • Sentence  interpretation,  si  tratta  di  un  componente  per  operare  il  parsing  dei  risultati  di  un 

riconoscimento del parlato in forme semantiche; • Response generation, è un modulo per formulare la più adatta risposta ad un input; • Dialog Manager, rappresenta il componente centrale del sistema, che comunica con le applicazioni 

e i moduli di comprensione del parlato. • Discourse Analysis, ha il compito di analizzare il discorso e risolvere ambiguità; • Dialog Strategy, memorizza lo stato corrente della conversazione e le possibili azioni future. 

 

 Figura 41 Componenti di un sistema di comprensione del parlato 

  

Page 46: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

6. Applicazioni e interfacce utente (migliorare trovare applicazioni interessanti)  Numerosi sono i settori in cui la sintesi del parlato è già una realtà operativa. Gli usi della sintesi del parlato sono  principalmente  rivolti  allo  sviluppo  di  sistemi  di  dialogo  uomo‐macchina.  In  secondo  luogo,  tali tecnologie si indirizzano a utenti disabili che possono produrre parlato per mezzo di una tastiera o mouse, o ottenere versioni parlate di testi scritti nel caso di utenti non vedenti. Un terzo settore di applicazione del TTS è  costituito dall’educazione  linguistica per  la predisposizione di  strumenti per  l’apprendimento delle lingue e altre applicazioni sono già presenti in videogiochi e nell’elaborazione di audio‐libri.     

Page 47: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

Appendice  Elenco di alcuni concetti presenti nella dispensa con la relativa spiegazione: 

1. Fonetica è quella branca della linguistica o glottologia che si rivolge allo studio dei suoni linguistici nei loro aspetti concreti, secondo svariati punti di vista. I suoi principali temi di studio riguardano la produzione  e  la  percezione  dei  suoni  linguistici  da  parte  dell’uomo,  e  le  loro  caratteristiche acustiche, viste sia dal lato dell’emittente, il parlante, che da quello del ricevente, l’ascoltatore. 

2. Fonologia, detta anche  fonematica o  fonemica, è  il ramo della  linguistica che studia come  i suoni linguistici  funzionino all'interno d'una certa  lingua, ovvero come si organizzino  le unità distinte di suono,  i  fonemi. Essa  fa parte della grammatica d'una qualsiasi  lingua, a differenza della  fonetica che è lo studio generale dei suoni linguistici (o, meglio, dei foni). 

3. Morfologia  è  la  parte  della  grammatica  o  della  linguistica  che  ha  per  oggetto  lo  studio  della struttura  grammaticale  delle  parole,  e  che  ne  stabilisce  la  classificazione  e  l'appartenenza  a determinate  categorie  come  il nome,  il pronome,  il  verbo,  l'aggettivo e  le  forme della  flessione, come  la coniugazione per  i verbi e  la declinazione per  i nomi distinguendosi dalla fonologia, dalla sintassi  e dal  lessico.  Inoltre  indaga  i meccanismi  secondo  i quali  le unità portatrici di  significati semplici si organizzano in significati più complessi: le parole. 

4. Sintassi è  la branca della  linguistica che studia  le regole, o  le relazioni modulari che stabiliscono  il posto che le parole occupano in una frase, come i sintagmi si compongano in frasi e come le frasi si dispongano a formare un periodo. 

5. Semantica è quella parte della linguistica che studia il significato delle parole (semantica lessicale), degli insiemi delle parole, delle frasi (semantica frasale) e dei testi. 

6. Pragmatica è una disciplina della linguistica che si occupa dell´uso della lingua come azione. Non si occupa della lingua intesa come sistema di segni, ma osserva come e per quali scopi la lingua viene utilizzata. Più  in specifico si occupa di come  il contesto  influisca sull´interpretazione dei significati. In questo caso il termine contesto è sinonimo della parola situazione in quanto potrebbe riferirsi a qualsiasi fattore extralinguistico, tra cui sociale, ambientale e psicologico. 

7. Discorso ha come elementi fondamentali le frasi, e ne studia le correlazioni. 8. Morfema  è  la minima  unità  grammaticale  isolabile  di  significato  proprio.  Esempio:  nella  parola 

"vanga",  costituita  dai morfemi  vang  +  a,  il morfema  "a"  indica  che  si  tratta  di  un  sostantivo femminile singolare. Se "a" lo si sostituisce con "are" si avrà "vangare" e in questo caso il morfema mi indica che si tratta di un verbo. Per formare il plurale invece userò il morfema "e" (vang(h) + e): in questo caso dunque il nuovo morfema non cambia la parte del discorso ma il numero. 

9. Fono è una classe di suoni simili per modalità di articolazione e acusticamente, una serie di suoni che condividono un'onda sonora ben definita. Un fono considerato come membro di un fonema si chiama allofono. I foni sono distinti  in due macroclassi: quella dei vocoidi (vocali), che comprende tutti quei  foni acusticamente definibili come suoni, quindi quei  foni nella cui  fonazione  l’aria non incontra  alcun  ostacolo;  e  quella  dei  contoidi  (consonanti),  che  ospita  tutti  quei  foni  che  sono acusticamente dei  rumori, perché prodotti quando  il  flusso d’aria  s'imbatte  in uno o più ostacoli dopo la laringe. 

10. Fonema è un'unità differenziante, indivisibile e astratta di un sistema linguistico 11. Lessema  è  una  unità  di  analisi  linguistica  che  appartiene  a  una  determinata  categoria  sintattica 

(nome,  verbo,  aggettivo...),  ha  un  particolare  significato  o  funzione  grammaticale,  e  modifica sistematicamente  la  sua  forma  secondo  il  contesto  sintattico  in  cui  è  inserita.  Ad  esempio,  il lessema CANTARE appartiene alla categoria Verbo, ha un significato particolare, e prende diverse forme (canto, canti, canterò...). 

Page 48: per il trattamento automatico e la comprensione automatica ... MSTD-Mazzeo/Dispensa TACALN.pdf · I linguaggi formali, per definizione, sono sempre dotati di una chiara grammatica,

12. Lemma costituisce la forma canonica di una parola, la forma che si trova nel dizionario. 13. Sintagma è l'unità minima di questa catena sintattica e costituisce una stringa di suoni dotati della 

stessa  funzione  logica  all'interno  dell'enunciato.  Per  esempio,  nelle  frasi  Pierino  ha mangiato  la mela e L'ha mangiata Pierino, la e mela hanno la stessa funzione logica di complemento oggetto. 

14. Forme  flesse  indica  l'insieme  delle  possibili  variazioni  di  una  delle  parti  del  discorso  per evidenziarne le diverse funzioni logiche nel contesto sintattico. Un esempio è la flessione nominale (riguardante sostantivi, aggettivi, pronomi) e verbale. 

15. Sinonimia in semantica indica la relazione che c'è tra due lessemi che hanno lo stesso significato. 16. Omonimia  in  semantica  indica  un  fenomeno  per  cui  una  stessa  forma  ortografica  e  fonologica 

esprime più significati. Ad esempio, in italiano le parole vite (plurale di vita) e vite (pianta) sono sia omofone  (si pronunciano  allo  stesso modo) e omografe  (si  scrivono  allo  stesso modo), quindi  si dicono omonime. 

17. Polirematica è un'espressione composta da più parole, ma che viene usata come un  tutto unico, come a ufo, capro espiatorio. Quando in esse compare un verbo, può apparire in forma inflessibile, in quanto  cristallizzata nella  frase,  ad  esempio  "va  e  vieni"; oppure per  le  polirematiche  a base verbale,  simili  alle  espressioni  idiomatiche  inglesi,  il  significato  del  verbo  è  alterato  dalle  altre parole, e si coniuga normalmente: ad esempio "andare allo sbando" o "andare allo sbaraglio", in cui il significato del verbo andare è completamente trasformato. 

18. Collocazione  si  intende una combinazione di parole  relativamente più  libera di una polirematica, ma accomunate da una particolare frequenza d’uso. Esempi in italiano sono compilare un modulo, obliterare il biglietto o delitto efferato. 

19. Omografia indica una relazione di significato tra due parole che si presentano con la stessa grafia. 20. Omofonia è la relazione che c'è tra due parole che hanno lo stesso suono e diversi significati. 21. Cotesto è l’insieme delle parole che precede e segue una data parola. 22. Anafora  è  una  figura  retorica  che  consiste  nella  ripetizione  di  una  parola  o  di  gruppi  di  parole 

all'inizio di frasi o di versi successivi, per sottolineare un'immagine o un concetto. 23. Catafora  è  una  figura  retorica  che  consiste  nella  collocazione  a  fine  frase  di  una  parola  che 

normalmente sarebbe posta all'inizio perché soggetto. 24. Deittico è un elemento linguistico che lega l’enunciato al contesto in cui avviene l’enunciazione, per 

es. i pronomi personali, gli aggettivi dimostrativi, alcuni avverbi. 25. Coarticolazione è il fenomeno per cui ogni suono e’ modificato dal suono che precede e segue. 26. Ellisse è  l’omissione di parti di una  frase  che non  sono  fondamentali, e dalla presena  facilmente 

desumibile.