Překladač Google, známější pod anglickým názvem Google Translate, je zdarma k službám více než miliardě lidí na celém světě. Od svého spuštění v roce 2006 postupně začal nabízet překlady mezi 103 světovými jazyky, včetně latiny a esperanta. U češtiny, slovenštiny a dalších více než 20 jazyků Google v posledních týdnech spustil novinku – strojový překlad s využitím umělé inteligence. Google tvrdí (a první dojmy to potvrzují), že překlady pořízené tzv. neuronovými sítěmi znamenají ohromný skok v kvalitě. Překlady se zlepšily více než za předchozích 10 let provozu, tvrdí vývojáři pro média. Firma v Česku novinku spustila o půlnoci z 18. na 19. dubna, uživatelům se možnost začala objevovat postupně. Jak každého přesvědčí jednoduchá zkouška, systém si stále s češtinou zatím nedokáže poradit zcela hladce. Zlepšení bylo podle všech komentářů ovšem patrné – a mělo by i nadále pokračovat, jak se neuronové sítě budou nadále trénovat. Testy také potvrzují, že překlad z češtiny do angličtiny je ještě lepší než opačně. Za prvé mají s angličtinou v Google velké zkušenosti, a za druhé mají v tomto jazyce neuronové sítě k dispozici obrovské množství podkladů – mnohem větší, než v ostatních jazycích – a dokážou tak produkovat velmi přirozeně plynoucí anglický text. Jak to začalo Právě angličtina je nejlepší příklad toho, jak daleko strojové překlady od svého vzniku došly. Historicky jejich počátky leží ve zpravodajských rozvědkách. Američané potřebovali vědět, co znamenají zprávy, které odposlechli či zachytili, a hledali jednoduchý způsob, jak jejich překlad automatizovat. K tomu používali systém založený na jasně daných gramatických pravidlech, jakýchsi vzorců, do nichž pak počítač mechanicky doplňoval slova podle dostupného slovníku. První generace překladů používala tzv. pravidlový systém (rule-based system). Jinými slovy řečeno, lingvisté sestavili jasná pravidla, a ta byla rigidně aplikována na strojově překládané texty. Takový počítačový překladač mohl podle něj fungovat pro nějaké konkrétní věci – třeba překlad vojenského hlášení o počtu tanků. Do strojového překladu se začaly investovat nemalé peníze a vznikly i instituce, které se výzkumem strojového překladu zabývaly. Poměrně brzy se zjistilo, že pravidlový systém brzy naráží na svá omezení. Určit počet letadel a tanků umožnil, ale pro překlady literatury, běžné komunikace, obchodní korespondence a dalších běžných „žánrů“ nestačil a nestačí. Překlad textů se ukázal jako náročnější problém, než se původně zdálo. Různé jazyky totiž mají nejen různá gramatická pravidla, ale také různá synonyma, různé idiomy a spousta slov mění svůj význam v závislosti na kontextu, což systém překladu založený na striktních pravidlech neumí postihnout. V 80. letech se lingvisté a počítačoví vědci pokusili s těmito problémy vypořádat prostřednictvím hrubé počítačové síly, ovšem poněkud chytřeji aplikované. Nutno dodat, že jak narůstal výpočetní výkon, dostaly se ke slovu metody, které by na počítačích z 60. let byly nemyslitelné. Jednou z nich je statistický strojový překlad. Představme si, že máme k dispozici text v cizím, nám neznámém jazyce. Zároveň máme ale stejný text i v jazyce, který ovládáme. Nyní se tedy můžeme pokusit rozkouskovat oba dokumenty a sestavit jakýsi slovník. Co kdybychom takových dokumentů ve více jazycích měli více? U některých slov zjistíme, že mají více překladů, jinde objevíme ustálené fráze a spojení. Čím více dvojjazyčných textů máme k dispozici, tím vyšší jistotu při svých překladech získáváme. Jak zjednodušeně funguje statistický strojový překlad, jehož průkopníkem se stal Systran od Xeroxu (1978), který se v roce 1996 stal i prvním strojovým překladačem dostupným na webu. O rok později se překladač Systran usídlil na AltaVista Babelfish, pojmenovaném podle fiktivní rybičky z kultovního Stopařova průvodce galaxií. Na své adrese babelfish.altavista. com zůstal i dávno po konci vyhledávače AltaVista. Jak na to jdou v Google Také Google Translate vycházel ze statistických modelů, navržených německým programátorem Franzem Josefem Ochem, který vedl tým Překladače od jeho založení v roce 2006 až do roku 2013. Pro statistické překlady byl web doslova požehnáním. Na internetu Google našel nepřeberné množství textů, které musely být profesionálně přeloženy do dvou či více jazyků: směrnice, příručky, zákony, populárně naučné knihy, encyklopedie, Bible, dokumenty OSN atd. Právě jejich strojovou analýzou Google postupně vycvičil svůj statistický model. A ze stejných dat těží i jeho třetí generace strojového překladače... Tu vývojáři Google oznámili v září 2016, a zároveň oznámili základní fakta: systém bude založený na neurálním strojovém učení (Google Neural Machine Translation). Od překládání na základě frází se přešlo k překládání na základě celých vět. Autoři tvrdili, že oproti překládání na základě frází tehdy hlásili na ukázkových překladech z angličtiny do francouzštiny a z angličtiny do němčiny zlepšení o 60 %. Důležité bylo, že pokrok se netýkal jen těchto jazyků. Google neprogramuje speciální algoritmy pro překlad z jednoho jazyka do druhého, protože to by při 103 nabízených jazycích ani nebylo možné. Místo toho naprogramoval neuronové sítě, které se umějí učit napříč jazyky. Neuronové sítě analyzují miliony různých textů na webu a na nich se trénují, aby se neustále zlepšovaly. Různé jazyky mají své zvláštnosti, které by bylo nesmírně obtížné programovat jednotlivě. Právě v tom spočívá síla neuronových sítí – berou v „úvahu“ miliony a miliardy příkladů a dokážou se na základě zpětné vazby neustále učit a zdokonalovat, aniž by bylo nutné (nebo možné) přesně popsat, čemu se v daný okamžik právě naučily. Staré známé, ale nepoužívané Výhody neuronových sítí jsou známé dlouho. V teoretické rovině se o nich diskutovalo už v první polovině 20. století, ale brzy se zjistilo, že počítače ještě dlouho nebudou dostatečně výkonné na to, aby šlo tento koncept rozumně využít. Teprve ve 21. století – do značné míry díky paralelním výpočtům v grafických kartách – se výzkum rozhoupal. V posledních deseti letech pak neuronové sítě, a strojové učení obecně, zažívá nebývalý rozmach. Neuronové sítě se dnes využívají například k analýze obrazu, rozpoznávání řeči, regresní analýze, rychlým „přibližným“ výpočtům (např. v pokeru či hře go, které se nedají počítat „hrubou silou“), zpracování velkého množství dat nebo zpracování signálů Google ke svým překladům podle studie z roku 2016 využívá tzv. LSTM (Long short-term memory) sítě, což je speciální typ rekurentní neuronové sítě, nastíněný německým informatikem Jürgenem Schmidhuberem v roce 1997. Podle matematiků je jednou z výhod tohoto typu sítí, že informace se lépe šíří i na dlouhé vzdálenosti – v případě překladu tedy vlastně „počítá“ řadu slov dopředu, což je klíčová dovednost. S jinými neuronovými sítěmi pak mají LSTM společnou tu základní vlastnost, že se učí (trénují) na základě vstupních (testovacích, trénovacích) dat a zpětné vazby. Neuronová síť může také „učit sama sebe“, což zjednodušeně znamená, že sama sobě dává otázku, na kterou zná správnou odpověď, a trénuje sama sebe tak dlouho, dokud tuto odpověď není schopna poskytnout s určitou spolehlivostí. Například se tak „samy“ učí, což je určování míry podobnosti jednotlivých slov a frází. Díky tomu neuronový překlad lépe pracuje s mnohoznačnými i řídce užívanými slovy. Dokáže totiž odhadnout jejich použití podle známých slov stejného druhu. Pro ilustraci: slovo „tuřín“ se v běžné mluvě příliš nevyskytuje, ale neuronový systém na základě dat odhadne, že s ním ve větě může pracovat podobně jako se slovy „mrkev“ nebo „brambora“. K podobným závěrům je schopen dojít i na základě vstupů z různých jazyků, které se učí současně. Když budeme mít více ukázkových vět o bramborách v holandštině než v islandštině, odhadne systém na základě znalostí z holandštiny, jak mluvit o bramborách islandsky. Neuronové sítě se vlastně neučí jazyky jako takové, ale spíše se učí, jak překládat zadané texty tak, aby co nejvíce odpovídaly tréninkovým datům – ale právě díky tomu na pohled paradoxně třeba na rozdíl od statistických modelů umějí lépe pracovat se zpětnou vazbou a s kontextem. Jak jsme již naznačili u tuřínového příkladu, sítě dokonce umějí použít, co se naučily na jiných jazycích, k překladu jazyka, ke kterému není k dispozici dostatek tréninkových dat. Google podle svých vyjádření seskupuje při jejich učení jazyky dohromady podle příbuznosti (např. slovanské), ale neuronové sítě jsou tak „černé skříňky“, do kterých programátoři přímo nevidí (jen určují vstupní parametry), a tak jsou někdy zlepšení nečekaná. Podle vyjádření jednoho z programátorů pro server Technet.cz se na příklad překlad z polštiny zlepšil, když Google využil data získaná trénováním umělé inteligence na textech ve vietnamštině nebo thajštině. Neuronové sítě využívají k překladům ohromné množství dat v podobě knih, webových stránek, přeložených zákonů atd. Což také znamená, že Google je v nejlepším postavení, aby je využil: v množství dat, která má k dispozici, mu může konkurovat možná Facebook, ale jinak sotvakdo. A neuronové sítě data dokážou skvěle využít, pokud mají dost času – je tedy velmi dobře pravděpodobné, že na tomto poli gigant z Kalifornie v podstatě veškeré konkurenci uteče a výsledkem bude jakýsi kvazimonopol na dobré překlady. Podobně jaký má Google dnes na vyhledávání. Samozřejmě každý úspěch něco stojí: neuronové sítě překládají celé věty naráz, zatímco předtím se překládaly pouze kousky věty. Je to proces nesmírně náročný na výpočetní výkon. Společnost na ně používá vlastní hardware zvaný Tensor processing units (Google si obecně sám navrhuje hardware pro klíčové úkoly, byť ho stále všichni vnímají primárně jako softwarovou firmu). Tyto specializované jednotky se podobají grafickým kartám, ale jsou od začátku přizpůsobené přímo pro strojové učení, což výrazně snižuje jejich spotřebu elektřiny – a v důsledku tedy zvyšuje výkon, protože ten se v podobných aplikacích často měří v počtu operací na spotřebovaný watt. /jj/