Yandex översättare neurala nätverk. Ett fantasy neuralt nätverk byggdes in i Yandex.Translate. Vad är Yandex.Translate

Yandex.Translate-tjänsten började använda neurala nätverkstekniker vid översättning av texter, vilket förbättrar kvaliteten på översättningen, rapporterade webbplatsen på Yandex.

Till bokmärken

Tjänsten fungerar på ett hybridsystem, förklarade Yandex: översättningstekniken som använder ett neuralt nätverk lades till den statistiska modellen som har arbetat i Translator sedan lanseringen.

"Till skillnad från en statistisk översättare bryter inte ett neuralt nätverk upp texter i separata ord och fraser. Den får hela meningen som input och skickar ut sin översättning”, förklarade en företagsrepresentant. Enligt honom tillåter detta tillvägagångssätt att ta hänsyn till sammanhanget och bättre förmedla innebörden av den översatta texten.

Den statistiska modellen klarar i sin tur bättre sällsynta ord och fraser, betonade i Yandex. "Om meningen med meningen inte är tydlig, fantiserar hon inte hur ett neuralt nätverk kan göra detta", noterade företaget.

Vid översättning använder tjänsten båda modellerna, sedan jämför maskininlärningsalgoritmen resultaten och erbjuder det bästa alternativet, enligt dess åsikt. "Hybridsystemet låter dig ta det bästa från varje metod och förbättra kvaliteten på översättningen", säger de i Yandex.

Under dagen den 14 september bör en växel dyka upp i webbversionen av Översättaren, med vilken du kan jämföra översättningarna gjorda av hybrid- och statistiska modeller. Samtidigt kan ibland tjänsten inte ändra texterna, noterade företaget: "Detta betyder att hybridmodellen beslutade att statistisk översättning är bättre."

Det finns mer än 630 miljoner webbplatser på det moderna internet, men endast 6% av dem innehåller ryskspråkigt innehåll. Språkbarriären är huvudproblemet med kunskapsspridning bland nätverksanvändare, och vi anser att det inte bara bör lösas genom att lära ut främmande språk, utan också genom att använda automatisk maskinöversättning i webbläsaren.

Idag kommer vi att berätta för läsarna av Habr om två viktiga tekniska förändringar i Yandex.Browser-översättaren. För det första använder översättningen av utvalda ord och fraser nu en hybridmodell, och vi minns hur detta tillvägagångssätt skiljer sig från att endast använda neurala nätverk. För det andra tar översättarens neurala nätverk nu hänsyn till strukturen på webbsidor, vars funktioner vi också kommer att prata om under snittet.

Hybrid översättare av ord och fraser

De första maskinöversättningssystemen baserades på ordböcker och regler(i själva verket handskrivna reguljära uttryck), som avgjorde kvaliteten på översättningen. Professionella lingvister har arbetat i flera år med att utveckla allt mer detaljerade manuella regler. Arbetet var så mödosamt att allvarlig uppmärksamhet endast ägnades åt de mest populära språkparen, men även inom dem fungerade maskinerna dåligt. Ett levande språk är ett mycket komplext system som inte följer reglerna väl. Det är ännu svårare att beskriva matchningsreglerna för två språk.

Det enda sättet för en maskin att ständigt anpassa sig till förändrade förhållanden är att på egen hand lära sig av ett stort antal parallella texter (samma i betydelse, men skrivna på olika språk). Detta är den statistiska metoden för maskinöversättning. Datorn jämför parallella texter och identifierar självständigt mönster.

statistisk översättare det finns både fördelar och nackdelar. Å ena sidan minns han sällsynta och komplexa ord och fraser väl. Om de träffades i parallella texter kommer översättaren att komma ihåg dem och fortsätta att översätta korrekt. Å andra sidan kan översättningsresultatet likna ett färdigt pussel: helhetsbilden verkar vara tydlig, men om man tittar noga kan man se att den är uppbyggd av separata bitar. Anledningen är att översättaren presenterar enskilda ord som identifierare, som inte på något sätt speglar förhållandet mellan dem. Det stämmer inte med hur människor uppfattar språk, där ord definieras av hur de används, hur de relaterar till och skiljer sig från andra ord.

Hjälper till att lösa detta problem neurala nätverk. Ordinbäddning, som används i neural maskinöversättning, mappar vanligtvis varje ord till en vektor som är flera hundra siffror lång. Vektorer, till skillnad från enkla identifierare från den statistiska metoden, bildas när man tränar ett neuralt nätverk och tar hänsyn till relationerna mellan ord. Till exempel kan modellen inse att eftersom "te" och "kaffe" ofta förekommer i liknande sammanhang, borde båda dessa ord vara möjliga i sammanhanget med det nya ordet "spill", som t.ex. bara en av dem stötte på i träningsdata.

Processen att lära sig vektorrepresentationer är dock klart mer statistiskt krävande än att utantill memorera exempel. Dessutom är det inte klart vad man ska göra med de sällsynta inmatningsorden som inte är tillräckligt frekventa för att nätverket ska kunna bygga en acceptabel vektorrepresentation för dem. I den här situationen är det logiskt att kombinera båda metoderna.

Sedan förra året har Yandex.Translate använt hybridmodell. När översättaren tar emot en text från användaren skickar den den till båda systemen för översättning - både det neurala nätverket och den statistiska översättaren. Sedan utvärderar en algoritm baserad på inlärningsmetoden vilken översättning som är bättre. När man betygsätter tas hänsyn till dussintals faktorer – från meningslängd (korta fraser översätts bättre med en statistisk modell) till syntax. Översättningen som anses vara den bästa visas för användaren.

Det är hybridmodellen som nu används i Yandex.Browser, när användaren väljer specifika ord och fraser på sidan för översättning.

Det här läget är särskilt praktiskt för dem som har en allmän behärskning av ett främmande språk och bara vill översätta okända ord. Men om du till exempel istället för den vanliga engelskan möter kinesiska, då blir det svårt att klara sig utan en sidöversättare. Det verkar som om skillnaden bara ligger i volymen på den översatta texten, men allt är inte så enkelt.

Neural nätverk webbsida översättare

Från tiden för Georgetown-experimentet till nästan idag har alla maskinöversättningssystem tränats för att översätta varje mening i källtexten individuellt. Medan en webbsida inte bara är en uppsättning meningar, utan en strukturerad text som innehåller fundamentalt olika element. Tänk på de grundläggande delarna av de flesta sidor.

rubrik. Vanligtvis ljus och stor text som vi ser direkt när vi går in på sidan. Rubriken innehåller ofta kärnan i nyheterna, så det är viktigt att översätta den korrekt. Men det är svårt att göra detta, eftersom texten i rubriken är liten och utan att förstå sammanhanget kan man göra ett misstag. När det gäller engelska är saker och ting ännu mer komplicerade, eftersom engelska rubriker ofta innehåller fraser med icke-traditionell grammatik, infinitiv eller till och med hoppa över verb. Till exempel, Game of Thrones prequel tillkännages.

Navigering. Ord och fraser som hjälper oss att navigera på webbplatsen. Till exempel, Hem, Tillbaka och Mitt konto det är knappast värt att översätta som "Hem", "Tillbaka" och "Mitt konto" om de finns i webbplatsmenyn och inte i publikationens text.

Huvudtext. Allt är lättare med honom, han skiljer sig lite från de vanliga texterna och meningarna som vi kan hitta i böcker. Men även här är det viktigt att säkerställa konsistensen i översättningar, det vill säga att se till att samma termer och begrepp översätts på samma sätt inom samma webbsida.

För högkvalitativ översättning av webbsidor räcker det inte att använda ett neuralt nätverk eller hybridmodell - det är också nödvändigt att ta hänsyn till sidornas struktur. Och för detta var vi tvungna att hantera många tekniska svårigheter.

Klassificering av textsegment. För att göra detta använder vi återigen CatBoost och faktorer baserade både på själva texten och på HTML-uppmärkningen av dokumenten (tagg, textstorlek, antal länkar per textenhet, ...). Faktorerna är ganska heterogena, så det är CatBoost (baserat på gradientförstärkning) som visar de bästa resultaten (klassificeringsnoggrannheten är över 95%). Men enbart segmentsklassificering räcker inte.

Data skev. Traditionellt tränas Yandex.Translate-algoritmer på texter från Internet. Det verkar som att detta är en idealisk lösning för att träna en webbsidesöversättare (med andra ord, nätverket lär sig av texter av samma karaktär som de texter som vi ska tillämpa det på). Men så fort vi lärde oss att skilja olika segment från varandra upptäckte vi en intressant funktion. I genomsnitt utgör innehåll cirka 85 % av all text på webbplatser, med rubriker och navigering som endast står för 7,5 % vardera. Kom också ihåg att själva rubrikerna och navigeringselementen skiljer sig markant i stil och grammatik från resten av texten. Dessa två faktorer i kombination leder till problemet med dataskev. Det är mer lönsamt för ett neuralt nätverk att helt enkelt ignorera egenskaperna hos dessa mycket dåligt representerade segment i träningsprovet. Nätverket lär sig att översätta väl endast huvudtexten, som lider av kvaliteten på översättning av rubriker och navigering. För att neutralisera denna obehagliga effekt gjorde vi två saker: vi tilldelade en av de tre typerna av segment (innehåll, rubrik eller navigering) som metainformation till varje par parallella meningar och höjde på konstgjord väg koncentrationen av de två sista i träningskorpusen till 33% på grund av det faktum som började visa liknande exempel på det lärande neurala nätverket oftare.

Multi-task lärande. Eftersom vi nu kan dela in texterna på webbsidor i tre klasser av segment, kan det verka som en naturlig idé att träna tre separata modeller, som var och en klarar översättningen av en annan typ av text - rubriker, navigering eller innehåll. Detta fungerar verkligen bra, men schemat fungerar ännu bättre, där vi tränar ett neuralt nätverk för att översätta alla typer av texter på en gång. Nyckeln till förståelse ligger i idén om mutli-task learning (MTL): om det finns en intern koppling mellan flera maskininlärningsuppgifter, då kan en modell som lär sig att lösa dessa uppgifter samtidigt lära sig att lösa var och en av uppgifterna bättre än en smalprofil specialiserad modell!

finjustering. Vi hade redan en mycket bra maskinöversättning, så det skulle vara orimligt att utbilda en ny översättare för Yandex.Browser från början. Det är mer logiskt att ta ett grundläggande system för att översätta vanliga texter och träna det att arbeta med webbsidor. I samband med neurala nätverk kallas detta ofta för finjustering. Men om vi närmar oss detta problem direkt, dvs. initiera bara vikterna av det neurala nätverket med värden från den färdiga modellen och börja lära dig av nya data, du kan stöta på domänförskjutningseffekten: när du lär dig kommer kvaliteten på översättningen av webbsidor (in-domänen) att öka, men kvaliteten på översättningen av vanliga (utanför domänen) texter kommer att sjunka. För att bli av med denna obehagliga funktion, under ytterligare träning, lägger vi en ytterligare begränsning på det neurala nätverket, och förbjuder det att ändra vikter för mycket jämfört med det ursprungliga tillståndet.

Matematiskt uttrycks detta genom att lägga till en term till förlustfunktionen (förlustfunktionen), vilket är Kullback-Leibler-avståndet (KL-divergens) mellan sannolikhetsfördelningarna för att generera nästa ord, utfärdat av det ursprungliga och omtränade nätverket. Som framgår av illustrationen resulterar detta i att förbättringen av kvaliteten på översättningen av webbsidor inte längre leder till att översättningen av klartext försämras.

Polera frekvensfraser från navigering. Under arbetet med en ny översättare samlade vi statistik om texterna på olika segment av webbsidor och såg något intressant. Texterna som är relaterade till navigeringselement är ganska standardiserade, så de representerar ofta samma standardfraser. Detta är en så kraftfull effekt att mer än hälften av alla navigeringsfraser som finns på Internet finns i bara 2 000 av de vanligaste.

Naturligtvis utnyttjade vi detta och gav flera tusen av de vanligaste fraserna och deras översättningar för verifiering till våra översättare för att vara helt säkra på deras kvalitet.

Externa justeringar. Det fanns ett annat viktigt krav för webbsidesöversättaren i webbläsaren - den borde inte förvränga uppmärkningen. När HTML-taggar placeras utanför meningar eller vid deras gränser, uppstår inga problem. Men om det inuti meningen finns t.ex. två understruken ord, då i översättning vill vi se "två understruken orden". De där. Som ett resultat av överföringen måste två villkor vara uppfyllda:

  1. Det understrukna fragmentet i översättningen måste motsvara exakt det understrukna fragmentet i källtexten.
  2. Konsistensen av översättningen vid gränserna för det understrukna fragmentet bör inte kränkas.
För att säkerställa detta beteende översätter vi först texten som vanligt, och sedan, med hjälp av statistiska ord-för-ord-anpassningsmodeller, bestämmer vi överensstämmelsen mellan fragment av källan och översatta texter. Detta hjälper till att förstå vad som behöver understrykas (kursivt, hyperlänkat, ...).

Korsningsobservatör. De kraftfulla översättningsmodellerna för neurala nätverk som vi har tränat kräver märkbart mer datorresurser på våra servrar (både CPU och GPU) än tidigare generationer av statistiska modeller. Samtidigt läser användarna inte alltid sidorna till slutet, så att skicka hela texten på webbsidor till molnet ser överflödigt ut. För att spara serverresurser och användartrafik lärde vi Translator att använda

Sökmotorindexerade webbplatser har mer än en halv miljard exemplar, och det totala antalet webbsidor är tiotusentals gånger fler. Ryskspråkigt innehåll upptar 6 % av hela Internet.

Hur man översätter den önskade texten snabbt och på ett sådant sätt att författarens avsedda mening bevaras. De gamla metoderna för översättningsmoduler för statistiskt innehåll fungerar mycket tveksamt, eftersom det är omöjligt att exakt bestämma deklinationen av ord, tid och mer. Ordens natur och kopplingarna mellan dem är komplexa, vilket ibland fick resultatet att se väldigt onaturligt ut.

Nu använder Yandex automatisk maskinöversättning, vilket kommer att öka kvaliteten på den slutliga texten. Du kan ladda ner den senaste officiella versionen av webbläsaren med en ny inbyggd översättning.

Hybrid översättning av fraser och ord

Yandex-webbläsaren är den enda som kan översätta sidan som helhet, såväl som ord och fraser individuellt. Funktionen kommer att vara mycket användbar för de användare som mer eller mindre talar ett främmande språk, men ibland har översättningssvårigheter.

Det neurala nätverket som var inbyggt i ordet översättningsmekanism klarade inte alltid de uppsatta uppgifterna, eftersom sällsynta ord var extremt svåra att bädda in i texten och göra den läsbar. Nu har en hybridmetod byggts in i applikationen med hjälp av gamla och nya teknologier.

Mekanismen är följande: programmet accepterar de valda meningarna eller orden, ger dem sedan till båda modulerna i det neurala nätverket och den statistiska översättaren, och den inbyggda algoritmen avgör vilket resultat som är bättre och ger det sedan till användaren.

Neural nätverksöversättare

Utländskt innehåll är utformat på ett mycket specifikt sätt:

  • de första bokstäverna i ord i rubriker är versaler;
  • meningar är byggda med förenklad grammatik, vissa ord är utelämnade.

Navigeringsmenyer på webbplatser analyseras baserat på deras plats, till exempel ordet Tillbaka, korrekt översatt tillbaka (gå tillbaka), inte tillbaka.

För att ta hänsyn till alla ovan nämnda funktioner tränade utvecklarna dessutom ett neuralt nätverk, som redan använder en enorm mängd textdata. Nu påverkas kvaliteten på översättningen av innehållets placering och dess utformning.

Resultat av den tillämpade översättningen

Kvaliteten på en översättning kan mätas med BLEU*-algoritmen, som jämför maskinöversättningar och professionella översättningar. Kvalitetsskala från 0 till 100 %.

Ju bättre neural translation, desto högre procentandel. Enligt denna algoritm började Yandex-webbläsaren att översätta 1,7 gånger bättre.

Yandex har lanserat en ny version av översättaren. Ett hybridsystem kommer nu att arbeta med översättningen: utöver den statistiska modellen som användes tidigare kommer översättaren också att använda ett neuralt nätverk. Detta rapporterades i företagets blogg.

Det finns flera metoder för maskinöversättning. Den första, vanligaste metoden är statistisk. Sådan maskinöversättning bygger på att memorera en enorm mängd information som erhållits från parallella korpus (samma texter på olika språk): dessa kan antingen vara enstaka ord eller grammatiska regler. Detta tillvägagångssätt har dock en mycket viktig nackdel: statistisk maskinöversättning kommer ihåg information, men förstår den inte, så en sådan översättning ser ofta ut som många olika korrekt översatta stycken, samlade till en text som inte är särskilt korrekt när det gäller grammatik och semantisk belastning.

Den andra metoden är neurala nätverk. Den är baserad inte på översättning av enskilda ord och fraser, utan av hela meningar, och dess främsta mål är att bevara innebörden, samtidigt som den uppnår den bästa översättningskvaliteten när det gäller grammatik. En sådan översättningsteknik kan också lagra kunskapen om språket som hon har lärt sig under inlärningsprocessen - detta gör att hon kan hantera till exempel fel i fallöverenskommelser. Neural maskinöversättning är ett relativt nytt tillvägagångssätt, men det har redan visat sig: med hjälp av Google Translates neurala nätverk kunde den uppnå en rekordstor översättningskvalitet.

Från och med idag är Yandex.Translate baserat på ett hybridsystem. Ett sådant system inkluderar den statistiska översättningen som tjänsten använde tidigare och översättningen baserad på det neurala nätverkets arbete. En speciell klassificeringsalgoritm baserad på CatBoost (ett maskininlärningssystem utvecklat av Yandex) väljer ut det bästa av de två översättningsalternativen (statistiskt och neuralt) och ger det till användaren.

Du kan läsa mer om arbetet med den nya versionen av Yandex.Translate i vårt möte med chefen för tjänsten, den brittiske datorlingvisten David Talbot.

För närvarande är den nya översättningstekniken endast tillgänglig vid översättning från engelska till ryska (enligt företaget är detta den mest populära översättningsriktningen). Under arbetet med systemet kan användaren växla mellan två översättningsmodeller (gammal statistisk och ny hybrid) och jämföra översättningen av den gamla och nya versionen. Under de kommande månaderna lovar utvecklarna av Translator att inkludera andra områden av översättning.


Exempel på översättning av olika modeller som används i den nya versionen av Yandex.Translate



Maskinöversättning med hjälp av neurala nätverk har kommit långt sedan den första vetenskapliga forskningen om detta ämne och fram till det ögonblick då Google tillkännagav den fullständiga överföringen av Google Translate-tjänsten till djupinlärning.

Som du vet är den neurala översättaren baserad på mekanismen för dubbelriktade återkommande neurala nätverk (Bidirectional Recurrent Neural Networks), byggd på matrisberäkningar, vilket gör att du kan bygga betydligt mer komplexa probabilistiska modeller än statistiska maskinöversättare. Det har dock alltid ansetts att neural översättning, liksom statistisk översättning, kräver parallella korpus av texter på två språk för att lära sig. Ett neuralt nätverk tränas på dessa korpus, med en mänsklig översättning som referens.

Som det visade sig nu kan neurala nätverk behärska ett nytt språk för översättning även utan en parallell korpus av texter! Preprint-sajten arXiv.org publicerade två artiklar om detta ämne samtidigt.

"Föreställ dig att du ger en person en massa kinesiska böcker och många arabiska böcker - ingen av dem är densamma - och den här personen är tränad att översätta från kinesiska till arabiska. Det verkar omöjligt, eller hur? Men vi har visat att en dator kan göra det”, säger Mikel Artetxe, datavetare vid universitetet i Baskien i San Sebastian (Spanien).

De flesta neurala nätverk för maskinöversättning tränas "med en lärare", vars roll bara är en parallell korpus av texter översatta av en person. I inlärningsprocessen, grovt sett, gör det neurala nätverket ett antagande, kontrollerar med standarden och gör nödvändiga justeringar av sina system, sedan lär det sig vidare. Problemet är att det för vissa språk i världen inte finns ett stort antal parallella texter, så de är inte tillgängliga för traditionella maskinöversättningsneurala nätverk.


Det "universella språket" i Googles neurala nätverk för maskinöversättning (GNMT). På den vänstra illustrationen visas kluster av betydelser av varje ord i olika färger, till höger nedan - betydelsen av ordet som erhållits för det från olika mänskliga språk: engelska, koreanska och japanska

Efter att ha sammanställt en gigantisk "atlas" för varje språk, försöker systemet sedan lägga över en sådan atlas på en annan - och där har du någon form av parallelltextkorpus redo!

Det är möjligt att jämföra scheman för de två föreslagna arkitekturerna för oövervakad lärande.


Det föreslagna systemets arkitektur. För varje mening på L1-språket lär sig systemet växlingen av två steg: 1) ljuddämpning(denoising), som optimerar sannolikheten för att koda en brusig version av en mening med en gemensam kodare och dess rekonstruktion av L1-avkodaren; 2) omvänd översättning(tillbaka-översättning) när en mening översätts i utdataläge (dvs. kodad av en gemensam kodare och avkodad av en L2-avkodare), och sedan sannolikheten att koda denna översatta mening med en gemensam kodare och återställa den ursprungliga meningen med en L1-avkodare är optimerad. Illustration: Michela Artetxe et al.


Systemets föreslagna arkitektur och lärandemål (från det andra vetenskapliga arbetet). Arkitekturen är en översättningsmodell för mening för mening där både kodaren och avkodaren fungerar på två språk, beroende på inmatningsspråkets identifierare, som byter ut uppslagstabellerna. Topp (autokodning): Modellen är tränad att utföra denoising i varje domän. Nederst (översättning): som tidigare, plus att vi kodar från ett annat språk och använder som indata översättningen som producerats av modellen i föregående iteration (blå ruta). Gröna ellipser indikerar termer i förlustfunktionen. Illustration: Guillaume Lampl et al.

Båda artiklarna använder en anmärkningsvärt liknande metod med små skillnader. Men i båda fallen utförs översättningen genom något mellanliggande "språk" eller, för att uttrycka det bättre, en mellandimension eller mellanrum. Än så länge uppvisar inte neurala nätverk utan lärare en särskilt hög kvalitet på översättningen, men författarna säger att det är lätt att förbättra det om du använder lite hjälp från en lärare, just nu, för renhetens skull. experiment, detta gjordes inte.

Bidrag inlämnade för 2018 års internationella konferens om läranderepresentationer. Ingen av artiklarna har ännu publicerats i den vetenskapliga pressen.