Un’introduzione ai sistemi di Statistical Machine Translation: caratteristiche e differenze.
La Statistical Machine Translation tratta la traduzione del linguaggio come un problema di machine learning. Esaminando esempi di traduzioni fornite, i suoi algoritmi imparano automaticamente come tradurre. Data una lingua A, la sua controparte tradotta B e una SMT che traduce da A a B, durante la fase di training la macchina assume che A sia source language e che B, invece, target language (Way, 2010:533).
La crescente disponibilità di testi e corpora bilingue ha stimolato l’interesse per lo studio di metodi per l’estrazione di informazioni linguisticamente valide. Si noti come attualmente è possibile ottenere allineamenti di frasi all’interno di un testo anche senza ispezionare le singole occorrenze presenti all’interno di un enunciato (Brown, 1990). La qualità delle SMT è condizionata fortemente dai training corpora e dal tipo di risorse usate, quindi è necessario disporre di corpora con milioni di token per un esito soddisfacente del processo di traduzione. Purtroppo, però, grandi corpora paralleli esistono solo per poche coppie di lingue (Way, 2010).
Indipendentemente dal tipo di SMT utilizzata, ogni sistema corpus-based deve passare attraverso una fase di pre-trattamento, che consiste nella messa a punto delle fonti di training, la pulizia dei corpora e il training stesso (Way, 2010).
I metodi di trattamento dei corpora sono molteplici, e sono tutti finalizzati a dare una precisa etichettatura delle occorrenze presenti all’interno di un dato testo. Il primo problema da risolvere riguarda la divisione degli enunciati in token separati da uno spazio: tale procedimento è detto tokenization (Palmer, 1997). Secondo problema è il word alignment, ossia la determinazione delle corrispondenze a livello lessicale dei token all’interno di un corpus bilingue. L’approccio più comune in questo senso è dato da modelli generativi[1], che vedono l’allineamento come processo di generazione di un enunciato (o di un lemma) da una lingua ad un’altra. Tale passaggio è caratterizzato da tre compiti fondamentali: inserimento o cancellazione di parole, riordinamento degli enunciati e fertilità[2]. Un approccio alternativo per il trattamento dei corpora è dato dai modelli di word alignment di tipo discriminativo che, a differenza dei modelli generativi canonici, hanno bisogno di meno dati per il training (Way, 2010).
I sistemi di SMT possono essere suddivisi in word-based e phrase-based. La differenza sostanziale è che i primi sono modelli di traduzione lessicale che si basano sulla corrispondenza parola per parola all’interno di una data coppia di lingue, mentre i secondi sono utilizzati per una maggiore resa del contesto traducendo sequenze di parole come se fossero un’unica occorrenza all’interno del testo: con il termine phrase si intende, infatti, una qualsiasi sequenza di lunghezza n di occorrenze contigue[3]. Il set di paia di phrase estratte corrisponde al cuore del modello di traduzione dei suddetti sistemi di SMT.
Per ordinare ogni phrase all’interno del target è necessario istruire il sistema a posizionare correttamente le sequenze di occorrenze o phrase all’interno del target: per espletare questa funzione si usano i reordering models, che vengono appresi durante la fase di traduzione (Way, 2010). Un noisy channel model, invece, migliora l’ordine delle occorrenze fornendo ulteriori informazioni contestuali (Shannon, 1948).
Una SMT necessita, quindi, di tre componenti probabilistiche: un modello di phrase o word translation, un modello di reordering e un modello di linguaggio: poichè le variabili all’interno di tali modelli sono molteplici, si è soliti rappresentarle in maniera Log-linear, ossia analizzando ogni variabile al fine ottenere il miglior risultato possibile in termini computazionali e linguistici (Way, 2010).
Una volta analizzati i corpora, si passa alla fase di decoding[4]. Durante questo procedimento, si tiene conto della velocità di esecuzione e del tasso di probabilità di ogni singolo esito possibile. Fondamentale in questa fase è l’algoritmo definito Beam Search, il cui obiettivo è quello di trovare la traduzione più simile al testo d’origine sulla base dei parametri impostati nei modelli precedenti (Tillmann, 2003:97).
I metodi esplicati sono solo una parte degli approcci alla Machine Translation esistenti: nella letteratura inerente alla MT, infatti, sono presenti modelli alternativi a quelli word-based e phrase-based.
Verranno esplicati altri due processi utili per un appropriato approccio alla traduzione data-driven: il primo viene detto lemmatizzazione, ossia la divisione di un testo in lemmi. Una lemmatizzazione appropriata avviene nel momento in cui il software dispone di tutte le possibili forme flesse riconducibili ad un dato lemma, riuscendo allo stesso tempo a disambiguare gli omografi (Chiari, 2007:71); il secondo è detto parsing.
Con il termine parsing si fa riferimento al processo di analisi di un enunciato, riconosciuto come una sequenza di lessemi, con la finalità di determinare le sue possibili strutture sintattiche. Maggiore è la precisione del parsing, migliore sarà la resa della traduzione stessa.
Le strutture sintattiche di un enunciato si evincono da una grammatica formale associata alla lingua dell’enunciato stesso. Le basi della grammatica in linguistica computazionale sono basate sulle teorie di Chomsky, il quale all’interno de “Le strutture della sintassi” (1957) considerò la possibilità di una completa formalizzazione delle regole di ciascuna lingua, sulla base della quale sarebbe stato possibile dedurre l’insieme delle frasi formate dalla lingua stessa (citato in Chiari, 2007:29). Chomsky criticava la linguistica dei corpora in quanto ogni corpus per definizione era finito, incompleto, imperfetto, e indicava solo in maniera parziale determinate caratteristiche linguistiche (citato in Chiari, 2007:30). Tuttavia, non poteva considerare l’enorme utilità delle sue regole nei processi computazionali. Chomsky, inoltre, definì anche i principali tipi di grammatiche formali, riconosciuti nella cosiddetta “Gerarchia di Chomsky”, che è formata da quattro tipologie di grammatica: sistemi non ristretti, sistemi contestuali (context-sensitive), sistemi acontestuali (context-free) e grammatiche regolari (citato in Chiari, 2007:31).
In linguistica computazionale, la grammatica acontestuale (context-free grammar, CFG) è tra le più utilizzate. Essa descrive una porzione di lingua e serve per associare a un enunciato un albero sintattico che ne metta in luce le dipendenze sintattiche. La CFG è fondamentale nei processi di parsing. Un parser[5] divide un enunciato in sintagmi, ne stabilisce le gerarchie, analizza singolarmente ogni lessema attribuendogli, infine, una determinata categoria grammaticale. Un tipo di parsing utilizzato è detto bottom-up (data-driven)[6], in quanto parte dai simboli terminali[7] per poi ricostruire una struttura ad albero compatibile. Data la grande massa di dati e la grandezza dei corpora, i parser sintattici utilizzati sono detti treebanks[8], in quanto il prodotto dell’analisi degli enunciati del corpus corrisponde a diagrammi ad albero (Chiari, 2007:103). Dati i grandi sviluppi in questo campo, ma anche la difficoltà effettiva nel riuscire a riconoscere per qualsiasi enunciato, viene utilizzato lo shallow parsing[9]. Vengono, quindi, utilizzati algoritmi di tipo statistico per determinare quali siano le gerarchie più probabili a seconda dei contesti (Chiari, 2007:104).
Tornando alle tipologie di MT, Chiang descrive uno hierarchical model: tale modello è formalmente definito come context-free grammar, ma fonda le sue basi su un doppio testo (come quelli usati in precedenza) che non possiede informazioni sintattiche (2005).
Molti ricercatori sono giunti alla conclusione che, per costruire un sistema di MT di qualità, bisogna sviluppare nuovi modelli di traduzione capaci di estrarre rappresentazioni sintattiche e semantiche complesse del source language e, contemporaneamente, del target: tali modelli sono definiti tree-based (Way, 2010).
Con decision tree viene indicata una tecnica per risolvere problemi di classificazione come ad esempio coreferenze, anafore o disambiguazioni. Tale tecnica è avviata, come nei casi precedenti, da un training mediante corpora. Un decision tree, nella sua forma base, non ha bisogno di particolari parametri per poter ottenere un buon risultato, è di facile interpretazione ed è molto veloce sia durante la fase di allenamento, sia durante il trattamento dei testi (Schmid, 2010).
Yamada e Knight hanno proposto un modello sintax-based tree-to-string capace di trasformare il testo di origine in stringhe di target applicando operazioni stocastiche che si occupano di cogliere le differenze linguistiche tra i due testi, migliorandone la resa in termini di individuazione dei casi (2001).
Una traduzione data-oriented (DOT) consiste in un modello ibrido di traduzione che combina esempi, informazioni linguistiche e modelli di traduzione statistica. Hearne e Way hanno presentato un approccio ibrido rule-based e data-driven per la machine translation: tale modello potenzialmente è accurato, solido e adattabile. Tale modello è detto Tree-DOT e combina le tecniche di entrambi gli approcci sopra citati. Sotto il profilo computazionale, teoricamente la struttura di tale sistema è quasi impeccabile, ma praticamente risulta difficile riuscire a risolvere problemi derivanti dalla classificazione delle occorrenze all’interno dei corpora (2006). Un modello del genere è detto tree-to-tree, in quanto le rappresentazioni sintattiche e morfologiche del source e target language vengono sviluppate in modo speculare e, attraverso un’analisi degli enunciati nel testo d’origine, viene creata una traduzione con lo stesso sistema sintattico all’interno del target. Questo modello basa la sua struttura sintattica su un sistema phrase-based e, a differenza dei precedenti modelli, la fase di training è supervisionata. L’obiettivo di tali sistemi è quello di creare regole semplici ed esplicative in modo tale che possano essere apprese automaticamente (Way, 2010).
Dopo la nascita della SMT di tipo phrase-based, la maggior parte dei sistemi di SMT hanno cominciato a sviluppare tecniche per una più precisa identificazione dei blocchi di phrase e per allineare sotto il profilo lessicale testi bilingue. Molte di queste tecniche sono utilizzate nelle Example-Based Machine Translation (EBMT). Tali modelli si sviluppano seguendo tre fasi principali: matching, ossia la ricerca di frammenti nel testo d’origine da abbinare al corpus di riferimento; allineamento, cioè l’identificazione del frammento di traduzione corrispondente; recombination, che sarebbe la fase in cui i frammenti di traduzione vengono messi in ordine in maniera appropriata nel testo target. Le EBMT sono basate su processi di traduzione dinamici e totalmente automatici (Way, 2010).
La maggior parte dei sistemi commerciali di MT sono rule-based (RBMT). La motivazione per la quale tali tipologie di sistemi sono ancora sviluppate è data dal fatto che, come già precedentemente affermato, non esistono coppie di lingue disponibili, soprattutto per lingue meno utilizzate[10]. Inoltre, i sistemi rule-based producono errori di traduzione ripetitivi, e quindi è più facile prevedere e correggere tali errori. I suddetti sistemi sono difficilmente descrivibili in quanto non esiste una vasta letteratura a riguardo, poichè vengono sviluppati secondo accordi di riservatezza decisi dalle stesse compagnie che sovvenzionano la creazione di tali tipi di sistemi.
Vi sono delle differenze sostanziali tra una MT di tipo rule-based ed una example-based o phrase based (basate sui corpora): i sistemi rule-based sono detti deduttivi, in quanto utilizzano regole, dizionari e sono codificati esplicitamente in modo tale che siano in forma computer-readable, partendo da una base di conoscenza linguistica; i sistemi example-based e phrase-based sono detti induttivi, ossia usano informazioni dedotte da testi tradotti aventi enunciati allineati e paralleli (Way, 2010). Ovviamente, come per i sistemi di ASR, anche nel caso delle Machine Translation esistono metodi ibridi atti allo sviluppo di sistemi che abbiano caratteristiche che si basano su combinazione di sistemi[11] oppure su sistemi integrati[12].
Gli sviluppi nel campo delle MT hanno portato la qualità delle traduzioni ad un livello tale da poter essere utilizzate anche on-line, mettendole a disposizione degli utenti, oppure per aiutare i traduttori nello sviluppo di memorie di traduzione applicabili a sistemi di traduzione automatica: Google Translate[13] e Bing Translator[14] sono i due sistemi più utilizzati dagli utenti per le traduzioni on-line, e forniscono traduzioni in tempo reale attraverso piattaforme web che danno la possibilità all’utente di scrivere enunciati o interi testi da tradurre in una delle lingue disponibili. Tali sistemi non sono accurati, ma forniscono traduzioni basate sui bisogni generali di un utente (Way, 2010).
[1] I modelli generative constano di un gran numero di parametri che sono, di norma, stimati in maniera non supervisionata utilizzando algoritmi detti di Expectation-Maximization (EM) (Way, 2010).
[2] Il concetto di fertilità interessa il metodo di traduzione dei lemmi. La fertilità di un lemma descrive il numero preciso di occorrenze che esso produce nel testo di arrivo (Brown, 1993). Tale valore può essere impostato manualmente nei modelli generativi. A seconda del tipo di scelta apportata sui livelli di fertilità, si può distinguere tra fertility e non-fertility model, quest’ultimi sono principalmente modelli basati su HMM (Way, 2010).
[3] Modelli n-gram. Un n-gram, in SMT, è una porzione di n-caratteri presente all’interno di una stringa. Dato che ogni stringa viene suddivisa in piccole parti per una appropriata suddivisione del testo da analizzare, e dato che è possibile che al suo interno vi siano degli errori, il suddetto modello allinea gli n-gram all’interno delle stringe nel source e nel target sulla base delle loro similarità, diminuendo quindi la possibilità di eventuali errori di testo nella fase di riconoscimento, etichettatura e traduzione (Cavnar, 1994:162).
[4] Per decoding si intende la ricerca della traduzione migliore che abbia il maggior tasso di probabilità. Per migliorare la velocità di decoding e per ridurre gli spazi di ricerca all’interno del source language vengono utilizzate tecniche dette pruning (Way, 2010).
[5] Un parser è un dispositivo che opera un parsing.
[6] Vi è anche un alternativo processo di parsing detto top-down (data-driven) che interpreta un enunciato a partire dalle strutture di enunciati possibili (Chiari, 2007:103).
[7] Con simboli terminali si intendono i singoli lemmi presenti all’interno di un dato enunciato.
[8] Un treebank è un parser sintattico che utilizza una struttura che corrisponde ad un diagramma ad albero. Il primo corpus sottoposto a questo tipo di parsing è il Penn Treebank (http://www.cis.upenn.edu/~treebank/), attualmente utilizzato anche per la valutazione dell’efficienza degli strumenti di parsing.
[9] È un tipo di parsing parziale, che indica le principali relazioni all’interno dell’enunciato, risolve problemi di disambiguazione morfologica e quindi non annota tutti i costituenti di un enunciato (Chiari, 2007:105).
[10] Si noti la differenza tra le 8 lingue utilizzate per la traduzione speech to speech (italiano, inglese, francese, tedesco, cinese, arabo, russo, portoghese) e le oltre 50 lingue disponibili per i sistemi di traduzione di messaggistica istantanea (Skype Support, 2016).
[11] Multi-engine MT (Way, 2010:556)
[12] Integrated Systems, come ad esempio SMT con avviamento simultaneo di più sistemi RBMT oppur sistemi basati su una interlingua (Way, 2010:557).
[13] http://translate.google.com/
[14] http://www.bing.com/translator. Precedentemente conosciuto come Windows Live Translator (http://www.windowslivetranslator.com).
References:
Brown, P.F. & Cocke, J. & Della Pietra, S.A. & Della Pietra, V.J. & Jelinek, F. & Lafferty, J.D. & Mercer, R.L. & Roossin, P.S (1990). “A statistical approach to machine translation”. Computational Linguistics, 16:79-85.
Chiang, D. (2005). “A hierarchical phrase-based model for statistical machine translation”. 43rd Annual Meeting of the Association for Computational Linguistics (ACL ’05), 263-270.
Chiari, I. (2007). Introduzione alla linguistica computazionale. Bari: Gius. Laterza & Figli Spa.
Hearne, M. & Way, A. (2006). “Disambiguation Strategies for Data-Oriented Translation”. Proceedings of the 11th Conference of the European Association for Machine Translation, 59-68.
Palmer, D.D. & Hearst, M.A. (1997). Adaptive multilingual sentence boundary disambiguation. Computational Linguistics, 23:241–69.
Shannon, C. (1948). “A mathematical theory of communication.” Bell System Technical Journal, 27:379-423.
Schmid, H. (2010). “Decision Trees”. Clark, A. & Fox C. & Lappin S. a cura di. The Handbook of Computational Linguistics and Natural Language Processing. West Sussex: Wiley- Blackwell, 180-196.
Tillmann, C. & Ney, H. (2003). “Word Reordering and a Dynamic Programming Beam Search Algorithm for Statistical Machine Translation”. Computational Linguistics, 29:97-133.
Way, A. (2010). “Machine Translation”. Clark, A. & Fox C. & Lappin S. a cura di. The Handbook of Computational Linguistics and Natural Language Processing. West Sussex: Wiley- Blackwell, 180-196.
Yamada, K. & Knight, K. (2001). “A syntax-based statistical translation model”. Proceedings of the 39th Annual Meeting on Association for Computational Linguistics (ACL ’01), 523-530.
Paolo La Montagna is a linguist, passionate about the new frontiers of Natural Language Processing. He works as a freelance linguist for different clients that are specialized in NLP. Moreover, he is the localization manager of heartvoiced.com and the founder of thinkborderless.co.