INVESTIRE SUL LINGUAGGIO: COME E PERCHE' LEONARDO LESMO Dipartimento di informatica Università di Torino [email protected] 1. Utilità applicativa Maggiore è la quantità di informazioni disponibile su supporti informatici, maggiore è la necessità di accedere a tali informazioni in modo semplice ed efficiente. Ottenere rapidamente informazioni utili è essenziale per la qualità dei servizi (finanziari, turistici, amministrativi, commerciali ) e per la competitività delle aziende. Vi sono due motivi per cui la ricerca sul linguaggio naturale (nel nostro caso, l'italiano) assume una rilevanza fondamentale in questo contesto. Il primo è che il modo più rapido e naturale con cui gli esseri umani interagiscono è il linguaggio: per richiedere un servizio ci si rivolge, in italiano, a chi può offrire il servizio (un consulente finanziario, un addetto ad uno sportello di informazioni turistiche, un impiegato dell'anagrafe, un commesso di un negozio). Il secondo motivo è che gran parte delle informazioni utili è memorizzata in forma linguistica (siti web, enciclopedie elettroniche, descrizioni di prodotti e attività di un'azienda, leggi, verbali, articoli di giornali e riviste). Se quindi vogliamo creare dei servizi automatici realmente cooperativi, dobbiamo fare in modo che essi si comportino come i loro corrispondenti umani (consulenti, impiegati, commessi), interagendo con l'utenza in italiano, e che essi siano in grado di comprendere le informazioni linguistiche disponibili in rete che possono risolvere i problemi dell'utente. Quanto sopra nell'ottica di una vera 239 "Società dell'Informazione", in cui l'informazione che costituisce lo strumento per una buona organizzazione possa davvero giocare il ruolo che le compete, non solo per l'utenza specializzata, ma anche per tutti gli altri membri della Società. Vi è poi un ulteriore elemento che spinge a sollecitare interventi sull'area del linguaggio: la salvaguardia della lingua italiana. L'italiano ha creato e diffuso cultura per secoli. Esso costituisce un patrimonio dell'intera umanità. Ma oggi una lingua può essere difesa solo se a questo peso culturale si affianca una dimostrazione della sua diffusione e della sua usabilità, una diffusione che va anche valutata in termini di documenti esistenti in rete ed un'usabilità che dipende fortemente dall'esistenza di strumenti informatici in grado di trattare tale lingua in modo automatico. Se quindi si desidera evitare una prematura scomparsa della lingua italiana non si può prescindere da una serie di significativi investimenti sul tema del trattamento automatico della lingua italiana. 2. Fattibilità Ma è possibile che un calcolatore comprenda il linguaggio umano? La risposta è: certamente sì! E si tratta di un obiettivo a breve, medio, o lungo termine? Dipende dalle applicazioni! In realtà, il linguaggio può essere 'compreso' a diversi livelli di profondità. In altre parole, è possibile graduare la comprensione. Questo è un fattore di enorme rilevan- za: infatti, è possibile sviluppare applicazioni anche con gradi di comprensione limitati, come di fatto avviene già oggi. Al livello più basso, possiamo trovare sistemi come Google. Non si ha una reale elaborazione linguistica, ma sono comunque usati indici sui termini rilevanti per le ricerche (parole del linguaggio). Al livello più avanzato oggi disponibile vi sono sistemi in grado di comprendere il linguaggio parlato, ma con forti limiti sul dominio applicativo (ad es. FSInforma, che fornisce informazioni sugli orari ferroviari per telefono). Ma l'importanza dei diversi gradi di comprensione sta anche nel fatto che è possibile sviluppare sistemi innovativi, superiori a quelli attualmente esistenti, senza bisogno di risolvere definitivamente il problema. Perché, e questo deve essere chiaro, una comprensione 'vera' del linguaggio, al livello, se non alla pari, di un essere umano, non sarà realizzabile che tra alcuni anni (diciamo tra quindici e venti). Ma domani, o fra sei mesi, potranno essere immesse sul mercato nuove versioni di motori di ricerca che comprendano, anziché insiemi di 'termini di ricerca', frammenti di frasi in grado di descrivere meglio le esigenze dell'utente. E versioni di sistemi di interfaccia vocale che siano in grado di 'dialogare' con l'utente, anche se ancora su domini limitati. 3. Dove investire Se si desidera che l'Italia rimanga al passo con lo sviluppo della tecnologia e se si desidera che lingua Italiana possa essere compresa alla pari dell'inglese, del francese e del tedesco (e di decine di altre lingue su cui si sta operando attivamente, come il cinese, il giapponese, lo spagnolo, il portoghese, ecc.), il piano di attività deve essere strutturato in modo flessibile, cosicché si effettuino avanzamenti significativi sia a livello industriale, sia a livello di ricerca applicata, sia a livello di ricerca pura. E' necessario cioè che fra sei mesi escano sul mercato applicazioni linguistiche sviluppate da aziende italiane e in grado di operare in modo innovativo sulla lingua italiana. Ma è anche necessario che, in parallelo, venga sviluppata la tecnologia che consenta alle aziende di rimanere all'avanguardia anche 240 fra due o tre anni, quando cioè l'attuale ricerca applicata si trasformerà in prodotto. E, allo stesso modo, è necessario che la ricerca pura produca le basi teoriche per la ricerca applicata e per le applicazioni degli anni successivi. Naturalmente, vi sono molte aree di attività all'interno delle quali è necessario operare per consentire questo sviluppo. Elencherò nel seguito solo alcune di esse, che sembrano di immediata rilevanza, perché possono portare alla prossima generazione di applicazioni linguistiche, come dimostrano gli investimenti effettuati in altri paesi (non solo nell'Unione Europea e negli Stati Uniti). 3.1 Risorse linguistiche Sebbene gran parte degli strumenti software necessari per il trattamento del linguaggio siano sviluppati manualmente, parte del lavoro può essere effettuata in modo automatico, grazie ai recenti sviluppi dell'area di apprendimento. In altre parole, le macchine possono 'imparare' grammatiche leggendo dei testi. Ma questi testi non possono essere nella forma standard, devono essere 'annotati': per imparare una grammatica è necessario avere a disposizione esempi di strutture grammaticali. Quindi, è necessario costruire esempi di frasi la cui struttura grammaticale sia rappresentata esplicitamente. Questi insiemi di esempi (denominati Treebank, in quanto le strutture grammaticali sono date sotto forma di alberi: 'tree') esistono per altre lingue (l'esempio classico è il Penn Treebank, realizzato dall'Università di Pennsylvania, che include svariate decine di migliaia di frasi), ma sono ancora in via di sviluppo per l'Italiano e richiedono, per il loro completamento, ulteriori interventi. Altre risorse essenziali sono dizionari morfologici estesi che includano anche informazioni semantiche e corpora di linguaggio sia scritto che parlato. La costruzione di queste risorse, già iniziata presso vari centri, deve procedere con finanziamenti congrui, in modo che l'Italia, anche a livello di immagine, sia alla pari con gli altri paesi. 3.2 Strumenti di analisi grammaticale Non sono sufficienti solo dati, ma servono anche procedure. In una prima fase, ciò che è necessario ottenere da una frase è la sua struttura grammaticale. Gli strumenti che consentono di ottenere questo risultato (analizzatori grammaticali) debbono essere 'robusti', in modo da trattare ogni tipo di testo senza che eventuali errori interrompano l'esecuzione, alterando il funzionamento del sistema e riducendo la sua usabilità. Naturalmente, nel presente stadio di sviluppo della tecnologia, non è possibile pensare ad un'analisi completa e priva di errori; ma un'analisi parziale è più che sufficiente per estrarre dalle frasi (ad esempio, da una richiesta di informazioni sul traffico nelle strade, o sui musei aperti e sul loro orario, o sulle prossime scadenze fiscali) i dati necessari per rispondere in modo appropriato. E' evidente che proprio l'analisi grammaticale, anche se parziale, è il passo che consente di fare un salto di qualità (e di posizionarsi all'avanguardia) rispetto alle tecniche attualmente in uso nelle interfacce verso informazioni linguistiche (v. Google). Anche in quest'area, che è la più promettente in relazione alle applicazioni reali, vi sono esperienze significative in Italia, che potrebbero portare in tempi brevi a prodotti commerciali. Ma anche in questo caso è necessario un intervento sia a livello di ingegnerizzazione dei prototipi esistenti, sia a livello di ricerca per progettare soluzioni innovative. 3.3 Ontologie Il futuro di Internet è nel Web semantico. Non più una rete di informazioni (pagine Web) il cui contenuto è interpretabile solo dall'utente umano, ma una rete di conoscenze il cui significato (semantico) è comprensibile dalla macchina stessa. Ma ritorna qui il problema del linguaggio: se i dati sono in linguaggio naturale, come e fino a che punto può un calcolatore davvero 'comprenderli'? Poiché la comprensione di una frase o di un testo è basato sulla comprensione delle parole che lo compongono, sono necessarie banche dati di 'significati' di parole. Di nuovo, tali banche dati esistono in forma (quasi) definitiva per l'inglese, mentre sono in via di sviluppo per altre lingue. Sebbene vari progetti siano stati finanziati dall'Unione Europea per lo sviluppo di metodologie comuni per le varie 241 lingue dell'Unione, è stato lasciato ai vari paesi membri il compito di sviluppare la conoscenza relativa alla propria lingua. Alcuni passi significativi sono stati fatti negli ultimi anni per l'italiano (v. ItalWordnet), ma ci troviamo ancora a metà del guado e ulteriori risorse vanno dedicate al completamento dell'opera. Infine, e cito qui un'attività di ricerca che costituisce il futuro del Web semantico, ma che vari progetti hanno intrapreso nel presente, ci sono le ontologie. Non si tratta più di banche dati di parole, ma di banche dati di significati, sui quali sia possibile compiere ragionamenti complessi. Già vari prototipi sono stati sviluppati da organizzazioni di grande peso scientifico e industriale (cito solo il DARPA - Defense Advanced Research Projects Agency - e l'IEEE - Institute for Electrical and Electronic Engineering), e sono tema di vari progetti europei. Le ontologie sono il punto di contatto di varie aree: non solo il linguaggio, ma anche gli agenti intelligenti, i sistemi di pianificazione e monitoraggio, ecc. Esse costituiranno la base comune per la comunicazione tra sistemi software: in questo interscambio di comunicazioni l'Italia deve continuare ad essere, come lo è stata fino ad oggi, uno dei partecipanti di prima grandezza. 4. Osservazione finale Non si può concludere questo breve intervento senza osservare che tutto ciò che è stato descritto VERRA' FATTO. Se non verrà fatto in Italia per l'Italiano, verrà fatto in altri paesi per altre lingue. Se si desidera evitare che l'Italia si limiti, nel campo del software linguistico, ad un ruolo di retroguardia (come è purtroppo avvenuto in varie altre aree del software), è necessario agire subito, con decisione e obiettivi chiari, ricordando il vantaggio innegabile che ci è offerto dal fatto di lavorare sulla nostra lingua. Una lingua che, come si è detto, deve essere protetta e difesa da opportuni enti ed istituzioni, oltre che da significativi interventi che coinvolgano le competenze e le esperienze che si sono affinate nel nostro paese nel corso degli ultimi decenni.