Mājas Profilakse Neironu tīklu tulkotājs ātrāk tuvāk precīzāk. Neironu tīkls padarīs tulkojumus Yandex.Browser pareizākus

Neironu tīklu tulkotājs ātrāk tuvāk precīzāk. Neironu tīkls padarīs tulkojumus Yandex.Browser pareizākus

Ir vairāk nekā pusmiljards vietņu kopiju, kuras indeksē meklētājprogrammas, un Kopā tīmekļa lapu ir desmitiem tūkstošu reižu vairāk. Krievu valodas saturs aizņem 6% no visa interneta.

Kā ātri un tā iztulkot vēlamo tekstu, lai saglabātos autora iecerētā jēga. Vecās statistikas satura tulkošanas moduļu metodes darbojas ļoti apšaubāmi, jo... Nav iespējams precīzi noteikt vārdu deklināciju, sasprindzinājumu utt. Vārdu raksturs un to sakarības ir sarežģītas, tāpēc rezultāts dažkārt izskatījās ļoti nedabisks.

Tagad Yandex izmanto automātisko mašīntulkošanu, kas uzlabos iegūtā teksta kvalitāti. Varat lejupielādēt jaunāko oficiālo pārlūkprogrammas versiju ar jaunu iebūvētu tulkojumu.

Frāžu un vārdu hibrīds tulkojums

Pārlūks Yandex ir vienīgais, kas var tulkot lapu kopumā, kā arī vārdus un frāzes atsevišķi. Funkcija būs ļoti noderīga tiem lietotājiem, kuriem vairāk vai mazāk pieder svešvaloda, bet dažkārt saskaras ar tulkošanas grūtībām.

Vārdu tulkošanas mehānismā iebūvētais neironu tīkls ne vienmēr tika galā ar uzdotajiem uzdevumiem, jo Bija ārkārtīgi grūti iestrādāt tekstā retus vārdus un padarīt to lasāmu. Tagad lietojumprogrammā ir iebūvēta hibrīda metode, izmantojot vecās un jaunas tehnoloģijas.

Mehānisms ir šāds: programma pieņem izvēlētos teikumus vai vārdus, pēc tam nodod tos gan neironu tīkla moduļiem, gan statistikas tulkotājam, un iebūvētais algoritms nosaka, kurš rezultāts ir labāks, un pēc tam dod to lietotājam.

Neironu tīklu tulkotājs

Ārzemju saturs tiek formatēts ļoti specifiskā veidā:

  • vārdu pirmos burtus virsrakstos raksta ar lielajiem burtiem;
  • teikumi ir veidoti ar vienkāršotu gramatiku, daži vārdi ir izlaisti.

Vietņu navigācijas izvēlnes tiek analizētas, ņemot vērā to atrašanās vietu, piemēram, vārdu Atpakaļ, pareizi tulkots atpakaļ (atgriezties), nevis atpakaļ.

Lai ņemtu vērā visas iepriekš minētās iespējas, izstrādātāji papildus apmācīja neironu tīklu, kurā jau tiek izmantots milzīgs teksta datu masīvs. Tagad tulkojuma kvalitāti ietekmē satura atrašanās vieta un tā dizains.

Lietotā tulkojuma rezultāti

Tulkošanas kvalitāti var izmērīt ar BLEU* algoritmu, kas salīdzina mašīntulkošanu un profesionālo tulkošanu. Kvalitātes skala no 0 līdz 100%.

Jo labāka ir neironu translācija, jo lielāka procentuālā daļa. Saskaņā ar šo algoritmu Yandex pārlūks sāka tulkot 1,7 reizes labāk.



Mašīntulkošana, izmantojot neironu tīklus, ir nogājusi garu ceļu kopš pirmās zinātniskie pētījumi par šo tēmu, līdz Google paziņoja par Google tulkotāja pakalpojuma pilnīgu pāreju uz dziļo apmācību.

Kā zināms, neironu tulkotājs ir balstīts uz divvirzienu atkārtotu neironu tīklu (Bidirectional Recurrent Neural Networks) mehānismu, kas veidots uz matricas aprēķiniem, kas ļauj konstruēt ievērojami sarežģītākus varbūtības modeļus nekā statistikas mašīntulkotāji. Tomēr vienmēr ir bijis uzskats, ka neironu tulkošanai, tāpat kā statistiskajai tulkošanai, apmācībai ir nepieciešami paralēli tekstu korpusi divās valodās. Šajos korpusos tiek apmācīts neironu tīkls, par atsauci izmantojot cilvēka tulkojumu.

Kā tagad izrādījās, neironu tīkli spēj apgūt jaunu valodu tulkošanai pat bez paralēla tekstu korpusa! Divi raksti par šo tēmu ir publicēti pirmsdrukas vietnē arXiv.org.

“Iedomājieties, ka jūs iedodat cilvēkam daudzas ķīniešu grāmatas un daudzas arābu grāmatas – neviena no tām nav vienāda – un šī persona iemācās tulkot no ķīniešu valodas uz arābu valodu. Šķiet neiespējami, vai ne? Taču mēs esam parādījuši, ka dators to spēj,” saka Mikels Artekse, datorzinātnieks no Basku zemes universitātes Sansebastjanā, Spānijā.

Lielākā daļa mašīntulkošanas neironu tīklu tiek apmācīti “kopā ar skolotāju”, kas ir paralēls cilvēka tulkoto tekstu korpuss. Apmācības procesā, rupji runājot, neironu tīkls izdara pieņēmumu, pārbauda ar standartu un veic nepieciešamos pielāgojumus savās sistēmās, pēc tam mācās tālāk. Problēma ir tā, ka dažām valodām pasaulē nav daudz paralēlu tekstu, tāpēc tie nav pieejami tradicionālajiem mašīntulkošanas neironu tīkliem.


Google neironu mašīntulkošanas (GNMT) neironu tīkla “universālā valoda”. Kreisajā ilustrācijā dažādas krāsas Katra vārda nozīmju kopas, apakšējā labajā stūrī ir parādītas vārda nozīmes, kas tam iegūtas no dažādām cilvēku valodām: angļu, korejiešu un japāņu.

Sastādot katrai valodai milzīgu “atlantu”, sistēma mēģina uzlikt vienu šādu atlantu citam - un, lūk, jums ir gatavs kaut kāds paralēlais teksta korpuss!

Var salīdzināt divu ierosināto nepārraudzītu mācību arhitektūru dizainus.


Piedāvātās sistēmas arhitektūra. Katram L1 teikumam sistēma iemācās mainīt divus soļus: 1) trokšņu slāpēšana(denoising), kas optimizē teikuma trokšņainas versijas kodēšanas varbūtību ar kopīgu kodētāju un rekonstruē to ar L1 dekodētāju; 2) apgrieztais tulkojums(atpakaļtulkošana), kad teikums tiek tulkots izvades režīmā (tas ir, kodē ar kopīgu kodētāju un dekodē L2 dekodētāju), un pēc tam varbūtība, ka šis tulkotais teikums tiks kodēts ar kopīgu kodētāju un oriģinālais teikums tiks rekonstruēts, izmantojot L1 dekodētājs ir optimizēts. Ilustrācija: Michela Artetxe et al.


Piedāvātā sistēmas arhitektūra un apmācības mērķi (no otrā zinātniskā darba). Arhitektūra ir teikumu pa teikumam tulkošanas modelis, kurā gan kodētājs, gan dekodētājs darbojas divās valodās atkarībā no ievades valodas ID, kas apmaina uzmeklēšanas tabulas. Augšā (automātiskā kodēšana): modelis ir apmācīts veikt trokšņa samazināšanu katrā domēnā. Apakšējā daļa (tulkojums): tāpat kā iepriekš, kā arī mēs kodējam no citas valodas, kā ievadi izmantojot iepriekšējā iterācijā modeļa veikto tulkojumu (zils taisnstūris). Zaļās elipses apzīmē terminus zaudējumu funkcijā. Ilustrācija: Guillaume Lampla et al.

Abi zinātniskie darbi izmantot izteikti līdzīgu metodiku ar nelielām atšķirībām. Taču abos gadījumos tulkošana tiek veikta, izmantojot kādu starpposma “valodu” vai, labāk sakot, starpdimensiju vai telpu. Pagaidām nepārraudzīti neironu tīkli neuzrāda ļoti augstu tulkošanas kvalitāti, taču autori saka, ka to var viegli uzlabot, ja izmantotu nelielu skolotāja palīdzību, viņi vienkārši to nedarīja eksperimenta tīrības labad. .

Darbi prezentēti priekš Starptautiskā konference on learning representations 2018 (International Conference on Learning Representations). Neviens no rakstiem vēl nav publicēts zinātniskajā presē.

Mūsdienu internetā ir vairāk nekā 630 miljoni vietņu, taču tikai 6% no tām satur saturu krievu valodā. Valodas barjera ir galvenā zināšanu izplatīšanas problēma starp tīkla lietotājiem, un mēs uzskatām, ka tā ir jārisina ne tikai mācot svešvalodas, bet arī izmantojot automātisko mašīntulkošanu pārlūkprogrammā.

Šodien mēs Habr lasītājiem pastāstīsim par divām svarīgām Yandex Browser tulkotāja tehnoloģiskām izmaiņām. Pirmkārt, izcelto vārdu un frāžu tulkošanā tagad tiek izmantots hibrīdmodelis, un mēs atgādināsim, kā šī pieeja atšķiras no tīri neironu tīklu izmantošanas. Otrkārt, tulkotāja neironu tīkli tagad ņem vērā tīmekļa lapu struktūru, par kuras iezīmēm mēs arī runāsim zem griezuma.

Vārdu un frāžu hibrīdtulkotājs

Pirmās mašīntulkošanas sistēmas tika balstītas uz vārdnīcas un noteikumi(būtībā ar roku rakstītas parastās rakstzīmes), kas noteica tulkojuma kvalitāti. Profesionāli valodnieki ir strādājuši gadiem ilgi, lai izstrādātu arvien detalizētākus rokasgrāmatas noteikumus. Šis darbs bija tik laikietilpīgs, ka nopietna uzmanība tika pievērsta tikai populārākajiem valodu pāriem, taču arī tajos mašīnas darbojās slikti. Dzīvā valoda ir ļoti sarežģīta sistēma, kas slikti ievēro noteikumus. Vēl grūtāk ir aprakstīt divu valodu sarakstes noteikumus.

Vienīgais veids, kā mašīna var pastāvīgi pielāgoties mainīgajiem apstākļiem, ir mācīties neatkarīgi no daudziem paralēliem tekstiem (identiski pēc nozīmes, bet rakstīti dažādās valodās). Šī ir statistiskā pieeja mašīntulkošanai. Dators salīdzina paralēlos tekstus un patstāvīgi identificē modeļus.

U statistikas tulkotājs ir gan priekšrocības, gan trūkumi. No vienas puses, viņš labi atceras retus un sarežģītus vārdus un frāzes. Ja tie tika atrasti paralēlos tekstos, tulkotājs tos atcerēsies un turpinās pareizi tulkot. No otras puses, tulkojuma rezultāts var būt kā pabeigta puzle: kopaina šķiet skaidra, bet, vērīgi ieskatoties, var redzēt, ka tā sastāv no atsevišķiem gabaliņiem. Iemesls ir tāds, ka tulkotājs attēlo atsevišķus vārdus kā identifikatorus, kas nekādā veidā neatspoguļo attiecības starp tiem. Tas neatbilst tam, kā cilvēki izjūt valodu, kur vārdus definē pēc tā, kā tie tiek lietoti, kā tie ir saistīti ar citiem vārdiem un atšķiras no tiem.

Palīdz atrisināt šo problēmu neironu tīkli. Vārdu iegulšana, ko izmanto neironu mašīntulkošanā, parasti saista katru vārdu ar vektoru, kura garums ir vairāki simti skaitļu. Vektori, atšķirībā no vienkāršiem identifikatoriem no statistikas pieejas, tiek veidoti, apmācot neironu tīklu un ņem vērā attiecības starp vārdiem. Piemēram, modelis var atpazīt, ka, tā kā “tēja” un “kafija” bieži parādās līdzīgos kontekstos, abiem šiem vārdiem jābūt iespējamiem jaunā vārda “izliešana” kontekstā, kas, teiksim, tikai viens no tiem parādījās apmācības dati.

Tomēr vektora attēlojumu apguves process nepārprotami ir statistiski prasīgāks nekā piemēru iegaumēšana. Turklāt nav skaidrs, ko darīt ar tiem retajiem ievades vārdiem, kas nav sastopami pietiekami bieži, lai tīkls izveidotu tiem pieņemamu vektora attēlojumu. Šajā situācijā ir loģiski apvienot abas metodes.

Kopš pagājušā gada Yandex.Translator izmanto hibrīda modelis. Kad Tulkotājs saņem tekstu no lietotāja, viņš to nodod tulkošanai abām sistēmām - neironu tīklam un statistikas tulkotājam. Algoritms, kura pamatā ir mācību metode, pēc tam novērtē, kurš tulkojums ir labāks. Piešķirot vērtējumu, tiek ņemti vērā vairāki desmiti faktoru – no teikuma garuma (īsas frāzes labāk tulko statistikas modelis) līdz sintaksei. Par labāko atzītais tulkojums tiek parādīts lietotājam.

Tas ir hibrīda modelis, ko tagad izmanto Yandex.Browser, kad lietotājs lapā izvēlas konkrētus vārdus un frāzes tulkošanai.

Šis režīms ir īpaši ērts tiem, kuri parasti runā svešvalodā un vēlas tulkot tikai nezināmus vārdus. Bet, ja, piemēram, ierastās angļu valodas vietā jūs saskaraties ar ķīniešu valodu, tad bez tulkotāja pa lappusei būs grūti iztikt. Šķiet, ka atšķirība ir tikai tulkotā teksta apjomā, taču ne viss ir tik vienkārši.

Tīmekļa lapu neironu tīklu tulkotājs

No Džordžtaunas eksperimenta laika līdz gandrīz mūsdienām visas mašīntulkošanas sistēmas ir apmācītas tulkot katru teikumu avota teksts atsevišķi. Lai gan tīmekļa lapa nav tikai teikumu kopums, bet gan strukturēts teksts, kas satur būtiski atšķirīgus elementus. Apskatīsim vairuma lapu pamatelementus.

Virsraksts. Parasti spilgts un liels teksts, ko uzreiz redzam, ieejot lapā. Virsraksts bieži satur ziņas būtību, tāpēc ir svarīgi to pareizi iztulkot. Taču to ir grūti izdarīt, jo nosaukumā ir par maz teksta un, nesaprotot kontekstu, var kļūdīties. Angļu valodas gadījumā tas ir vēl sarežģītāk, jo angļu valodas nosaukumos bieži ir ietvertas frāzes ar netradicionālu gramatiku, infinitīviem vai pat trūkstošiem darbības vārdiem. Piemēram, Izziņots Game of Thrones priekšvēsture.

Navigācija. Vārdi un frāzes, kas palīdz mums orientēties vietnē. Piemēram, Mājas, Atpakaļ Un Mans Konts Diez vai to ir vērts tulkot kā “Sākums”, “Atpakaļ” un “Mans konts”, ja tie atrodas vietnes izvēlnē, nevis publikācijas tekstā.

Galvenais teksts. Ar to viss ir vienkāršāk, tas maz atšķiras no parastajiem tekstiem un teikumiem, ko varam atrast grāmatās. Taču arī šeit ir svarīgi nodrošināt tulkojumu konsekvenci, proti, nodrošināt, ka vienā tīmekļa lapā vieni un tie paši termini un jēdzieni tiek tulkoti vienādi.

Kvalitatīvai tīmekļa lapu tulkošanai nepietiek tikai ar neironu tīkla vai hibrīdmodeli – jāņem vērā arī lapu struktūra. Un, lai to izdarītu, mums bija jātiek galā ar daudzām tehnoloģiskām grūtībām.

Teksta segmentu klasifikācija. Lai to izdarītu, mēs atkal izmantojam CatBoost un faktorus, kas balstīti gan uz pašu tekstu, gan uz dokumentu HTML marķējumu (tags, teksta lielums, saišu skaits vienā teksta vienībā, ...). Faktori ir diezgan neviendabīgi, tāpēc CatBoost (pamatojoties uz gradienta palielināšanu) uzrāda vislabākos rezultātus (klasifikācijas precizitāte virs 95%). Taču ar segmentu klasificēšanu vien nepietiek.

Sašķiebti dati. Tradicionāli Yandex.Translator algoritmi tiek apmācīti tekstiem no interneta. Šķiet, ka tas ir ideāls risinājums tīmekļa lapu tulkotāja apmācībai (citiem vārdiem sakot, tīkls mācās no tādiem pašiem tekstiem kā teksti, kuros mēs to izmantosim). Bet, kad mēs iemācījāmies atdalīt dažādus segmentus vienu no otra, mēs atklājām interesanta iezīme. Vidēji vietnēs saturs aizņem aptuveni 85% no visa teksta, un virsraksti un navigācija veido tikai 7,5%. Atcerieties arī, ka paši virsraksti un navigācijas elementi pēc stila un gramatikas ievērojami atšķiras no pārējā teksta. Šie divi faktori kopā rada datu novirzes problēmu. Neironu tīklam ir izdevīgāk vienkārši ignorēt šo segmentu iezīmes, kas apmācības komplektā ir ļoti vāji pārstāvētas. Tīkls labi iemācās tulkot tikai galveno tekstu, tāpēc cieš virsrakstu tulkošanas un navigācijas kvalitāte. Lai izlīdzinātu šo nepatīkamo efektu, mēs veicām divas lietas: katram paralēlo teikumu pārim piešķīrām vienu no trīs veidi segmentiem (saturs, virsraksts vai navigācija) un mākslīgi palielināja pēdējo divu koncentrāciju mācību korpusā līdz 33% sakarā ar to, ka viņi sāka rādīt līdzīgus piemērus mācīšanās neironu tīklam.

Daudzuzdevumu mācīšanās. Tā kā tagad mēs varam sadalīt tekstu tīmekļa lapās trīs segmentu klasēs, varētu šķist dabiska ideja apmācīt trīs atsevišķus modeļus, no kuriem katrs veiktu cita veida teksta tulkošanu — virsrakstus, navigāciju vai saturu. Tas patiešām darbojas labi, taču vēl labāk darbojas shēma, kurā mēs apmācām vienu neironu tīklu, lai vienlaikus tulkotu visu veidu tekstus. Izpratnes atslēga slēpjas daudzuzdevumu mācīšanās (MTL) idejā: ja pastāv iekšēja saikne starp vairākiem mašīnmācīšanās uzdevumiem, tad modelis, kas mācās risināt šos uzdevumus vienlaicīgi, var iemācīties labāk atrisināt katru no uzdevumiem. nekā šauri specializēts modelis!

Laba skaņa. Mums jau bija diezgan labs mašīntulkojums, tāpēc būtu neprātīgi apmācīt jaunu Yandex.Browser tulkotāju no nulles. Loģiskāk ir izmantot parasto tekstu tulkošanas pamatsistēmu un apmācīt to darbam ar tīmekļa lapām. Neironu tīklu kontekstā to bieži sauc par precizēšanu. Bet, ja šai problēmai pieiet ar galvu, t.i. Vienkārši inicializējiet neironu tīkla svarus ar vērtībām no gatavā modeļa un sāciet apgūt jaunus datus, tad jūs varat saskarties ar domēna maiņas efektu: apmācībai turpinoties, tīmekļa lapu tulkošanas kvalitāte (domēnā) pieaugs, bet parasto (ārpus domēna) ) tekstu tulkošanas kvalitāte kritīsies. Lai atbrīvotos no šīs nepatīkamās īpašības, papildus treniņu laikā uzliekam papildu ierobežojumu neironu tīklam, liedzot tam pārāk daudz mainīt svarus, salīdzinot ar sākotnējo stāvokli.

Matemātiski tas tiek izteikts, pievienojot zaudējuma funkcijai terminu, kas ir Kullbeka-Līblera attālums (KL-diverģence) starp nākamā vārda ģenerēšanas varbūtības sadalījumiem, ko izdod sākotnējie un papildus apmācītie tīkli. Kā redzams ilustrācijā, tas noved pie tā, ka tīmekļa lapu tulkošanas kvalitātes pieaugums vairs neizraisa parastā teksta tulkojuma degradāciju.

Biežuma frāžu pulēšana no navigācijas. Strādājot pie jauna tulkotāja, apkopojām statistiku par dažādu tīmekļa lapu segmentu tekstiem un ieraudzījām ko interesantu. Teksti, kas attiecas uz navigācijas elementiem, ir diezgan standartizēti, tāpēc tie bieži sastāv no vienādām veidņu frāzēm. Tas ir tik spēcīgs efekts, ka vairāk nekā pusi no visām internetā atrodamajām navigācijas frāzēm veido tikai 2 tūkstoši biežāko frāžu.

Mēs, protams, izmantojām šo iespēju un nodevām vairākus tūkstošus izplatītāko frāžu un to tulkojumus mūsu tulkotājiem pārbaudei, lai būtu pilnīgi pārliecināti par to kvalitāti.

Ārējie izlīdzinājumi. Bija vēl viena svarīga prasība tīmekļa lapu tulkotājam pārlūkprogrammā - tas nedrīkst izkropļot marķējumu. Ja HTML tagus ievieto ārpus teikuma robežām vai uz tām, problēmas nerodas. Bet, ja teikuma iekšpusē ir, piemēram, divi pasvītrots vārdus, tad tulkojumā vēlamies redzēt “divi pasvītrots vārdi". Tie. Pārsūtīšanas rezultātā ir jāievēro divi nosacījumi:

  1. Pasvītrotam fragmentam tulkojumā precīzi jāatbilst pasvītrotajam fragmentam avota tekstā.
  2. Tulkojuma konsekvenci pie pasvītrotā fragmenta robežām nedrīkst pārkāpt.
Lai panāktu šo darbību, mēs vispirms tulkojam tekstu kā parasti un pēc tam izmantojam statistiskos vārdu pa vārdam līdzināšanas modeļus, lai noteiktu atbilstību starp avota un tulkotā teksta fragmentiem. Tas palīdz saprast, kas tieši ir jāuzsver (slīprakstā, formatēts kā hipersaite, ...).

Krustojuma novērotājs. Jaudīgajiem neironu tīklu tulkošanas modeļiem, kurus esam apmācījuši, mūsu serveros (gan CPU, gan GPU) ir nepieciešams ievērojami vairāk skaitļošanas resursu nekā iepriekšējās statistikas modeļu paaudzes. Tajā pašā laikā lietotāji ne vienmēr izlasa lapas līdz galam, tāpēc visa tīmekļa lapu teksta sūtīšana uz mākoni šķiet lieka. Lai taupītu servera resursus un lietotāju trafiku, mēs iemācījām lietot tulkotāju

vai arī kvantitāte pārvēršas kvalitātē?

Raksts balstīts uz runu RIF+KIB 2017 konferencē.

Neironu mašīntulkošana: kāpēc tikai tagad?

Par neironu tīkliem tiek runāts jau sen, un varētu šķist, ka viena no klasiskajām mākslīgā intelekta problēmām – mašīntulkošana – vienkārši prasa risināšanu uz šīs tehnoloģijas bāzes.

Tomēr šeit ir redzama popularitātes dinamika, meklējot vaicājumus par neironu tīkliem kopumā un jo īpaši par neironu mašīntulkošanu:

Ir skaidri redzams, ka vēl nesen nekas nebija uzraudzīts par neironu mašīntulkošanu – un 2016. gada beigās vairāki uzņēmumi demonstrēja savas jaunās tehnoloģijas un mašīntulkošanas sistēmas, kuru pamatā ir neironu tīkli, tostarp Google, Microsoft un SYSTRAN. Tie parādījās gandrīz vienlaikus, ar vairāku nedēļu vai pat dienu starpību. Kāpēc ir tā, ka?

Lai atbildētu uz šo jautājumu, ir jāsaprot, kas ir uz neironu tīkliem balstīta mašīntulkošana un kāda ir tās galvenā atšķirība no klasiskajām statistikas sistēmām vai analītiskajām sistēmām, kuras mūsdienās izmanto mašīntulkošanai.

Neironu tulkotājs ir balstīts uz divvirzienu atkārtotu neironu tīklu (Bidirectional Recurrent Neural Networks) mehānismu, kas balstīts uz matricas aprēķiniem, kas ļauj izveidot ievērojami sarežģītākus varbūtības modeļus nekā statistikas mašīntulkotāji.


Tāpat kā statistiskajai tulkošanai, arī neironu tulkošanai apmācībai nepieciešami paralēli korpusi, kas ļauj salīdzināt automātisko tulkojumu ar atsauci “cilvēks”, tikai mācību procesā tas darbojas nevis ar atsevišķām frāzēm un vārdu salikumiem, bet gan veseliem teikumiem. Galvenā problēma ir tā, ka šādas sistēmas apmācībai ir nepieciešama ievērojami lielāka skaitļošanas jauda.

Lai paātrinātu procesu, izstrādātāji izmanto NVIDIA GPU, kā arī Google Tensor Processing Unit (TPU), patentētas mikroshēmas, kas īpaši pielāgotas mašīnmācīšanās tehnoloģijām. Grafikas mikroshēmas sākotnēji ir optimizētas matricas aprēķinu algoritmiem, un tāpēc veiktspējas pieaugums ir 7-15 reizes, salīdzinot ar CPU.

Tomēr viena neironu modeļa apmācība aizņem 1–3 nedēļas, savukārt aptuveni tāda paša izmēra statistiskā modeļa apmācība aizņem 1–3 dienas, un šī atšķirība palielinās, palielinoties izmēram.

Tomēr ne tikai tehnoloģiskas problēmas kavēja neironu tīklu attīstību mašīntulkošanas uzdevuma kontekstā. Galu galā valodu modeļus bija iespējams apmācīt agrāk, lai gan lēnāk, taču nebija nekādu būtisku šķēršļu.

Savu lomu spēlēja arī neironu tīklu mode. Daudzi cilvēki attīstījās iekšēji, taču viņi nesteidzās to paziņot, baidoties, iespējams, ka nesaņems kvalitātes pieaugumu, ko sabiedrība sagaida no frāzes Neironu tīkli. Tas var izskaidrot faktu, ka viens pēc otra tika paziņoti vairāki neironu tulki.

Tulkošanas kvalitāte: kura BLEU rezultāts ir biezāks?

Mēģināsim saprast, vai tulkojumu kvalitātes pieaugums atbilst uzkrātajām cerībām un izmaksu pieaugumam, kas pavada neironu tīklu attīstību un atbalstu tulkošanai.
Google savos pētījumos parāda, ka neironu mašīntulkošana nodrošina relatīvo uzlabojumu no 58% līdz 87%, atkarībā no valodu pāra, salīdzinot ar klasisko statistikas pieeju (vai frāzēm balstītu mašīntulkošanu, PBMT, kā to sauc arī).


SYSTRAN veic pētījumu, kurā tiek novērtēta tulkojuma kvalitāte, izvēloties no vairākiem piedāvātajiem variantiem dažādas sistēmas, kā arī “cilvēka” tulkojumu. Un viņš norāda, ka viņa neironu tulkojumam 46% gadījumu tiek dota priekšroka, nevis cilvēka tulkojumam.

Tulkošanas kvalitāte: vai ir kāds izrāviens?

Lai gan Google apgalvo, ka uzlabojumi ir par 60% vai vairāk, šis skaitlis nedaudz atšķiras. Uzņēmuma pārstāvji runā par “relative Improvement”, tas ir, cik tuvu viņiem izdevās ar neironu pieeju Human Translation kvalitātei attiecībā pret to, kas bija klasiskajā statistikas tulkotājā.


Nozares eksperti, analizējot Google sniegtos rezultātus rakstā “Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation”, ir visai skeptiski par uzrādītajiem rezultātiem un apgalvo, ka patiesībā BLEU rādītājs ir uzlabojies tikai par 10%, un būtisks progress ir pamanāms tieši tad, kad vienkārši testi no Wikipedia, kas, visticamāk, tika izmantoti tīkla apmācības procesā.

PROMT ietvaros mēs regulāri salīdzinām dažādu mūsu sistēmu tekstu tulkojumus ar konkurentiem, un tāpēc mums vienmēr ir pa rokai piemēri, pēc kuriem varam pārbaudīt, vai neironu tulkojums tiešām ir tik pārāks par iepriekšējo paaudzi, kā apgalvo ražotāji.

Oriģinālais teksts (EN): satraukums nekad nevienam nav bijis labs.
Google tulkošanas PBMT: nevienam neko labu nedarīja, neuztraucoties.
Google tulkojums NMT: rūpes nekad nevienam nav palīdzējušas.

Starp citu, tās pašas frāzes tulkojums vietnē Translate.Ru: “Uztraukšanās nekad nevienam nav devusi nekādu labumu”, jūs varat redzēt, ka tas bija un paliek nemainīgs, neizmantojot neironu tīklus.

Arī Microsoft Translator šajā jautājumā neatpaliek. Atšķirībā no saviem kolēģiem no Google, viņi pat izveidoja vietni, kurā varat tulkot un salīdzināt divus rezultātus: neironu un pirmsneironu, lai pārliecinātos, ka apgalvojumi par kvalitātes pieaugumu nav nepamatoti.


Šajā piemērā mēs redzam, ka ir progress, un tas ir patiešām pamanāms. No pirmā acu uzmetiena šķiet, ka izstrādātāju apgalvojums, ka mašīntulkošana ir gandrīz panākusi cilvēku tulkošanu, ir patiess. Bet vai tas tiešām tā ir, un ko tas nozīmē attiecībā uz tehnoloģiju praktisko pielietojumu uzņēmējdarbībā?

IN vispārējs gadījums Tulkošana, izmantojot neironu tīklus, ir pārāka par statistisko tulkošanu, un šai tehnoloģijai ir milzīgs attīstības potenciāls. Bet, ja mēs uzmanīgi aplūkojam šo problēmu, mēs varam redzēt, ka progress nav viss, un ne visus uzdevumus var attiecināt uz neironu tīkliem, neņemot vērā pašu uzdevumu.

Mašīntulkošana: kādi ir izaicinājumi?

No automātiskā tulka visa tā pastāvēšanas vēsture - un tas jau ir vairāk nekā 60 gadus! – viņi gaidīja kaut kādu maģiju, iztēlojoties to kā mašīnu no zinātniskās fantastikas filmām, kas jebkuru runu acumirklī pārvērš citplanētiešu svilpienā un atpakaļ.

Faktiski uzdevumi ir dažādos līmeņos, no kuriem viens ir saistīts ar “universālu” vai, tā sakot, “ikdienas” tulkošanu ikdienas uzdevumiem un vieglākai izpratnei. Tiešsaistes tulkošanas pakalpojumi un daudzi mobilie produkti lieliski tiek galā ar šī līmeņa uzdevumiem.

Šādi uzdevumi ietver:

Ātra vārdu un īsu tekstu tulkošana dažādiem mērķiem;
automātiskā tulkošana saziņas laikā forumos, in sociālajos tīklos, vēstneši;
automātiskā tulkošana, lasot ziņas, Vikipēdijas rakstus;
ceļojumu tulks (mobilais).

Visi iepriekš apspriestie piemēri par tulkošanas kvalitātes paaugstināšanu, izmantojot neironu tīklus, ir tieši saistīti ar šiem uzdevumiem.

Tomēr, runājot par uzņēmējdarbības mērķiem un uzdevumiem saistībā ar mašīntulkošanu, lietas ir nedaudz atšķirīgas. Šeit ir, piemēram, dažas prasības korporatīvajām mašīntulkošanas sistēmām.

Tulkošana lietišķā sarakste ar klientiem, partneriem, investoriem, ārvalstu darbiniekiem;
vietņu, interneta veikalu, preču aprakstu, instrukciju lokalizācija;
lietotāju satura tulkošana (atsauksmes, forumi, emuāri);
spēja integrēt tulkošanu biznesa procesos un programmatūras produktos un pakalpojumos;
tulkojuma precizitāte atbilstoši terminoloģijai, konfidencialitāte un drošība.

Mēģināsim, izmantojot piemērus, saprast, vai kādas tulkošanas biznesa problēmas var atrisināt, izmantojot neironu tīklus un kā tieši.

Lieta: Amadejs

Amadeus ir viena no pasaulē lielākajām globālajām aviobiļešu izplatīšanas sistēmām. No vienas puses, ar to ir saistīti aviopārvadātāji, no otras – aģentūras, kurām visa informācija par izmaiņām jāsaņem reāllaikā un jānodod saviem klientiem.

Uzdevums ir lokalizēt tarifu piemērošanas nosacījumus (Fare Rules), kas tiek automātiski ģenerēti rezervēšanas sistēmā no dažādiem avotiem. Šie noteikumi vienmēr tiek veidoti angļu valoda. Manuālā tulkošana šeit praktiski nav iespējama, jo informācijas ir daudz un tā bieži mainās. Aviobiļešu aģents vēlas izlasīt Biļešu cenas noteikumus krievu valodā, lai ātri un kompetenti konsultētu savus klientus.

Nepieciešams skaidrs tulkojums, kas atspoguļo tarifu noteikumu nozīmi, ņemot vērā tipiskos terminus un saīsinājumus. Un tam ir nepieciešams automātiskais tulkojums, kas jāintegrē tieši Amadeus rezervēšanas sistēmā.

→ Projekta uzdevums un īstenošana detalizēti aprakstīti dokumentā.

Mēģināsim salīdzināt tulkojumu, kas veikts, izmantojot PROMT Cloud API, kas integrēts Amadeus tarifu noteikumu tulkotājā, un Google “neirālo” tulkojumu.

Oriģināls: ROUND TRIP INSTANT PURCHASE FARES

PROMT (analītiskā pieeja): LIKMES TŪLĪTĒJAI ATPAKAĻ LIDOJUMA IEGĀDĀŠANAI

GNMT: APAĻIE PIRKUMI

Ir skaidrs, ka neironu tulkotājs šeit nevar tikt galā, un nedaudz tālāk kļūs skaidrs, kāpēc.

Gadījums: TripAdvisor

TripAdvisor ir viens no pasaulē lielākajiem ceļojumu pakalpojumiem, kas nav jāiepazīstina. Saskaņā ar The Telegraph publicēto rakstu, vietnē katru dienu tiek parādīti 165 600 jauni dažādu tūrisma objektu apskati dažādās valodās.

Uzdevums ir pārtulkot tūristu atsauksmes no angļu valodas krievu valodā ar pietiekamu tulkojuma kvalitāti, lai saprastu šī apskata nozīmi. Galvenās grūtības: tipiskas lietotāja ģenerētā satura iezīmes (teksti ar kļūdām, drukas kļūdām, trūkstošiem vārdiem).

Tāpat daļa no uzdevuma bija automātiski novērtēt tulkojuma kvalitāti pirms publicēšanas TripAdvisor vietnē. Tā kā visa tulkotā satura manuāla novērtēšana nav iespējama, mašīntulkošanas risinājumam ir jānodrošina automātisks ticamības rādītājs, lai nodrošinātu, ka TripAdvisor publicē tikai augstas kvalitātes tulkotās atsauksmes.

Risinājumam tika izmantota PROMT DeepHybrid tehnoloģija, kas ļauj iegūt kvalitatīvāku un gala lasītājam saprotamu tulkojumu, tostarp veicot tulkojuma rezultātu statistisko pēcrediģēšanu.

Apskatīsim piemērus:

Oriģināls: Vakar vakarā tur ēdām pēc iegribas, un tā bija jauka maltīte. Apkalpošana bija uzmanīga, nepārkāpjot.

PROMT (hibrīda tulkojums): mēs vakar vakarā tur ēdām pēc iegribas, un tā bija brīnišķīga maltīte. Personāls bija uzmanīgs, neizturoties pārgalvīgi.

GNMT: Vakar vakarā mēs tur ēdām pēc iegribas, un tā bija brīnišķīga maltīte. Apkalpošana bija uzmanīga, bez pārspīlējuma.

Šeit viss nav tik nomācošs kvalitātes ziņā kā iepriekšējā piemērā. Un kopumā pēc parametriem šo problēmu potenciāli var atrisināt, izmantojot neironu tīklus, un tas var vēl vairāk uzlabot tulkošanas kvalitāti.

Izaicinājumi, izmantojot NMT uzņēmējdarbībā

Kā minēts iepriekš, “universāls” tulkotājs ne vienmēr nodrošina pieņemamu kvalitāti un nevar atbalstīt konkrētu terminoloģiju. Lai integrētu un izmantotu neironu tīklus tulkošanai savos procesos, jums ir jāatbilst pamatprasībām:

Pietiekama apjoma paralēlo tekstu klātbūtne, lai varētu apmācīt neironu tīklu. Bieži vien klientam to vienkārši ir maz vai arī dabā nav tekstu par šo tēmu. Tie var būt klasificēti vai tādā stāvoklī, kas nav īpaši piemērots automātiskai apstrādei.

Lai izveidotu modeli, nepieciešama datu bāze, kas satur vismaz 100 miljonus žetonu (vārdu lietojumu), un, lai iegūtu vairāk vai mazāk pieņemamas kvalitātes tulkojumu - 500 miljonus tokenu. Ne katram uzņēmumam ir šāds materiālu apjoms.

Mehānisma vai algoritmu pieejamība iegūtā rezultāta kvalitātes automātiskai novērtēšanai.

Pietiekama skaitļošanas jauda.
“Universālais” neironu tulkotājs visbiežāk nav piemērots kvalitātē, un, lai izvietotu savu privāto neironu tīklu, kas spēj nodrošināt pieņemamu darba kvalitāti un ātrumu, ir nepieciešams “mazs mākonis”.

Nav skaidrs, ko darīt ar privātumu.
Ne katrs klients drošības apsvērumu dēļ ir gatavs nodot savu saturu tulkošanai mākonī, un NMT ir stāsts par mākoņiem.

secinājumus

Kopumā neironu automātiskā tulkošana rada augstākas kvalitātes rezultātus nekā “tīri” statistiska pieeja;
Automātiskā tulkošana caur neironu tīklu ir labāk piemērota “universālās tulkošanas” problēmas risināšanai;
Neviena no MT pieejām pati par sevi nav ideāls universāls instruments jebkuras tulkošanas problēmas risināšanai;
Lai atrisinātu biznesa tulkošanas problēmas, tikai specializēti risinājumi var garantēt atbilstību visām prasībām.

Mēs nonākam pie absolūti pašsaprotama un loģiska lēmuma, ka tulkošanas uzdevumiem ir jāizmanto tulkotājs, kas ir vispiemērotākais. Nav svarīgi, vai iekšā ir neironu tīkls vai nav. Svarīgāka ir paša uzdevuma izpratne.

Tagi: pievienojiet atzīmes

09.14.2017., ceturtdien, 14:19 pēc Maskavas laika , Teksts: Valērija Šmirova

Pakalpojumā Yandex.Translator papildus statistikas tulkošanai ir kļuvusi pieejama tulkošanas iespēja no neironu tīkla. Tā priekšrocība ir tā, ka tā darbojas ar veseliem teikumiem, labāk ņem vērā kontekstu un rada konsekventu, dabisku tekstu. Tomēr, kad neironu tīkls kaut ko nesaprot, tas sāk fantazēt.

Neironu tīkla palaišana

Pakalpojums Yandex.Translator ir uzsācis neironu tīklu, kas palīdzēs uzlabot tulkošanas kvalitāti. Iepriekš tulkošana no vienas valodas uz citu tika veikta, izmantojot statistikas mehānismu. Tagad process būs hibrīds: gan statistikas modelis, gan neironu tīkls piedāvās savu tulkošanas versiju. Pēc tam CatBoost algoritms, kura pamatā ir mašīnmācīšanās, atlasīs labāko iegūto rezultātu.

Līdz šim neironu tīkls veic tikai tulkojumu no angļu valodas uz krievu valodu un tikai pakalpojuma tīmekļa versijā. Saskaņā ar uzņēmuma datiem Yandex.Translator pieprasījumi tulkojumam angļu-krievu valodā veido 80% no visiem pieprasījumiem. Tuvāko mēnešu laikā izstrādātāji plāno ieviest hibrīdmodeli citās jomās. Lai lietotājs varētu salīdzināt tulkojumus no dažādiem mehānismiem, tiek nodrošināts īpašs slēdzis.

Atšķirības no statistikas tulkotāja

Neironu tīkla darbības princips atšķiras no statistiskās tulkošanas modeļa. Tā vietā, lai tulkotu tekstu vārdu pa vārdam, izteiksmi pēc izteiksmes, tas darbojas ar veseliem teikumiem, nesadalot tos daļās. Pateicoties tam, tulkojums ņem vērā kontekstu un labāk izsaka nozīmi. Turklāt tulkotais teikums ir konsekvents, dabisks, viegli lasāms un saprotams. Pēc izstrādātāju domām, to var sajaukt ar cilvēka tulka darbu.

Neironu tīklu tulkošana atgādina cilvēka tulkojumu

Neironu tīkla īpatnības ietver tieksmi “fantazēt”, kad tas kaut ko nesaprot. Tādā veidā viņa mēģina uzminēt pareizo tulkojumu.

Statistikas tulkotājam ir savas priekšrocības: viņš veiksmīgāk tulko retus vārdus un izteicienus - retāk sastopamos vārdus, toponīmus utt.. Turklāt viņš nefantazē, ja teikuma nozīme nav skaidra. Pēc izstrādātāju domām, statistikas modelis labāk tiek galā ar īsām frāzēm.

Citi mehānismi

Yandex.Translator ir īpašs mehānisms, kas pilnveido neironu tīkla tulkošanu, tāpat kā statistikas tulkotāja tulkojumu, izlabojot neatbilstošas ​​vārdu kombinācijas un pareizrakstības kļūdas. Pateicoties tam, lietotājs neredzēs tādas kombinācijas kā “tētis aizgāja” vai “ stipras sāpes", apgalvo izstrādātāji. Šis efekts tiek panākts, salīdzinot tulkojumu ar valodas modeli – visas sistēmas uzkrātās zināšanas par valodu.

Sarežģītos gadījumos neironu tīkls mēdz fantazēt

Valodas modelis satur vārdu un izteicienu sarakstu valodā, kā arī datus par to lietošanas biežumu. Tas ir atradis pielietojumu ārpus Yandex.Translator. Piemēram, izmantojot Yandex.Keyboard, viņa uzmin, kādu vārdu lietotājs vēlas rakstīt tālāk, un piedāvā viņam gatavas iespējas. Piemēram, valodas modelis saprot, ka vārdam “sveiki, kā”, visticamāk, sekos “daru” vai “tu” varianti.

Kas ir “Yandex.Translator”

“Yandex.Translator ir pakalpojums tekstu tulkošanai no vienas valodas citā no Yandex uzņēmuma, kas darbu sāka 2011. gadā. Sākotnēji tas strādāja tikai ar krievu, ukraiņu un angļu valodu.

Pakalpojuma pastāvēšanas laikā valodu skaits ir pieaudzis līdz 94 valodām. Starp tiem ir arī eksotiski, piemēram, bize vai papiamento. Tulkošanu var veikt starp jebkurām divām valodām.

2016. gadā Yandex.Translator pievienoja J. R. R. Tolkīna grāmatām izdomātu un mākslīgi radītu valodu, ko izmanto elfi.



Jaunums vietnē

>

Populārākais