Una storia di traduzione automatica dalla guerra fredda all'apprendimento profondo

Foto di Ant Rozetsky su Unsplash

Apro Google Translate due volte più spesso di Facebook e la traduzione istantanea dei prezzi non è più un cyberpunk per me. Questo è ciò che chiamiamo realtà. È difficile immaginare che questo sia il risultato di una lotta centennale per costruire gli algoritmi della traduzione automatica e che non ci sia stato alcun successo visibile durante la metà di quel periodo.

Gli sviluppi precisi di cui parlerò in questo articolo pongono le basi di tutti i moderni sistemi di elaborazione del linguaggio, dai motori di ricerca alle microonde a comando vocale. Sto parlando dell'evoluzione e della struttura della traduzione online oggi.

La macchina di traduzione di P. P. Troyanskii (Illustrazione fatta da descrizioni. Purtroppo non sono rimaste foto).

All'inizio

La storia inizia nel 1933. Lo scienziato sovietico Peter Troyanskii presentò "la macchina per la selezione e la stampa di parole durante la traduzione da una lingua all'altra" all'Accademia delle Scienze dell'URSS. L'invenzione è stata semplicissima: aveva le carte in quattro lingue diverse, una macchina da scrivere e una macchina da presa della vecchia scuola.

L'operatore prese la prima parola dal testo, trovò una carta corrispondente, scattò una foto e digitò le sue caratteristiche morfologiche (sostantivo, plurale, genitivo) sulla macchina da scrivere. Le chiavi della macchina da scrivere hanno codificato una delle caratteristiche. Il nastro e la pellicola della macchina fotografica sono stati usati contemporaneamente, creando una serie di cornici con le parole e la loro morfologia.

Nonostante tutto, come spesso è accaduto in URSS, l'invenzione è stata considerata "inutile". Troyanskii morì di Stenocardia dopo aver tentato di finire la sua invenzione per 20 anni. Nessuno al mondo sapeva della macchina fino a quando due scienziati sovietici non trovarono i suoi brevetti nel 1956.

Fu all'inizio della guerra fredda. Il 7 gennaio 1954, presso la sede della IBM a New York, iniziò l'esperimento Georgetown – IBM. Il computer IBM 701 ha tradotto automaticamente 60 frasi russe in inglese per la prima volta nella storia.

"Una ragazza che non capiva una parola della lingua dei sovietici punzonò i messaggi russi sulle carte IBM. Il "cervello" interruppe le sue traduzioni in inglese su una stampante automatica alla velocità di due linee e mezzo al secondo ", ha riferito il comunicato stampa IBM.
IBM 701

Tuttavia, i titoli trionfali nascondevano un piccolo dettaglio. Nessuno ha menzionato gli esempi tradotti sono stati accuratamente selezionati e testati per escludere qualsiasi ambiguità. Per l'uso quotidiano, quel sistema non era migliore di un frasario tascabile. Ciononostante, fu lanciata questa specie di corsa agli armamenti: Canada, Germania, Francia e soprattutto Giappone, si unirono alla corsa alla traduzione automatica.

La corsa alla traduzione automatica

Le vane lotte per migliorare la traduzione automatica sono durate per quarant'anni. Nel 1966, il comitato statunitense ALPAC, nel suo famoso rapporto, definiva la traduzione automatica costosa, inaccurata e poco promettente. Hanno invece raccomandato di concentrarsi sullo sviluppo del dizionario, che ha eliminato i ricercatori statunitensi dalla corsa per quasi un decennio.

Anche così, una base per la moderna elaborazione del linguaggio naturale è stata creata solo dagli scienziati e dai loro tentativi, ricerche e sviluppi. Tutti i motori di ricerca, i filtri antispam e gli assistenti personali di oggi sono apparsi grazie a un gruppo di paesi che si spiano l'un l'altro.

Traduzione automatica basata su regole (RBMT)

Le prime idee sulla traduzione automatica basata su regole sono apparse negli anni '70. Gli scienziati hanno scrutato il lavoro degli interpreti, cercando di costringere i computer tremendamente lenti a ripetere quelle azioni. Questi sistemi consistevano in:

  • Dizionario bilingue (RU -> EN)
  • Un insieme di regole linguistiche per ciascuna lingua (ad esempio, i sostantivi che terminano con determinati suffissi come -heit, -keit, -ung sono femminili)

Questo è tutto. Se necessario, i sistemi potrebbero essere integrati con hack, come elenchi di nomi, correttori ortografici e traduttori.

PROMPT e Systran sono gli esempi più famosi di sistemi RBMT. Dai un'occhiata a Aliexpress per sentire il respiro soffice di questa epoca d'oro.

Ma anche loro avevano alcune sfumature e sottospecie.

Traduzione automatica diretta

Questo è il tipo più semplice di traduzione automatica. Suddivide il testo in parole, le traduce, corregge leggermente la morfologia e armonizza la sintassi per rendere tutto più giusto, più o meno. Quando il sole tramonta, linguisti esperti scrivono le regole per ogni parola.

L'output restituisce un tipo di traduzione. Di solito, è piuttosto scadente. Sembra che i linguisti non abbiano perso tempo per niente.

I sistemi moderni non usano affatto questo approccio e i linguisti moderni sono grati.

Traduzione automatica basata su trasferimento

Contrariamente alla traduzione diretta, ci prepariamo innanzitutto determinando la struttura grammaticale della frase, come ci è stato insegnato a scuola. Quindi manipoliamo intere costruzioni, non parole, in seguito. Questo aiuta a ottenere una conversione abbastanza decente dell'ordine delle parole nella traduzione. In teoria.

In pratica, si traduceva ancora in una traduzione integrale e linguisti esausti. Da un lato, ha portato regole grammaticali generali semplificate. Dall'altro, è diventato più complicato a causa dell'aumento del numero di costruzioni di parole rispetto alle parole singole.

Traduzione automatica interlingua

In questo metodo, il testo sorgente viene trasformato nella rappresentazione intermedia ed è unificato per tutte le lingue del mondo (interlingua). È lo stesso interlingua che Cartesio sognava: un meta-linguaggio, che segue le regole universali e trasforma la traduzione in un semplice compito "avanti e indietro". Successivamente, interlingua si sarebbe convertito in qualsiasi lingua di destinazione, ed ecco la singolarità!

A causa della conversione, Interlingua è spesso confusa con i sistemi basati su trasferimenti. La differenza sono le regole linguistiche specifiche per ogni singola lingua e interlingua, e non le coppie linguistiche. Ciò significa che possiamo aggiungere una terza lingua al sistema interlingua e tradurre tra tutte e tre. Non possiamo farlo nei sistemi basati sui trasferimenti.

Sembra perfetto, ma nella vita reale non lo è. È stato estremamente difficile creare un interlingua così universale - molti scienziati ci hanno lavorato per tutta la vita. Non ci sono riusciti, ma grazie a loro ora abbiamo livelli di rappresentazione morfologica, sintattica e persino semantica. Ma l'unica teoria del significato-testo costa una fortuna!

L'idea del linguaggio intermedio tornerà. Aspettiamo un po '.

Come puoi vedere, tutti gli RBMT sono stupidi e terrificanti, e questo è il motivo per cui vengono usati raramente se non per casi specifici (come la traduzione dei bollettini meteorologici e così via). Tra i vantaggi di RBMT, spesso menzionati sono la sua precisione morfologica (non confonde le parole), la riproducibilità dei risultati (tutti i traduttori ottengono lo stesso risultato) e la capacità di sintonizzarlo sull'area tematica (insegnare agli economisti o ai termini specifico per i programmatori, per esempio).

Anche se qualcuno dovesse riuscire a creare un RBMT ideale e i linguisti lo migliorassero con tutte le regole di ortografia, ci sarebbero sempre delle eccezioni: tutti i verbi irregolari in inglese, prefissi separabili in tedesco, suffissi in russo e situazioni in cui le persone semplicemente dillo diversamente. Qualsiasi tentativo di tenere conto di tutte le sfumature perderebbe milioni di ore uomo.

E non dimenticare gli omonimi. La stessa parola può avere un significato diverso in un contesto diverso, il che porta a una varietà di traduzioni. Quanti significati puoi cogliere qui: ho visto un uomo su una collina con un telescopio?

Le lingue non si sono sviluppate sulla base di una serie fissa di regole, un fatto che i linguisti adorano. Furono molto più influenzati dalla storia delle invasioni negli ultimi trecento anni. Come hai potuto spiegarlo a una macchina?

Quarant'anni di guerra fredda non hanno aiutato a trovare una soluzione distinta. RBMT era morto.

Traduzione automatica basata su esempi (EBMT)

Il Giappone era particolarmente interessato a lottare per la traduzione automatica. Non c'era guerra fredda, ma c'erano ragioni: pochissime persone nel paese conoscevano l'inglese. Prometteva di essere un bel problema alla prossima festa della globalizzazione. Quindi i giapponesi erano estremamente motivati ​​a trovare un metodo di lavoro di traduzione automatica.

La traduzione inglese-giapponese basata su regole è estremamente complicata. La struttura del linguaggio è completamente diversa, e quasi tutte le parole devono essere riorganizzate e nuove aggiunte. Nel 1984, Makoto Nagao dell'Università di Kyoto ha avuto l'idea di usare frasi già pronte invece di traduzioni ripetute.

Immaginiamo di dover tradurre una semplice frase - "Vado al cinema". E diciamo che abbiamo già tradotto un'altra frase simile - "Vado a teatro" - e possiamo trovare la parola " cinema "nel dizionario.

Tutto ciò di cui abbiamo bisogno è capire la differenza tra le due frasi, tradurre la parola mancante e non rovinarla. Più esempi abbiamo, migliore è la traduzione.

Costruisco frasi in lingue sconosciute esattamente allo stesso modo!

EBMT ha mostrato la luce del giorno agli scienziati di tutto il mondo: si scopre che puoi semplicemente alimentare la macchina con le traduzioni esistenti e non passare anni a formare regole ed eccezioni. Non ancora una rivoluzione, ma chiaramente il primo passo verso di essa. L'invenzione rivoluzionaria della traduzione statistica sarebbe avvenuta in soli cinque anni.

Statistical Machine Translation (SMT)

All'inizio del 1990, presso l'IBM Research Center, fu mostrato per la prima volta un sistema di traduzione automatica che non sapeva nulla delle regole e della linguistica nel suo insieme. Ha analizzato testi simili in due lingue e ha cercato di capire gli schemi.

L'idea era semplice ma bella. Una frase identica in due lingue divisa in parole, che sono state successivamente abbinate. Questa operazione si è ripetuta circa 500 milioni di volte per contare, ad esempio, quante volte la parola "Das Haus" tradotta come "casa" vs "edificio" vs "costruzione", e così via.

Se la maggior parte delle volte la parola sorgente è stata tradotta come "casa", la macchina l'ha usata. Nota che non abbiamo stabilito regole né usato dizionari - tutte le conclusioni sono state fatte dalla macchina, guidate dalle statistiche e dalla logica che "se le persone traducono in quel modo, anche io." E così è nata la traduzione statistica.

Il metodo era molto più efficiente e preciso di tutti i precedenti. E non erano necessari linguisti. Più testi abbiamo usato, migliore traduzione abbiamo ottenuto.

Traduzione statistica di Google dall'interno. Mostra non solo le probabilità ma conta anche le statistiche inverse.

Rimaneva ancora una domanda: in che modo la macchina avrebbe correlato la parola "Das Haus" e la parola "edificio" - e come potremmo sapere che queste erano le traduzioni giuste?

La risposta è stata che non lo sapevamo. All'inizio, la macchina presupponeva che la parola "Das Haus" fosse ugualmente correlata con qualsiasi parola della frase tradotta. Successivamente, quando "Das Haus" è apparso in altre frasi, il numero di correlazioni con la "casa" aumenterebbe. Questo è l '"algoritmo di allineamento delle parole", un compito tipico per l'apprendimento automatico a livello universitario.

La macchina aveva bisogno di milioni e milioni di frasi in due lingue per raccogliere le statistiche pertinenti per ogni parola. Come li abbiamo ottenuti? Bene, abbiamo deciso di prendere gli abstract del Parlamento europeo e delle riunioni del Consiglio di sicurezza delle Nazioni Unite: erano disponibili nelle lingue di tutti i paesi membri e ora erano disponibili per il download da Corpora delle Nazioni Unite ed Europarl Corpora.

SMT basato su parole

All'inizio, i primi sistemi di traduzione statistica funzionavano dividendo la frase in parole, poiché questo approccio era semplice e logico. Il primo modello di traduzione statistica di IBM è stato chiamato Model one. Abbastanza elegante, vero? Indovina come hanno chiamato il secondo?

Modello 1: "la borsa delle parole"

Il modello uno utilizzava un approccio classico: suddividere in parole e contare le statistiche. L'ordine delle parole non è stato preso in considerazione. L'unico trucco era tradurre una parola in più parole. Ad esempio, "Der Staubsauger" potrebbe trasformarsi in "Aspirapolvere", ma ciò non significa che si tradurrebbe viceversa.

Ecco alcune semplici implementazioni in Python: shawa / IBM-Model-1.

Modello 2: considerando l'ordine delle parole in frasi

La mancanza di conoscenza sull'ordine delle parole delle lingue è diventata un problema per il Modello 1 ed è molto importante in alcuni casi.

Il modello 2 si occupava di questo: memorizzava il solito posto che la parola occupa nella frase di uscita e mescolava le parole per il suono più naturale nella fase intermedia. Le cose andarono meglio, ma erano ancora un po 'schifose.

Modello 3: fertilità extra

Nuove parole sono apparse nella traduzione abbastanza spesso, come articoli in tedesco o usando "do" quando si nega in inglese. “Ich will keine Persimonen” → “Non voglio Persimmons.” Per farvi fronte, sono stati aggiunti altri due passaggi al Modello 3.

  • Inserimento token NULL, se la macchina considera la necessità di una nuova parola
  • Scegliere la giusta particella o parola grammaticale per ogni allineamento di parole token

Modello 4: allineamento delle parole

Il modello 2 considerava la parola allineamento, ma non sapeva nulla del riordino. Ad esempio, gli aggettivi cambiano spesso posto con il nome e, non importa quanto bene sia stato memorizzato l'ordine, non migliorerebbe l'output. Pertanto, il Modello 4 ha tenuto conto del cosiddetto "ordine relativo" - il modello ha appreso se due parole cambiano sempre posto.

Modello 5: correzioni di bug

Niente di nuovo qui. Il modello 5 ha ottenuto alcuni parametri in più per l'apprendimento e risolto il problema con posizioni di parole contrastanti.

Nonostante la loro natura rivoluzionaria, i sistemi basati su parole non sono ancora riusciti a gestire casi, genere e omonimia. Ogni singola parola è stata tradotta in un unico vero modo, secondo la macchina. Tali sistemi non vengono più utilizzati, poiché sono stati sostituiti dai metodi più avanzati basati su frasi.

SMT basato sulla frase

Questo metodo si basa su tutti i principi di traduzione basati su parole: statistiche, riordino e hack lessicali. Sebbene, per l'apprendimento, ha diviso il testo non solo in parole ma anche in frasi. Questi erano gli n-grammi, per essere precisi, che erano una sequenza contigua di n parole di fila.

Pertanto, la macchina ha imparato a tradurre combinazioni costanti di parole, che hanno notevolmente migliorato la precisione.

Il trucco era che le frasi non erano sempre semplici costruzioni di sintassi e la qualità della traduzione diminuiva significativamente se qualcuno che fosse a conoscenza della linguistica e della struttura delle frasi interferisse. Frederick Jelinek, il pioniere della linguistica informatica, ne scherzava una volta: "Ogni volta che licenzio un linguista, le prestazioni del riconoscimento vocale aumentano".

Oltre a migliorare l'accuratezza, la traduzione basata su frasi ha fornito più opzioni nella scelta dei testi bilingui per l'apprendimento. Per la traduzione basata su parole, la corrispondenza esatta delle fonti era critica, il che escludeva qualsiasi traduzione letteraria o libera. La traduzione basata su frasi non ha avuto problemi ad imparare da loro. Per migliorare la traduzione, i ricercatori hanno persino iniziato a analizzare i siti Web di notizie in diverse lingue a tale scopo.

A partire dal 2006, tutti hanno iniziato a utilizzare questo approccio. Google Translate, Yandex, Bing e altri traduttori online di alto profilo hanno lavorato come basati su frasi fino al 2016. Ognuno di voi può probabilmente ricordare i momenti in cui Google ha tradotto la frase in modo impeccabile o ha portato a una totale assurdità, giusto? Le sciocchezze derivavano da funzioni basate su frasi.

Il buon vecchio approccio basato sulle regole ha costantemente fornito un risultato prevedibile ma terribile. I metodi statistici erano sorprendenti e sconcertanti. Google Translate trasforma "trecento" in "300" senza alcuna esitazione. Si chiama anomalia statistica.

La traduzione basata sulla frase è diventata così popolare che quando si sente la "traduzione automatica statistica", questo è ciò che si intende effettivamente. Fino al 2016, tutti gli studi hanno lodato la traduzione basata su frasi come lo stato dell'arte. Allora, nessuno pensava nemmeno che Google stesse già alimentando i suoi fuochi, preparandosi a cambiare l'intera immagine della traduzione automatica.

SMT basato sulla sintassi

Questo metodo dovrebbe anche essere menzionato, brevemente. Molti anni prima della nascita delle reti neurali, la traduzione basata sulla sintassi era considerata "il futuro o la traduzione", ma l'idea non decollò.

I sostenitori della traduzione basata sulla sintassi credevano che fosse possibile unirla con il metodo basato su regole. È necessario eseguire un'analisi sintattica abbastanza precisa della frase: determinare l'oggetto, il predicato e altre parti della frase, quindi creare un albero delle frasi. Usandolo, la macchina impara a convertire le unità sintattiche tra le lingue e traduce il resto con parole o frasi. Ciò avrebbe risolto il problema dell'allineamento delle parole una volta per tutte.

Esempio tratto da Yamada e Knight [2001] e questa grande presentazione.

Il problema è che l'analisi sintattica funziona in modo terribile, nonostante lo consideriamo risolto un po 'di tempo fa (dato che abbiamo le librerie pronte per molte lingue). Ho cercato di usare alberi sintattici per compiti un po 'più complicati che per analizzare l'argomento e il predicato. E ogni volta ho rinunciato e usato un altro metodo.

Fammi sapere nei commenti se riesci a usarlo almeno una volta.

Neural Machine Translation (NMT)

Nel 2014 è stato pubblicato un documento piuttosto divertente sull'uso delle reti neurali nella traduzione automatica. Internet non se ne è accorto affatto, tranne Google: hanno tolto le pale e hanno iniziato a scavare. Due anni dopo, a novembre 2016, Google ha fatto un annuncio rivoluzionario.

L'idea era vicina al trasferimento dello stile tra le foto. Ricordi app come Prisma, che miglioravano le immagini in stile di alcuni artisti famosi? Non c'era magia. Alla rete neurale è stato insegnato a riconoscere i dipinti dell'artista. Successivamente, sono stati rimossi gli ultimi layer contenenti la decisione della rete. L'immagine stilizzata risultante era solo l'immagine intermedia ottenuta dalla rete. Questa è la fantasia della rete e la consideriamo bella.

Se riusciamo a trasferire lo stile sulla foto, cosa succede se proviamo a imporre un'altra lingua a un testo sorgente? Il testo sarebbe esattamente quello "stile dell'artista", e proveremmo a trasferirlo mantenendo l'essenza dell'immagine (in altre parole, l'essenza del testo).

Immagina che sto cercando di descrivere il mio cane: taglia media, naso affilato, coda corta, abbaia sempre. Se ti fornissi questo insieme di caratteristiche del cane e se la descrizione fosse precisa, potresti disegnarla, anche se non l'hai mai vista.

Ora, immagina che il testo sorgente sia l'insieme di funzionalità specifiche. Fondamentalmente, significa che lo codifichi e lasci che l'altra rete neurale lo decodifichi nel testo, ma, in un'altra lingua. Il decodificatore conosce solo la sua lingua. Non ha idea dell'origine delle caratteristiche, ma può esprimerle, ad esempio, in spagnolo. Continuando l'analogia, non importa come si disegna il cane - con i pastelli, l'acquerello o il dito. Lo dipingi come puoi.

Ancora una volta: una rete neurale può solo codificare la frase nello specifico set di funzionalità e un'altra può solo decodificarla di nuovo nel testo. Entrambi non hanno idea l'uno dell'altro e ognuno di loro conosce solo la propria lingua. Ricorda qualcosa? Interlingua è tornata. Ta-da.

La domanda è: come possiamo trovare queste funzionalità? È ovvio quando parliamo del cane, ma come gestire il testo? Trenta anni fa gli scienziati hanno già provato a creare il codice universale della lingua e si è concluso con un fallimento totale.

Tuttavia, abbiamo un profondo apprendimento ora. E questo è il suo compito essenziale! La principale distinzione tra l'apprendimento profondo e le reti neurali classiche sta proprio nella capacità di cercare quelle caratteristiche specifiche, senza alcuna idea della loro natura. Se la rete neurale è abbastanza grande e ci sono un paio di migliaia di schede video a portata di mano, è possibile trovare anche quelle funzionalità nel testo.

Teoricamente, possiamo passare le caratteristiche ottenute dalle reti neurali ai linguisti, in modo che possano aprire nuovi e coraggiosi orizzonti per se stessi.

La domanda è: quale tipo di rete neurale dovrebbe essere usata per codificare e decodificare? Le reti neurali convoluzionali (CNN) si adattano perfettamente alle immagini poiché funzionano con blocchi di pixel indipendenti.

Ma non ci sono blocchi indipendenti nel testo: ogni parola dipende da ciò che la circonda. Testo, parola e musica sono sempre coerenti. Quindi le reti neurali ricorrenti (RNN) sarebbero la scelta migliore per gestirle, poiché ricordano il risultato precedente - la parola precedente, nel nostro caso.

Ora gli RNN vengono utilizzati ovunque: il riconoscimento vocale di Siri (analizza la sequenza di suoni, in cui il successivo dipende dal precedente), i suggerimenti della tastiera (memorizza il precedente, indovina il successivo), la generazione di musica e persino i chatbot.

Per i nerd come me: in effetti, l'architettura dei traduttori neurali varia notevolmente. Il normale RNN è stato utilizzato all'inizio, quindi aggiornato a bidirezionale, in cui il traduttore ha considerato non solo le parole prima della parola sorgente, ma anche la parola successiva. È stato molto più efficace. Quindi è seguito con l'hardcore multistrato RNN con unità LSTM per l'archiviazione a lungo termine del contesto di traduzione.

In due anni, le reti neurali hanno superato tutto ciò che era apparso negli ultimi 20 anni di traduzione. La traduzione neuronale contiene il 50% in meno di errori nell'ordine delle parole, il 17% in meno di errori lessicali e il 19% in meno di errori grammaticali. Le reti neurali hanno persino imparato ad armonizzare il genere e il caso in diverse lingue. E nessuno ha insegnato loro a farlo.

I miglioramenti più evidenti si sono verificati in campi in cui la traduzione diretta non è mai stata utilizzata. I metodi di traduzione automatica statistica hanno sempre funzionato usando l'inglese come fonte chiave. Pertanto, se hai tradotto dal russo al tedesco, la macchina prima ha tradotto il testo in inglese e poi dall'inglese al tedesco, il che porta a una doppia perdita.

La traduzione neurale non ne ha bisogno: è necessario solo un decodificatore per funzionare. È stata la prima volta che è diventata possibile la traduzione diretta tra lingue senza dizionario comune.

Google Translate (dal 2016)

Nel 2016, Google ha attivato la traduzione neurale per nove lingue. Hanno sviluppato il loro sistema chiamato Google Neural Machine Translation (GNMT). È composto da 8 encoder e 8 layer di decoder di RNN, nonché connessioni di attenzione dalla rete del decoder.

Non solo dividevano le frasi, ma anche le parole. Fu così che affrontarono uno dei principali problemi NMT: le parole rare. I NMT sono indifesi quando la parola non è nel loro lessico. Diciamo "Vas3k". Dubito che qualcuno abbia insegnato alla rete neurale a tradurre il mio soprannome. In tal caso, GMNT cerca di spezzare le parole in frammenti di parole e recuperarne la traduzione. Inteligente.

Suggerimento: Google Translate utilizzato per la traduzione di siti Web nel browser utilizza ancora il vecchio algoritmo basato su frasi. In qualche modo, Google non lo ha aggiornato e le differenze sono abbastanza evidenti rispetto alla versione online.

Google utilizza un meccanismo di crowdsourcing nella versione online. Le persone possono scegliere la versione che ritengono più corretta e, se piace a molti utenti, Google tradurrà sempre questa frase in quel modo e la contrassegnerà con un badge speciale. Funziona in modo fantastico per brevi frasi di tutti i giorni come "Andiamo al cinema" o "Ti sto aspettando". Google conosce l'inglese colloquiale meglio di me :(

Bing di Microsoft funziona esattamente come Google Translate. Ma Yandex è diverso.

Yandex Translate (dal 2017)

Yandex ha lanciato il suo sistema di traduzione neurale nel 2017. La sua caratteristica principale, come dichiarato, era l'ibridazione. Yandex combina approcci neurali e statistici per tradurre la frase, quindi sceglie la migliore con il suo algoritmo CatBoost preferito.

Il fatto è che la traduzione neurale spesso fallisce quando traduce frasi brevi, poiché utilizza il contesto per scegliere la parola giusta. Sarebbe difficile se la parola comparisse pochissime volte in un dato di allenamento. In tali casi, una semplice traduzione statistica trova la parola giusta in modo rapido e semplice.

Yandex non condivide i dettagli. Ci respinge con i comunicati stampa di marketing. VA BENE.

Sembra che Google usi SMT per la traduzione di parole e frasi brevi. Non lo menzionano in nessun articolo, ma è abbastanza evidente se si osserva la differenza tra la traduzione di espressioni brevi e lunghe. Inoltre, SMT viene utilizzato per visualizzare le statistiche della parola.

La conclusione e il futuro

Tutti sono ancora entusiasti dell'idea di "Babel fish" - traduzione vocale istantanea. Google ha fatto passi avanti con i suoi Pixel Buds, ma in realtà non è ancora quello che stavamo sognando. La traduzione vocale istantanea è diversa dalla solita traduzione. Devi sapere quando iniziare a tradurre e quando tacere e ascoltare. Non ho ancora visto approcci adeguati per risolvere questo problema. A meno che, forse, Skype ...

Ed ecco un'altra area vuota: tutto l'apprendimento è limitato all'insieme di blocchi di testo paralleli. Le reti neurali più profonde imparano ancora a testi paralleli. Non possiamo insegnare alla rete neurale senza fornirle una fonte. Le persone, invece, possono integrare il loro lessico con la lettura di libri o articoli, anche se non li traducono nella loro lingua madre.

Se le persone possono farlo, anche la rete neurale può farlo, in teoria. Ho trovato solo un prototipo che tentava di incitare la rete, che conosce una lingua, a leggere i testi in un'altra lingua per acquisire esperienza. Ci proverei da solo, ma sono sciocco. Ok, tutto qui.

Questa storia è stata originariamente scritta in russo e poi tradotta in inglese su Vas3k.com da Vasily Zubarev. È il mio amico di penna e sono abbastanza sicuro che il suo blog dovrebbe essere diffuso.

Link utili

  • Philipp Koehn: traduzione automatica statistica. La raccolta più completa dei metodi che ho trovato.
  • Mosè - libreria popolare per la creazione di traduzioni statistiche proprie
  • OpenNMT - un'altra libreria, ma per i traduttori neurali
  • L'articolo di uno dei miei blogger preferiti che spiega RNN e LSTM
  • Un video "Come fare un traduttore di lingua", ragazzo divertente, spiegazione accurata. Ancora non abbastanza.
  • Guida testuale di TensorFlow sulla creazione del tuo traduttore neurale, per chi desidera più esempi e provare il codice.

Altri articoli da Vas3k.com

Un'ultima cosa…

Se ti è piaciuto questo articolo, fai clic su di seguito e condividilo con altre persone in modo che possano apprezzarlo.