Soothsayer multisource system for text prediction

of 137 /137
Politecnico di Milano Facolt` a di Ingegneria di Como Corso di Laurea in Ingegneria Informatica Soothsayer: un sistema multi-sorgente per la predizione del testo Dipartimento di elettronica e informazione Progetto di Intelligenza Artificiale e Robotica del Politecnico di Milano Relatore: Prof. Licia SBATTELLA Correlatore: Ing. Matteo MATTEUCCI Tesi di Laurea di: Matteo Vescovi matr. 638671 Anno Accademico 2004-2005

Embed Size (px)

Transcript of Soothsayer multisource system for text prediction

  • 1. Politecnico di MilanoFacolt` di Ingegneria di Comoa Corso di Laurea in Ingegneria InformaticaSoothsayer: un sistema multi-sorgente per la predizione del testo Dipartimento di elettronica e informazione Progetto di Intelligenza Articialee Robotica del Politecnico di MilanoRelatore:Prof. Licia SBATTELLACorrelatore: Ing. Matteo MATTEUCCITesi di Laurea di: Matteo Vescovi matr. 638671 Anno Accademico 2004-2005

2. a Giovanni, Giuseppina e Wala 3. SommarioLobiettivo di questa tesi ` lo studio e lo sviluppo di un sistema multi-sorgente per ela predizione di testo che velocizzi e faciliti linserimento di testo in situazioni in cuiquesto risulta dicoltoso o ineciente. In particolare, le situazioni in cui un sistemapredittivo di inserimento rivela la sua utilit` e le sue potenzialit` sono riconducibilia aa due scenari: Il dispositivo non ` dotato di un supporto di inserimento testuale adequato.e Esempi di questa classe di dispositivi comprendono telefoni cellulari, computer palmari e personal organizers. Lutilizzo di questi dispositivi richiede linseri- mento di testo, talvolta anche in quantit` notevoli, tuttavia spesso non sonoa dotati di tastiere complete, e linserimento avviene mediante un numero limitato di tasti. Lutente non ` in grado di utilizzare i dispositivi di inserimento tradizionali. Le e persone con disabilit` siche spesso non possono utilizzare i normali strumentia di accesso, quali mouse e tastiera, forniti con i calcolatori e ricorrono a modalit`a alternative. La velocit` di inserimento usando tali modalit` alternative risultaa a essere sempre inferiore.Questo lavoro di tesi ` motivato essenzialmente da questo secondo aspetto. Si evuole cio` fornire uno strumento in grado di aiutare quanto pi` possibile personeeudisabili e facilitare la loro interazione con il calcolatore, spesso lunico tramite con ilmondo abile.Il lavoro si inserisce allinterno del progetto OpenMaia, basato sulle idee intro-dotte dal progetto M.A.I.A. inizialmente sviluppato presso il Politecnico di Milano esuccessivamente portato avanti presso lIstituto di Ricerche Farmacologiche MarioNegri. Il sistema Soothsayer prodotto ` software libero e gratuito, liberamente repe- eribile dal sito internet del progetto e utilizzabile da chiunque. Soothsayer ` rilasciatoesotto licenza GPL [24]. 4. RingraziamentiDevo un doveroso ringraziamento a tutti coloro che hanno reso possibile la realizza-zione di questo progetto.La prof.ssa Licia Sbattella per la sua competenza e disponibilit`.aLing. Matteucci per i suoi preziosi consigli.Ling. Luca Clivio per aver creato il programma M.A.I.A. e messo a disposizionespazi e collaboratori.Ling. Simone Mangano e ling. Andrea Tosato per aver condiviso le loro competenzeinformatiche e i loro consigli.Il prof.Silvio Garattini per avermi permesso di lavorare allIstituto di Ricerche Farma-cologiche Mario Negri presso il Laboratorio di Ricerca Translazionale e Outcomein Oncologia nellunit` Informatica per la Ricerca Clinica. aLa mia famiglia per essermi stata sempre accanto.Wala per avermi incoraggiato e motivato. 5. IndiceSommario iiiRingraziamenti iv1 Introduzione11.1 Obiettivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Contributi originali . . . . . . . . . . . . . . . . . . . . . . . . . . . .21.3 Schema della tesi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Stato dellarte 52.1 Tecnologia Assistiva . . . . . . . . . . . . . . . . . . . . . . . . . . .52.2 Comunicazione Aumentativa e Alternativa .. . . . . . . . . . . . . .62.3 Predizione di parole . . . . . . . . . . . . . . . . . . . . . . . . . . . .72.3.1 Beneci della predizione . . . . . . . . . . . . . . . . . . . . .72.4 Modello del linguaggio . . . . . . . . . . . . . . . . . . . . . . . . . .82.4.1 Linguaggio e legge di Bayes . . . . .. . . . . . . . . . . . . .92.4.2 Linguaggio e teoria dellinformazione. . . . . . . . . . . . . . 102.4.3 Modelli statistici . . . . . . . . . . . . . . . . . . . . . . . . . 122.4.4 Modelli semantici . . . . . . . . . . .. . . . . . . . . . . . . . 203 Modello multi-sorgente 253.1 Sorgenti di informazione statistica . . . . .. . . . . . . . . . . . . . . 273.2 Predizione statistica . . . . . . . . . . . .. . . . . . . . . . . . . . . 273.3 Sorgenti di informazione sintattica . . . . .. . . . . . . . . . . . . . . 283.3.1 Morfologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283.3.2 Sintassi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.4 Predizione sintattica . . . . . . . . . . . .. . . . . . . . . . . . . . . 303.4.1 Compatibilit` morfologica . . . . . a . . . . . . . . . . . . . . . 323.4.2 Compatibilit` sintagmatica . . . . a . . . . . . . . . . . . . . . 323.4.3 Esempio di grammatica generativa . . . . . . . . . . . . . . . 323.5 Sorgenti di informazione semantica . . . . . . . . . . . . . . . . . . . 343.5.1 Wordnet . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . 363.6 Predizione semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 6. INDICEvi 3.6.1 Modello a mappa di attivazione . .. . . . . . . . . . . . . . .41 3.7 Apprendimento e adattabilit` . . . . . . . a . . . . . . . . . . . . . . .44 3.7.1 Apprendimento dinamico . . . . . .. . . . . . . . . . . . . . .45 3.7.2 Apprendimento statico . . . . . . . . . . . . . . . . . . . . . .46 3.8 Combinazione delle sorgenti . . . . . . . . . . . . . . . . . . . . . . .47 3.8.1 Interpolazione lineare delle sorgenti . . . . . . . . . . . . . . .47 3.8.2 Backo . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . .49 3.8.3 Massima entropia . . . . . . . . . .. . . . . . . . . . . . . . .494 Il sistema Soothsayer 554.1 Caratteristiche del sistema Soothsayer . . . . . . . . . . . . . . . . .554.2 Architettura del sistema Soothsayer . . . . . . . . . . . . . . .. . . .574.2.1 Soothsayer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .574.2.2 Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .584.2.3 HistoryTracker . . . . . . . . . . . . . . . . . . . . . . . . . .584.2.4 Predictor . . . . . . . . . . . . . . . . . . . . . . . . .. . . .614.2.5 Combiner . . . . . . . . . . . . . . . . . . . . . . . . . . . . .614.2.6 Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .624.2.7 Selector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .644.2.8 ProleManager . . . . . . . . . . . . . . . . . . . . . .. . . .654.2.9 PluginManager . . . . . . . . . . . . . . . . . . . . . .. . . .664.3 Tecnologie del sistema Soothsayer . . . . . . . . . . . . . . . .. . . .674.3.1 Internazionalizzazione e supporto UNICODE . . . . . .. . . .674.3.2 Files di congurazione XML . . . . . . . . . . . . . . . . . . .674.3.3 Gestione dinamica dellinterfaccia utente e delle opzioni. . . .714.3.4 Dynamic loading di librerie . . . . . . . . . . . . . . .. . . .724.3.5 Esecuzione multi-threaded . . . . . . . . . . . . . . . .. . . .775 Risultati 835.1 Implementazione. . . . . . . . . . . . . . . . . . . . . . . . . . . . .845.2 Risorse . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .855.3 Testing . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .865.4 Valutazione . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . .876 Conclusioni e sviluppi futuri936.1 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .936.2 Sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94A Panoramica di predittori commerciali 103A.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103A.2 Prophet . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . 104A.3 Penfriend . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . 104A.4 Co:Writer . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . 105 7. INDICEvii A.5 Read & Write Gold . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 A.6 EZkeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107B Il progetto OpenMAIA109B.1 Introduzione . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . 109B.2 Approccio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109B.3 Struttura del Sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . 111B.4 Metodi di accesso al calcolatore . . . . . . .. . . . . . . . . . . . . . 111 B.4.1 Metodi di accesso sico alla macchina. . . . . . . . . . . . . . 113 B.4.2 MAIA Tastiera Virtuale Estesa . .. . . . . . . . . . . . . . 113 B.4.3 STEFY Tastiera a singolo tasto . . . . . . . . . . . . . . . . 114 B.4.4 KEYRING Anello di selezione . . .. . . . . . . . . . . . . . 115 B.4.5 BICO Il Codice Morse espanso . . . . . . . . . . . . . . . 116B.5 Strumenti per la comunicazione . . . . . . .. . . . . . . . . . . . . . 117 B.5.1 SPEECH Sintesi Vocale . . . . . .. . . . . . . . . . . . . . 117 B.5.2 SMS Brevi Messaggi di Testo . . .. . . . . . . . . . . . . . 118B.6 Domotica La casa del futuro . . . . . . . . . . . . . . . . . . . . . 119C Ambiente di sviluppo120C.1 Strumenti utilizzati. . . . . . . . . . . . . . . . . . . . . . . . . . . . 120C.2 Librerie utilizzate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120C.2.1 CygWin . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 120C.2.2 WxWidgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121C.2.3 TinyXML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121C.2.4 Dlopen . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 121C.2.5 SQLite . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . 122D Il metodo Backo123 8. Elenco delle gure 2.1 Probabilit` di shares in funzione della distanza dallultima occor- a renza di stock nel testo. La linea centrale indica la probabilit` a a priori. La linea superiore (inferiore) indica la probabilit` di sharesa condizionata al fatto che stock (non) sia occorso. . . . . . . . . . .17 2.2 Probabilit` di winter in funzione del numero di volte che summer a ` occorso nel testo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . e 18 2.3 Predizione basata su modello a scene . . . . . . . . . . . . . . . . . .22 2.4 Predizione basata su modello a scene e segmentazione del testo . . . .22 2.5 Rilevamento dei conni di una scena mediante lerrore di predizione . 24 3.1 Albero sintattico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2 Mappa di attivazione - passo uno . . . . . . . . . . . . . . . . .43 3.3 Mappa di attivazione - passo due . . . . . . . . . . . . . . . . . .43 4.1 Sequence diagram della fase di predizione . . . . . . . . . . . . 62 4.2 Processi . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 78 4.3 Threads e processi . . . . . . . . . . . . . . . . .. . . . . . . . . . 79 4.4 Class diagram del sistema Soothsayer . . . . .. . . . . . . . . . 81 4.5 Componenti del sistema Soothsayer e relativedipendenze. . 82 A.1 Predittore Prophet1.5 . . . . . . . . . . . . . . . . . . . . . . . . . 104 A.2 Penfriend XP . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 105 A.3 Co:writer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106 A.4 Read&Write . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 107 A.5 E Z Keys . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . 108 B.1 Utilizzo dellelaboratore. Lelaboratore ` visto come punto centrale e per poter uscire dalla propria condizione di handicap . . . . . . . . . 110 B.2 Esempi di interfacce utente MAIA. (a) Emulatore di tastiera. (b) Comunicatore a immagini. . . . . . . . . . . . . . . . . . . . . . . .114 B.3 Schema dellinterfaccia utente KEYRING vista dallalto. . . 115 B.4 Proiezione dellanello su un piano . . . . . . . . . . . . . . . . .116 9. ELENCO DELLE FIGURE ixB.5 Fotograa del prototipo dellagente Ring. Nella fotograa sipu` vedere un programma di videoscrittura utilizzato con il programmaoRING posizionato sulla parte inferiore dello schermo. . . . . . . . . 117 10. Elenco delle tabelle 2.1 Perplessit` del training-set del modello a bigrammi a distanza per a diverse distanze, basato sul Brown Corpus . . . . . . . . . . . . . . . 14 3.1 Grammatica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 3.2 Generazione della frase . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3 Grammatica con lessico . . . . . . . . . . . . . . . . . . . . . . . .35 3.4 Grammatica con lessico e morfologia . . . . . . . . . . . . . . . 35 3.5 Grammatica con lessico e morfologia e procedura di unicazione36 3.6 Frase scorretta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.7 La matrice lessicale . . . . . . . . . . . . . . . . . . . . . . . . . . . .38 3.8 Partizione dello spazio degli eventi indotto dal modello a bigrammi . 50 3.9 Partizione dello spazio degli eventi indotto dal modello a bigrammi e a trigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 4.1 Tokens generati da Tokenizer . . . . . . . . . . . . . . . . . . . . . .60 5.1 Risultati del confronto tra prestazioni di predittori umani e articiale. 89 5.2 Risultati del test condotto su brani estratti dal romanzo La coscienza di Zeno di Italo Svevo. . . . . . . . . . . . . . . . . . . . . . . . . .90 5.3 Risultati del test condotto su articoli di giornale estratti dal quotidiano La Repubblica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90 5.4 Risultati del test condotto su un insieme di email. . . . . . . . . . . . 91 5.5 Risultati del test condotto su brani estratti dal romanzo La coscienza di Zeno usando una risorsa addestrata sulle opera di Italo Svevo. . .92 B.1 Metodi di accesso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 D.1 Perplessit` . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 a 11. Capitolo 1Introduzione Civilization advances by extending the number of important operationswhich we can perform without thinking about them.Alfred North Whitehead(1861 - 1947)Comunicare ` una esigenza fondamentale dellessere umano. Nella societ` moderna, eail calcolatore elettronico si ` imposto come strumento di comunicazione privilegiato. eTuttavia, la produzione di testi elettronici pu` risultare estremamente dicoltosa oquando il dispositivo non ` dotato di un supporto di inserimento testuale adeguato o equando lutente non ` in grado di utilizzare i tradizionali dispositivi di inserimento. eLutilizzo di dispositivi portatili quali telefoni cellulari e computer palmari richiedelinserimento di testo, talvolta anche in quantit` notevoli. Spesso per`, tali dispositiviaonon sono dotati di strumenti di inserimento testo adeguati, e linserimento avvienemediante un numero limitato di tasti, limitandone la velocit` e la facilit` di utiliz- a azo. Le dicolt` maggiori si vericano quando lutente non ` in grado di utilizzare a ei dispositivi di inserimento testo tradizionali. Persone aette da disabilit` moto-arie, linguistiche e di apprendimento non possono utilizzare dispositivi tradizionali oriscontrano grandi dicolt`.aMentre un dattilografo esperto raggiunge no a 300 battute al minuto su unatastiera tradizionale, la velocit` di battitura di un disabile motorio si attesta su avalori diversi ordini di grandezza pi` piccoli. Una possibile alternativa allinserimento umanuale del testo potrebbe essere data dal riconoscimento vocale. Purtroppo per` oi dispositivi portatili non soddisfano i requisiti di potenza di calcolo e la disabilit` aspesso inuenza la capacit` o la qualit` della comunicazione verbale.aaCirca mezzo milione di persone al mondo [22] sono cognitivamente integre maincapaci di muoversi o parlare, e molte altre sorono disabilit` meno severe che cau- asano dicolt` nel parlare e muoversi. Anche se una interfaccia dotata di un singolo ainterruttore ` suciente per comporre qualsiasi testo, la velocit` ottenibile ` proi- eaebitivamente lenta (meno di 15 parole al minuto) rispetto alla velocit` del parlatoa(120 parole per minuto). Il superamento di tali ostacoli comunicativi costituisce lamotivazione principale di questo lavoro di tesi. 12. Introduzione 21.1 ObiettiviLobiettivo di questo lavoro di tesi ` lo studio e lo sviluppo di sistema in grado diemigliorare la facilit` e la velocit` di produzione di testo elettronico. Tale scopo ` a aeperseguito mediante lutilizzo di algoritmi adattabili e intelligenti in grado di predireci` che lutente intende digitare.oLo studio si articola in una presentazione dei fondamenti teorici che giustica-no e permettono loperazione di predizione di parole e in una analisi dei metodi dipredizione presenti in letteratura. Si propone un modello che permette di unicare idiversi meccanismi predittivi in una visione strutturata e coerente basata sul concet-to di sorgente di informazione. Si introducono inoltre diverse modalit` mediante le aquali tali sorgenti di informazione eterogenee possono essere combinate assieme perottenere un modello risultante.Lo sviluppo si concentra sulla realizzazione del sistema Soothsayer, un sistemamultisorgente per la predizione di parole. Il software Soothsayer implementa un siste-ma predittivo modulare e multisorgente, liberamente ottenibile ed utilizzabile. Sooth-sayer ` un software multiutente, multilingua, modulare, estensibile, personalizzabile,eadattativo, libero e gratuito. 1 .1.2 Contributi originaliIn questa tesi si svolge una analisi del problema della predizione di parole. La di-scussione del problema include una presentazione della maggior parte dei metodidi predizione attualmente implementati in prodotti reali o proposti in letteraturascientica.La tesi presenta un nuovo approccio al problema della predizione di parole e cercadi aumentare le capacit` predittive dei metodi di predizione tradizionali, i quali siabasano su un modello del linguaggio statico e limitato a un numero sso di meccani-smi predittivi. Il modello multi-sorgente presentato in questo lavoro di tesi supera lelimitazioni dei modelli precedenti individuando delle sorgenti di informazione estrai-bili dal testo e da altre risorse e proponendo vari tipi di meccanismi predittivi cheeseguono la predizione sulla base delle sorgenti di informazione disponibili. Le predi-zioni restituite dai singoli meccanismi di predizione sono combinate in una predizionerisultante.Ciascun meccanismo di predizione determina un modello del linguaggio che vieneutilizzato per ottenere una predizione parziale che sfrutta un sottoinsieme delle sor-genti di informazione disponibili. La predizione risultante ` la predizione prodottaedal comitato di esperti, ovvero dai singoli meccanismi di predizione, specializzati nel-leettuare la predizione sfruttando un determinato modello del linguaggio basato sudeterminate sorgenti di informazione. 1 Soothsayer ` rilasciato sotto licenza GPL [80], una licenza duso che consente di distribuire, eutilizzare, accedere e modicare liberamente il software 13. Introduzione3Oltre alla presentazione del nuovo approccio multi-sorgente, ` stato ideato unemodello semantico originale, detto modello a mappa di attivazione, in grado di ef-fettuare la predizione di parole sfruttando sorgenti di informazione semantiche incombinazione con la base di dati semantica Wordnet2 .Il lavoro di tesi si ` concentrato principalmente nello sviluppo del sistema pre- edittivo Soothsayer, un sistema multi-sorgente per la predizione di parole in gradodi integrare meccanismi di predizione statistici, sintattici e semantici. Soothsayer ` estato interamente sviluppato in C++ ed ` basato su unarchitettura modulare e aeoggetti, che consente di ottenere un elevato grado di disaccoppiamento tra i modu-li. Il punto di forza del sistema Soothsayer ` larchitettura a plugin. I meccanismiedi predizione, lanima del sistema, sono implementati da plugins. Larchitettura diSoothsayer incoraggia lo sviluppo di nuovi plugin per incrementare le potenzialit` del asistema, ad esempio aggiungere il supporto per nuove lingue, inserire nuovi meccani-smi di predizione, etc. . . La realizzazione e integrazione di nuovi meccanismi predittivi` veloce e richiede poche linee di codice, grazie alla possibilit` di usufruire di tutti ieaservizi oerti dal sistema Soothsayer e alla espandibilit` del sistema. Bench` svilup-ae3pato principalmente in seno al progetto OpenMaia , il sistema Soothsayer ` stato eprogettato per poter essere facilmente integrato in qualsiasi altro sistema e portatosu diverse architetture. Il software Soothsayer, costituito da ben oltre diecimila lineedi codice, ` rilasciato sotto la licenza open source GPL per permettere a chiunque di eutilizzare, distribuire, modicare e migliorare il sistema.1.3Schema della tesiLa tesi ` strutturata secondo il seguente schema:eCapitolo 2 inizia con una breve descrizione delle tecnologie assistive e delle tecni-che di comunicazione aumentativa e alternativa, con particolare riguardo allapredizione di parole, e presenta poi una analisi approfondita dei modelli dellinguaggio alla base dei sistemi predittivi attualmente disponibili sul mercato oproposti in letteratura.Capitolo 3 introduce il concetto di modello multi-sorgente, costituito da un comi-tato di esperti di meccanismi di predizione che sfruttano i modelli derivati dallesorgenti di informazione estraibili dal linguaggio naturale ai ni dellottenimen-to di predizioni ecaci. Le sorgenti di informazione utilizzabili e i modelli daesse derivabili vengono analizzate e distinte in tre categorie: statistiche, sintat-tiche e semantiche. Vengono descritte le tecniche adottabili per implementarefunzionalit` di apprendimento e adattabilit`, necessarie data la marcata etero- aageneit` dei testi e degli stili di comunicazione. Vengono illustrati i meccanismia2 Wordnet[13] ` una base di dati lessicale la cui costruzione si ispira alle moderne teorie epsicolinguistiche sul linguaggio e sulla memoria lessicale umana 3 Il progetto OpenMaia ` descritto nel capitolo Be 14. Introduzione4 di predizione che sfruttano il modello derivato dalle sorgenti di informazione e le modalit` mediante le quali i contributi dei vari esperti vengono riunicati ina una predizione combinata.Capitolo 4 presenta il sistema Soothsayer, un sistema multi-sorgente per la predizio-ne del testo. Soothsayer ` un sistema modulare e a plugin, integrabile ed espan- edibile, multiutente e multilingua, adattabile, congurabile, portabile ed opensource. Viene presentatata larchitettura del sistema e il funzionamento dei sin-goli moduli componenti. Inne vengono descritte le soluzioni implementativeadottate per la realizzazione del software.Capitolo 5 descrive i risultati ottenuti e le innovazioni introdotte, prendendo spuntodal modello del linguaggio a sorgenti multiple e proseguendo nellimplementazio-ne del sistema Soothsayer, nella realizzazione di plugins predittivi integrabili nelsistema e nella creazione delle risorse necessarie al funzionanto dei meccanismidi predizione realizzati nei plugins.Capitolo 6 illustra lo stato attuale di sviluppo del sistema, riassume le conclusionia cui si ` giunti e traccia la direzione di sviluppo futuro. e 15. Capitolo 2Stato dellarteImitation is the sincerest form of attery. Charles Caleb Colton(1780 - 1832)2.1Tecnologia AssistivaI costrutti legati al concetto di disabilit` sono profondamente cambiati negli ulti-ami anni. Le progressive riedizioni, da parte dellWHO 1 , dellICFDH (InternationalClassication of Functioning, Disability and Health) [67] riettono in modo esem-plare questo mutamento di prospettiva. Gi` nella versione del 1997 veniva fattaaunimportante distinzione tra menomazione, disabilit` e handicap, intendendo conaquestultimo le conseguenze per lindividuo di una menomazione o disabilit` sul pia- ano culturale, sociale, economico e ambientale. La situazione di svantaggio divienecos` non uninevitabile conseguenza della menomazione, quanto piuttosto il risultatodi uninterazione negativa tra lindividuo e il suo ambiente. Dietro a questa nuova prospettiva si intravede una diversa concezione di salutenon pi` riferita alle sole funzioni e strutture del corpo umano, ma anche al grado diupartecipazione alla vita collettiva; il tradizionale modello medico ` stato cos` integratoeda quello sociale che analizza i fattori contestuali. Analogamente oggi la riabilitazionenon si limita pi` alla rieducazione funzionale, ponendosi come obiettivo irrinunciabile uil raggiungimento dellautonomia n dove possibile e la partecipazione sociale dellapersona presa in carico, individuando i sistemi pi` idonei a superare o rimuovere gliuostacoli che impediscono queste acquisizioni. Le risorse disponibili del paziente, i suoi desideri e aspettative cos` come le sueconcrete condizioni di vita costituiscono ora il punto di partenza dellintervento. Si` in questo modo aperta la strada alluso di complesse strategie adattative mirate aemodicare positivamente il rapporto dellindividuo con lambiente.1Word Health Organization [68] 16. Stato dellarte 6Allinterno di questi articolati percorsi riabilitativi un ruolo fondamentale ` quel- elo svolto dagli ausili, strumenti volti a compensare le funzioni divenute decitariein seguito a un danno sico o sensoriale. In particolare, lo straordinario sviluppodelle tecnologie dellinformazione e della comunicazione ha fatto emergere una nuovacategoria di ausili, quelli informatici, che hanno aperto possibilit` prima impensabi- ali per chi presenta un decit motorio, sensoriale o cognitivo. Gli ausili informatici,sfruttando le caratteristiche di essibilit`, ricchezza di funzioni e portabilit` delle nuo- aave tecnologie, si stanno rivelando sempre pi` uno strumento in grado di migliorare usignicativamente la qualit` della vita di molte persone.aLAssistive Technology, o tecnologia assistiva, ha lo scopo di ampliare le capacit`adi pensare, di informarsi, di esprimersi, accelerando ed accrescendo le possibilit` diacomunicazione e di interazione di persone con decit motori, sensoriali, comunicativio cognitivi. Per individui con disabilit` gravi, le tecnologie assistive sono la chiave aper stabilire e mantenere un contatto con il mondo.Tastiere e mouse speciali, sistemi di sintesi e riconoscimento vocale, programmia scansione sono nati per sostituire i sistemi di input (mouse e tastiera) e output(monitor) standard, orendo la possibilit` di adattare lo strumento computer a chiapresenta dicolt`. Oggi anche chi non vede, anche chi riesce a controllare soltantoail movimento della testa, o del piede, o comunque di una sola parte del corpo (fosseanche soltanto lo sguardo) pu` comunicare, scrivere, navigare in Internet, etc. . . oCi` signica che esiste la possibilit` di lavorare, studiare, intrattenere relazionioaa distanza, in una parola uscire dallisolamento e ripensare positivamente le proprieprospettive di vita.2.2Comunicazione Aumentativa e AlternativaLa Comunicazione Aumentativa e Alternativa ` quellinsieme di conoscenze, di tecni-eche, di strategie e di tecnologie che ` possibile attivare per facilitare la comunicazione econ persone che presentano una carenza o unassenza, temporanea o permanente nellacomunicazione verbale.Il termine Comunicazione Aumentativa e Alternativa, frequentemente abbreviatoper comodit` in CAA, trae origine dal termine inglese Augmentative AlternativeaCommunication (AAC). Laggettivo aumentativa, usato per tradurre il termineinglese augmentative, sta a indicare come le modalit` di comunicazione utilizzate asiano tese non a sostituire ma ad accrescere la comunicazione naturale. Il terminealternativa intende tutto ci` che ` alternativo alla parola, cio` codici sostitutivi aloeesistema alfabetico quali: gure, disegni, fotograe, simboli, etc. La ComunicazioneAumentativa e Alternativa (CAA), come specico ambito di studio e di intervento,nasce ucialmente in Nord America nel 1983 con la creazione della InternationalSociety of Augmentative and Alternative Communication (I.S.A.A.C.) [34].Tutti gli interventi tendenti a stimolare e a migliorare, in persone con gravi di-sabilit` siche o intellettive, labilit` a comunicare con modalit` naturali e a forni-a aa 17. Stato dellarte7re a individui privi o carenti di linguaggio verbale mezzi espressivi il pi` possibile uadeguati ai loro bisogni, costituiscono il campo della Comunicazione Aumentativa eAlternativa.2.3Predizione di paroleLa predizione di parole ` una tecnica spesso usata nel campo della comunicazione au-ementativa e alternativa allo scopo di aumentare la velocit` di inserimento, la qualit` eaala correttezza del testo; questa consiste nellindividuare quali parole o completamentodi parole hanno la maggiore probabilit` di seguire un dato segmento di testo [99]. aIn una tipica sessione di utilizzo, un predittore di parole legge la sequenza dicaratteri inseriti dallutente e genera un lista di possibili suggerimenti. Lutentesceglie il suggerimento che coincide con la parola che intende scrivere, o continuaa inserire nuovi caratteri nch` la parola desiderata compare come suggerimento o ela parola desiderata ` stata completamente inserita. Quando lutente seleziona un esuggerimento, la parola suggerita viene automaticamente inserita nel testo.Per poter eettuare una predizione ecace, un predittore necessita di informazionie strutture dati relative al linguaggio utilizzato. Generalmente, questi dati sonodi natura statistica e vengono estratti da una grande quantit` di testi considerati arappresentativi del linguaggio e dello stile dellutente. Tale modello statistico dellinguaggio consente al predittore di eettuare predizioni di frammenti di testo maiincontrati prima.Alcuni predittori esistenti complementano le informazioni di carattere statisticocon ulteriori informazioni sul linguaggio di carattere grammaticale e morfosintattico,consentendo cos` una gestione pi` agevole della punteggiatura e della concordanzautra parole.2.3.1 Beneci della predizionePer quanto luso di un predittore sia piuttosto generale, la tipologia di utenti chetraggono maggiore benecio dallutilizzo di un predittore ` quella dei disabili motori. eTali persone incontrano notevoli dicolt` nel battere a macchina o nel controlloavolontario del proprio corpo; usando un predittore, queste persone possono ridurreil tempo e lo sforzo necessario. La predizione della parola corretta risparmia infattiallutente di dover inserire i caratteri rimanenti, aumentando signicativamente lavelocit` di inserimento del testo, riducendo lo sforzo necessario alla composizione delle asingole parole, e permettendo allutente disabile di prolungare lattivit` di produzione adi testo.Unaltra tipologia di utenti che beneciano in modo particolare dalla predizionedi parole ` costituita da persone dislessiche o aette da disturbi del linguaggio, comeedicolt` nel produrre frasi ortogracamente e grammaticalmente corrette o dicolt`a anel trovare le parole. Disponendo di un dizionario di parole, lutente pu` essere certo o 18. Stato dellarte 8che i suggerimenti oerti sono ortogracamente corretti. Se il predittore ` dotato di efunzioni di controllo grammaticale, i suggerimenti oerti non contrasteranno le regolegrammaticali conosciute dal predittore. Persone aette da afasia o con dicolt` nelatrovare le parole o aventi un vocabolario limitato possono beneciare dallutilizzo diun predittore, in quanto i suggerimenti oerti complementano la capacit` dellutente adi richiamare alla memoria la parola desiderata. Un utente con limitate capacit`adi scrittura pu` sentirsi intimidito dalla pagina bianca e scoraggiarsi prima ancoraodi iniziare. I suggerimenti oerti da un predittore possono facilitare la produzionedi testo e spronare lutente a comporre nuove frasi e a mettere per iscritto i propripensieri.Unulteriore tipologia di utenti che possono trarre vantaggio da un sistema dipredizione ` rappresentata dagli utenti di dispositivi mobili sprovvisti di appropriatiesupporti di inserimento testo, come telefoni cellulari, computer palmari e personalorganizers. Linterazione con questi dispositivi comporta linserimento di testo, ilquale spesso risulta fastidiosamente lento e ineciente a causa della mancanza ditastiere complete o di metodi alternativi veloci.Lutilizzo di un predittore impone, tuttavia, un maggior sforzo cognitivo. Luten-te ` costretto a spostare lattenzione tra testo in fase di inserimento e suggerimenti eoerti. In persone aette da disabilit` cognitive ci` potrebbe ridurre i vantaggi oertia oda un predittore. Questo problema ` mitigato da una accurata scelta del posiziona-emento, ordinamento, e numero di suggerimenti oltre che dalluso di tastiere virtualisu schermo.2.4 Modello del linguaggioAl ne di eettuare previsioni accurate sul comportamento di un sistema, ` necessario eaverne un modello accurato. Un modello ` una schematizzazione del comportamentoedi un sistema in grado di catturarne gli aspetti essenziali. Il modello descrive ilcomportamento di un sistema mediante variabili che descrivono certe propriet` delasistema e funzioni/equazioni che descrivono le relazioni tra le variabili.Un modello consente di simulare il comportamento di un sistema al variare dellevariabile e di valutarne levoluzione, generando cos` una previsione del comportamen-to futuro del sistema. Ricavare un modello di un linguaggio naturale ` un primo efondamentale passo da compiere per costruire un predittore di parole. Infatti dispo-nendo di un modello accurato e in grado di descrivere caratteristische e regolarit` a(patterns) della lingua, ` possibile eettuare predizioni.eEsistono due possibili approcci alla modellizzazione del linguaggio naturale. Ilprimo approccio, usato principalmente nel campo del riconoscimento vocale, sfruttaun modello stocastico e markoviano del linguaggio, mentre il secondo approccio, usatoprevalentemente nel campo della compressione, ricorre alla teoria dellinformazione. 19. Stato dellarte 92.4.1 Linguaggio e legge di BayesUn linguaggio naturale pu` essere considerato e descritto come processo stocastico.oCiascuna frase, parola, lettera o altra unit` di testo pu` essere vista come una variabileaocasuale avente una certa distribuzione di probabilit`. aModelli statistici che descrivo loccorrenza di parole del linguaggio si applicanoanche al campo del riconoscimento vocale [84]. Il riconoscimento vocale consiste neltradurre un segnale acustico in una stringa di parole.I linguaggi naturali usano un numero limitato di suoni (tipicamente intorno ai40-50), detti fonemi. Dai fonemi vengono estratte delle features che caratterizza-no e identicano il fonema (ad esempio, frequenza e ampiezza del segnale acusticocorrispondente al fonema in questione).Un dizionario di parole indicizzate per pronuncia stabilisce una corrispondenzatra le parole del linguaggio e i fonemi costituenti.Il problema di ricoscimento vocale deve necessariamente essere trattato con metodiprobabilistici in quanto vi ` incertezza riguardo:e la precisione con cui vengono catturati e digitalizzati i suoni quali fonemi hanno generato i suoni catturati quali parole hanno generato i fonemiQuesti problemi insorgono quando si considerano gli omofoni, ossia parole diversecostituite dagli stessi fonemi e quindi aventi la stessa pronuncia. Diverse parolegenerano gli stessi fonemi. Risulta quindi impossibile risalire univocamente alla parolageneratrice, in mancanza di ulteriori informazioni.Quando il parlato ` continuo, ossia le parole si susseguono senza alcuna pausa traeluna e laltra, diviene necessario decidere dove una parola termina e la successivainizia - procedimento detto di segmentazione. Anche in questo caso il procedimentonon ` univoco. eInne, il problema dellaccuratezza dipende dalle operazioni di trattamento delsegnale acustico. Il suono ` una sorgente analogica. In quanto tale, deve essereedigilizzata prima di poter essere elaborata al calcolatore. La quantit` di dati generati adalla digitalizzazione dipende da parametri quali: la frequenza di campionamento, (8-16Khz) il fattore di quantizzazione, ovvero la precisione con cui vengono rappresentati i campioni (8-16 bits)Una volta ottenuti i campioni, questi sono raggruppati in frames, ovvero blocchicontigui di campioni, tipicamente della durata di 10 msecs. Ciascun frame vieneanalizzato e scandito allo scopo di rilevare le features.Il passo nale ` detto vector quantization. Lo spazio n-dimensionale delle features e` diviso in M regioni etichettate. Le M regioni stabiliscono delle classi di equivalenza.e 20. Stato dellarte10Ciascun frame appartiene ad una di queste classi di equivalenza e viene rappresentatodalla etichetta della classe di equivalenza a cui appartiene.Per introdurre nel modello leetto di queste incertezze, si utilizza il seguentemodello probabilistico:P (words)P (signal|words)P (words|signal) = (2.1) P (signal)Siamo interessati a trovare la stringa di parole words dato il segnale audio signal.Per fare ci` ricorriamo al modello acustico P (signal|words) e al modello del linguag- ogio P (words). P (signal) ` solo un fattore di scala ` pu` essere trascurato.e e oIdealmente, vorremmo assegnare una probabilit` a ciascuna delle innite sequenze adi parole P (w1 . . . wn ):P (w1 . . . wn ) = P (w1 )P (w2 |w1 )P (w3 |w1 , w2 )...P (wn |w1 . . . wn1 ) (2.2) Questo risulta purtroppo irrealizzabile in pratica. Fortunatamente, possiamo ap-prossimare questa formula. Tradizionalmente, il modello ideale viene approssimatocon cosidetto il modello a bigrammi: P (w1 . . . wn ) = P (w1 )P (w2 |w1 )P (w3 |w2 ) . . . P (wn |wn1 )(2.3)La stima dei parametri del modello si ottiene contando il numero di occorrenzedi ciascuna tupla di due parole in un insieme di testi detto training corpus e usare il a `conteggio per stimare le probabilit`. E anche possibile usare un modello a trigrammiP (wi |wi1 , wi2 ), ma ci` comporta la stima di molti pi` parametri. ou2.4.2 Linguaggio e teoria dellinformazioneUnaltro approccio alla modellizzazione di un linguaggio naturale si basa sulla teoriadellinformazione. Il linguaggio ` considerato come una sorgente di informazione L eche emette una sequenza di simboli wi presi da un alfabeto nito, seppur di enormecardinalit` (il vocabolario). La distribuzione del simbolo successivo dipende dal valore adei simboli precedenti - in altre parole la sorgente L ` una catena di Markov di ordine eelevato. Lentropia H di una sorgente di informazione L ` denita come la quantit` di eainformazione non ridondante trasmessa per parola, in media, da L. Secondo il teoremadi Shannon, qualsiasi codica di L deve necessariamente usare almeno H bits perparola, in media. Ad esempio, prendiamo un testo composto da caratteri ASCII. In questo caso,lalfabeto corrisponde ai 256 caratteri ASCII. Se il testo fosse ottimamente compressoin codice binario, allora lentropia della sorgente di informazione (ovvero il testo inquestione visto come sequenza di caratteri ASCII) sarebbe il numero medio di bitsnecessari a codicare i caratteri ASCII. 21. Stato dellarte 11Sorge quindi spontanea lidea di utilizzare lentropia per valutare la precisione delmodello di un linguaggio L. La qualit` del modello M di un linguaggio L pu` essere a ovalutata stimando la probabilit` assegnata dal modello M ad una nuova stringa diatesto mai incontrata prima dal modello.Una possibile misura di questa quantit` ` data dalla average-log-likelihood (vero-aesimiglianza logaritmica media):1average-log-likelihood(X|PM ) = log PM (Xi) (2.4)n idove PM ` la distribuzione di probabilit` del modello M ee a X = X1 , X2 , . . . , Xn (2.5)` il nuovo frammento di testo.eQuesta quantit` pu` essere vista come una stima empirica della cross-entropiaaodella reale distribuzione P con la distribuzione data dal modello PM : cross-entropy(P ; PM ) = P (X) log PM (X) (2.6) D Spesso la qualit` di modello ` riportata in base ad una altra misura di qualit`a eadetta perplessit` P PM (T ) del modello M espressa come:a P PM (T ) = 2cross-entropy(P ;PM ) (2.7)La perplessit` pu` essere interpretata come la media (geometrica) del fattoreaodi branching del linguaggio rispetto al modello. Quando ` interpretata come unaefunzione del modello, misura quanto accurato ` il modello (minore ` la perplessit`, ee amigliore ` il modello). Quando ` interpretata come funzione del linguaggio, stima lae eentropia H del linguaggio (ovvero la sua complessit`). aNellipotesi ideale di avere a disposizione un modello perfetto, siamo in grado disfruttare ogni correlazione e regolarit` del linguaggio. In tale caso, la cross-entropiaadel linguaggio L equivarrebbe alla vera entropia H.In pratica, tuttavia, tutti i modelli ad oggi sviluppati non raggiungono il limi-te teorico, il quale oltretutto non ` direttamente misurabile (bench` possa esseree einferiormente limitato [85] [38]Allaltro estremo, supponendo di trascurare le correlazioni tra i simboli osservati,la cross-entropia della sorgente L diverrebbe:P r(w) log P r(w) (2.8)wdove P r(w) indica la probabilit` a priori di w. Questa quantit` ` normalmente moltoaaemaggiore di H. 22. Stato dellarte 12La cross-entropia entropia di tutti i modelli cadono allinterno di questi due estre-mi. Nella visione di un linguaggio naturale come sorgente di informazione, lo scopodella modellizzazione ` quello di identicare e sfruttare le sorgenti di informazioneedel linguaggio in modo tale da minimizzare la cross-entropia, riducendola quanto pi` uvicino possibile al valore teorico della vera entropia H.2.4.3 Modelli statisticiUnigrammiIl pi` semplice modello del linguaggio utilizzabile ai ni della predizione si basa sulla udistribuzione a priori delle parole ed ` detto modello a unigrammi. Il modello aeunigrammi assegna a ciascuna parola w una probabilit` P (w), calcolata in base allaafrequenza di occorrenza della parola estratta da un insieme di testi di training. Ilmodello assume che le parole siano scelte indipendentemente luna dallaltra, ovveroche la probabilit` di una stringa di parole w0 , . . . , wi sia il prodotto delle probabilit` aadi ciascuna parola. In formule:P (w0 , . . . , wi ) = P (wk ) = P (w0 ) . . . P (wi ) (2.9) kN-grammiIl modello a unigrammi non ` particolarmente accurato. Lipotesi che ciascuna pa- erola in una frase sia completamente slegata dalle precedenti non corrisponde al vero.Una parola ` infatti in stretta relazione con le parole che la precedono. Questa rela-ezione spazia vari livelli - morfologico, sintattico, semantico, etc. . . Per un modello aunigrammi, la seguente sequenza di parole ` altamente probabile.esono ciao il hannoUn modello a unigrammi attribuisce unalta probabilit` alla sequenza poich` le aeparole costituenti la frase, prese singolarmente, hanno una alta probabilit` a priori in aquanto sono usate molto frequentemente. Per` non sono mai usate nella sequenza in oquestione, come una analisi di un ampio corpus di testi rappresentativi del correttoe consueto uso del linguaggio pu` dimostrare.oPer cogliere la dipendenza di ciascuna parola dalle precendenti, si utilizza unmodello che prenda in considerazione le n 1 parole precendenti la parola correnteda predire. Il modello a n-grammi risultante sfrutta linformazione data dalle parolewi(n1) , wi(n2) , . . . , wi2 , wi1 per predire la parola wi .Dunque un modello a bigrammi predice la parola wi sfruttando linformazionedata dalla parola wi1 , mentre un modello a trigrammi utilizza linformazione datadalle parole wi2 , wi1 per predire la parola wi . 23. Stato dellarte13 `I modelli a n-grammi sono sorprendentemente potenti. E dicile migliorarne sen-sibilmente la qualit`. Sono in grado di catturare e sfruttare molto bene le dipendenzeadi una parola dalle le precedenti.Intuitivamente, un modello a trigrammi ` migliore di un modello a bigrammi, eeun modello a bigrammi ` migliore di un modello a unigrammi. Il seguente esempio erende questa intuizione lampante. Il frammento di testo:bella ragazzo` perfettamente plausibile per un modello ad unigrammi, in quanto la probabilit`eaP (ragazzo) ` indipendente dalla parola precedente bella. Un modello a bigrammieinvece sarebbe in grado di catturare e sfruttare linformazione di carattere morfologicodata dalla terminazione in -a dellaggettivo bella e assegnerebbe una probabilit`aP (ragazza|bella) maggiore di P (ragazzo|bella).Analogamente, nel frammento:mangio una casail modello a bigrammi non avrebbe problemi a suggerire casa come possibile parolasuccessiva, in quanto la probabilit` P (casa|una) sar` ragionevolmente alta. Ma a atale modello trascurer` fatalmente linformazione della parola mangio, che risulta aessenziale. Un modello a trigrammi infatti assegnerebbe un valore certamente pi`ualto a P (mela|mangio, una) rispetto a P (casa|mangio, una).Un modello a trigrammi in questo caso catturerebbe sia linformazione di tipomorfologico (nellesempio bella ragazza, non ragazzo) che di tipo semantico (mangiouna mela, non una casa). Il modello a n-grammi ` infatti in grado di catturare euna enorme sorgente di informazioni. Ammettendo di poter utilizzare un modelloa n-grammi con n tendente a innito, il modello a n-grammi sarebbe un modelloperfetto.Purtroppo, per i motivi che vedremo pi` avanti, non ` praticabile andare oltre un u emodello a trigrammi. Sfortunatamente, i modelli a n-grammi hanno delle limitazioni,tra cui: sono completamenti ciechi a ogni vincolo o informazione che cade al di fuori del loro campo limitato. Ad esempio, nella frase La ragazza che ho conosciuto laltra sera era ...la parola successiva potrebbe essere sia bello che bella. Per cogliere lin-formazione data dalla parola ragazza, dobbiamo disporre di un modello chesfrutti le informazioni date da almeno le otto precedenti parole. Ogni modellodi ordine inferiore al modello a novegrammi non ` in grado di cogliere linforma-ezione. Di conseguenza, a frasi sgrammaticate o senza senso potrebbero essereassegnate alte probabilit`, in quanto non violano vincoli locali e non sono inagrado di riconoscere e sfruttare vincoli a distanza. 24. Stato dellarte14 dierenziano in base allordinamento delle parole costituenti, anzich` in base a ile loro ruolo nel testo. Ad esempio, le stringhe una bella ragazza e una ragazza bella appaiono completamente diverse agli occhi di un modello a trigrammi, nonostante siano semanticamente molto simili e abbiamo un eetto molto simile sulla distribuzione di probabilit` della parola successiva.aClassi n-grammiLo spazio dei parametri coperto dai modelli a n-grammi pu` essere signicativamenteoridotto e lecacia del modello incrementata eettuando una clusterizzazione delleparole in classi. Questa clusterizzazione pu` essere eettuata a diversi livelli [8].oDecisioni riguardanti quali componenti clusterizzare e in quale misura impongonoun compromesso tra precisione e ecacia. I tre metodi generali di clusterizzazionesono classicabili in tre categorie 2 clustering per conoscenza linguistica [38] [21] clustering per conoscenza del dominio [72] clustering guidato dai dati [38]N-grammi a distanzaGli n-grammi a distanza d catturano la dipendenza della parola da predire dalle n-1parole che si trovano d parole indietro nel testo. Ad esempio, un modello a trigrammi adistanza 2 predice la parola wi sfruttando le informazioni date dalle parole wi3 , wi2 .Osserviamo che il modello a n-grammi semplice ` un caso particolare del modello aen-grammi a distanza, prendendo la distanza d = 1.La quantit` di informazione data dagli n-grammi a distanza d ` stata stimata aein [31]. In tale ricerca, si ` ricavato un modello a bigrammi a distanza variabile ed = 1, ..., 10, 1000 dal Brown Corpus 3 .Per ciascun modello, la perplessit` del modello ` stata calcolata sul training set.aeI risultati sono riportati nella seguente tabella 2.4.3.Tabella 2.1: Perplessit` del training-set del modello a bigrammi a distanza per diverse adistanze, basato sul Brown Corpusdistanza 1 23 456 7 89 10 1000 PP83 119 124 135 139 138 138 139 139 139 141 Come prevedibile, la perplessit` ` minima con d = 1 e cresce al crescere del-a ela distanza d = 2, 3, 4, 5. Per d = 6, . . . , 10 la perplessit` rimane allincirca agli a 2 Una esposizione dettagliata sui metodi di clustering applicati alla modellizzazione del linguaggio` oerta nella pubblicazione [81].e 3 Corpus in lingua inglese contenente un milione di parole 25. Stato dellarte15stessi livelli. La conclusione che si pu` trarre ` che mediamente esiste informazioneoesignicativa ai ni della predizione di una parola nelle cinque parole precedenti.Il modello a n-grammi a distanza d presenta gravi lacune. Bench` in grado di ecatturare linformazione data da parole a distanza, non sono in grado di fare usocongiunto di statistiche appartenenti a distanze diverse e frammentano inutilmente idati di training.TriggerProseguendo sulla scia dei modelli a n-grammi a distanza d, Rosenfeld [82] ha investi-gato la possibilit` di sfruttare sorgenti di informazione a distanza rispetto alla parolaada predire. Da quanto visto sul modello a n-grammi a distanza d, si pu` dedurre che oesiste informazione che possiamo sfruttare ai ni della predizione nelle parole distanti,ma che tale informazione ` spalmata su tutta la storia passata, non concentrata sueun piccolo numero di parole.Un fatto che sembra confermare tale ipotesi deriva dallutilizzo di un programmaimplementato presso la IBM e chiamato Shannon game. Questo programma presen-tava allutente il testo di un documento e chiedeva allutente di indovinare la parolasuccessiva. Le performance predittive degli utenti umani vennero confrontate conle performance un predittore basato su un modello a trigrammi. Si esaminarono inparticolare i casi in cui gli utenti umani superavano nettamente il modello a trigram-mi. Si scopr` che nel 40% dei casi la parola da predire, o una parola simile, era gi` acomparsa nel documento 4 .Basandosi su questo fatto, il trigger pair ` stato proposto come elemento utileeper estrarre informazioni dalla storia del documento. Se una sequenza di parole S1` signicativamente correlata ad una sequenza di parola S2 , allora la coppia S1 eS2 ` detta trigger pair. La stringa S1 ` detta trigger sequence e la stringa S2 `eeedetta triggered sequence. Quando la stringa S1 compare nel testo, f` scattare S2 ,acambiandone la probabilit` di comparire nel seguito.aIl problema di come estrarre i trigger pairs ` fondamentale. Infatti, anche re-estringendo le stringhe S1 e S2 a singole parole, il numero di possibili coppie ` troppoe 2grande. Se V ` il vocabolario, il numero delle possibili coppie ` V . Bench` la cardi-e e enalit` teorica massima del modello a bigrammi sia anchessa V 2 , in pratica soltantoauna frazione dei bigrammi compare nel modello. Nel caso invece del trigger pair, ilmodello si avvicina al massimo teorico V 2 .Ad esempio, dicilmente comparir` nel modello a bigrammi la probabilit` aaP (buono|squisito) o P (squisito|delizioso), perch` dicilmente quelle paroleecompariranno in sequenza. Invece nel modello trigger pair, le parole buono, de-4Questo fatto, come vedremo, supporta il meccanismo della recency promotion 2.4.4 26. Stato dellarte 16lizioso e squisito sono correlate, e quindi compariranno certamente nel modello.buono squisito squisito deliziosodelizioso buono squisito buonodelizioso squisitobuono deliziosoIl nostro scopo ` stimare probabilit` del tipo P (w, h) o P (w|h), dove w ` la parolae a eda predire e h ` la storia (history). Per semplicit`, consideriamo triggers operanti sueaparole singole. Deniamo gli eventi W e W0 come: W = {W = w, cio` W ` la parola successiva }ee W0 = {W h, cio` W occorre ovunque nella storia h } eQuando consideriamo un trigger pair ( A B ), siamo interessati alla correlazionetra levento A0 , ovvero la parola A appartiene alla storia, e levento B, ovvero laparola B ` la successiva. Possiamo quanticarne lintensit` misurando il coeciente e adi correlazione tra A0 e B, ottenuto dividendo la covarianza di A e B per il prodottodelle deviazione standard di A e B. 5Purtroppo la correlazione non si rivela ecace nel determinare lutilit` di un atrigger pair. Consideriamo due parole fortemente correlate ma raramente utilizzate,come ad esempio brest litovsk , con due parole molto pi` comuni, ma meno ufortemente correlate, come ad esempio azione obbligazione . Loccorrenza dibrest fornisce molte pi` informazioni riguardo la successiva comparsa di litovskudi quanto loccorrenza di azione faccia per obbligazione. Perci`, linserimento del otrigger pair brest litovsk sembrerebbe beneciare meglio il modello rispetto azione obbligazione . Nonostante ci`, poich` loccorrenza di azione ` moltoo eepi` comune di brest, la sua utilit` potrebbere essere pi` alta, in media. Doven-uaudo scegliere tra i due trigger pair,azione obbligazione potrebbe rivelarsipreferibile.Una buona misura del benecio fornito da A0 nel predire B ` dato dalla in-eformazione mutua media (average mutual information) tra le due variabili casualiI(A0 , B):P (B|A0 )P (B|A0 ) I(A0 : B) = P (A0 , B) log + P (A0 , B) log +P (B)P (B)P (B|A0 )P (B|A0 )+P (A0 , B) log + P (A0 , B) log (2.10)P (B)P (B) 5La covarianza di due variabili casuali X e Y , con valore atteso (media) E[X] ed E[Y ] rispet-tivamente, ` denita come cov(X, Y ) = E[(X E[X])(Y E[Y ])]. La deviazione standard di unaevariabile casuale X ` denita come la radice quadrata della varianza. La varianza di una variabileecasuale X ` denita come var(X) = E[(X E[X])2 ] e 27. Stato dellarte17Figura 2.1: Probabilit` di shares in funzione della distanza dallultima occorrenza adi stock nel testo. La linea centrale indica la probabilit` a priori. La linea superiorea(inferiore) indica la probabilit` di shares condizionata al fatto che stock (non)asia occorso.Nei trigger considerati nora, la relazione tra le parole considerata partiziona lastoria (history) in due classi, in base al fatto che S1 compaia oppure no. Questi triggersono detti binari. Si potrebbe dettagliare ulteriormente la relazione tra le parole S1 eS2 modellando la distanza alla quale le parole interagiscono. Si potrebbe considerarequanto indietro nella storia compare S1 , o quante volte compare. Queste relazionipartizionano lo spazio delle possibili storie in pi` classi. uPer determinare quali relazioni sfruttare per costruire trigger pairs ecaci, ` statoecondotto uno studio sul Wall Street Journal corpus 6 . Inizialmente, si ` creato un eindice di tutte le parole e delle relative occorrenze. Poi, per ogni possibile paio diparole, ` stato calcolato il valore del coeciente di correlazione, della informazioneemutua media, e di statistiche incrociate sulla distanza e frequenza di occorrenza.Da unanalisi dei risultati ottenuti, si sono ricavate le seguenti conclusioni: diversi trigger pairs esibiscono diversi comportamenti, e quindi dovrebbero es-sere modellati diversamente. Un modello pi` dettagliato (di quello binario) vauusato quando lutilit` attesa del trigger pair ` alta.ae i self triggers, ovvero triggers del tipo S1 S1 sono particolarmente6Il Wall Street Journal corpus ` in lingua inglese e composto da 38 milioni di parolee 28. Stato dellarte 18Figura 2.2: Probabilit` di winter in funzione del numero di volte che summer `aeoccorso nel testo. potenti e robusti. Per pi` dei due terzi delle parole nel corpus in esame, ilu trigger pi` frequente della parola si ` rivelato essere la parola stessa. u e i triggers in cui la trigger sequence e la triggered sequence hanno la stessa radice sono generalmente potenti. la maggior parte dei triggers ecaci sono composti da parole molto frequenti.azione obbligazione ` un trigger pi` utile di brest litovsk .euModello smoothed unigram-bigram-trigram modelUn modello del linguaggio utilizzato dalla maggior parte dei predittori di parole ` ilemodello a unigrammi, bigrammi, trigrammi pesati, che costituisce sostanzialmenteuna combinazione lineare dei modelli a unigrammi, bigrammi e trigrammi. Il modello, proposto in [9], ` interessato al calcolo della probabilit`:eaP (wi |w1 , w2 , . . . , wi1 ) (2.11)ovvero la probabilit` che la lutente intenda digitare la parola wi dato che le parole aprecedenti sono w1 , w2 , . . . , wi1 . Dato che il numero di possibili combinazioni di i1 parole cresce esponenzialmentecon i anche per un linguaggio avente un vocabolario limitato, non ` possibile estrarre ee memorizzare le probabilit` come sopra. Una soluzione al problema consiste nela 29. Stato dellarte 19denire una funzione F che manda da possibili combinazioni w1 , . . . , wi1 in unaclasse di equivalenza. In questo caso il modello ` approssimato da: e P (wi|F (< w1, w2, ..., wi 1 >))(2.12)Il modo pi` semplice per ottenere tale funzione F ` considerare tutte le combi- uenazioni terminanti con le medesime m parole appartengano alle stessa classe di equi-valenza. Scegliendo m = 2 abbiamo che qualsiasi sequenza w1 , w2 , . . . , wi2 , wi1appartiene alla classe di equivalenza wi2 , wi1 . La probabilit` P (wi |w1 , w2 , . . . , wi1 )adiventa allora uguale a P (wi |wi2 , wi1 ) in base alla equivalenza: P (wi |w1 , w2 , . . . , wi1 ) = P (wi | w1 , w2 , . . . , wi1 )(2.13) = P (wi |wi2 , wi1 )(2.14) Adottando un approccio frequentista per la determinazione delle probabilit`, apossiamo scrivere: P (wi |wi2 , wi1 ) = f (wi |wi2 , wi1 )(2.15)in cui la funzione f (wi |wi2 , wi1 ) indica appunto la frequenza delle occorrenze delleparole wi2 , wi1 seguite dalla parola che si cerca di predire wi .La frequenza viene calcolata conteggiando il numero di occorrenze della sequenza wi2 , wi1 , wi e della sequenza wi1 , wi secondo la formula: C(wi2 , wi1 , wi )f (wi |wi2 , wi1 ) = (2.16)C(wi2 , wi1 )La scelta del numero di classi di equivalenza, ovvero del valore di m, deve forza-tamente essere un compromesso. Scegliendo un valore m basso, si ottiene un modellofacilmente gestibile, ma una gran quantit` di informazioni viene trascurata. Sceglien-ado un valore di m alto sfrutta pi` informazioni sul contesto ma la quantit` di dati dau amemorizzare e gestire diventa computazionalmente intrattabile, e richiede inoltre uncorpus di testi di addestramento enorme.Il modello proposto ` in pratica una catena di Markov. Il modello nale ` ottenuto eecombinando unigrammi, bigrammi e trigrammi. Ci` consente di ovviare al caso in cuioi trigrammi utilizzati dallutente non compaiano nel corpus su cui si basa il modello,trasformando il contributo nullo derivante da un modello unicamente a trigrammi inun valore di probabilit` composto dal contributo del modello a bigrammi e unigrammi ascalati [38]. P (w3 |w1 , w2 ) = f (w3 |w1 , w2 ) + f (w3 |w2 ) + f (w3 ) (2.17)dove:C(w1 , w2 , w3 )f (w3 |w1 , w2 ) = (2.18) C(w1 , w2 )f (w3 |w2 ) = C(w2 , w3 )C(w2 )(2.19)C(w3 )f (w3 ) =(2.20)C 30. Stato dellarte 20e i termini sono dei pesi a somma unitaria ricavati dalladdestramento del sistemasu un training set di testi. C st` per il conteggio totale di tutte le parole.a2.4.4 Modelli semanticiRecency promotionIl meccanismo della recency promotion ` un modello semplice ed ecace che sfrutta ele informazioni semantiche estraibili dal contesto. La recency promotion sfrutta ilfatto che ` probabile che una parola utilizzata in un testo venga utilizzata pi` volte.euA parit` di condizioni, dunque, una parola gi` comparsa nella storia dovrebbeaaessere preferita rispetto a una parola mai comparsa nella storia. Tale preferenza ` eespressa assegnando una maggior probabilit` alla parola gi` comparsa rispetto allea aaltre possibili alternative che non appartengono alla storia.Alcuni studi[57] hanno vericato che il meccanismo della recency promotion in-crementa signicativamente le prestazioni di un predittore. In particolare, una analisisu un corpus di testi di lingua inglese ha mostrato che il miglior predittore delloc-correnza di una parola w ` la parola w stessa nel 68% dei casi, mentre nel 90% dei ecasi la parola stessa era tra i sei migliori predittori.Modello basato su sceneIl modello basato su scene, proposto in [45], si base sulle unit` semantiche che com-apongono il testo. Una unit` semantica, detta anche scena, ` un segmento di testo con- aetiguo e disgiunto da altre scene. Una scena ` quindi una sequenza di frasi accomunate edallo stesso contesto.Il fondamento del modello basato su scene ` che un testo non ` semplicemente eeun sequenza di parole, ma al contrario ` dotata di una struttura coerente[29]. Il esignicato di una parola varia in base al contesto e pu` essere determinato unicamente oquando la parola ` collocata nel suo contesto.eCiascuna scena ` caratterizzata dal fatto di riferirsi allo stesso contesto loca-ele, ovvero si riferisce agli stessi oggetti nella situazione in questione. Allinterno diuna scena, le parole sono predicibili in quanto sono semanticamente collegate lunaallaltra.Parole appartenenti a scene diverse sono pi` dicilmente predicibili in quanto uappartengono a contesti diversi. Un testo pu` essere considerato una sequenza di oscene distinte. Un testo nella sua interezza esibisce una coerenza pi` debole di quella uesibita dalle parole appartenenti alla medesima scena.Una scena descrive determinati oggetti collocati in una determinata situazione(luogo, tempo). Il fatto che parole appartenenti a una scena si riferiscano al medesimocontesto ci consente di identicare e partizionare il testo in scene.In sostanza, grazie alla propriet` di coerenza semantica di un testo possiamoadenire una funzione che mappa da un insieme di parole appartenenti a una unit` a 31. Stato dellarte21testuale (scena) ad unarea semantica (contesto). La coerenza semantica di una parola` strettamente collegata alla predicibilit` delle parole. Infatti parole appartenenti allae astessa scena risultano pi` facilmente prevedibili di parole appartenenti a una scena udistinta, perch` appartengono ad un altro contesto. eLa scena ` stata individuata come unit` testuale semantica di base perch` costi- eaetuisce la pi` piccola unit` testuale su cui si pu` individuare contesto e coerenza.[44] u aoNella pubblicazione A Scene-based Model of Word Prediction [45], emerge che dal-lanalisi di un intero testo non si ricavano in generale informazioni sucienti ad unapredizione accurata, mentre invece questo avviene estraendo informazioni dalle sin-gole scene, poich` una scena contiene informazioni relative a un contesto pi` specico e ue localizzato. Questo fatto ci permette di aermare che la scena ` lunit` testualeeaminima e pi` informativa al ne della predizione semantica.uIl modello sfrutta la dierenza di predicibilit` tra le parole allinterno e allesterno adi una scena. La predicibilit` ` strettamente dipendente dal contesto locale allaa e `scena. E importante quindi trattare ciascuna scena indipendentemente dalle altre.Per fare ci` ` necessario riconoscere la ne di una scena e linizio della successiva. Eoe `fondamentale inoltre aggiornare il contesto alla nuova scena corrente.Qui di seguito viene presentata una breve descrizione dellalgoritmo proposto.Lalgoritmo legge il testo parola per parola, eettuando la predizione della paro-la successiva. Per ciascuna iterazione, lalgoritmo determina se la parola correnteappartiene alla scena corrente o alla nuova scena successiva: se la parola appartiene alla scena corrente, allora aggiorna il contesto locale predice la parola successiva se la parola appartiene ad una nuova scena, allora marca il contesto corrente come contesto precedente estrae un nuovo contesto dalla parola predice la parola successiva Nel seguito, useremo la seguente notazione: IS =puntatore alla parola che marca lInizio Scena wi+1 =parola successiva da predirewi = parola corrente wi1 , wi2 , . . . = parole precedentiH =porzione di testo che spazia da IS a alla parola corrente I passi principali dellalgoritmo sono: 1. aggiorna (crea) il contesto in base a H 32. Stato dellarte22Figura 2.3: Predizione basata su modello a sceneFigura 2.4: Predizione basata su modello a scene e segmentazione del testo2. eettua la predizione della parola successiva wi+13. se la predizione ha successo, aggiorna H in modo che includa la parola wi+14. se la predizione non ha successo, aggiorna il puntatore IS in modo che punti alla parola wi+1 e aggiorna H in modo che includa soltanto la parola wi+1La scena corrente ` individuata dal puntatore IS. IS ` aggiornato in base ale erisultato della predizione. Lunica eccezione ` che il puntatore IS punta alla prima eparola inserita, ovvero la prima scena di un testo inizia con la prima parola del testo.Esaminiamo ora pi` in dettaglio i meccanismi di predizione e come valutare il falli- umento o successo della predizione. Idealmente, vorremmo che la predizione propongala parola successiva pi` probabile in base alla formula: uP (wi+1 |H)(2.21)ovvero la probabilit` che la parola successiva sia wi+1 condizionata al fatto che laaporzione di testo costituente la scena corrente sia H. Tuttavia risulta dicile edimpraticabile stimare tali probabilit` in quanto sarebbe necessario un grande corpus adi testi correttamente segmentato in scene. Tale corpus non ` disponibile. e 33. Stato dellarte 23La soluzione scelta ` predire la parola successiva in base allinverso della distanzaesemantica tra la parola wi+1 e le parole presenti in H. Questa scelta si fonda sul fattoche le parole costituenti la porzione di testo H della scena corrente appartengonoal medesimo contesto e sono quindi semanticamente vicine e con alta probabilit` asemanticamente vicine alla parola da predire wi+1 , eccetto che se la parola wi+1marca linizio di una nuova scena. La denizione della funzione d(wi+1 |H) che calcolala distanza semantica di wi+1 dato il contesto H risulta quindi di centrale importanzaper il meccanismo di predizione 7 .La funzione di predizione ritorna quindi una lista di parole ordinate secondo lin-verso della distanza semantica d(wi+1 |H). Detto L linsieme delle parole semanti-camente collegate al contesto H, la funzione di predizione ordina tutte le parole lappartenti a L in ordine crescente di distanza semantica d. Le parole suggerite dalpredittore sono quelle in cima a tale lista ordinata.Nota la parola wi+1 , possiamo allora calcolare lerrore di predizione e, fondamen-tale per il rilevamento dei conni di una scena e denito come:re=(2.22) |L|dove r rappresenta la posizione che la parola wi+1 ora nota aveva nella lista ordinataritornata dalla predizione e |L| rappresenta la cardinalit` dellinsieme delle parole asemanticamente collegate appartenti allinsieme L (o in altre parole, il numero diparole costituenti la lista ordinata).Un ampio numero di metodi per segmentare il testo in scene o simili unit` testuali a` stato proposto in vari studi sulla struttura dei testi, come ad esempio:e frasi perno (cue phrases) che indicano un cambio di contesto/discorso combinazione di frasi perno e altri elementi linguistici (segni di interpunzio-ne,parole chiave) VMP (Vocabulary Management Prole) rileva cambiamento di scena in base alnumero di nuovi vocaboli inseriti in un intervallo di testo LCP (Lexical Cohesion Prole) che mappa la coerenza lessicale del testo inciascun punto metodi grammaticali/statistici metodi semantici/statisticiIl metodo proposto ricorre al valore dellerrore di predizione e per determinare iconni di una scena. Intuitivamente, la predizione ` ritenuta avere successo quandoelerrore di predizione ` piccolo. Al contrario, la predizione fallisce quando lerrore edi predizione ` grande. e7Il metodo di calcolo della distanza proposto ` descritto in [45] e 34. Stato dellarte24Figura 2.5: Rilevamento dei conni di una scena mediante lerrore di predizioneAllinterno di una scena, lerrore di predizione sar` sempre piccolo, in quantoale parole appartengono al contesto locale e la loro distanza semantica ` piccola. eViceversa, al conne tra una scena e la successiva, lerrore di predizione sar` agrande perch` la nuova parola appartiene a un contesto diverso da quello dellaescena precedente e esibir` dunque una distanza semantica maggiore. aPer dare una descrizione quantitativa dei termini piccolo e grande usati, sipu` ricorrere ad un stima del tipo: o ei3 + ei2 + ei1 + ei = ei+1 (2.23)dove ei+1 ` lerrore stimato e , , sono parametri. Lerrore eettivo ` detto gran- e ede se ` maggiore dellerrore stimato. Lerrore eettivo ` detto piccolo se ` minore eeedellerrore stimato. ei+1 > ei+1 errore grande(2.24) ei+1 ei+1 errore piccolo (2.25) 35. Capitolo 3Modello multi-sorgenteThe sciences do not try to explain, they hardly even try to interpret, they mainly make models.By a model is meant a mathematical construct which, with the addition of certain verbal interpretations, describes observed phenomena.The justication of such a mathematical construct is solely and precisely that it is expected to work.Johann Von Neumann(1903 - 1957)I modelli tradizionali proposti in letteratura permettono di catturare alcune informa-zioni presenti nel testo gi` inserito dallutente e sfruttare tali informazioni per eseguire aloperazione di predizione. La qualit` della predizione dipende dal tipo di modello adel linguaggio utilizzato e dalle risorse a disposizione del modello. Ad esempio, nelcaso di un predittore che usi un modello del linguaggio a unigrammi, bigrammi etrigrammi pesati, la qualit` della predizione varia al variare del corpus di trainingautilizzato per addestrare il sistema e al variare della risorsa utilizzata, ovvero il re-positorio di frequenze di unigrammi, bigrammi e trigrammi. Maggiore ` la quantit`eadi testi a disposizione, maggiore ` il numero di conteggi di unigrammi, bigrammi e etrigrammi diversi che si potr` estrarre dal corpus e pi` signicative saranno le stimeaudi probabilit` ottenute dalla frequenze di occorrenza degli n-grammi.aI predittori proposti in letteratura sono caratterizzati dallavere un modello dellinguaggio sso e invariabile. Ad esempio, il modello del linguaggio di un predittorebasato su n-grammi ` immutabile. Le prestazioni del modello possono essere incre- ementate migliorando la qualit` della risorsa (ad esempio, aumentando la dimensioneadel corpus) o specializzando le risorse per adattarle al contesto specico di utilizzo (adesempio, utilizzando soltanto testi pertinenti allambito di utilizzo, una sorta di dizio-nario specializzato di frequenze di occorrenza). Tuttavia ci` non cambia la sostanzaodel predittore: la predizione avviene unicamente in base al modello del linguaggio an-grammi, il quale ` statico e invariabile. ePer superare tali limitazioni, si propone un modello del linguaggio in grado disfruttare un numero qualsiasi di sorgenti di informazione ricavabili dal testo. Unmodello del linguaggio in grado di combinare diversi meccanismi di predizione che 36. Modello multi-sorgente26attingono a diverse sorgenti di informazione ` detto modello multi-sorgente. Lap- eproccio alla modellizzazione multi-sorgente del linguaggio parte dalla considerazioneche la predizione consiste nel suggerire la parola avente la pi` alta probabilit` di essere uala parola successiva. Il problema dunque ` ricondotto alla stima della probabilit` che eauna data w parola sia la successiva, ovvero la parola che lutente intende digitare,condizionata al fatto che la storia, ovvero le parole precedenti, sia h.La stima della probabilit` P (w|h) ` ottenibile a partire dalla storia h in unaaemolteplicit` di modi. Consideriamo il frammento di testo Ieri sono andato dalameccanico a riparare un guasto serio al motore. Dal frammento possiamo imme-diatamente estrarre unigrammi, bigrammi e trigrammi. Dovendo predire la paro-la guasto, possiamo utilizzare un modello statistico che stimi la probabilit` di aP (guasto|ieri, sono, andato, dal, meccanico, a, riparare, il) usandole probabilit` P (guasto), P (guasto|un), P (guasto|riparare, un). Questaaoperazione ` eettuata dal modello a unigrammi, bigrammi e trigrammi pesati. eLa stima cos` ottenuta si concentra solo sulla frequenza di occorrenza degli n- grammi considerati rilevata dal corpus di training e trascura molte altre sorgentidi informazione presenti nel frammento. Ad esempio, un sorgente di informazionesemantica potrebbe essere rintracciata nelle parole meccanico e riparare. A par-tire da queste due parole, ` possibile ricostruire un contesto e assegnare alle parole emalfunzionamento e guasto una alta probabilit`. Una altra sorgente di infor-amazione potrebbe essere individuata nel predire serio. Essendo noto che la parolaprecendente ` un nome di genere maschile e che ad essa pu` seguire un aggetti- eovo necessariamente di genere maschile, possiamo scartare leventualit` che la parolaasuccessiva sia seri, seria, serie o qualisiasi aggettivo femminile.In sostanza, una sorgente di informazione costruisce una relazione tra le paroledella storia. La relazione individuata ` sfruttata da un meccanismo di predizione pereassegnare una probabilit` (o punteggio) alle potenziali parole che possono seguire. aNella storia h ` possibile individuare una molteplicit` di sorgenti di informazione, eaclassicabili in tre categorie: statistiche sintattiche semanticheIl contributo predittivo fornito dai diversi meccanismi di predizione operanti su di-verse sorgenti di informazione ` inne combinato in un unico modello risultante. Ilemodello multi-sorgente ` essibile, in quanto pu` funzionare con un numero variabileeodi meccanismi predittivi. Tale essibilit` consente al modello di essere estremamente aespandibile e personalizzabile. Infatti, non essendo il modello sso e immutabile, ` epossibile attivare solo i meccanismi di predizione desiderati e eliminare gli altri. Inol-tre, ` facile e immediato aumentare la potenzialit` del modello, inserendo un nuovo eameccanismo predittivo che permetta di sfruttare una o pi` sorgenti di informazione. u 37. Modello multi-sorgente 273.1Sorgenti di informazione statisticaIn un esperimento condotto nel 1951 [85], Shannon chiese a diversi soggetti di predirelelemento di testo successivo a un frammento di testo dato. La procedura consistevanel mostrare ai soggetti un frammento di testo e chiedere loro di indovinare la letterasuccessiva. Se il soggetto rispondeva erroneamente, allora gli veniva comunicato che lalettera che avevano suggerito non era quella corretta, e gli veniva chiesto di riprovarench` non indovinavano la lettera corretta.e Un tipico esempio dellesperimento ` il seguente, dove i numeri a pedice indicano eil numero di tentativi prima di indovinare la lettera corretta e il simbolo indica unospazio: T1 H1 E1 R5 E1 1 I2 S1 1 N2 O1 1 R15 E1 V17 E1 R1 S1 E21 O3 N2 1 A2 2 M7 O1 T1 O1 R1 C4 Y1 C1 L1 E1Shannon prov` che se la probabilit` di indovinare la lettera corretta in r tentativioa` pr , allora lentropia H (in bits per carattere) ` limitata da:ee 1r(pr pr+1 ) log2 r < H < pr log2(3.1)rr prDal risultato dellesperimento, condotto usando cento frammenti di testo presi dallibro di Dumas Malone, Jeerson the Virginian, Shannon stim` i limiti superiori e oinferiori dellentropia intorno a 1.3 e 0.6 bits per carattere. Shannon esegu` altre stime basate sullanalisi statistica della frequenza dei caratteri e delle parole. Dimostr`oche lentropia decresce da 4.0 bits per carattere usando la frequenza delle singolelettere a 3.1 bits per carattere usando la frequenza di un carattere dati i due caratteriprecedenti.3.2Predizione statisticaLa predizione statistica utilizza un modello che sfrutta le sorgenti di informazionestatistiche. In generale, un modello statistico del linguaggio ` descritto da una distri- ebuzione di probabilit` P (s) su tutte le possibili unit` testuali s, siano queste caratteri,aaparole, frasi, paragra o interi testi.Il campo della modellizzazione del linguaggio ha molto in comune con il campodella linguistica computazionale. Bench` le due discipline perseguano obiettivi al-equanto simili, ` possibile individuare una elemento distintivo tra le due. Per meglioedenire questa dierenza, chiamiamo S la sequenza di parole costituenti una unit` di atesto e N la corrispondente struttura associata ad S. Se consideriamo come strutturanascosta H il senso delle parole di S abbiamo: ` S = {E grande}N = {essere adulto} 38. Modello multi-sorgente28N = {essere grosso, largo, vasto} N= {essere alto} N= {essere lungo} N= {essere eccezionale}La modellizzazione statistica del linguaggio ` principalmente orientata alla stima edi P (S), mentre la linguistica computazionale ` principalmente interessata alla stima edi P (N |S). Ovviamente, se si potesse stimare la probabilit` congiunta aP (S, N ) = P (S|N )P (N ) = P (N |S)P (S)allora sia P (S) che P (N |S) potrebbero essere ricavate. In pratica per` la stimaodi P (S, N ) ` dicilmente realizzabile e richiede lutilizzo di altre risorse, come ad eesempio le sorgenti di informazione semantiche. I modelli predittivi statistici imple-mentati nel sistema predittivo multi-sorgente Soothsayer sono riconducibili a quelliesposti nella sezione 2.4.3.3 Sorgenti di informazione sintattica3.3.1MorfologiaLa morfologia un settore della linguistica che studia la struttura delle parole, ieprocessi di essione, derivazione e composizione delle parole.I componenti basilari di una parola sono detti morfemi. Un morfema ` ogni eelemento che allinterno di una parola serve a indicarne la funzione grammaticale.Un morfema la pi` piccola unit` componente una parola dotata di signicato oe u adi cui ` possibile riconoscere la funzione grammaticale. Ad esempio, data la parola evediamo, possiamo riconoscere in esso il morfema ved-, radice del verbo vedere, eil morfema -iamo, che indica la prima persona plurale. La parola velocemente `ecomposta dal presso veloce- e dal susso -mente.Le regole di combinazione dei morfemi in parole si riconducono a tre categorie:inessione Linessione comporta lesistenza di diverse forme di uno elemento les- sicale. Tali forme hanno essenzialmente il medesimo signicato ma funzione grammaticale diversa. Ad esempio, veloce e velocissimo, morfema issi- mo. Linessione si dierenzia in declinazione e coniugazione a seconda che si applichi rispettivamente a classi nominali o verbali.derivazione La derivazione produce un elemento lessicale dotato di un diverso signi- cato. Ad esempio, felicit` e infelice. I morfemi -it` e in- modicanoaa il signicato dellaggettivo felice.composizione La composizione consiste nella formazione di una nuova unit` les-asicale per combinazione di altre preesistenti. Esempi sono le parole compostecaposquadra e rompighiaccio. 39. Modello multi-sorgente 29 I linguaggi naturali sono contraddistinti da diverse caratteristiche morfologiche epossono essere classicati in:linguaggi analitici I linguaggi analitici sono contraddistinti da una morfologia mol- to semplice. Lordine delle parole ` il meccanismo principale che determina il e signicato e le relazioni tra le parole. La radice delle parole non cambia, e le parole sono composte soltanto dalla radice. Cinese e Vietnamese sono linguaggi analitici.linguaggi agglutinativi I linguaggi agglutinativi sono caratterizzati da una mode- rata complessit` morfologica. I morfemi sono per` sempre separabili, ovvero le a o radici delle parole sono modicate, ma soltanto mediante laggiunta di assi (prevalentemente sussi). Questi assi determinano la funzione della parole nella frase. Lordine delle parole ` meno importante di quanto lo ` nei linguaggiee analitici, in quanto gli assi comunicano la funzione strutturale delle parole. Korean, Turco, e Giapponese sono linguaggi agglutinativi.linguaggi sintetici I linguaggi sintetici sono morfologicamente complessi. I morfemi sono spesso inseparabili dalla radice delle parole. A volte la radice della parola ` completamente indistinguibile. Lordine delle parole non ` importante, poich` ee e i morfemi stabiliscono il signicato della parola nella frase. Indipendentemen- te dallordine delle parole, il signicato permane (pur con leggere sfumature enfatiche). Il latino ` una lingua sintetica. elinguaggi polisintetici I linguaggi polisintetici sono morfologicamente estremamen- te complessi. Incorporano spesso molti elementi lessicali in una parola. Tutti gli elementi tendo a fondersi con la radice della parola. Molti linguaggi amerindi sono polisintetici, come lInuktitut. Un esempio specico ` tavvakiqutiqarpiite che pu` essere tradotto in Hai del tabacco da vendere? oIn diversa misura per ciascuna classe morfologica di linguaggi, le regole morfologi-che possono essere sfruttate per migliorare la qualit` della predizione, come descritto anel seguito.3.3.2 SintassiLa sintassi ` lo studio delle relazioni che si istituiscono nella frase tra le parti che ela compongono (parole, monemi, morfemi, sintagmi) e tra queste e le funzioni (sog-getto, predicato, oggetto, complementi ecc.) o le categorie (di tempo, di spazio, diriferimento agli interlocutori ecc.) inerenti a una lingua. Tali relazioni possono esse-re scritte sotto forma di regole che una frase deve rispettare per essere consideratacorretta. Linsieme di tali regole pu` essere formalizzato in una grammatica.oImmaginiamo di generare sequenze di lunghezza qualsiasi di parole scelte casual-mente tra tutte quelle apparteneti a un linguaggio. Otterremo un insieme innito di 40. Modello multi-sorgente30sequenze contenente il sottoinsieme innito delle frasi appartenenti a una particolarelingua. Ogni parlante sar` sempre in grado di discriminare le frasi corrette dalle se- aquenze casuali [23]. Una grammatica formale, o grammatica a struttura sintagmatica,` un modello di quel dispositivo nito che permette a ciascun parlante di una linguaedi riconoscere un numero illimitato di frasi della sua lingua in un insieme altrettantoillimitato di sequenze.Il meccanismo centrale delle grammatiche a struttura sintagmatica ` linsiemeedelle produzioni o regole di riscrittura. Esistono diversi classi di grammatiche astruttura sintagmatica, ma un tipo solo ` sucientemente espressivo per la descrizione edel linguaggio naturale, le grammatiche context-free, o CF, un tipo di grammatica astruttura sintagmatica, che ` stato sviluppato da N. Chomsky come parte della teoria edei linguaggi formali. Esse hanno un preciso statuto formale e, sul piano descrittivo,soddisfano due scopi: descrivono le distribuzioni lineari canoniche degli oggetti linguistici (parole singole e sintagmi)nella frase assegnano ad ogni frase una struttura linguistica in termini di relazioni gerar- chiche (dominanza)Il primo compito, quindi, che si deve arontare per scrivere una grammatica chepossa essere integrata in un programma di analisi sintattica automatica, ` imparareea tradurre il frammento di lingua che si intende analizzare in termini di un insiemedi regole di riscrittura. Questo avviene, tradizionalmente, in due modi: esaminando il campione di lingua che si ritiene rappresentativo del sottoinsieme di lingua che si vuole analizzare e deducendone una grammatica costruendo la grammatica a partire dalle conoscenze grammaticali disponibili, ad esempio, partendo da un manualeAi ni della costruzione di un predittore di parole, la soluzione ottimale consistenel costruire una grammatica formale in grado di generare tutte e sole le innite frasicorrette. Supponendo di disporre di una simile grammatica, i suggerimenti generatidai meccanismi di predizione potrebbero essere ltrati dal componente sintattico delsistema. Soltanto i suggerimenti grammaticalmente corretti potrebbe essere oerti al-lutente, incrementando le prestazioni del predittore. Una descrizione pi` dettagliataudi un simile componente ` oerta nella sezione 3.4.e3.4 Predizione sintatticaLa predizione sintattica sfrutta le regole grammaticali e morfologiche del linguaggionaturale per determinare la correttezza, la pertinenza e la precisione dei possibilisuggerimenti. 41. Modello multi-sorgente31La predizione sintattica si dierenzia dai meccanismi di predizione statistici esemantici per il fatto che si congura pi` come un ltro che un generatore di sug-ugerimenti. Lo scopo principale di un predittore sintattico ` quello di vericare laecorrettezza sintattica dei potenziali suggerimenti da orire allutente.Questo risultato ` ottenuto vericando che la concatenazione del nuovo suggeri- emento a quanto sinora inserito dallutente generi una frase corretta. La correttezzadella frase ` valutata mediante unoperazione di analisi dalla frase. Esistono vari tipiedi analizzatori, classicati in base al tipo di analisi che compiono.Gli analizzatori pi` semplici da implementare sono detti tagger PoS. Il tagging PoS u(POS = Part Of Speech parte del discorso) consiste nellassociare ad ogni paroladel corpus la sua categoria lessicale (nome, verbo, articolo, . . . ). Il PoS tagging pu`oessere ottenuto mediante un confronto delle parole con un dizionario.Pi` complessi sono invece i parser sintattici. Un livello di analisi superiore al PoSutagging ` il parsing sintattico, che consiste nellevidenziare ed etichettare le unit` easintattiche al di sopra della parola (i sintagmi). Una collezione di frasi cos` codicate si chiama tree-bank, o albero sintattico.Qualunque sia il tipo di analizzatore di cui si dispone, lidea fondamentale ` di econcatenare il potenziale suggerimento con la frase e vericare che il risultato siacoerente con la grammatica. I suggerimenti vagliati dal meccanismo di predizionesintattico verranno suddivisi in tre classi:suggerimenti approvati i suggerimenti approvati sono compatibili con la gram-matica e pertanto ritenuti corretti. La probabilit` associata al suggerimentoarimane invariata.suggerimenti non giudicabili sono i suggerimenti che la grammatica non ` in gra-edo di analizzare. Tali suggerimenti vengono oerti allutente, ma la probabilit` adi ciascun suggerimento viene scalata verso il basso in modo tale che non su-peri la probabilit` del suggerimento approvato meno probabile. (impostabileadallutente, potrebbe anche passare invariata).suggerimenti riutati i suggerimenti riutati sono incompatibili con la grammati-ca e pertanto ritenuti errati. In base alle preferenze impostate, tali suggerimentisono penalizzati in termini di probabilit` o del tutto bloccati dal ltro e maiaoerti allutente.Come descritto nella sezione 3.3 dedicata alle sorgenti di informazione gramma-ticale, ciascun linguaggio naturale ` diverso e presenta grammatiche dierenti. Ielinguaggi analitici benecieranno maggiormente dallutilizzo di un parses sintattico,mentre i linguaggi sintetici si gioveranno signicativamente anche del contributo diun tagger. Nelle successive sezioni vediamo alcuni esempi di come applicare le ideepresentate alla lingua italiana. 42. Modello multi-sorgente 323.4.1Compatibilit` morfologica aLa lingua italiana ` notevolmente inessa. Le parti del discorso sono nove, di cui ecinque (nome, verbo, articolo, aggettivo, pronome) sono variabili, mentre le restantiquattro ( avverbio, preposizione, congiunzione, interiezione) sono invariabili.Tutte le parti variabili del discorso devono concordare. Ad esempio, il nome deveconcordare in numero e genere (declinazione), mentre il verbo deve concordare inpersona e numero (coniugazione). Dato il frammento di testo il bambino, soltan-to la parola gioca seguir` correttamente, mentre gioco, giochi, giochiamo,agiocate, giocano saranno riutate. Dato il frammento di testo una casa, le pa-role bello, belli, belle saranno riutate dalla grammatica, e solamente la parolabella sar` accettata.a3.4.2Compatibilit` sintagmatica aLa grammatica indica come unire correttamente le parti del discorso per costruirei sintagmi. Ad esempio, il sintagma nominale pu` essere composto da un articolooseguito da un nome o da un articolo, aggettivo e nome come Il bambino o Il belbambino, ma non pu` essere costruito da articolo, nome e nome come Il trenoomela. Il parser riconoscer` questultimo sintagma come illegale. aLa grammatica indica inoltre come unire correttamente i sintagmi per costruireuna frase di senso compiuto. La frase italiana ` formata da una successione ordinata edi sintagmi che rispetta precise regole. Ad esempio, un sintagma nominale ` necessa-eriamente seguito da un sintagma verbale, come nella frase Il bambino gioca, doveIl bambino ` il nostro sintagma nominale mentre gioca ` il sintagma verbale. e eTutte queste regolarit` possono essere sfruttate per migliorare la qualit` del- aala predizione, produrre dei suggerimenti corretti e convergere pi` velocemente al usuggerimento della parola desiderata dallutente.3.4.3Esempio di grammatica generativaVediamo un breve esempio di una grammatica formale generativa [54]. La nostragrammatica dovr` essere in grado di generare la frase La moglie di mio fratello ama ai concerti.Una grammatica si compone di tre elementi: un insieme di simboli terminali un insieme di simboli non terminali un insieme di regole di riscrittura PLapplicazione delle regole di riscrittura (partendo dal simbolo iniziale S) con-sente di generare un insieme di frasi di una lingua (il liguaggio generato). Le re-gole di riscrittura che consideriamo si dicono libere dal contesto (context-free).Ammettono: 43. Modello multi-sorgente33 Figura 3.1: Albero sintattico un solo simbolo terminale a sinistra della regola possibilit` di ricorsione, cio` ` possibile che nella parte destra della regola a e e compaia il simbolo presente nella parte sinistraLa nostra grammatica ` data in tabella 3.1. La tabella 3.2 dimostra come laegrammatica G ` in grado di generare la frase Mia moglie ama i concerti:eLa grammatica G non riesce a generare la frase mia moglie ama i conerti in piaz-za perch` non ha a disposizione un simbolo per costruire un sintagma preposizionalee(SP) per generare la porzione di frase in piazza. La frase non fa dunque parte dellinguaggio generato dalla grammatica G.Quando si espande un simbolo preterminale, la scelta del simbolo terminale non` vincolata in alcun modo. Ci` comporta che qualsiasi parola possa essere sceltae ocome simbolo terminale, anche se non concorda con le parole precedenti. In par-ticolare alcune frasi generabili violano le regole sugli accordi tra nome e verbo, oarticolo e verbo, etc. . . Per ovviare a tale mancanza, introduciamo prima il lessicocome in tabella 3.3, eliminando le regole lessicali dallinsieme delle regole di produ-zione. Successivamente, introduciamo nel lessico informazioni sui tratti morfologicidelle parole, come mostrato in tabella 3.4. A questo punto il gioco ` fatto, disponendoedi una procedura che restituisce ve