Mašininio vertimo istorija nuo šaltojo karo iki gilaus mokymosi

Ant Rozetsky nuotrauka „Unsplash“

„Google Translate“ atidarau du kartus dažniau nei „Facebook“, o momentinis kainų etikečių vertimas man daugiau nėra kibernetinis punktas. Tai mes vadiname realybe. Sunku įsivaizduoti, kad tai yra šimtmečio kovos dėl mašininio vertimo algoritmų kūrimo rezultatas ir kad per tą laikotarpį nebuvo matomos sėkmės.

Tikslūs pokyčiai, kuriuos aptarsiu šiame straipsnyje, yra visų šiuolaikinių kalbų apdorojimo sistemų pagrindas - nuo paieškos sistemų iki balso valdomų mikrobangų. Aš kalbu apie internetinio vertimo raidą ir struktūrą šiandien.

P. P. Troyanskii vertimo mašina (iliustracija padaryta iš aprašymų. Deja, nuotraukų neliko).

Pradžioje

Istorija prasideda 1933 m. Sovietų Sąjungos mokslininkas Peteris Troyanskii SSRS mokslų akademijai pristatė „žodžių parinkimo ir spausdinimo mašiną, verčiant iš vienos kalbos į kitą“. Išradimas buvo labai paprastas - jame buvo kortelės keturiomis skirtingomis kalbomis, rašomoji mašinėlė ir senosios mokyklos kino kamera.

Operatorius paėmė pirmąjį žodį iš teksto, surado atitinkamą kortelę, nufotografavo ir mašinėlėje užrašė jo morfologines savybes (daiktavardis, daugiskaita, genityvas). Rašomosios mašinėlės raktai užkodavo vieną iš funkcijų. Juosta ir fotoaparato filmas buvo naudojami vienu metu, sudarant rėmelių rinkinį su žodžiais ir jų morfologiją.

Nepaisant viso to, kaip dažnai nutiko SSRS, išradimas buvo laikomas „nenaudingu“. Troyanskii mirė nuo Stenokardijos, bandydamas baigti savo išradimą 20 metų. Niekas pasaulyje apie mašiną nežinojo, kol du sovietų mokslininkai 1956 m. Nesurado jo patentų.

Tai buvo šaltojo karo pradžioje. 1954 m. Sausio 7 d. IBM būstinėje Niujorke prasidėjo Džordžtauno – IBM eksperimentas. Pirmą kartą istorijoje kompiuteris „IBM 701“ automatiškai išvertė 60 rusų sakinių į anglų kalbą.

„Mergaitė, nesupratusi nė žodžio sovietų kalbos, perpylė rusiškas žinutes IBM kortelėse. „Smegenys“ automatiškai atspausdino vertimus iš anglų kalbos, naudodamos dvi su puse linijos per sekundę greitį “, - rašoma IBM pranešime spaudai.
„IBM 701“

Tačiau triumfuojančios antraštės paslėpė vieną smulkmeną. Niekas neminėjo išverstų pavyzdžių, kad būtų kruopščiai atrinkti ir išbandyti, kad būtų išvengta dviprasmybių. Kasdieniniam naudojimui ta sistema nebuvo geresnė už kišeninę frazę. Nepaisant to, prasidėjo tokios ginklavimosi varžybos: Kanada, Vokietija, Prancūzija, ypač Japonija, įstojo į mašinų vertimo varžybas.

Lenktynės dėl mašininio vertimo

Neveiksmingos kovos su mašininio vertimo tobulinimu truko keturiasdešimt metų. 1966 m. JAV ALPAC komitetas savo garsiajame pranešime mašininį vertimą pavadino brangiu, netiksliu ir bekompromisiu. Jie vietoj to rekomendavo sutelkti dėmesį į žodynų kūrimą, kuris pašalino JAV tyrėjus iš varžybų beveik dešimtmečiui.

Nepaisant to, šiuolaikinio natūralios kalbos apdorojimo pagrindą sukūrė tik mokslininkai ir jų bandymai, tyrimai ir plėtra. Visi šių dienų paieškos varikliai, šlamšto filtrai ir asmeniniai padėjėjai atsirado daugybės šalių šnipinėjimo dėka.

Taisyklėmis pagrįstas mašininis vertimas (RBMT)

Pirmosios idėjos, susijusios su taisyklėmis paremtu mašininiu vertimu, atsirado aštuntajame dešimtmetyje. Mokslininkai pasidomėjo vertėjų darbais, bandydami priversti nepaprastai vangus kompiuterius pakartoti tuos veiksmus. Šias sistemas sudarė:

  • Dvikalbis žodynas (RU -> EN)
  • Kiekvienos kalbos kalbinių taisyklių rinkinys (pvz., Daiktavardžiai, galiojantys tam tikromis priesagomis, tokiomis kaip -heit, -keit, -ung, yra moteriški)

Viskas. Prireikus sistemas būtų galima papildyti įsilaužimais, tokiais kaip vardų sąrašai, rašybos pataisos ir transliteratoriai.

PROMPT ir „Systran“ yra garsiausi RBMT sistemų pavyzdžiai. Tiesiog pažiūrėkite į „Aliexpress“, kad pajustumėte švelnų šio aukso amžiaus kvėpavimą.

Bet net jie turėjo keletą niuansų ir porūšių.

Tiesioginis mašininis vertimas

Tai paprasčiausias mašininio vertimo tipas. Jis padalija tekstą į žodžius, juos verčia, šiek tiek pataiso morfologiją ir suderina sintaksę, kad visa tai atrodytų teisinga, daugiau ar mažiau. Saulei leidžiantis, apmokyti kalbininkai rašo kiekvieno žodžio taisykles.

Išvestis grąžina tam tikrą vertimą. Paprastai tai yra gana beprotiška. Atrodo, kad kalbininkai veltui iššvaistė savo laiką.

Šiuolaikinės sistemos iš viso nenaudoja šio požiūrio, o šiuolaikiniai kalbininkai yra dėkingi.

Mašinų vertimas, paremtas perdavimu

Priešingai nei tiesioginiam vertimui, mes pirmiausia pasiruošiame nustatant sakinio gramatinę struktūrą, kaip buvome mokomi mokykloje. Tada mes manipuliuojame ištisomis konstrukcijomis, o ne žodžiais. Tai padeda tinkamai išversti žodžių tvarką vertimu. Teoriškai.

Praktiškai tai vis tiek lėmė vertimą žodžiu ir išsekino kalbininkus. Viena vertus, tai atnešė supaprastintas bendrąsias gramatikos taisykles. Bet, kita vertus, jis tapo sudėtingesnis dėl padidėjusio žodžių konstrukcijų skaičiaus, palyginti su atskirais žodžiais.

Tarpkalbis mašininis vertimas

Taikant šį metodą, pirminis tekstas paverčiamas į tarpinį atvaizdą ir yra suvienodintas visoms pasaulio kalboms (interlingua). Tai yra tas pats „Interlingua Descartes“, apie kurį svajojo: meta kalba, kuri vadovaujasi visuotinėmis taisyklėmis ir paverčia vertimą į paprastą „pirmyn ir atgal“ užduotį. Toliau, interlingua konvertuos į bet kurią tikslinę kalbą, ir čia buvo išskirtinumas!

Dėl pertvarkymo „Interlingua“ dažnai painiojama su perkėlimu pagrįstomis sistemomis. Skirtumas yra kalbų taisyklės, būdingos kiekvienai kalbai ir interlingua, o ne kalbų poroms. Tai reiškia, kad į interlingua sistemą galime įtraukti trečią kalbą ir versti iš visų trijų. Mes negalime to padaryti sistemose, pagrįstose perkėlimu.

Tai atrodo tobula, bet realiame gyvenime taip nėra. Sukurti tokį universalų interlingu buvo nepaprastai sunku - daugybė mokslininkų visą gyvenimą dirbo prie jo. Jiems nepavyko, tačiau jų dėka mes dabar turime morfologinį, sintaksinį ir net semantinį vaizdavimo lygmenis. Tačiau vienintelė Reikšmės teksto teorija kainuoja likimą!

Tarpinės kalbos idėja grįš. Palaukime kurį laiką.

Kaip matote, visi UBT yra kvaili ir bauginantys, ir dėl šios priežasties jie retai naudojami, išskyrus konkrečius atvejus (pvz., Orų ataskaitos vertimas ir pan.). Tarp dažnai paminėtų RBMT pranašumų yra jo morfologinis tikslumas (jis nepainioja žodžių), rezultatų atkuriamumas (visi vertėjai gauna tą patį rezultatą) ir galimybė suderinti jį su dalyko sritimi (mokyti ekonomistus ar terminus) būdingi, pavyzdžiui, programuotojams).

Net jei kam nors pavyktų sukurti idealų RBMT, o kalbininkai jį patobulino visomis rašybos taisyklėmis, visada bus keletas išimčių: visi netaisyklingi veiksmažodžiai anglų kalba, atskiriami priešdėliai vokiškai, priesagos rusų kalba ir situacijos, kai žmonės tiesiog pasakyti kitaip. Bet koks bandymas atsižvelgti į visus niuansus prarastų milijonus žmogaus valandų.

Ir nepamirškite apie homonimus. Tas pats žodis gali turėti skirtingą reikšmę kitame kontekste, todėl vertimai gali būti įvairūs. Kiek reikšmių čia galite sugauti: pamačiau žmogų ant kalvos su teleskopu?

Kalbos nebuvo kuriamos remiantis fiksuotu taisyklių rinkiniu - tai lingvistai mėgsta. Jiems daug didesnę įtaką padarė invazijų istorija per pastaruosius tris šimtus metų. Kaip galėtum tai paaiškinti mašinai?

Keturiasdešimt Šaltojo karo metų nepadėjo rasti jokio skirtingo sprendimo. RBMT buvo miręs.

Pavyzdinis mašininis vertimas (EBMT)

Japonija ypač domėjosi kova dėl mašininio vertimo. Šaltojo karo nebuvo, tačiau buvo priežasčių: labai mažai šalies žmonių mokėjo anglų kalbą. Tai pažadėjo būti gana aktuali būsimos globalizacijos partijos problema. Taigi japonai buvo nepaprastai motyvuoti rasti darbo automatinio vertimo metodą.

Anglų-japonų kalbomis taisyklėmis pagrįstas vertimas yra labai sudėtingas. Kalbos struktūra yra visiškai kitokia, ir beveik visus žodžius reikia pertvarkyti ir pridėti naujų. 1984 m. Makoto Nagao iš Kioto universiteto sugalvojo vietoj pakartotinio vertimo naudoti paruoštas frazes.

Įsivaizduokime, kad turime išversti paprastą sakinį - „Aš einu į kiną“. Tarkime, kad mes jau išvertėme kitą panašų sakinį - „Aš einu į teatrą“ - ir galime rasti žodį „ kinas “žodyne.

Viskas, ko mums reikia, yra išsiaiškinti skirtumą tarp dviejų sakinių, išversti trūkstamą žodį, o tada jo neišragauti. Kuo daugiau pavyzdžių turime, tuo vertimas geresnis.

Aš kuriu frazes nepažįstamomis kalbomis lygiai taip pat!

EBMT parodė dienos šviesą viso pasaulio mokslininkams: pasirodo, jūs galite tiesiog aprūpinti mašiną turimais vertimais ir nepraleisti metų sudarydami taisykles ir išimtis. Dar ne revoliucija, bet neabejotinai pirmasis žingsnis link jos. Revoliucinis statistinio vertimo išradimas įvyktų vos per penkerius metus.

Statistinis mašininis vertimas (SMT)

1990 m. Pradžioje IBM tyrimų centre pirmą kartą buvo parodyta mašininio vertimo sistema, kuri nieko nežinojo apie visas taisykles ir kalbotyrą. Jis analizavo panašius tekstus dviem kalbomis ir bandė suprasti modelius.

Idėja buvo paprasta, tačiau graži. Identiškas sakinys dviem kalbomis padalintas į žodžius, kurie buvo suderinti vėliau. Ši operacija pasikartojo apie 500 milijonų kartų, kad būtų galima suskaičiuoti, pavyzdžiui, kiek kartų žodis „Das Haus“ išvertė kaip „namas“ palyginti su „pastatas“ prieš „statyba“ ir pan.

Jei šaltinio žodis dažniausiai buvo verčiamas kaip „namas“, mašina tai naudojo. Atminkite, kad mes nenustatėme jokių taisyklių ir nenaudojome jokių žodynų - visos išvados buvo daromos mašina, vadovaujantis statistika ir logika, kad „jei žmonės verčia taip, tai ir aš“. Taip gimė statistinis vertimas.

Metodas buvo daug efektyvesnis ir tikslesnis nei visi ankstesni. Ir nereikėjo kalbininkų. Kuo daugiau tekstų naudojome, tuo geresnį vertimą gavome.

„Google“ statistinis vertimas iš vidaus. Tai rodo ne tik tikimybes, bet ir skaičiuoja atvirkštinę statistiką.

Liko vienas klausimas: kaip mašina susieja žodį „Das Haus“ ir žodį „building“ - ir kaip mes žinotume, kad tai buvo teisingi vertimai?

Atsakymas buvo tas, kad mes nežinome. Paleisdamas mašina padarė prielaidą, kad žodis „Das Haus“ vienodai koreliuoja su bet kokiu žodžiu išversto sakinio. Tada, kai „Das Haus“ pasirodė kituose sakiniuose, koreliacijų su „namu“ skaičius padidės. Tai yra „žodžių derinimo algoritmas“, tipiška universiteto lygio mašininio mokymosi užduotis.

Mašinai reikėjo milijonų ir milijonų sakinių dviem kalbomis, kad būtų galima surinkti reikiamą statistiką apie kiekvieną žodį. Kaip mes juos gavome? Na, mes nusprendėme paimti Europos Parlamento ir Jungtinių Tautų Saugumo tarybos posėdžių santraukas - jie buvo prieinami visų valstybių narių kalbomis, juos dabar galima atsisiųsti JT korporacijoje ir „Europarl Corpora“.

Žodinis SMT

Iš pradžių pirmosios statistinės vertimo sistemos veikė padalijant sakinį į žodžius, nes šis požiūris buvo paprastas ir logiškas. Pirmasis IBM statistinis vertimo modelis buvo vadinamas vienu modeliu. Gana elegantiška, tiesa? Atspėk, ką jie vadino antruoju?

1 pavyzdys: „žodžių krepšys“

Pirmame modelyje buvo naudojamas klasikinis požiūris - padalinti į žodžius ir suskaičiuoti statistiką. Į žodžių tvarką nebuvo atsižvelgta. Vienintelis triukas buvo vieno žodžio vertimas į kelis žodžius. Pavyzdžiui, „Der Staubsauger“ gali virsti „dulkių siurbliu“, bet tai dar nereiškė, kad jis pasirodys atvirkščiai.

Štai keletas paprastų „Python“ diegimų: „shawa“ / „IBM-Model-1“.

2 modelis: atsižvelgiant į žodžių tvarką sakiniuose

1 modelio problema tapo žinių apie kalbų žodžių tvarką stoka, o kai kuriais atvejais tai labai svarbu.

2 modelis tai nagrinėjo: jis įsiminė įprastą vietą, kurią žodis užima išvestiniame sakinyje, ir tarpo žodžiais tarė, kad tarpiniame žingsnyje skambėtų natūraliau. Viskas pagerėjo, bet jie vis tiek buvo savotiškai apgaulingi.

3 modelis: papildomas vaisingumas

Nauji žodžiai vertime pasirodė gana dažnai, pavyzdžiui, straipsniai vokiečių kalba arba vartojant „daryti“, kai neigiama anglų kalba. „Ich will keine Persimonen“ → „Aš nenoriu persimonų.“ Norėdami tai išspręsti, 3 modelis buvo papildytas dar dviem žingsniais.

  • NULL žetono įterpimas, jei mašina mano, kad reikia naujo žodžio
  • Tinkamos gramatinės dalelės ar žodžio parinkimas kiekvienam žetonų žodžiui suderinti

4 modelis: žodžių derinimas

2 modelis svarstė žodžio derinimą, bet nieko nežinojo apie pertvarkymą. Pvz., Būdvardžiai dažnai keičiasi vietomis su daiktavardžiu ir, kad ir kokia gerai įsimenama tvarka, tai nepadarys geresnio išvesties. Todėl 4 modelis atsižvelgė į vadinamąją „santykinę tvarką“ - modelis sužinojo, jei du žodžiai visada keisdavo vietas.

5 modelis: klaidų taisymai

Nieko naujo čia. 5 modelis gavo dar keletą mokymosi parametrų ir ištaisė problemą prieštaringomis žodžių pozicijomis.

Nepaisant jų revoliucinio pobūdžio, žodinėmis sistemomis vis tiek nepavyko išspręsti atvejų, lyties ir homonimijos. Kiekvienas žodis buvo išverstas teisingai, pagal mašiną. Tokios sistemos nebenaudojamos, nes jos buvo pakeistos sudėtingesniais frazėmis paremtais metodais.

Frazėmis pagrįstas SMT

Šis metodas grindžiamas visais žodžiais grindžiamais vertimo principais: statistika, pertvarkymu ir leksiniais įsilaužimais. Nors mokymuisi jis padalijo tekstą ne tik į žodžius, bet ir į frazes. Tiksliai tariant, tai buvo n-gramai, kurie buvo gretima n žodžių seka iš eilės.

Taigi mašina išmoko versti pastovius žodžių derinius, kurie pastebimai pagerino tikslumą.

Apgaulė buvo ta, kad frazės ne visada buvo paprastos sintaksės konstrukcijos, o vertimo kokybė žymiai sumažėjo, jei kas nors žinojo apie kalbotyrą ir sakinių struktūrą. Kompiuterinės kalbotyros pradininkas Frederikas Jelinekas kartą apie tai juokavo: „Kiekvieną kartą, kai šaunu į kalbą, kalbos atpažinimo priemonės rodikliai gerėja“.

Frazės vertimas ne tik pagerino tikslumą, bet ir suteikė daugiau galimybių pasirenkant dvikalbius tekstus mokymuisi. Žodžiu pagrįsto vertimo tiksli šaltinių atitiktis buvo kritinė, o tai neįtraukė jokio literatūrinio ar nemokamo vertimo. Frazė pagrįstas vertimas neturėjo problemų mokytis iš jų. Norėdami patobulinti vertimą, tyrėjai tam tikslui netgi pradėjo analizuoti naujienų svetaines įvairiomis kalbomis.

Nuo 2006 m. Visi pradėjo naudoti šį požiūrį. „Google“ vertėjas, „Yandex“, „Bing“ ir kiti aukšto rango vertėjai internete iki 2016 m. Dirbo frazėmis. Kiekvienas iš jūsų tikriausiai gali prisiminti momentus, kai „Google“ arba išvertė sakinį nepriekaištingai, arba sukėlė visiškas nesąmones, tiesa? Nesąmonė atsirado dėl frazėmis pagrįstų savybių.

Senas geras taisyklėmis pagrįstas požiūris nuosekliai davė nuspėjamą, nors ir siaubingą rezultatą. Statistiniai metodai buvo stebinantys ir mįslingi. „Google“ vertėjas „tris šimtus“ paverčia „300“ be jokių dvejonių. Tai vadinama statistine anomalija.

Frazės pagrįstas vertimas tapo toks populiarus, kad išgirdus „statistinį mašininį vertimą“, būtent tai ir yra suprantama. Iki 2016 m. Visi tyrimai vertino frazėmis pagrįstą vertimą kaip pažangiausią. Tuomet niekas net negalvojo, kad „Google“ jau užgesino gaisrus, ruošdamasi pakeisti visą mūsų automatinio vertimo įvaizdį.

Sintaksės pagrindu sukurtas SMT

Šis metodas taip pat turėtų būti trumpai paminėtas. Daugybė metų iki neuroninių tinklų atsiradimo sintaksės pagrindu atliktas vertimas buvo laikomas „ateitimi ar vertimu“, tačiau ši idėja neatsirado.

Sintaksės pagrįsto vertimo šalininkai manė, kad įmanoma jį sujungti su taisyklėmis pagrįstu metodu. Būtina atlikti gana tikslią sakinio sintaksės analizę - nustatyti dalyką, predikatą ir kitas sakinio dalis, o tada sudaryti sakinio medį. Naudodamasis ja, mašina išmoksta konvertuoti sintaksinius vienetus tarp kalbų, o likusius išverčia žodžiais ar frazėmis. Tai būtų kartą ir visiems laikams išsprendę žodžių derinimo klausimą.

Pavyzdys paimtas iš „Yamada and Knight“ [2001] ir ši puiki skaidrių demonstracija.

Problema ta, kad sintaksinė analizė veikia siaubingai, nepaisant to, kad manome, kad ji buvo išspręsta prieš kurį laiką (nes turime paruoštas bibliotekas daugeliui kalbų). Sintaksinius medžius užduotims bandžiau naudoti šiek tiek sudėtingiau, nei analizuoti temą ir predikatą. Ir kiekvieną kartą aš atsisakiau ir naudojau vis kitą metodą.

Praneškite man komentaruose, jei pavyks bent kartą tai panaudoti.

Neuroninis mašininis vertimas (NMT)

2014 m. Buvo išleistas gana juokingas straipsnis apie neuroninių tinklų naudojimą mašininiame vertime. Internetas to visai nepastebėjo, išskyrus „Google“ - jie išėmė kastuvus ir pradėjo kasti. Po dvejų metų, 2016 m. Lapkričio mėn., „Google“ paskelbė žaidimą keičiantį pranešimą.

Idėja buvo artima stiliaus perdavimui tarp nuotraukų. Prisimenate programas, tokias kaip „Prisma“, kurios pagerino paveikslėlius pagal garsaus menininko stilių? Magijos nebuvo. Neuroninis tinklas buvo išmokytas atpažinti menininko paveikslus. Tada buvo pašalinti paskutiniai tinklo sprendimo sluoksniai. Gautas stilizuotas paveikslėlis buvo tik tarpinis vaizdas, kurį gavo tinklas. Tai yra tinklo fantazija ir mes manome, kad ji yra graži.

Jei mes galime perkelti stilių į nuotrauką, kas būtų, jei pabandytume primesti šaltinio tekstui kitą kalbą? Tekstas būtų tikslus „menininko stilius“, ir mes bandysime jį perduoti išlaikydami įvaizdžio esmę (kitaip tariant, teksto esmę).

Įsivaizduokite, aš bandau apibūdinti savo šunį - vidutinis dydis, aštri nosis, trumpa uodega, visuomet žievė. Jei suteikčiau jums šį šuns bruožų rinkinį ir jei aprašymas būtų tikslus, galėtumėte jį nupiešti, nors dar niekada nematėte.

Dabar įsivaizduokite, kad šaltinio tekstas yra tam tikrų savybių rinkinys. Iš esmės tai reiškia, kad jūs jį užkoduojate ir leidžiate kitam nervų tinklui iššifruoti jį atgal į tekstą, bet kita kalba. Dekoderis žino tik savo kalbą. Jis net neįsivaizduoja funkcijų kilmės, tačiau gali jas išreikšti, pavyzdžiui, ispanų kalba. Tęsiant analogiją, nesvarbu, kaip piešiate šunį - pieštukais, akvareliais ar pirštu. Jūs dažote taip, kaip galite.

Dar kartą - vienas neuroninis tinklas gali užkoduoti sakinį tik pagal konkretų funkcijų rinkinį, o kitas gali tik iššifruoti juos atgal į tekstą. Abu net neįsivaizduoja vienas kito ir kiekvienas iš jų žino tik savo kalbą. Prisimeni ką nors? „Interlingua“ grįžo. Ta-da.

Kyla klausimas, kaip surasti tas savybes? Akivaizdu, kai mes kalbame apie šunį, bet kaip elgtis su tekstu? Prieš trisdešimt metų mokslininkai jau bandė sukurti universalų kalbos kodą, ir jis baigėsi visiška nesėkme.

Nepaisant to, dabar mes giliai mokomės. Ir tai yra svarbiausia užduotis! Pagrindinis skirtumas tarp giluminio mokymosi ir klasikinių neuroninių tinklų yra būtent tas, kad reikia ieškoti tų savybių, net neįsivaizduojant jų pobūdžio. Jei nervų tinklas yra pakankamai didelis, o po ranka yra pora tūkstančių vaizdo plokščių, šias funkcijas galima rasti ir tekste.

Teoriškai kalbų specialistams galime perduoti požymius, įgytus iš neuroninių tinklų, kad jie galėtų atverti drąsius naujus horizontus sau.

Kyla klausimas, kokį nervų tinklą reikia naudoti kodavimui ir dekodavimui? Konvoliuciniai neuroniniai tinklai (CNN) puikiai tinka nuotraukoms, nes jie veikia su nepriklausomais taškų blokais.

Tačiau tekste nėra savarankiškų blokų - kiekvienas žodis priklauso nuo jo aplinkos. Tekstas, kalba ir muzika visada suderinami. Taigi pasikartojantys neuroniniai tinklai (RNN) būtų geriausias pasirinkimas juos tvarkyti, nes jie atsimena ankstesnį rezultatą - mūsų atveju ankstesnį žodį.

Dabar RNN naudojami visur - „Siri“ kalbos atpažinimas (tai nagrinėjant garsų seką, kur kita priklauso nuo ankstesnių), klaviatūros patarimai (įsimenkite ankstesnį, atspėkite kitą), muzikos generavimas ir net pokalbių žinutės.

Dėl tokių niekšų kaip aš: iš tikrųjų neuronų vertėjų architektūra labai skiriasi. Iš pradžių buvo naudojamas įprastas RNN, po to atnaujinamas į dvikryptį, kai vertėjas svarstė ne tik žodžius prieš pirminį žodį, bet ir kitą žodį. Tai buvo daug veiksmingiau. Po to sekė daugiasluoksnis RNN su LSTM vienetais, kad būtų galima ilgai saugoti vertimo kontekstą.

Per dvejus metus neuroniniai tinklai pranoko viską, kas pasirodė per pastaruosius 20 vertimo metų. Neuroniniame vertime yra 50% mažiau žodžių eiliškumo klaidų, 17% mažiau leksinių klaidų ir 19% mažiau gramatikos klaidų. Neuroniniai tinklai netgi išmoko suderinti lytį ir atvejus skirtingomis kalbomis. Ir niekas nemokė to daryti.

Labiausiai pastebimi pagerėjimai įvyko tose srityse, kur niekada nebuvo naudojamas tiesioginis vertimas. Statistinio mašininio vertimo metodai visada veikė naudojant anglų kalbą kaip pagrindinį šaltinį. Taigi, jei išvertėte iš rusų kalbos į vokiečių kalbą, mašina pirmiausia išvertė tekstą į anglų kalbą, o po to iš anglų į vokiečių kalbą, o tai lemia dvigubą praradimą.

Neuroniniam vertimui to nereikia - reikalingas tik dekoderis, kad jis galėtų veikti. Tai buvo pirmas kartas, kai tapo įmanoma tiesiogiai versti ištisas kalbas be jokio žodyno.

„Google Translate“ (nuo 2016 m.)

2016 m. „Google“ įjungė neuroninį vertimą į devynias kalbas. Jie sukūrė savo sistemą pavadinimu „Google Neural Machine Translation“ (GNMT). Jį sudaro 8 kodavimo ir 8 dekoderių RNN sluoksniai, taip pat dėmesio jungtys iš dekoderių tinklo.

Jie ne tik dalijo sakinius, bet ir žodžius. Taip jie sprendė vieną pagrindinių NMT klausimų - retus žodžius. NMT yra bejėgiai, kai žodžio nėra jų leksikoje. Tarkime, „Vas3k“. Neabejoju, kad kas išmokė neuroninį tinklą versti mano slapyvardį. Tokiu atveju GMNT bando suskaidyti žodžius į žodžių dalis ir susigrąžinti jų vertimą. Protingas.

Patarimas: „Google“ vertėjas, naudojamas svetainių vertimui naršyklėje, vis dar naudoja seną frazėmis pagrįstą algoritmą. Kažkodėl „Google“ to neatnaujino, o skirtumai, palyginti su internetine versija, yra gana pastebimi.

„Google“ internetinėje versijoje naudoja informacijos siūlymo mechanizmą. Žmonės gali pasirinkti, jų manymu, teisingiausią versiją, ir jei daug kam tai patinka, „Google“ visada išvers šią frazę ir pažymės ją specialiu ženkliuku. Tai fantastiškai tinka trumpoms kasdienėms frazėms, tokioms kaip: „Eime į kiną“ arba „Aš laukiu tavęs“. „Google“ geriau nei aš moku šnekamąją anglų kalbą :(

„Microsoft“ „Bing“ veikia lygiai taip pat kaip „Google Translate“. Tačiau „Yandex“ yra kitoks.

„Yandex Translate“ (nuo 2017 m.)

„Yandex“ savo neuroninio vertimo sistemą pradėjo 2017 m. Jos pagrindinis bruožas, kaip skelbiama, buvo hibridiškumas. „Yandex“ derina neuroninius ir statistinius sakinio vertimo metodus, o tada pasirenka geriausią su mėgstamu „CatBoost“ algoritmu.

Neigiamas vertimas dažnai žlunga verčiant trumpas frazes, nes tinkamam žodžiui pasirinkti naudojamas kontekstas. Būtų sunku, jei žodis treniruočių duomenyse pasirodytų labai keletą kartų. Tokiais atvejais paprastas statistinis vertimas greitai ir paprastai randa tinkamą žodį.

„Yandex“ nesidalija išsamia informacija. Tai atitolina mus su rinkodaros pranešimais spaudai. GERAI.

Panašu, kad „Google“ naudoja SMT žodžių ir trumpų frazių vertimui. Jie to nenurodo jokiuose straipsniuose, tačiau tai gana pastebima, jei pažvelgsite į skirtumą tarp trumpų ir ilgų posakių vertimo. Be to, SMT naudojama rodyti žodžio statistiką.

Išvada ir ateitis

Visus jaudina „Babelio žuvies“ idėja - momentinis kalbos vertimas. „Google“ žengė žingsnius link savo „Pixel Buds“, bet iš tikrųjų tai dar nėra tai, apie ką mes svajojome. Greitas kalbos vertimas skiriasi nuo įprasto vertimo. Jūs turite žinoti, kada pradėti versti, o kada uždaryti ir klausytis. Dar nemačiau tinkamų būdų tai išspręsti. Nebent galbūt „Skype“ ...

Čia yra dar viena tuščia sritis: visas mokymasis apsiriboja lygiagrečių teksto blokų rinkiniu. Giliausi neuroniniai tinklai vis dar mokosi lygiagrečių tekstų. Negalime išmokyti neuroninio tinklo, nepateikdami jam šaltinio. Žmonės gali papildyti savo leksiką skaitydami knygas ar straipsnius, net neišvertę jų į gimtąją kalbą.

Jei žmonės tai gali padaryti, teoriškai tai gali padaryti ir nervų tinklas. Radau tik vieną prototipą, bandantį paskatinti tinklą, žinantį vieną kalbą, skaityti tekstus kita kalba, kad įgyčiau patirties. Aš pats tai išbandyčiau, bet esu kvailas. Gerai, kad viskas.

Iš pradžių ši istorija buvo parašyta rusų kalba, o vėliau į Vas3k.com išvertė į anglų kalbą Vasilijaus Zubarevo. Jis yra mano draugas penas ir aš esu tikras, kad jo tinklaraštis turėtų būti platinamas.

Naudingos nuorodos

  • Philipp Koehn: statistinis mašininis vertimas. Išsamiausias mano rastų metodų rinkinys.
  • „Mozė“ - populiari biblioteka, kurianti savo statistinius vertimus
  • „OpenNMT“ - dar viena biblioteka, bet skirta neuroniniams vertėjams
  • Vieno iš mano mėgstamiausių tinklaraštininkų straipsnis, paaiškinantis RNN ir LSTM
  • Vaizdo įrašas „Kaip priversti kalbos vertėją“, juokingas vaikinas, tvarkingas paaiškinimas. Vis dar nepakanka.
  • Teksto vadovas iš „TensorFlow“ apie savo neuroninio vertėjo sukūrimą norintiems daugiau pavyzdžių ir išbandyti kodą.

Kiti straipsniai iš Vas3k.com

Paskutinis dalykas…

Jei jums patiko šis straipsnis, spustelėkite žemiau ir pasidalykite juo su kitais žmonėmis, kad jie taip pat galėtų tuo mėgautis.