Programavimas

Atvirojo kodo varžovas naudojasi „Google“ vertėju

Mokslininkai išleido atvirojo šaltinio neuroninio tinklo sistemą, skirtą atlikti kalbinius vertimus, kurie galėtų būti alternatyva patentuotoms „black box“ vertimo paslaugoms.

Atvirojo kodo neuroninis mašininis vertimas (OpenNMT) sujungia Harvardo mokslininkų darbą su ilgalaikio mašininio vertimo programinės įrangos kūrėjo Systrano indėliu. Jis veikia pagal „Torch“ mokslinio skaičiavimo sistemą, kurią „Facebook“ taip pat naudoja savo mašininio mokymosi projektuose.

Idealiu atveju „OpenNMT“ galėtų būti atvira alternatyva uždarojo kodo projektams, tokiems kaip „Google Translate“, kurie neseniai gavo didelę neuroninių tinklų pertvarką, kad pagerintų vertimo kokybę.

Tačiau algoritmai nėra sunkiausia dalis; ji pateikia gerų duomenų šaltinių, kurie palaiko vertimo procesą - čia „Google“ ir kiti debesų gigantai, teikiantys mašininį vertimą kaip paslaugą, turi pranašumų.

Kalbėjimas kalbomis

„OpenNMT“, kuri sąsajoje su „Torch“ naudoja „Lua“ kalbą, veikia kaip ir kiti šios klasės produktai. Vartotojas parengia duomenų rinkinį, kuris atspindi dvi verstinas kalbų poras - paprastai tas pats tekstas abiejomis kalbomis, kurį išvertė žmogaus vertėjas. Išmokęs „OpenNMT“ apie šiuos duomenis, vartotojas gali įdiegti gautą modelį ir naudoti jį tekstams versti.

„Torch“ gali pasinaudoti GPU pagreičiu, o tai reiškia, kad „OpenNMT“ modelių treniruočių procesą galima labai pagreitinti bet kurioje GPU aprūpintoje sistemoje. Vis dėlto mokymo procesas gali užtrukti ilgai - „kartais daug savaičių“. Tačiau, jei reikia, mokymo procesą galima sutrumpinti ir atnaujinti pagal poreikį. Jei norite naudoti apmokytą modelį procesoriuje, o ne GPU, turėsite konvertuoti modelį, kad jis veiktų procesoriaus režimu. „OpenNMT“ suteikia įrankį tai padaryti.

Tiesioginėje „Systran“ pateiktoje demonstracijoje teigiama, kad „OpenNMT“ naudojama kartu su paties „Systran“ darbu. Tokių bendrinių kalbų poroms kaip anglų / prancūzų vertimai yra gana tikslūs. Toms poroms, kuriose, tikėtina, yra mažesnis tekstų rinkinys arba kai kalbų poros nėra taip tiksliai susiejamos, tarkim, anglų / japonų, vertimai yra šiek tiek suglebę ir netikslūs. Viename japoniško sakinio pavyzdyje „Systran“ demonstracinis žodis „žuvėdros“ japonų kalba supainiojo su „pakabinamais ritiniais“; „Google“ vertėjas teisingai jį išvertė.

Žodžiai, žodžiai, žodžiai

Svarbiausias elementas, kurio „OpenNMT“ dar nepateikia, yra iš anksto paruošti kalbos modelio duomenys. Nuoroda į pavyzdinius modelius projekto „GitHub“ svetainėje šiuo metu pateikia klaidą. Tikėtina, kad laiku bus pateikti duomenų pavyzdžiai, kuriuos galima naudoti norint palyginti sistemą arba pajusti, kaip veikia mokymo ir diegimo procesas. Bet tai greičiausiai neapima duomenų, kuriuos galima naudoti gamybos aplinkoje.

Tai riboja „OpenNMT“ naudingumą iš dėžutės, nes modelio duomenys mašininiam vertimui yra bent jau tokie patys svarbūs kaip patys algoritmai. Norint versti tarp kalbų porų, reikalingi lygiagretūs korpusai arba tekstai abiem kalbomis, kurie yra glaudžiai tarpusavyje suderinti sakinio po frazę ar frazės po frazės lygiu, ir juos galima išmokyti pateikti modelius tokiuose produktuose kaip „OpenNMT“.

Daugelis korpusų yra laisvai prieinami, tačiau norint, kad jie būtų naudingi vidutiniam kūrėjui, reikia rankomis groti akmenimis. Pardavėjai, tokie kaip „Google“ ir „IBM“, turintys „Language Translator“ sistemą „Watson“, turi pranašumą tuo, kad gali lengvai kurti korpusus naudodamiesi kitomis savo paslaugomis. Savo „Google“ sistemoje „Google“ gali automatiškai surinkti didžiulį kiekį nuolat atnaujinamų kalbos duomenų.

Vis dėlto „OpenNMT“ tikrai bus naudinga tiems, kurie nori sukurti naują funkcionalumą, naudodamiesi „OpenNMT“ modeliavimo ir mokymo kodu, ir nenori būti priklausomi nuo už „API“ algoritmo, kaip tai daro „Google“.

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