Neurónová sieť prekladateľa Yandex. Do Yandex.Translate bola zabudovaná fantastická neurónová sieť. Čo je Yandex.Translate

Služba Yandex.Translate začala pri preklade textov využívať technológie neurónových sietí, čo zlepšuje kvalitu prekladu, informovala stránka Yandex.

Do záložiek

Služba funguje na hybridnom systéme, vysvetlil Yandex: do štatistického modelu, ktorý funguje v Translatore od spustenia, bola pridaná technológia prekladu využívajúca neurónovú sieť.

„Na rozdiel od štatistického prekladača neurónová sieť nerozdeľuje texty na samostatné slová a frázy. Ako vstup dostane celú vetu a vydá jej preklad, “vysvetlil zástupca spoločnosti. Tento prístup podľa neho umožňuje zohľadniť kontext a lepšie sprostredkovať význam prekladaného textu.

Štatistický model sa zase lepšie vyrovná so zriedkavými slovami a frázami, zdôraznenými v Yandex. „Ak význam vety nie je jasný, nefantazíruje, ako to dokáže neurónová sieť,“ poznamenala spoločnosť.

Pri preklade služba používa oba modely, potom algoritmus strojového učenia porovnáva výsledky a podľa jej názoru ponúka najlepšiu možnosť. „Hybridný systém vám umožňuje zobrať to najlepšie z každej metódy a zlepšiť kvalitu prekladu,“ uvádzajú v Yandex.

V priebehu dňa 14. septembra by sa mal vo webovej verzii Prekladača objaviť prepínač, pomocou ktorého si môžete porovnať preklady vyhotovené hybridným a štatistickým modelom. Zároveň niekedy služba nemusí zmeniť texty, spoločnosť poznamenala: "To znamená, že hybridný model rozhodol, že štatistický preklad je lepší."

Na modernom internete je viac ako 630 miliónov stránok, no iba 6 % z nich obsahuje obsah v ruskom jazyku. Jazyková bariéra je hlavným problémom šírenia vedomostí medzi používateľmi siete a domnievame sa, že by sa mala riešiť nielen výučbou cudzích jazykov, ale aj automatickým strojovým prekladom v prehliadači.

Dnes čitateľom Habr povieme o dvoch dôležitých technologických zmenách v prekladači Yandex.Browser. Po prvé, preklad vybraných slov a fráz teraz používa hybridný model a pripomenieme si, čím sa tento prístup líši od používania iba neurónových sietí. Po druhé, neurónové siete prekladateľa teraz zohľadňujú štruktúru webových stránok, o ktorých vlastnostiach si tiež povieme pod rezom.

Hybridný prekladač slov a fráz

Prvé systémy strojového prekladu boli založené na slovníky a pravidlá(v skutočnosti ručne písané regulárne výrazy), ktoré určovali kvalitu prekladu. Profesionálni lingvisti už roky pracujú na vývoji čoraz podrobnejších manuálnych pravidiel. Práca bola taká namáhavá, že sa vážna pozornosť venovala len najobľúbenejším jazykovým dvojiciam, ale aj v rámci nich stroje fungovali slabo. Živý jazyk je veľmi zložitý systém, ktorý nedodržiava pravidlá. Je ešte ťažšie opísať pravidlá párovania dvoch jazykov.

Jediný spôsob, ako sa stroj môže neustále prispôsobovať meniacim sa podmienkam, je učiť sa sám z veľkého množstva paralelných textov (významovo rovnakých, ale napísaných v rôznych jazykoch). Toto je štatistický prístup k strojovému prekladu. Počítač porovnáva paralelné texty a nezávisle identifikuje vzory.

O štatistický prekladač má to aj výhody aj nevýhody. Na jednej strane si dobre pamätá zriedkavé a zložité slová a frázy. Ak sa stretli v paralelných textoch, prekladateľ si ich zapamätá a bude ďalej správne prekladať. Na druhej strane môže byť výsledok prekladu podobný dokončenej skladačke: celkový obraz sa zdá byť jasný, ale ak sa pozriete pozorne, uvidíte, že pozostáva z oddelených častí. Dôvodom je, že prekladateľ prezentuje jednotlivé slová ako identifikátory, ktoré v žiadnom prípade neodrážajú vzťah medzi nimi. Nezodpovedá tomu, ako ľudia vnímajú jazyk, kde sú slová definované tým, ako sa používajú, ako súvisia s inými slovami a ako sa od nich líšia.

Pomáha vyriešiť tento problém neurálne siete. Vkladanie slov, používané v neurónovom strojovom preklade, zvyčajne mapuje každé slovo na vektor dlhý niekoľko stoviek čísel. Vektory na rozdiel od jednoduchých identifikátorov zo štatistického prístupu vznikajú pri trénovaní neurónovej siete a berú do úvahy vzťahy medzi slovami. Model by napríklad mohol rozpoznať, že keďže „čaj“ a „káva“ sa často objavujú v podobných kontextoch, obe tieto slová by mali byť možné v kontexte nového slova „rozliatie“, s ktorým sa, povedzme, stretne iba jedno z nich tréningové údaje.

Proces učenia sa vektorových reprezentácií je však jednoznačne štatisticky náročnejší ako memorovanie príkladov naspamäť. Okrem toho nie je jasné, čo robiť s tými zriedkavými vstupnými slovami, ktoré nie sú dostatočne časté na to, aby pre ne sieť vytvorila prijateľnú vektorovú reprezentáciu. V tejto situácii je logické kombinovať obe metódy.

Od minulého roka používa Yandex.Translate hybridný model. Keď Prekladač dostane od používateľa text, odošle ho na preklad do oboch systémov – do neurónovej siete aj do štatistického prekladača. Potom algoritmus založený na metóde učenia vyhodnotí, ktorý preklad je lepší. Pri známkovaní sa berú do úvahy desiatky faktorov – od dĺžky vety (krátke slovné spojenia sa lepšie prekladajú štatistickým modelom) až po syntax. Preklad uznaný ako najlepší sa zobrazí používateľovi.

Je to hybridný model, ktorý sa teraz používa v prehliadači Yandex, keď používateľ vyberie konkrétne slová a frázy na stránke na preklad.

Tento režim je vhodný najmä pre tých, ktorí všeobecne ovládajú cudzí jazyk a chceli by prekladať len neznáme slová. Ale ak sa napríklad namiesto bežnej angličtiny stretnete s čínštinou, potom sa bez prekladača stránok zaobídete len ťažko. Zdalo by sa, že rozdiel je len v objeme preloženého textu, no nie všetko je také jednoduché.

Prekladač webových stránok neurónovej siete

Od čias experimentu v Georgetowne až po takmer súčasnosť boli všetky systémy strojového prekladu trénované na individuálny preklad každej vety zdrojového textu. Zatiaľ čo webová stránka nie je len súbor viet, ale štruktúrovaný text, ktorý obsahuje zásadne odlišné prvky. Zvážte základné prvky väčšiny stránok.

hlavička. Zvyčajne jasný a veľký text, ktorý vidíme hneď pri vstupe na stránku. Nadpis často obsahuje podstatu správy, preto je dôležité správne ju preložiť. Ale je to ťažké, pretože text v nadpise je malý a bez pochopenia kontextu sa môžete pomýliť. V prípade angličtiny je to ešte komplikovanejšie, pretože anglické titulky často obsahujú frázy s netradičnou gramatikou, infinitívami alebo dokonca preskakovanými slovesami. Napríklad, Ohlásený prequel Game of Thrones.

Navigácia. Slová a frázy, ktoré nám pomáhajú pri navigácii na stránke. Napríklad, Domov, späť a Môj účet sotva sa oplatí prekladať ako „Domov“, „Späť“ a „Môj účet“, ak sa nachádzajú v ponuke lokality a nie v texte publikácie.

Hlavný text. Všetko je s ním jednoduchšie, málo sa líši od bežných textov a viet, ktoré môžeme nájsť v knihách. Ale aj tu je dôležité zabezpečiť konzistentnosť prekladov, teda zabezpečiť, aby sa rovnaké termíny a pojmy preložili rovnakým spôsobom na tej istej webovej stránke.

Pre kvalitný preklad webových stránok nestačí použiť neurónovú sieť alebo hybridný model – treba brať do úvahy aj štruktúru stránok. A kvôli tomu sme sa museli vysporiadať s množstvom technologických ťažkostí.

Klasifikácia segmentov textu. K tomu opäť využívame CatBoost a faktory založené ako na samotnom texte, tak aj na HTML značke dokumentov (tag, veľkosť textu, počet odkazov na jednotku textu, ...). Faktory sú dosť heterogénne, takže najlepšie výsledky vykazuje CatBoost (na základe zosilnenia gradientu) (presnosť klasifikácie je nad 95 %). Samotná klasifikácia segmentov však nestačí.

Údaje sú skreslené. Algoritmy Yandex.Translate sa tradične trénujú na textoch z internetu. Zdalo by sa, že ide o ideálne riešenie na školenie prekladateľa webových stránok (inými slovami, sieť sa učí z textov rovnakého charakteru, ako sú texty, na ktoré ho budeme aplikovať). Ale hneď ako sme sa naučili oddeľovať rôzne segmenty od seba, objavili sme zaujímavú funkciu. Obsah tvorí v priemere asi 85 % všetkého textu na webových stránkach, pričom nadpisy a navigácia tvoria každý len 7,5 %. Pripomeňme tiež, že samotné nadpisy a navigačné prvky sa výrazne líšia štýlom a gramatikou od zvyšku textu. Kombinácia týchto dvoch faktorov vedie k problému skreslenia údajov. Pre neurónovú sieť je výhodnejšie jednoducho ignorovať vlastnosti týchto veľmi slabo zastúpených segmentov v trénovacej vzorke. Sieť sa naučí dobre prekladať len hlavný text, čím trpí kvalita prekladu nadpisov a navigácie. Aby sme neutralizovali tento nepríjemný efekt, urobili sme dve veci: ku každej dvojici paralelných viet sme priradili jeden z troch typov segmentov (obsah, nadpis alebo navigáciu) ako metainformáciu a umelo zvýšili koncentráciu posledných dvoch v korpuse tréningu. na 33% kvôli tomu, že sa začali častejšie ukazovať podobné príklady ako učiaca sa neurónová sieť.

Viacúlohové učenie. Keďže dnes dokážeme rozdeliť texty na webových stránkach do troch tried segmentov, mohlo by sa zdať ako prirodzený nápad trénovať tri samostatné modely, z ktorých každý si poradí s prekladom iného typu textu – nadpisy, navigácia resp. obsahu. Toto naozaj funguje dobre, ale ešte lepšie funguje schéma, v ktorej trénujeme jednu neurónovú sieť na preklad všetkých typov textov naraz. Kľúč k pochopeniu spočíva v myšlienke učenia viacerých úloh (MTL): ak existuje vnútorné prepojenie medzi niekoľkými úlohami strojového učenia, potom model, ktorý sa naučí riešiť tieto úlohy súčasne, sa môže naučiť lepšie riešiť každú z úloh. než úzkoprofilový špecializovaný model!

dolaďovanie. Už sme mali veľmi dobrý strojový preklad, takže by bolo nerozumné školiť nového prekladateľa pre Yandex.Browser od začiatku. Logickejšie je zobrať základný systém na preklad bežných textov a natrénovať ho na prácu s webovými stránkami. V kontexte neurónových sietí sa to často označuje ako jemné ladenie. Ak sa ale k tomuto problému postavíme čelne, t.j. stačí inicializovať váhy neurónovej siete s hodnotami z hotového modelu a začať sa učiť z nových údajov, môžete naraziť na efekt posunu domény: ako sa budete učiť, kvalita prekladu webových stránok (v doméne) sa zvýši, ale kvalita prekladu bežných (mimo doménových) textov klesne. Aby sme sa tejto nepríjemnej vlastnosti zbavili, pri dodatočnom tréningu uvalíme na neurónovú sieť dodatočné obmedzenie, ktoré jej zakáže príliš meniť váhy v porovnaní s počiatočným stavom.

Matematicky je to vyjadrené pridaním termínu k stratovej funkcii (stratová funkcia), čo je Kullback-Leiblerova vzdialenosť (KL-divergencia) medzi rozdeleniami pravdepodobnosti generovania ďalšieho slova, vydanými pôvodnou a preškolenou sieťou. Ako vidno na ilustrácii, má to za následok, že skvalitňovanie prekladu webových stránok už nevedie k degradácii prekladu čistého textu.

Leštenie frekvenčných fráz z navigácie. V procese práce na novom prekladači sme zbierali štatistiky o textoch rôznych segmentov webových stránok a videli sme niečo zaujímavé. Texty, ktoré súvisia s navigačnými prvkami, sú pomerne štandardizované, takže často predstavujú rovnaké štandardné frázy. Je to taký silný efekt, že viac ako polovica všetkých navigačných fráz nájdených na internete je len v 2 000 najfrekventovanejších.

Samozrejme, že sme to využili a niekoľko tisíc najfrekventovanejších fráz a ich prekladov dali na overenie našim prekladateľom, aby sme si boli úplne istí ich kvalitou.

Vonkajšie zarovnania. Na prekladač webových stránok v prehliadači bola ešte jedna dôležitá požiadavka – nemal by skresľovať označenie. Keď sú HTML tagy umiestnené mimo viet alebo na ich hraniciach, nevzniká žiadny problém. Ak sa však vo vete nachádza napr. dva podčiarknuté slová, potom v preklade chceme vidieť „dve podčiarknuté slová". Tie. V dôsledku prevodu musia byť splnené dve podmienky:

  1. Podčiarknutý fragment v preklade musí presne zodpovedať podčiarknutému fragmentu v zdrojovom texte.
  2. Konzistencia prekladu na hraniciach podčiarknutého fragmentu by nemala byť narušená.
Aby sme zabezpečili toto správanie, najprv text preložíme ako zvyčajne a potom pomocou štatistických modelov zarovnania slov po slove určíme zhodu medzi fragmentmi zdrojového a preloženého textu. Pomáha to pochopiť, čo je potrebné podčiarknuť (kurzívou, hypertextovým odkazom, ...).

Pozorovateľ križovatky. Výkonné modely prekladu neurónových sietí, ktoré sme natrénovali, vyžadujú výrazne viac výpočtových zdrojov na našich serveroch (CPU aj GPU) ako predchádzajúce generácie štatistických modelov. Používatelia zároveň nie vždy dočítajú stránky až do konca, takže odosielanie celého textu webových stránok do cloudu vyzerá nadbytočne. Aby sme ušetrili zdroje servera a návštevnosť používateľov, naučili sme používať Prekladač

Webové stránky indexované vyhľadávačmi majú viac ako pol miliardy kópií a celkový počet webových stránok je desaťtisíckrát väčší. Obsah v ruskom jazyku zaberá 6 % celého internetu.

Ako preložiť požadovaný text rýchlo a tak, aby bol zachovaný autorov zamýšľaný význam. Staré metódy modulov na preklad štatistického obsahu fungujú veľmi pochybne, pretože nedá sa presne určiť skloňovanie slov, čas a iné. Povaha slov a spojenia medzi nimi sú zložité, čo niekedy spôsobovalo, že výsledok vyzeral veľmi neprirodzene.

Teraz Yandex používa automatický strojový preklad, ktorý zvýši kvalitu konečného textu. Môžete si stiahnuť najnovšiu oficiálnu verziu prehliadača s novým vstavaným prekladom.

Hybridný preklad fráz a slov

Prehliadač Yandex je jediný, ktorý dokáže preložiť stránku ako celok, ako aj jednotlivé slová a frázy. Funkcia bude veľmi užitočná pre tých používateľov, ktorí viac-menej hovoria cudzím jazykom, no niekedy majú problémy s prekladom.

Neurónová sieť zabudovaná do mechanizmu prekladu slov si nie vždy poradila so stanovenými úlohami, pretože vzácne slová bolo mimoriadne ťažké vložiť do textu a urobiť ho čitateľným. Teraz bola do aplikácie zabudovaná hybridná metóda využívajúca staré a nové technológie.

Mechanizmus je nasledovný: program akceptuje vybrané vety alebo slová, potom ich odovzdá obom modulom neurónovej siete a štatistickému prekladaču a vstavaný algoritmus určí, ktorý výsledok je lepší a potom ho dá používateľovi.

Prekladač neurónových sietí

Zahraničný obsah je navrhnutý veľmi špecifickým spôsobom:

  • prvé písmená slov v nadpisoch sú veľké;
  • vety sú zostavené so zjednodušenou gramatikou, niektoré slová sú vynechané.

Navigačné ponuky na webových stránkach sú analyzované na základe ich polohy, ako je napríklad slovo Späť, správne preložené späť (vrátiť sa späť), nie späť.

Aby sa zohľadnili všetky vyššie spomenuté funkcie, vývojári dodatočne vytrénovali neurónovú sieť, ktorá už využíva obrovské množstvo textových údajov. Teraz je kvalita prekladu ovplyvnená umiestnením obsahu a jeho dizajnom.

Výsledky aplikovaného prekladu

Kvalitu prekladu možno merať pomocou algoritmu BLEU*, ktorý porovnáva strojové a profesionálne preklady. Stupnica kvality od 0 do 100%.

Čím lepší je nervový preklad, tým vyššie je percento. Podľa tohto algoritmu začal prehliadač Yandex prekladať 1,7-krát lepšie.

Yandex spustil novú verziu prekladača. Na preklade bude teraz fungovať hybridný systém: okrem predtým používaného štatistického modelu bude prekladač využívať aj neurónovú sieť. Informoval o tom blog spoločnosti.

Existuje niekoľko prístupov k strojovému prekladu. Prvý, najbežnejší prístup je štatistický. Takýto strojový preklad je založený na zapamätaní si obrovského množstva informácií získaných z paralelných korpusov (rovnaké texty v rôznych jazykoch): môžu to byť jednotlivé slová alebo gramatické pravidlá. Tento prístup má však veľmi dôležitú nevýhodu: štatistický strojový preklad si zapamätá informácie, ale nerozumie im, takže takýto preklad často vyzerá ako veľa rôznych správne preložených kúskov, zhromaždených do jedného textu, ktorý nie je veľmi správny z hľadiska gramatiky a sémantické zaťaženie.

Druhým prístupom je neurónová sieť. Je založená nie na preklade jednotlivých slov a fráz, ale celých viet a jej hlavným cieľom je zachovať význam a zároveň dosiahnuť najlepšiu kvalitu prekladu z hľadiska gramatiky. Takáto prekladateľská technológia môže uchovávať aj znalosti jazyka, ktorý sa naučila v procese učenia sa – to jej umožňuje vyrovnať sa napríklad s chybami v prípade dohody. Neurónový strojový preklad je relatívne nový prístup, no už sa osvedčil: pomocou neurónovej siete Google Translate sa mu podarilo dosiahnuť rekordnú kvalitu prekladu.

Od dnešného dňa je Yandex.Translate založený na hybridnom systéme. Takýto systém zahŕňa štatistický preklad používaný službou skôr a preklad založený na prevádzke neurónovej siete. Špeciálny klasifikačný algoritmus založený na CatBoost (systém strojového učenia vyvinutý spoločnosťou Yandex) vyberie najlepšiu z dvoch možností prekladu (štatistický a neurónový) a poskytne ju používateľovi.

Viac o práci novej verzie Yandex.Translate si môžete prečítať na našom stretnutí s vedúcim služby, britským počítačovým lingvistom Davidom Talbotom.

V súčasnosti je nová prekladateľská technológia dostupná iba pri prekladoch z angličtiny do ruštiny (podľa spoločnosti ide o najobľúbenejší smer prekladu). Počas práce so systémom môže používateľ prepínať medzi dvoma modelmi prekladu (starý štatistický a nový hybridný) a porovnávať preklad starej a novej verzie. Vývojári Translatoru sľubujú v najbližších mesiacoch zahrnúť aj ďalšie oblasti prekladu.


Príklady prekladu rôznych modelov používaných v novej verzii Yandex.Translate



Strojový preklad pomocou neurónových sietí prešiel od prvého vedeckého výskumu na túto tému dlhú cestu až do momentu, kedy Google oznámil kompletný prechod služby Google Translate na hlboké učenie.

Ako viete, neurónový prekladač je založený na mechanizme obojsmerných rekurentných neurónových sietí (Bidirectional Recurrent Neural Networks), postavených na maticových výpočtoch, čo umožňuje zostaviť podstatne zložitejšie pravdepodobnostné modely ako štatistické strojové prekladače. Vždy sa však verilo, že nervový preklad, podobne ako štatistický preklad, vyžaduje na učenie paralelné korpusy textov v dvoch jazykoch. Na týchto korpusoch je trénovaná neurónová sieť, pričom ako referenčný sa používa ľudský preklad.

Ako sa teraz ukázalo, neurónové siete sú schopné zvládnuť nový jazyk na preklad aj bez paralelného korpusu textov! Predtlačová stránka arXiv.org publikovala dva články na túto tému naraz.

„Predstavte si, že dáte človeku veľa čínskych kníh a veľa arabských kníh – žiadna z nich nie je rovnaká – a táto osoba je vyškolená prekladať z čínštiny do arabčiny. Zdá sa to nemožné, však? Ale ukázali sme, že počítač to dokáže,“ hovorí Mikel Artetxe, informatik z Baskicko-univerzity v San Sebastiane (Španielsko).

Väčšina neurónových sietí strojového prekladu je trénovaná „s učiteľom“, ktorého úlohou je len paralelný korpus textov preložených človekom. V procese učenia, zhruba povedané, neurónová sieť vytvára predpoklad, kontroluje sa so štandardom a robí potrebné úpravy svojich systémov, potom sa učí ďalej. Problém je v tom, že pre niektoré jazyky na svete neexistuje veľké množstvo paralelných textov, takže nie sú dostupné pre tradičné neurónové siete strojového prekladu.


„Univerzálny jazyk“ neurónovej siete Google Neural Machine Translation (GNMT). Na ľavom obrázku sú zhluky významov každého slova zobrazené rôznymi farbami, v pravom dolnom rohu sú významy slova získané z rôznych ľudských jazykov: angličtina, kórejčina a japončina.

Po zostavení obrovského „atlasu“ pre každý jazyk sa potom systém pokúsi jeden takýto atlas prekryť druhým – a máte to, máte pripravené nejaké paralelné textové korpusy!

Je možné porovnať schémy dvoch navrhovaných architektúr učenia bez dozoru.


Architektúra navrhovaného systému. Pre každú vetu v jazyku L1 sa systém naučí striedanie dvoch krokov: 1) potlačenie hluku(odšumovanie), ktoré optimalizuje pravdepodobnosť zakódovania zašumenej verzie vety spoločným kodérom a jej rekonštrukciu dekodérom L1; 2) spätný preklad(spätný preklad), keď je veta preložená vo výstupnom režime (t. j. zakódovaná spoločným kódovačom a dekódovaná dekodérom L2), a potom pravdepodobnosť zakódovania tejto preloženej vety spoločným kódovačom a obnovenia pôvodnej vety dekodérom L1 je optimalizovaný. Ilustrácia: Michela Artetxe a kol.


Navrhovaná architektúra a vzdelávacie ciele systému (z druhej vedeckej práce). Architektúra je model prekladu vety po vete, kde kodér aj dekodér fungujú v dvoch jazykoch v závislosti od identifikátora vstupného jazyka, ktorý zamieňa vyhľadávacie tabuľky. Top (autokódovanie): Model je trénovaný na vykonávanie odšumovania v každej doméne. Dole (preklad): ako predtým, plus kódujeme z iného jazyka, pričom ako vstup použijeme preklad vytvorený modelom v predchádzajúcej iterácii (modré pole). Zelené elipsy označujú pojmy v stratovej funkcii. Ilustrácia: Guillaume Lampl a kol.

Oba články používajú pozoruhodne podobnú metodiku s malými rozdielmi. Ale v oboch prípadoch sa preklad uskutočňuje prostredníctvom nejakého medziľahlého „jazyka“ alebo, lepšie povedané, medzirozmeru alebo priestoru. Zatiaľ neurónové siete bez učiteľa nevykazujú veľmi vysokú kvalitu prekladu, no autori tvrdia, že je ľahké ho vylepšiť, ak práve teraz využijete malú pomoc od učiteľa, kvôli čistote prekladu. experiment, toto sa nerobilo.

Príspevky zaslané na medzinárodnú konferenciu o reprezentáciách vzdelávania v roku 2018. Žiadny z článkov zatiaľ nebol publikovaný vo vedeckej tlači.