2. Jak to ty strojové překladače dělají?

Když překládá člověk, je naprosto nezbytné, aby smyslu textu nejdříve perfektně porozuměl. A teď se možná zeptáš – takže ty stroje umějí rozumět, když tak dobře překládají? Nebo se snad dá překládat i bez porozumění obsahu textu?

Úvod tématu
1. Co je to strojový překladač?
3. Co strojový překladač není?

Jak ten chválený DeepL funguje?

Většina současných strojových překladačů je založena na principu takzvaného hlubokého učení (deep learning – proto se mimochodem jeden z překladačů jmenuje DeepL). Systém se sám učí překládat mezi dvěma jazyky, ale potřebuje k tomu ze začátku lidskou pomoc. Ale jakou?
       Abychom mohli vyvinout neuronový jazykový překladač (neural machine translator), musíme sehnat spoustu paralelních trénovacích dat (jsou to věty ve dvou jazycích, které mají stejný význam). Jak je ale seženeme? Můžeme je samozřejmě najít na internetu (ostatně, spousta webových stránek má několik jazykových mutací), ale to zpravidla nejsou dostatečně kvalitní data. To znamená, že se v nich vyskytují chyby, kterých je potřeba se zbavit. Nenaučíme se přece kouzlit, když jsou v učebnici kouzel překlepy a místo wingardium leviosa tam stojí wingardio lev i osa.

Kde tedy nalezneme kvalitní trénovací data?

Můžeme například využít různé databáze přeložených textů a jejich originály. Evropská komise například vyvinula překladač eTranslation, pro který použila mj. databázi překladů oficiálních dokumentů Evropské Unie do různých jazyků EU.  
       Dalším skvělým zdrojem jsou paralelní korpusy. Jsou to strukturované a zpracované soubory textů ve dvou jazycích. Jedním z takových korpusů je korpus InterCorp, který je součástí velkého projektu Český národní korpus. InterCorp obsahuje texty ve více než 50 jazycích, přičemž každý z těchto textů má českou verzi.

Ukázka z korpusu InterCorp.

Abychom se s chybami vyrovnali, můžeme naštěstí využít speciálních čističek paralelních dat. Jsou to programy (například BiCleaner), které umí rozpoznat divné páry vět a odstranit je. Všimnou si třeba, když je jedna věta výrazně delší než druhá nebo pokud obsahuje příliš málo písmen a příliš mnoho jiných znaků.

Bez popisku

 Otázka: Kolik takových dat budeme potřebovat?

Opravdu hodně. Potřebujeme až desítky milionů paralelních segmentů (slovo segmenty znamená, že to nemusí být věty, ale pouze části vět). Například překladač eTranslation, který vyvinula Evropská komise, aby mohl překládat mezi angličtinou a ruštinou, zpracoval 77 milionů segmentů.

Takže data konečně máme. A co dál?

Dále neuronový jazykový překladač tato paralelní data všelijak analyzuje a snaží se najít různé souvislosti. Potom je potřeba ho trochu trénovat, například tak, že ho budeme nutit porovnávat jeho překlady se správnými překlady z paralelních dat. Ty neurony, které vytvořily lepší verze překladu, budeme posilovat a příště jim dávat více moci v rozhodování.
       Pokud do takto netrénovaného jazykového překladače zadáme nějaký text, nejdříve bude analyzovat každou větu v textu a pak na základě toho, co se naučil během trénování, vytvoří její překlad. Přitom ale nebude rozumět obsahu textu, jak mu rozumí lidský překladatel nebo překladatelka, ale bude se snažit (více či méně zdařile) zohlednit kontext celého dokumentu a uhodnout tak slovo nebo spíš část slova (token), která by mohla dále následovat.

Bez popisku

Tip: Jak vznikl neuronový překladač CUBBIT

O tom, jak vznikl překladač CUBBIT, který je velmi šikovný v překladu mezi angličtinou a češtinou, si můžeš přečíst v rozhovoru s vývojářem Martinem Popelem.

Metodu hlubokého učení pro strojové překladače představili vědci na konferenci o strojovém překladu v roce 2015. Jak ale fungovaly překladače dříve? A existovaly vůbec?


Kdy vznikly první strojové překladače?

S trochou nadsázky se dá říct, že strojové překladače jsou vrstevníky prvních univerzálních počítačů. Psal se rok 1954 a výzkumný tým z Georgetownské univerzity a tým ze společnosti IBM prezentovaly systém, který vyvinuly společně. Systém přeložil do angličtiny 49 ruských vět. Umíš si představit, jaký rozruch to vyvolalo? Psalo se o tom v médiích a americké grantové agentury začaly ochotně financovat výzkumné skupiny, které se strojovým překladem zabývaly.

Bez popisku

 Otázka: Proč se překládalo do angličtiny zrovna z ruštiny?

Na konci 40. a začátku 50. let 20. století začalo sílit geopolitické napětí mezi Sovětským svazem a Spojenými státy americkými, kterému se říká Studená válka. Obě strany tak potřebovaly vědět o svém nepříteli a jeho plánech co nejvíce a jevily velký zájem o systémy automatizovaného překladu cizojazyčných textů. Prezentace z roku 1954 mimochodem zaujala i v Sovětském svazu, takže i tam začaly od roku 1955 vznikat výzkumné týmy pro strojový překlad.

V této době panoval v lingvistice strukturní přístup, na jazyk se tedy nahlíželo jako na systém, který funguje podle určitých pravidel. Zdálo se, že stačí počítači poskytnout dvojjazyčný slovník, naučit ho gramatickým pravidlům a bude schopen mezi dvěma jazyky překládat. Nicméně překladače, které byly založeny na tomto „pravidlovém“ principu (rule-based approach), často nepřinášely uspokojivé výsledky.

„Na pravidlovém principu byly do roku 2010 založeny překladače společnosti SYSTRAN, která vznikla v roce 1968 a je jednou z nejstarších firem v oblasti strojového překladu.“

Proč pravidla nefungují?

Za prvé se zjistilo, že popsat jazykovou strukturu do hloubky je velmi složitý úkol. Možná to znáš – naučíš se nějaké pravidlo, jak se třeba tvoří v angličtině minulý čas (Past Simple), a hned zjistíš, že je v něm spousta výjimek.
       Za druhé je pro přirozené jazyky typická nejednoznačnost. Chceme, dejme tomu, přeložit do ruštiny větu Dostal k narozeninám dětské kolo. Jak má počítač poznat, že se jedná o jízdní kolo (велосипед), nikoliv o kolo od auta (колесо), vyhlídkové kolo (колесо обозрения) nebo kolo hry (раунд)?


Jak to pokračovalo?

Nyní se možná ptáš – a co třeba Google Translate? Nevznikl přece dříve než neuronová metoda strojového překladu? Ano, už v roce 2006. Byl tedy založen na pravidlovém principu? Ne. A jak funguje, to se dozvíš dále.

Koncem 50. let 20. století začaly po počátečním nadšení vznikat pochybnosti o tom, jestli je vůbec možné získat jako výsledek automatizovaného procesu správné překlady. V roce 1964 to grantové agentury nevydržely a požádaly nezávislou komisi o hodnotící zprávu. Komise, která se jmenovala ALPAC (Automatic Language Processing Advisory Committee), dospěla k závěru, že z hlediska nákladů je lidský překladatel výhodnější než stroj, který sice text přeloží, ale je potřeba tento překlad dodatečně upravovat, což vždy zabere hodně času. Komise se zabývala pouze překlady z ruštiny do angličtiny a rozhodla, že ideálním řešením pro největší objednatele překladů z ruštiny je naučit se jazyk. Prý to zabere maximálně několik týdnů.

Bez popisku

 Otázka: Souhlasíš s časovým odhadem komise?

Podle Společného evropského referenčního rámce (což je dokument, který definuje jednotlivé úrovně zvládnutí jazyka), musíš odpracovat kolem 450 vyučovacích hodin, aby ses naučil/a mluvit rusky o běžných tématech a rozuměl/a běžným textům. Takže pokud budeš mít 5 hodin ruštiny týdně, asi za dva roky ten jazyk zvládneš na úrovni B1. To není jen „několik týdnů“, že?

A tak nastala zejména v anglicky mluvících zemích velká pauza ve výzkumu možností strojového překladu, která trvala až do poloviny 80. let. V 80. letech už byly počítače mnohem výkonnější než dvacet let předtím a hlavně začaly vznikat texty v elektronické podobě a paralelní korpusy textů.

Bez popisku

 Otázka: Pamatuješ si, co je paralelní korpus?

Odpověď

Je to soubor textů ve dvou (nebo více) jazycích, z nichž jeden je originální text a ten druhý přeložený. Tyto soubory jsou strukturovány tak, aby bylo možné je srovnávat na úrovni vět nebo odstavců.

Vědce tehdy napadlo, že se možná tomu počítači nemusí všechno servírovat na stříbrném podnose. Tu gramatiku jej sice naučí (tj. vloží jazykový model pro cílový jazyk), ale se slovní zásobou si poradí sám, a to tak, že vyhledá v paralelním korpusu pro každé slovo nebo kombinaci slov z výchozí věty nejpravděpodobnější protějšek v cizím jazyce. Vznikl tak statistický překlad, který až do nedávna byl nejrozšířenějším přístupem ke strojovému překladu. Využíval ho například Google Translate, a to do roku 2016, kdy přešel na neuronový princip.

Dokáže statistický překladač rozeznat dětské kolo od ruského kola?

Z 60. let jsme se přesunuli na konec 20. století a po třiceti letech chceme znovu přeložit do ruštiny větu Dostal k narozeninám dětské kolo. Nyní ale máme k dispozici statistické překladače, které zjistí, že pokud je vedle podstatného jména kolo ve výchozím textu přídavné jméno dětské, tak se s velkou pravděpodobností jedná o jízdní kolo, nikoliv třeba o vyhlídkové, a přeloží naši větu do ruštiny správně: Ко дню рождения он получил детский велосипед.

Stále to však neznamená, že by statistické překladače (stejně jako ty pravidlové) rozuměly obsahu celého textu, který do nich vložíme.

Bez popisku

Tip: Pravidlové a statistické překladače v kostce

Pokud tě zaujalo, jak fungovaly překladače dříve (a jak mimochodem některé z nich fungují dodnes), můžeš se podívat na animovanou lekci vývojáře Ioannise Papachimonase. Je to video z roku 2015 s titulky, které nejsou automatické, ale byly raději přeloženy do češtiny člověkem (překladatelem Karlem Kohoutem).

Překlad (nejen) mezi slovanskými jazyky

Takže bez čeho se neobejdou neuronové ani statistické překladače? Bez paralelních korpusů složených z milionů vět ve dvou jazycích! Pokud se jedná o jazykový pár čeština – angličtina, takových vět a textů najdeme dost. Ale co kdybychom chtěli překládat mezi češtinou a ukrajinštinou nebo třeba mezi češtinou a srbštinou? Množství kvalitních dat dostupných na internetu zároveň v češtině a ukrajinštině je nedostatečné. Jak tedy máme postupovat, pokud chceme mít česko-ukrajinský strojový překladač?
        První možnost je sehnat to, co se dá sehnat, k tomu ještě digitalizovat přeloženou beletrii a po zprovoznění překladače jej vylepšovat na základě těch vět, které sám přeloží. Tuto cestu si zvolili vývojáři z Matematicko-fyzikální fakulty Univerzity Karlovy, kteří vytvořili překladač Charles Translator for Ukraine. Vznikl v rekordně krátkém čase v březnu roku 2022 s cílem pomoci ukrajinským uprchlíkům překonat jazykovou bariéru.

Bez popisku

Tip: Jak vznikl Charles Translator for Ukraine?

O vzniku tohoto překladače, jeho „dětských“ chybách a tom, jak byly odstraňovány, se dozvíš v tomto článku.

Další možnost je překládat nejprve z češtiny do angličtiny a poté z angličtiny do ukrajinštiny. Angličtina bude v tomto případě zprostředkujícím jazykem, kterému se odborně říká pivot language (pivot znamená otočný bod nebo ústřední bod). Nepřímý překlad skrz angličtinu momentálně (v roce 2024) používají překladače, které překládají ve velkém, například Google Translate nebo DeepL.

Úskalí nepřímého překladu

I když se druhá možnost zdá jako jednodušší, skýtá určitá rizika. Použití dvou kroků místo jednoho totiž zvyšuje pravděpodobnost chyb.
       Zkusme například přeložit do ukrajinštiny větu „Jsem unavená. Vy taky?“ Charles Translator for Ukraine ji přeloží správně. Google Translate a DeepL se však dopouští chyb. Jejich ukrajinské věty mají podobu „Jsem unavený. Ty taky“. Hádej, jak k těm chybám došlo.
       Asi tušíš, že důvodem je to, že se překládalo přes angličtinu. Angličtina totiž nerozlišuje mužský a ženský rod u přídavných jmen („unavený“ je „tired“ a „unavená“ je taky „tired“) a ani nerozlišuje „ty“ a „vy“ (oboje se dá přeložit jako „you“). Takže pokud v prvním kroku zamění překladač naši českou větu za „I am tired. You too?“, při dalším kroku už si není stoprocentně jistý, jestli jsem žena, nebo muž a jestli se ptám jednoho člověka, nebo více lidí.
        Překladače se ale neustále zdokonalují. Třeba se od té doby, co jsme zadávali překladačům tento úkol, něco změnilo. Ověř si to a vlož do zmíněných překladačů naši českou větu. Máš stejné výsledky jako my?

Překlad českých vět do ukrajinštiny v překladači Charles Translator for Ukraine.

Překlad českých vět do ukrajinštiny v překladači Charles Translator for Ukraine.

Překlad českých vět do ukrajinštiny v překladači Google Translate.

Seřaď chronologicky následující události.

Používáte starou verzi internetového prohlížeče. Doporučujeme aktualizovat Váš prohlížeč na nejnovější verzi.

Další info