Izazivač otvorenog koda uzima Google Translate

Istraživači su objavili sustav neuronskih mreža otvorenog koda za izvođenje jezičnih prijevoda koji bi mogao biti alternativa vlasničkim uslugama prevođenja u crne kutije.

Open Source Neural Machine Translation (OpenNMT) objedinjuje rad istraživača s Harvarda s doprinosima dugogodišnjeg tvorca softvera za strojno prevođenje Systran. Radi na znanstvenom računalnom okviru Torch, koji Facebook koristi i za svoje projekte strojnog učenja.

U idealnom slučaju, OpenNMT bi mogao poslužiti kao otvorena alternativa projektima s zatvorenim izvorom poput Google Prevoditelja, koji je nedavno dobio veliko preuređenje neuronske mreže kako bi poboljšao kvalitetu svog prijevoda.

Ali algoritmi nisu najteži dio; dolazi s dobrim izvorima podataka koji podržavaju proces prevođenja - gdje Google i drugi divovi u oblaku koji pružaju strojno prevođenje kao usluga imaju prednost.

Govoreći u jezicima

OpenNMT, koji koristi jezik Lua za sučelje s Torchom, radi kao i drugi proizvodi u svojoj klasi. Korisnik priprema skup podataka koji predstavlja dva jezična para koja se prevode - obično isti tekst na oba jezika kao što ga prevodi ljudski prevoditelj. Nakon treninga OpenNMT-a na tim podacima, korisnik tada može primijeniti rezultirajući model i koristiti ga za prevođenje tekstova.

Torch može iskoristiti GPU ubrzanje, što znači da se proces obuke za OpenNMT modele može ubrzati na bilo kojem sustavu opremljenom GPU-om. Usprkos tome, proces treninga može potrajati dugo - „ponekad i mnogo tjedana“. No, postupak treniranja može se snimiti i po potrebi nastaviti na zahtjev. Ako želite koristiti obučeni model na CPU-u, a ne na GPU-u, morat ćete model pretvoriti u rad u CPU načinu. OpenNMT nudi alat za točno to.

Demonstracija uživo koju pruža Systran tvrdi da koristi OpenNMT zajedno sa Systranovim vlastitim radom. Za uobičajene jezične parove poput engleskog / francuskog, prijevodi su prilično točni. Za parove za koje postoji vjerojatnost da će biti na raspolaganju manji broj tekstova ili kod kojih se jezični parovi međusobno ne mapiraju precizno - recimo, engleski / japanski - prijevodi su malo više šturi i neprecizni. U jednoj uzorkovoj japanskoj rečenici, demo Systran pogrešno je uzeo riječ "galebovi" na japanskom jeziku za "viseće svitke;" Google prevoditelj ga je pravilno preveo.

Riječi, riječi, riječi

Najvažniji element koji OpenNMT još ne nudi su podaci prethodno pripremljenog jezičnog modela. Veza do Primjernih modela na web mjestu GitHub za projekt trenutno daje pogrešku. Vjerojatno će s vremenom to sadržavati uzorke podataka koji se mogu koristiti za uspoređivanje sustava ili stjecanje uvida u to kako funkcionira proces obuke i primjene. Ali vjerojatno neće uključivati ​​podatke koji se mogu koristiti u proizvodnom okruženju.

To ograničava korisnost OpenNMT-a iz kutije, jer su podaci o modelu barem toliko presudni za strojno prevođenje kao i sami algoritmi. Za prevođenje između jezičnih parova potrebni su paralelni korpusi ili tekstovi na oba jezika koji se međusobno usko podudaraju na razini rečenice po rečenici ili fraze po fraze i mogu se obučiti za stvaranje modela u proizvodima poput OpenNMT-a.

Mnoga su tijela slobodno dostupna, ali zahtijevaju ručno udruživanje kako bi bila korisna prosječnom programeru. Dobavljači poput Googlea i IBM-a, sa svojim sustavom jezičnog prevoditelja na Watsonu, imaju prednost u tome što mogu lako graditi korpus sa svojim drugim uslugama. Google putem svoje tražilice može automatski prikupiti ogromne količine stalno osvježavanih podataka o jeziku.

Ipak, OpenNMT će zasigurno biti koristan onima koji žele izgraditi novu funkcionalnost povrh OpenNMT-ovog koda za modeliranje i trening i ne žele biti ovisni o algoritmu iza API-ja poput Googleovog.