Yandex translator neuronska mreža. Fantasy neuronska mreža je ugrađena u Yandex.Translate. Šta je Yandex.Translate?

Usluga Yandex.Translate počela je da koristi tehnologije neuronske mreže prilikom prevođenja tekstova, što poboljšava kvalitet prijevoda, objavio je sajt Yandex.

To bookmarks

Usluga radi na hibridnom sistemu, objasnio je Yandex: tehnologija prevođenja pomoću neuronske mreže dodata je statističkom modelu koji radi u Translatoru od lansiranja.

“Za razliku od statističkog prevoditelja, neuronska mreža ne razbija tekstove u zasebne riječi i fraze. Prima cijelu rečenicu kao ulaz i izdaje njen prijevod “, objasnio je predstavnik kompanije. Prema njegovim riječima, ovakav pristup omogućava uzimanje u obzir konteksta i bolje prenošenje značenja prevedenog teksta.

Statistički model se, zauzvrat, bolje nosi s rijetkim riječima i frazama, naglašavaju u Yandexu. "Ako značenje rečenice nije jasno, ona ne mašta kako neuronska mreža to može učiniti", istakla je kompanija.

Prilikom prevođenja, servis koristi oba modela, a zatim algoritam mašinskog učenja upoređuje rezultate i nudi najbolju opciju, po svom mišljenju. "Hibridni sistem vam omogućava da iz svake metode uzmete najbolje i poboljšate kvalitet prijevoda", kažu u Yandexu.

Tokom dana 14. septembra u web verziji Prevodioca trebalo bi da se pojavi prekidač sa kojim možete uporediti prevode napravljene hibridnim i statističkim modelom. Istovremeno, ponekad servis možda ne mijenja tekstove, napominju iz kompanije: "To znači da je hibridni model odlučio da je statistički prijevod bolji."

Na savremenom Internetu postoji više od 630 miliona sajtova, ali samo 6% njih sadrži sadržaj na ruskom jeziku. Jezička barijera je glavni problem širenja znanja među korisnicima mreže, a smatramo da ga treba riješiti ne samo učenjem stranih jezika, već i korištenjem automatskog mašinskog prevođenja u pretraživaču.

Danas ćemo čitateljima Habra reći o dvije važne tehnološke promjene u prevodiocu Yandex.Browser. Prvo, prijevod odabranih riječi i fraza sada koristi hibridni model, a mi ćemo se podsjetiti kako se ovaj pristup razlikuje od korištenja samo neuronskih mreža. Drugo, prevodiočeve neuronske mreže sada uzimaju u obzir strukturu web stranica, o čijim karakteristikama ćemo također govoriti pod rezom.

Hibridni prevodilac riječi i fraza

Prvi sistemi mašinskog prevođenja bili su zasnovani na rječnicima i pravilima(u stvari, ručno pisani regularni izrazi), koji su odredili kvalitet prijevoda. Profesionalni lingvisti godinama rade na razvoju sve detaljnijih ručnih pravila. Posao je bio toliko naporan da je ozbiljna pažnja posvećena samo najpopularnijim parovima jezika, ali čak i unutar njih mašine su radile loše. Živi jezik je veoma složen sistem koji ne poštuje pravila. Još je teže opisati pravila podudaranja dvaju jezika.

Jedini način da se mašina stalno prilagođava promenljivim uslovima je da samostalno uči iz velikog broja paralelnih tekstova (istih po značenju, ali napisanih na različitim jezicima). Ovo je statistički pristup mašinskom prevođenju. Računar upoređuje paralelne tekstove i samostalno identifikuje obrasce.

At statistički prevodilac postoje i prednosti i nedostaci. S jedne strane, dobro pamti rijetke i složene riječi i fraze. Ako su se sreli u paralelnim tekstovima, prevodilac će ih zapamtiti i nastavit će ispravno prevoditi. S druge strane, rezultat prijevoda može biti sličan završenoj slagalici: cjelokupna slika izgleda da je jasna, ali ako bolje pogledate, možete vidjeti da se sastoji od zasebnih dijelova. Razlog je u tome što prevodilac pojedinačne riječi predstavlja kao identifikatore, koji ni na koji način ne odražavaju odnos između njih. To se ne uklapa u način na koji ljudi percipiraju jezik, gdje su riječi definirane načinom na koji se koriste, kako se odnose i razlikuju od drugih riječi.

Pomaže u rješavanju ovog problema neuronske mreže. Ugrađivanje riječi, koje se koristi u neuronskom mašinskom prevođenju, obično preslikava svaku riječ u vektor dug nekoliko stotina brojeva. Vektori se, za razliku od jednostavnih identifikatora iz statističkog pristupa, formiraju prilikom obuke neuronske mreže i uzimaju u obzir odnose između riječi. Na primjer, model bi mogao prepoznati da bi, budući da se "čaj" i "kafa" često pojavljuju u sličnim kontekstima, obje ove riječi trebale biti moguće u kontekstu nove riječi "proliti", koju je, recimo, samo jedna od njih susrela u podatke o obuci.

Međutim, očito je da je proces učenja vektorskih reprezentacija statistički zahtjevniji od pamćenja primjera napamet. Osim toga, nije jasno što učiniti s tim rijetkim ulaznim riječima koje nisu dovoljno česte da bi mreža izgradila prihvatljivu vektorsku reprezentaciju za njih. U ovoj situaciji logično je kombinirati obje metode.

Od prošle godine koristi Yandex.Translate hibridni model. Kada prevodilac primi tekst od korisnika, on ga šalje u oba sistema za prevođenje - i neuronskoj mreži i statističkom prevodiocu. Zatim, algoritam zasnovan na metodi učenja procjenjuje koji je prijevod bolji. Prilikom ocjenjivanja uzimaju se u obzir desetine faktora - od dužine rečenice (kratke fraze bolje se prevode statističkim modelom) do sintakse. Prevod koji je prepoznat kao najbolji prikazuje se korisniku.

To je hibridni model koji se sada koristi u Yandex.Browseru, kada korisnik bira određene riječi i fraze na stranici za prijevod.

Ovaj način rada je posebno pogodan za one koji općenito vladaju stranim jezikom i žele da prevode samo nepoznate riječi. Ali ako, na primjer, umjesto uobičajenog engleskog, upoznate kineski, tada će biti teško bez prevoditelja stranica. Čini se da je razlika samo u obimu prevedenog teksta, ali nije sve tako jednostavno.

Prevoditelj web stranica neuronske mreže

Od vremena Džordžtaunskog eksperimenta do skoro danas, svi sistemi mašinskog prevođenja bili su obučeni da prevedu svaku rečenicu izvornog teksta pojedinačno. Dok web stranica nije samo skup rečenica, već strukturirani tekst koji sadrži fundamentalno različite elemente. Razmotrite osnovne elemente većine stranica.

header. Obično svijetao i veliki tekst koji vidimo odmah pri ulasku na stranicu. Naslov često sadrži suštinu vijesti, pa je važno da ga pravilno prevedete. Ali to je teško učiniti, jer je tekst u naslovu mali i bez razumijevanja konteksta možete pogriješiti. U slučaju engleskog, stvari su još složenije, jer naslovi na engleskom jeziku često sadrže fraze s netradicionalnom gramatikom, infinitiv, ili čak preskakanje glagola. Na primjer, Najavljen prequel Igre prijestolja.

Navigacija. Riječi i fraze koje nam pomažu da se krećemo po stranici. Na primjer, Dom, Nazad i Moj račun teško da se isplati prevoditi kao "Početna", "Nazad" i "Moj nalog" ako se nalaze u meniju sajta, a ne u tekstu publikacije.

Glavni tekst. S njim je sve lakše, malo se razlikuje od uobičajenih tekstova i rečenica koje možemo naći u knjigama. Ali čak i ovdje je važno osigurati konzistentnost prijevoda, odnosno osigurati da se isti termini i koncepti prevode na isti način unutar iste web stranice.

Za kvalitetan prevod web stranica nije dovoljno koristiti neuronsku mrežu ili hibridni model – potrebno je uzeti u obzir i strukturu stranica. A za to smo morali da se nosimo sa mnogo tehnoloških poteškoća.

Klasifikacija segmenata teksta. Da bismo to uradili, ponovo koristimo CatBoost i faktore zasnovane kako na samom tekstu tako i na HTML markiranju dokumenata (oznaka, veličina teksta, broj linkova po jedinici teksta,...). Faktori su prilično heterogeni, tako da CatBoost (zasnovano na podizanju gradijenta) pokazuje najbolje rezultate (tačnost klasifikacije je iznad 95%). Ali samo klasifikacija po segmentima nije dovoljna.

Podaci iskrivljeni. Tradicionalno, Yandex.Translate algoritmi se obučavaju na tekstovima sa Interneta. Čini se da je ovo idealno rješenje za obuku prevoditelja web stranica (drugim riječima, mreža uči iz tekstova iste prirode kao i oni tekstovi na koje ćemo je primijeniti). Ali čim smo naučili da odvajamo različite segmente jedan od drugog, otkrili smo zanimljivu osobinu. Sadržaj u prosjeku čini oko 85% ukupnog teksta na web stranicama, a naslovi i navigacija čine samo 7,5% svaki. Podsjetimo također da se naslovi i elementi navigacije značajno razlikuju po stilu i gramatici od ostatka teksta. Ova dva faktora zajedno dovode do problema iskrivljenosti podataka. Za neuronsku mrežu je isplativije jednostavno zanemariti karakteristike ovih vrlo slabo zastupljenih segmenata u uzorku za obuku. Mreža uči dobro prevoditi samo glavni tekst, koji pati od kvaliteta prijevoda naslova i navigacije. Da bismo neutralizirali ovaj neugodan efekat, uradili smo dvije stvari: dodijelili smo jedan od tri tipa segmenata (sadržaj, naslov ili navigaciju) kao meta-informaciju svakom paru paralelnih rečenica i umjetno podigli koncentraciju posljednje dvije u korpusu obuke na 33% zbog činjenice da su počeli češće pokazivati ​​slične primjere neuronskoj mreži za učenje.

Učenje sa više zadataka. Budući da smo sada u mogućnosti podijeliti tekstove na web stranicama u tri klase segmenata, moglo bi izgledati kao prirodna ideja trenirati tri odvojena modela, od kojih će se svaki nositi s prijevodom različite vrste teksta - naslovi, navigacija ili sadržaj. Ovo zaista dobro funkcionira, ali shema funkcionira još bolje, u kojoj treniramo jednu neuronsku mrežu da prevodi sve vrste tekstova odjednom. Ključ za razumijevanje leži u ideji učenja s više zadataka (MTL): ako postoji interna veza između nekoliko zadataka strojnog učenja, tada model koji uči rješavati ove zadatke istovremeno može naučiti rješavati svaki od zadataka bolje nego specijalizovani model uskog profila!

fino podešavanje. Već smo imali veoma dobar mašinski prevod, tako da bi bilo nerazumno obučavati novog prevodioca za Yandex.Browser od nule. Logičnije je uzeti osnovni sistem za prevođenje običnih tekstova i osposobiti ga za rad sa web stranicama. U kontekstu neuronskih mreža, ovo se često naziva finim podešavanjem. Ali ako ovom problemu pristupimo direktno, tj. samo inicijalizirajte težine neuronske mreže sa vrijednostima iz gotovog modela i počnite učiti iz novih podataka, možete naići na efekat pomaka domene: kako budete naučili, kvaliteta prijevoda web stranica (u domeni) će se povećati, ali će kvalitet prijevoda običnih (van domene) tekstova pasti. Da bismo se riješili ove neugodne karakteristike, tokom dodatnog treninga, namećemo dodatno ograničenje neuronskoj mreži, zabranjujući joj da previše mijenja težine u odnosu na početno stanje.

Matematički, ovo se izražava dodavanjem pojma funkciji gubitka (funkcija gubitka), a to je Kullback-Leiblerova udaljenost (KL-divergencija) između distribucije vjerovatnoće generiranja sljedeće riječi, koju izdaju originalna i preobučena mreža. Kao što se može vidjeti na ilustraciji, to rezultira činjenicom da poboljšanje kvalitete prijevoda web stranica više ne dovodi do degradacije prijevoda običnog teksta.

Poliranje frekvencijskih fraza iz navigacije. U procesu rada na novom prevodiocu prikupili smo statistiku o tekstovima različitih segmenata web stranica i vidjeli nešto zanimljivo. Tekstovi koji se odnose na elemente navigacije prilično su standardizirani, pa često predstavljaju iste šablonske fraze. Ovo je toliko snažan efekat da je više od polovine svih fraza za navigaciju pronađenih na Internetu u samo 2.000 najčešćih.

Naravno, mi smo to iskoristili i dali nekoliko hiljada najčešćih fraza i njihovih prijevoda na provjeru našim prevodiocima kako bismo bili potpuno sigurni u njihov kvalitet.

Eksterna poravnanja. Postojao je još jedan važan zahtjev za prevoditelj web stranice u pretraživaču - ne bi trebao iskriviti oznaku. Kada se HTML oznake stave izvan rečenica ili na njihove granice, ne nastaje nikakav problem. Ali ako se unutar rečenice nalazi npr. dva podvučeno riječi, onda u prijevodu želimo vidjeti „dva podvučeno riječi". One. Kao rezultat transfera, moraju biti ispunjena dva uslova:

  1. Podvučeni fragment u prijevodu mora tačno odgovarati podvučenom fragmentu u izvornom tekstu.
  2. Konzistentnost prijevoda na granicama podvučenog fragmenta ne bi trebala biti narušena.
Kako bismo osigurali ovakvo ponašanje, prvo prevodimo tekst na uobičajeni način, a zatim, koristeći statističke modele poravnanja riječ po riječ, utvrđujemo korespondenciju između fragmenata izvornog i prevedenog teksta. Ovo pomaže da se razumije šta treba podvući (kurziv, hiperlink,...).

Posmatrač raskrsnice. Moćni modeli prevođenja neuronskih mreža koje smo obučili zahtijevaju primjetno više računarskih resursa na našim serverima (i CPU i GPU) od prethodnih generacija statističkih modela. Istovremeno, korisnici ne čitaju uvijek stranice do kraja, pa slanje cijelog teksta web stranica u oblak izgleda suvišno. Kako bismo uštedjeli resurse servera i korisnički promet, naučili smo Translator da koristi

Web stranice indeksirane pretraživačima imaju više od pola milijarde kopija, a ukupan broj web stranica je desetine hiljada puta veći. Sadržaj na ruskom jeziku zauzima 6% cjelokupnog interneta.

Kako prevesti željeni tekst brzo i na način da se sačuva smisao autora. Stare metode modula prevođenja statističkih sadržaja rade vrlo sumnjivo, jer nemoguće je precizno odrediti deklinaciju riječi, vrijeme i drugo. Priroda riječi i veza između njih je složena, zbog čega je ponekad rezultat izgledao vrlo neprirodno.

Sada Yandex koristi automatsko mašinsko prevođenje, što će povećati kvalitetu konačnog teksta. Možete preuzeti najnoviju zvaničnu verziju pretraživača s novim ugrađenim prijevodom.

Hibridni prijevod fraza i riječi

Yandex pretraživač je jedini koji može prevesti stranicu u cjelini, kao i riječi i fraze pojedinačno. Funkcija će biti vrlo korisna za one korisnike koji manje-više govore strani jezik, ali se ponekad suočavaju s poteškoćama u prijevodu.

Neuronska mreža ugrađena u mehanizam prevođenja riječi nije uvijek izlazila na kraj sa postavljenim zadacima, jer rijetke riječi bilo je izuzetno teško ugraditi u tekst i učiniti ga čitljivim. Sada je hibridna metoda ugrađena u aplikaciju koristeći stare i nove tehnologije.

Mehanizam je sljedeći: program prihvaća odabrane rečenice ili riječi, zatim ih daje oba modula neuronske mreže i statističkog prevoditelja, a ugrađeni algoritam određuje koji je rezultat bolji i zatim ga daje korisniku.

Prevodilac neuronske mreže

Strani sadržaj je dizajniran na vrlo specifičan način:

  • prva slova riječi u naslovima su velika;
  • rečenice se grade pojednostavljenom gramatikom, neke riječi su izostavljene.

Navigacijski meniji na web stranicama se raščlanjuju na osnovu njihove lokacije, kao što je riječ Nazad, ispravno prevedena nazad (vrati se), a ne nazad.

Kako bi uzeli u obzir sve gore navedene karakteristike, programeri su dodatno obučili neuronsku mrežu koja već koristi ogroman niz tekstualnih podataka. Sada na kvalitet prijevoda utječu lokacija sadržaja i njegov dizajn.

Rezultati primijenjenog prijevoda

Kvalitet prijevoda može se mjeriti BLEU* algoritmom, koji upoređuje strojne i profesionalne prijevode. Skala kvaliteta od 0 do 100%.

Što je bolji neuronski prevod, to je veći procenat. Prema ovom algoritmu, Yandex pretraživač je počeo da prevodi 1,7 puta bolje.

Yandex je lansirao novu verziju prevodioca. Hibridni sistem će sada raditi na prijevodu: pored statističkog modela koji je ranije korišten, prevodilac će koristiti i neuronsku mrežu. Ovo je objavljeno na blogu kompanije.

Postoji nekoliko pristupa mašinskom prevođenju. Prvi, najčešći pristup je statistički. Takvo mašinsko prevođenje zasniva se na pamćenju ogromne količine informacija dobijenih iz paralelnih korpusa (istih tekstova na različitim jezicima): to mogu biti ili pojedinačne reči ili gramatička pravila. Ovaj pristup, međutim, ima vrlo važan nedostatak: statističko mašinsko prevođenje pamti informacije, ali ih ne razumije, pa takav prijevod često izgleda kao mnogo različitih ispravno prevedenih dijelova, skupljenih u jedan tekst koji nije baš gramatički i gramatički ispravan. semantičko opterećenje.

Drugi pristup je neuronska mreža. Zasnovan je ne na prijevodu pojedinačnih riječi i fraza, već cijelih rečenica, a njegov glavni cilj je očuvanje značenja, uz postizanje najboljeg kvaliteta prijevoda u smislu gramatike. Takva tehnologija prevođenja može pohraniti i znanje jezika koje je naučila u procesu učenja - to joj omogućava da se nosi, na primjer, s greškama u dogovoru o slučaju. Neuronsko mašinsko prevođenje je relativno nov pristup, međutim, već se dokazao: uz pomoć neuronske mreže Google Translate uspio je postići rekordan kvalitet prijevoda.

Od danas, Yandex.Translate je zasnovan na hibridnom sistemu. Takav sistem uključuje statističko prevođenje koje je ranije koristio servis i prevod zasnovan na radu neuronske mreže. Specijalni algoritam klasifikatora baziran na CatBoostu (sistem mašinskog učenja koji je razvio Yandex) odabire najbolju od dvije opcije prijevoda (statističku i neuronsku) i daje je korisniku.

Više o radu nove verzije Yandex.Translatea možete pročitati na našem sastanku sa šefom službe, britanskim računarskim lingvistom Davidom Talbotom.

Trenutno je nova tehnologija prevođenja dostupna samo kada se prevodi sa engleskog na ruski (prema kompaniji, ovo je najpopularniji pravac prevođenja). Tokom rada sa sistemom, korisnik može da prelazi između dva modela prevođenja (stari statistički i novi hibridni) i da uporedi prevod stare i nove verzije. U narednim mjesecima, programeri Translator obećavaju da će uključiti i druga područja prevođenja.


Primjeri prijevoda različitih modela korištenih u novoj verziji Yandex.Translatea



Strojno prevođenje pomoću neuronskih mreža prešlo je dug put od prvih naučnih istraživanja na ovu temu pa do trenutka kada je Google najavio potpuni prelazak usluge Google Translate na duboko učenje.

Kao što znate, neuronski prevodilac je baziran na mehanizmu dvosmjernih rekurentnih neuronskih mreža (Bidirectional Recurrent Neural Networks), izgrađenih na matričnim proračunima, što vam omogućava da izgradite znatno složenije vjerovatnoće modela od statističkih mašinskih prevodilaca. Međutim, oduvijek se vjerovalo da neuronsko prevođenje, kao i statističko prevođenje, zahtijeva paralelne korpuse tekstova na dva jezika za učenje. Neuronska mreža je obučena na ovim korpusima, uzimajući ljudski prijevod kao referentni.

Kako se sada pokazalo, neuronske mreže su u stanju da savladaju novi jezik za prevođenje čak i bez paralelnog korpusa tekstova! Preprint stranica arXiv.org objavila je dva rada na ovu temu odjednom.

“Zamislite da date osobi mnogo kineskih knjiga i mnogo arapskih knjiga – nijedna nije ista – a ta osoba je obučena da prevodi sa kineskog na arapski. Izgleda nemoguće, zar ne? Ali pokazali smo da kompjuter to može,” kaže Mikel Artetxe, informatičar sa Univerziteta Baskije u San Sebastianu (Španija).

Većina neuronskih mreža za mašinsko prevođenje se obučava „sa nastavnikom“, čija je uloga samo paralelni korpus tekstova koje je osoba prevela. U procesu učenja, grubo govoreći, neuronska mreža pravi pretpostavku, proverava se sa standardom i vrši potrebna prilagođavanja svojih sistema, a zatim dalje uči. Problem je što za neke jezike u svijetu ne postoji veliki broj paralelnih tekstova, pa nisu dostupni za tradicionalne neuronske mreže za strojno prevođenje.


"Univerzalni jezik" neuronske mreže Google Neural Machine Translation (GNMT). Na lijevoj ilustraciji, skupovi značenja svake riječi prikazani su različitim bojama, u donjem desnom - značenja riječi dobijene za nju iz različitih ljudskih jezika: engleskog, korejskog i japanskog

Nakon što kompajlira džinovski "atlas" za svaki jezik, sistem zatim pokušava da preklopi jedan takav atlas na drugi - i eto, imate spremne neke vrste paralelnih tekstualnih korpusa!

Moguće je uporediti šeme dvije predložene arhitekture nenadgledanog učenja.


Arhitektura predloženog sistema. Za svaku rečenicu na jeziku L1, sistem uči izmjenu dva koraka: 1) potiskivanje buke(denoising), koji optimizuje verovatnoću kodiranja bučne verzije rečenice sa zajedničkim koderom i njene rekonstrukcije pomoću L1 dekodera; 2) obrnuti prevod(povratni prijevod) kada je rečenica prevedena u izlaznom načinu (tj. kodirana zajedničkim koderom i dekodirana L2 dekoderom), a zatim vjerovatnoća da se ova prevedena rečenica kodira zajedničkim koderom i da se izvorna rečenica povrati pomoću L1 dekodera je optimiziran. Ilustracija: Michela Artetxe et al.


Predložena arhitektura i ciljevi učenja sistema (iz drugog naučnog rada). Arhitektura je model prevođenja rečenicu po rečenicu gdje i koder i dekoder rade na dva jezika, ovisno o identifikatoru ulaznog jezika, koji zamjenjuje tabele pretraživanja. Vrh (autokodiranje): model je osposobljen za uklanjanje šuma u svakoj domeni. Dno (prevod): kao i ranije, plus kodiramo sa drugog jezika, koristeći kao ulaz prevod koji je proizveo model u prethodnoj iteraciji (plava kutija). Zelene elipse označavaju pojmove u funkciji gubitka. Ilustracija: Guillaume Lampl et al.

Oba rada koriste izuzetno sličnu metodologiju sa malim razlikama. Ali u oba slučaja, prijevod se vrši kroz neki srednji "jezik" ili, bolje rečeno, srednju dimenziju ili prostor. Do sada neuronske mreže bez nastavnika ne pokazuju baš visok kvalitet prijevoda, ali autori kažu da ga je lako poboljšati uz pomoć malog učitelja, upravo sada, radi čistoće teksta. eksperiment, to nije urađeno.

Radovi dostavljeni za Međunarodnu konferenciju o reprezentacijama učenja 2018. Nijedan od članaka još nije objavljen u naučnoj štampi.