In traducerea automata, exista in general doua abordari: o abordare bazata pe reguli si o abordare bazata pe invatarea automata. Traducerea bazata pe reguli implica colectarea unui dictionar masiv de traduceri, poate cuvant cu cuvant sau expresie, care sunt impartite intr-o traducere.

In primul rand, structurile gramaticale difera semnificativ intre limbi. Luati in considerare spaniola, in care obiectele au un sex masculin sau feminin. Toate adjectivele si cuvintele precum „a” sau „a” trebuie sa fie conforme cu genul obiectului in care descrie. Traducerea „marilor mere rosii” in spaniola ar necesita ca fiecare dintre cuvintele „the”, „mare” si „rosu” sa fie scrise atat in ​​plural, cat si in forma feminina, deoarece acestea sunt atributele cuvantului „mere”. In plus, in spaniola adjectivele urmeaza de obicei substantivul, dar uneori merg mai inainte.

Array

Imagine creata de autor

Rezultatul este „las [the] grandes [big] manzanas [mere] rojas [red]”. Aceasta gramatica si necesitatea schimbarii tuturor adjectivelor nu au niciun sens pentru un vorbitor de engleza pur. Doar in cadrul traducerii din engleza in spaniola, exista prea multe disparitati in structura fundamentala pentru a putea urmari. Cu toate acestea, o traducere cu adevarat globala necesita traducere intre fiecare pereche de limbi.

In cadrul acestei sarcini apare o alta problema: pentru a traduce intre, de exemplu, franceza si mandarina, singura solutie fezabila bazata pe reguli ar fi traducerea francezei intr-o limba de baza – probabil engleza – care ar fi apoi tradusa in mandarina. Este ca si cum ai juca la telefon: nuanta unei fraze rostite intr-o limba este calcata de zgomot si de generalizare grea.

Imagine creata de autor

Ar trebui sa fie clare lipsa de speranta a traducerii bazate pe reguli sau dictionare si necesitatea unui fel de model universal care sa poata invata vocabularul si structura a doua limbi.

Array

Construirea acestui model este o sarcina dificila din cateva motive, totusi:

  • Modelul trebuie sa fie suficient de usor, astfel incat sa functioneze offline, astfel incat utilizatorii sa il poata accesa chiar si fara conexiune la Internet. Mai mult, traducerea intre oricare doua limbi ar trebui sa fie acceptata, toate descarcate pe telefonul utilizatorului (sau pe computer).
  • Modelul trebuie sa fie suficient de rapid pentru a genera traduceri live.
  • Elaborand exemplul de mai sus – in limba engleza, cuvintele „mar rosu mare” sunt secventiale. Cu toate acestea, daca vom procesa datele de la stanga la dreapta, traducerea in spaniola ar fi inexacta, deoarece adjectivele in aceasta limba, chiar inainte de substantivul in engleza, isi schimba forma in functie de substantiv. Modelul trebuie sa ia in considerare traducerea non-secventiala.
  • Sistemele bazate pe invatarea automata sunt intotdeauna foarte dependente de setul de date, ceea ce inseamna ca cuvintele care nu sunt reprezentate in date sunt cuvinte despre care modelul nu stie nimic (are nevoie de o rezistenta / memorie buna pentru cuvintele rare).

    Array

    Unde s-ar gasi o colectie de date traduse de inalta calitate reprezentative pentru intreaga gramatica si vocabularul unei limbi?

  • Un model usor nu poate memora vocabularul unei limbi intregi. Cum trateaza modelul cuvintele necunoscute?
  • Multe limbi asiatice precum japoneza sau mandarina se bazeaza pe caractere in loc de litere. Prin urmare, exista un caracter foarte specific pentru fiecare cuvant. Un model de invatare automata trebuie sa fie capabil sa traduca intre un sistem bazat pe litere, cum ar fi in engleza, spaniola sau germana – care, chiar si continand litere accentuate, sunt totusi litere – catre unul bazat pe caractere precum coreeana si invers.

Cand Google Translate a fost lansat initial, au folosit un algoritm bazat pe fraze, care este in esenta o metoda bazata pe reguli cu mai multa complexitate. La scurt timp, insa, si-a imbunatatit drastic calitatea odata cu dezvoltarea Google Neural Machine Translation (GNMT).

Sursa: Google Translate.

Imagine libera de partajat.

Au luat in considerare fiecare dintre problemele de mai sus si au venit cu solutii inovatoare, creand un Google Translate imbunatatit – acum, cel mai popular serviciu gratuit de traducere din lume.

Crearea unui model pentru fiecare pereche de limbi este evident ridicola: numarul de modele profunde necesare ar ajunge la sute, fiecare dintre acestea ar trebui stocat pe telefonul sau computerul unui utilizator pentru o utilizare eficienta si / sau o utilizare offline. In schimb, Google a decis sa creeze o retea neuronala mare care sa poata traduce intre oricare doua limbi, avand in vedere doua jetoane (indicatori; intrari) reprezentand limbile.

Structura fundamentala a modelului este codificator-decodor. Un segment al retelei neuronale incearca sa reduca un limbaj in „reprezentarea universala” fundamentala, care poate fi citita de masina, in timp ce celalalt ia aceasta reprezentare universala si transforma in mod repetat ideile de baza in limbajul de iesire. Aceasta este o „Arhitectura Transformer”; urmatorul grafic ofera o buna intuitie a modului in care functioneaza, modul in care continutul generat anterior joaca un rol in generarea rezultatelor urmatoare si natura sa secventiala.

Sursa: AnalyticsIndiaMag. Imagine libera de partajat.

Luati in considerare o vizualizare alternativa a acestei relatii codificator-decodor (un model seq2seq). Atentia intermediara dintre codificator si decodor va fi discutata mai tarziu.

Sursa: Google AI. Imagine libera de partajat.

Codificatorul este format din opt straturi LSTM stivuite. Pe scurt, LSTM este o imbunatatire a unui RNN – o retea neuronala proiectata pentru date secventiale – care permite retelei sa „aminteasca” informatii utile pentru a face predictii viitoare mai bune. Pentru a aborda natura non-secventiala a limbajului, primele doua straturi adauga bidirectionalitate. Nodurile roz indica o citire de la stanga la dreapta, in timp ce nodurile verzi indica o citire de la dreapta la stanga. Acest lucru permite GNMT sa acomodeze diferite structuri gramaticale.

Sursa: GNMT Paper. Imagine libera de partajat.

Modelul decodorului este, de asemenea, compus din opt straturi LSTM. Acestea cauta sa traduca continutul codificat in noua limba.

Un „mecanism de atentie” este plasat intre cele doua modele. La om, atentia noastra ne ajuta sa ne concentram asupra unei sarcini cautand raspunsuri la acea sarcina si nu informatii suplimentare irelevante. In modelul GNMT, mecanismul de atentie ajuta la identificarea si amplificarea importantei segmentelor necunoscute ale mesajului, care sunt prioritare in decodare. Aceasta rezolva o mare parte din „problema cuvintelor rare”, in care cuvintele care apar mai rar in setul de date sunt compensate cu mai multa atentie.

Conexiunile Skip, sau conexiunile care sar peste anumite straturi, au fost folosite pentru a stimula un flux de gradient sanatos. Ca si in cazul modelului ResNet (Retea reziduala), gradientii de actualizare pot fi prinsi la un anumit strat, afectand toate straturile dinaintea acestuia. Cu o retea atat de profunda care cuprinde in total 16 LSTM-uri, este imperativ nu numai pentru timpul de antrenament, ci si pentru performanta care sa foloseasca conexiunile omite, permitand gradientilor sa traverseze straturi potential problematice.

Sursa: GNMT Paper. Imagine libera de partajat.

Constructorii GNMT au investit mult efort in dezvoltarea unui sistem eficient la nivel scazut, care functiona pe TPU (Tensor Processing Unit), un procesor hardware specializat de invatare automata proiectat de Google, pentru o formare optima.

Un avantaj interesant al utilizarii unui model pentru a invata toate traducerile a fost ca traducerile puteau fi invatate indirect. De exemplu, daca GNMT au fost instruiti numai in engleza-coreeana, coreeana-engleza, japoneza-engleza si engleza-japoneza, modelul a dat traduceri bune pentru japoneza-coreeana si coreeana-coreeana Traducere in japoneza, desi nu a fost niciodata instruita direct in aceasta privinta. Acest lucru este cunoscut sub numele de invatare zero-shot si a imbunatatit semnificativ timpul de instruire necesar pentru implementare.

Sursa: AnalyticsIndiaMag. Imagine libera de partajat.

Preprocesarea si postprocesarea grele se fac pe intrarile si iesirile modelului GNMT pentru a sprijini, de exemplu, caracterele extrem de specializate gasite adesea in limbile asiatice. Intrarile sunt simbolizate conform unui sistem personalizat, cu segmentarea cuvintelor si markeri pentru inceputul, mijlocul si sfarsitul unui cuvant. Aceste adaugiri au facut ca legatura dintre diferite reprezentari fundamentale ale limbajului sa fie mai fluida.

Pentru datele de instruire, Google a folosit documente din Organizatia Natiunilor Unite si documentele si transcrierile Parlamentului European. Intrucat aceste organizatii contineau informatii traduse profesional intre multe limbi – de inalta calitate (imaginati-va pericolele unei declaratii prost traduse) – aceste date au fost un bun punct de plecare. Mai tarziu, Google a inceput sa utilizeze datele utilizatorului („comunitatea”) pentru a consolida limbajul specific cultural, argoul si informal in modelul sau.

GNMT a fost evaluat pe o varietate de valori. In timpul antrenamentului, GNMT a folosit perplexitatea jurnalului. Perplexitatea este o forma de entropie, in special „entropia Shannon”, deci poate fi mai usor sa incepeti de acolo. Entropia este numarul mediu de biti pentru a codifica informatiile continute intr-o variabila, si astfel perplexitatea este cat de bine poate un model de probabilitate sa prezica un esantion. Un exemplu de nedumerire ar fi numarul de caractere pe care un utilizator trebuie sa le introduca intr-o caseta de cautare pentru un propunator de interogare, pentru a fi cel putin 70% sigur ca utilizatorul va introduce orice interogare. Este o alegere fireasca pentru evaluarea sarcinilor si modelelor NLP.

Scorul BLEU standard pentru traducerea limbii incearca sa masoare cat de apropiata a fost traducerea de una umana, pe o scara de la 0 la 1, utilizand un algoritm de potrivire a sirurilor. Este inca utilizat pe scara larga, deoarece a aratat o corelatie puternica cu performanta umana: cuvintele corecte sunt recompensate, cu bonusuri pentru cuvinte corecte consecutive si cuvinte mai lungi / mai complexe.

Cu toate acestea, presupune ca o traducere umana profesionala este traducerea ideala, evalueaza doar un model pe propozitii selectate si nu are multa soliditate fata de diferite formulari sau sinonime. Acesta este motivul pentru care un scor BLEU ridicat (> 0,7) este, de obicei, un semn de suprasolicitare.

Indiferent, o crestere a scorului BLEU (reprezentata ca o fractie) a aratat o crestere a puterii de modelare a limbajului, asa cum se demonstreaza mai jos:

Sursa: Google AI. Imagine libera de partajat.

Folosind evolutiile GNMT, Google a lansat o extensie care ar putea efectua traducerea vizuala in timp real a textului strain. O retea a identificat litere potentiale, care au fost introduse intr-o retea neuronala convolutionala pentru recunoastere. Cuvintele recunoscute sunt apoi introduse in GNMT pentru recunoastere si redate in acelasi font si stil ca originalul.

Sursa: Google Translate. Imagine libera de partajat.

Nu ne putem imagina decat dificultatile abundente in crearea unui astfel de serviciu: identificarea literelor individuale, asocierea cuvintelor, determinarea dimensiunii si fontului textului, redarea corecta a imaginii.

GNMT apare in multe alte aplicatii, uneori cu o arhitectura diferita. In esenta, totusi, GNMT reprezinta o etapa importanta in NLP, cu minunile unui design usor, dar eficient, bazat pe ani de descoperiri NLP, incredibil de accesibile pentru toata lumea.