Programování

Open source challenger využívá Google Translate

Vědci vydali systém neuronových sítí s otevřeným zdrojovým kódem pro provádění jazykových překladů, který by mohl být alternativou k proprietárním překladatelským službám typu black-box.

Open Source Neural Machine Translation (OpenNMT) spojuje práci výzkumníků z Harvardu s příspěvky dlouholetého tvůrce softwaru pro strojový překlad Systran. Funguje na vědeckém výpočetním rámci Torch, který Facebook také používá pro své projekty strojového učení.

V ideálním případě by OpenNMT mohl sloužit jako otevřená alternativa k projektům s uzavřeným zdrojem, jako je Google Translate, který nedávno získal zásadní proměnu neurální sítě pro zlepšení kvality jeho překladu.

Algoritmy však nejsou nejtěžší částí; přichází s dobrými zdroji dat na podporu procesu překladu - což je místo, kde má Google a další cloudoví giganti, kteří poskytují strojový překlad jako službu, výhodu.

Mluví v jazycích

OpenNMT, který pro komunikaci s Torch používá jazyk Lua, funguje jako ostatní produkty ve své třídě. Uživatel připraví soubor dat, který představuje dva jazykové páry, které mají být přeloženy - obvykle stejný text v obou jazycích, jak je přeložen překladatelem člověka. Po procvičení OpenNMT na těchto datech může uživatel poté nasadit výsledný model a použít jej k překladu textů.

Torch může využívat akceleraci GPU, což znamená, že proces školení pro modely OpenNMT lze značně zrychlit na jakémkoli systému vybaveném GPU. To znamená, že tréninkový proces může trvat dlouho - „někdy i mnoho týdnů“. V případě potřeby však lze tréninkový proces nafotit a na požádání obnovit. Pokud chcete trénovaný model použít spíše na CPU než na GPU, budete ho muset převést do režimu CPU. OpenNMT poskytuje nástroj, jak to přesně udělat.

Živé demo poskytnuté společností Systran tvrdí, že používá OpenNMT ve spojení s vlastní prací Systran. U párů běžných jazyků, jako je angličtina / francouzština, jsou překlady docela přesné. U párů, u nichž je pravděpodobné, že bude k dispozici menší množství textů, nebo u nichž se jazykové páry navzájem nemapují tak přesně - řekněme anglicky / japonsky - jsou překlady trochu strmější a nepřesnější. V jedné ukázkové japonské větě si demo Systran spletlo slovo „rackové“ v japonštině pro „visící svitky;“ Překladač Google jej správně přeložil.

Slova, slova, slova

Nejdůležitějším prvkem, který OpenNMT dosud nedodává, jsou předcvičená data jazykového modelu. Odkaz na ukázkové modely na webu GitHub pro projekt aktuálně přináší chybu. Pravděpodobně včas to bude obsahovat ukázková data, která lze použít ke srovnání systému nebo získání přehledu o tom, jak funguje proces školení a nasazení. Pravděpodobně to ale nebude zahrnovat data, která lze použít v produkčním prostředí.

To omezuje, jak užitečné je OpenNMT připravené, protože data modelu jsou pro strojový překlad přinejmenším stejně důležitá jako samotné algoritmy. Překlad mezi jazykovými páry vyžaduje paralelní korpusy nebo texty v obou jazycích, které jsou navzájem úzce spjaty na úrovni věty po větě nebo fráze po frázi a lze je trénovat, aby poskytovaly modely v produktech, jako je OpenNMT.

Mnoho korpusů je volně dostupných, ale vyžadují ruční dláždění, aby byly užitečné pro průměrného vývojáře. Prodejci jako Google - a IBM se svým systémem Language Translator na Watson - mají výhodu v tom, že mohou snadno vytvářet korpusy pomocí svých dalších služeb. Google může pomocí svého vyhledávače automaticky sklízet obrovské množství neustále aktualizovaných jazykových dat.

Přesto je OpenNMT užitečný pro ty, kteří chtějí vybudovat novou funkcionalitu nad modelovacím a tréninkovým kódem OpenNMT a nechtějí být při tom závislí na algoritmu API, jako je Google.

$config[zx-auto] not found$config[zx-overlay] not found