Retos kalbos ir mašininis vertimas

Retos kalbos ir mašininis vertimas

Kai pagalvojame apie mašininį vertimą, dažniausiai į galvą šauna anglų, ispanų, prancūzų ar vokiečių kalbos poros – tos, kurias Google Translate ar DeepL išverčia beveik be klaidų. Bet kas atsitinka, kai reikia išversti tekstą iš, sakykime, samių, baskų ar totorių kalbos? Arba, žiūrint iš lietuviško kampo, kas nutinka, kai reikia rasti kokybišką vertimą tarp lietuvių ir kokios nors mažiau paplitusios kalbos, kuria kalba tik keli šimtai tūkstančių žmonių pasaulyje? Čia ir pradeda ryškėti visa problemos gilyma – retos kalbos mašininio vertimo pasaulyje yra kaip pamestas vaikas didžiuliame prekybos centre.

Ši tema domina ne tik lingvistus ar IT specialistus. Ji aktuali kiekvienam, kuris bandė versti dokumentus iš mažiau žinomos kalbos ir susidūrė su absurdiškais rezultatais – kai sistema vietoj vertimo tiesiog transliteruoja žodžius arba visiškai praranda prasmę. Pabandykime pažiūrėti, kodėl taip nutinka ir ką su tuo galima padaryti.

Kodėl retoms kalboms taip sunkiai sekasi

Mašininio vertimo sistemos, ypač šiuolaikiniai neuroniniai modeliai, mokosi iš didžiulių tekstų masyvų. Kad modelis išmoktų versti tarp dviejų kalbų, jam reikia matyti milijonus, geriausiu atveju – milijardus – sakinių porų abiem kalbomis. Anglų–vokiečių kalbų porai tokių duomenų yra tiesiog per akis: ES dokumentai, Vikipedija, filmų subtitrai, techninė dokumentacija, knygos. O ką daryti, kai vienoje kalboje internete apie tam tikrą temą parašyta vos kelios dešimtys puslapių?

Būtent tai ir yra pagrindinė bėda. Ne kalbos struktūra, ne gramatikos sudėtingumas (nors ir tai turi reikšmės), o tiesiog skaičiai. Kuo mažiau žmonių kalba tam tikra kalba, tuo mažiau tekstų egzistuoja skaitmeninėje formoje, tuo mažiau turi ko „valgyti“ mašininio mokymosi algoritmai. Tai tarsi bandymas išmokti gaminti pagal receptą, kuriame trūksta pusės ingredientų – galų gale kažkas išvirs, bet skonis bus kitoks nei turėtų būti.

Duomenų trūkumas – ne vienintelė, bet didžiausia kliūtis

Verta pridurti, kad problema neapsiriboja tik kiekiu. Yra ir kokybės aspektas. Daugelis retų kalbų neturi standartizuotos rašybos, jos gali turėti keletą dialektų, kurie tarpusavyje skiriasi tiek, kad juos galima laikyti beveik atskiromis kalbomis. Pavyzdžiui, kai kurios afrikiečių ar Pietryčių Azijos kalbos turi kelis rašybos variantus, priklausomai nuo regiono ar net konkretaus leidinio stiliaus. Modeliui tai reiškia dar didesnę painiavą – jis turi išmokti ne vieną, bet kelis „teisingus“ variantus vienu metu.

Dar vienas dalykas, kurį dažnai pamirštame – morfologinis sudėtingumas. Kalbos su labai turtinga linksniavimo sistema (pavyzdžiui, suomių, vengrų ar tos pačios lietuvių) reikalauja žymiai daugiau duomenų, kad modelis „pagautų“ visus žodžių formų variantus. Jei anglų kalboje žodis „book“ turi vos kelias formas, lietuviškas „knyga“ – dešimtis, atsižvelgiant į linksnį, skaičių, kartais net stilistinį atspalvį. Sistemai reikia pamatyti visus šiuos variantus, kad išmoktų juos teisingai atpažinti ir generuoti.

Kaip technologijos bando apsukti šią problemą

Nors situacija skamba niūriai, pastaraisiais metais atsirado gana įdomių sprendimų, kurie leidžia bent iš dalies apeiti duomenų trūkumą.

Daugiakalbiai modeliai. Vietoj to, kad būtų treniruojamas vienas modelis konkrečiai kalbų porai, dabar dažnai naudojami masiniai daugiakalbiai modeliai, kurie vienu metu mokosi iš šimtų kalbų. Idėja paprasta – jei modelis jau moka, kaip veikia gramatika suomiškose ar estiškose kalbose, jam lengviau „nujausti“, kaip veiks panašios struktūros kitoje, mažiau paplitusioje kalboje. Tai vadinama transfer learning arba žinių perkėlimu.

Sintetinių duomenų generavimas. Kai trūksta realių tekstų porų, tyrėjai bandoje kurti dirbtinius duomenis – pavyzdžiui, verčia tekstus per tarpinę kalbą arba naudoja atgalinį vertimą (back-translation), kai iš turimo teksto tikslinėje kalboje sugeneruojamas hipotetinis originalas šaltinio kalboje. Rezultatas nėra idealus, bet leidžia bent kažkiek papildyti mokymo duomenų bazę.

Bendruomeniniai projektai. Nemažai iniciatyvų, tokių kaip Common Voice ar OPUS, kviečia savanorius prisidėti prie duomenų rinkimo – įrašyti balso pavyzdžius, sutikrinti vertimus, papildyti žodynus. Tai lėtas, bet kartais vienintelis būdas surinkti pakankamai medžiagos labai retoms kalboms, kurių niekas kitas net nebandytų rimtai apdoroti.

Lietuvių kalba – ar tikrai tokia „reta“?

Čia įdomus momentas. Lietuvių kalba pasaulio mastu nėra pati rečiausia – ja kalba apie tris milijonus žmonių, ji turi ES kalbos statusą, todėl surenkama gana solidžiai daugiakalbių tekstų (ypač per Europos institucijų dokumentus). Bet lyginant su anglų, vokiečių ar prancūzų kalbomis, duomenų kiekis vis tiek yra kelis dešimtis kartų mažesnis. Tai reiškia, kad mašininio vertimo kokybė tarp lietuvių ir kitų „didžiųjų“ kalbų dažnai atsilieka nuo, tarkim, vertimų tarp vokiečių ir anglų.

Dar sudėtingiau, kai reikia versti tiesiai tarp lietuvių ir kitos mažesnės kalbos – tarkim, latvių ar estų. Daugelis sistemų tokiu atveju iš tikrųjų verčia dviem etapais: pirmiausia į anglų kalbą, o tada iš anglų į tikslinę kalbą. Tai vadinama pivot vertimu ir, tiesą pasakius, dažnai duoda gana keistus rezultatus, nes kiekvienas vertimo žingsnis prideda savo klaidų sluoksnį.

Turintiems patirties vertimo srityje ši informacija nėra naujiena, bet vartotojams, kurie tiesiog tikisi, kad sistema „tiesiog supras“, tai gali būti nemaloni staigmena. Jei matote, kad vertimas tarp dviejų mažesnių kalbų kažkodėl skamba keistai, dviprasmiškai ar tiesiog nelogiškai – tikėtina, jog tai vyko per tarpinę kalbą, ir prasmė kelis kartus pasikeitė kelyje.

Bendruomenės vaidmuo: kai technologijos nepakanka

Vienas dalykas, kurio dažnai nepastebime – daugelis rečiau vartojamų kalbų mašininio vertimo srityje pastūmėjo į priekį ne didžiosios korporacijos, o entuziastų ir kalbininkų bendruomenės. Baskų, valų, airių gėlų kalbomis susidomėjusios grupės metų metais savanoriškai rinko, žymėjo ir tvarkė tekstus, kad galų gale sistemos galėtų pasiekti bent kažkokį naudojamą lygį.

Tas pats vyksta ir su kai kuriomis mažumų kalbomis Lietuvoje ar kaimyninėse šalyse – karaimų, lenkų tarmių, žemaičių šnektos entuziastai kuria žodynus, korpusus, kartais net specializuotus vertimo įrankius, nesitikėdami iš to didelio pelno. Tai gana romantiška, jei žiūrėti iš šalies, bet realybėje tai vienintelis kelias, kaip retoms kalboms neišnykti iš skaitmeninio pasaulio žemėlapio.

Atviro kodo modeliai, tokie kaip NLLB (No Language Left Behind) iš Meta, taip pat žymiai pastūmėjo situaciją į priekį – šis projektas apima daugiau nei du šimtus kalbų, tarp jų nemažai tokių, kurioms anksčiau apskritai nebuvo jokio rimto mašininio vertimo sprendimo. Nors kokybė ne visada aukščiausio lygio, tai bent duoda pradinį tašką, nuo kurio galima tobulėti.

Ką daryti, jei jums reikia versti retą kalbą jau šiandien

Grynai praktiniu požiūriu, jei susiduriate su situacija, kai reikia versti tekstą iš ar į mažiau paplitusią kalbą, verta žinoti kelis dalykus:

  • Netikėkite vienu rezultatu. Palyginkite kelis vertimo įrankius – DeepL, Google Translate, Microsoft Translator ar specializuotus sprendimus. Kartais viena sistema visai netinkamai tvarkosi su konkrečia kalba, o kita duoda visiškai priimtiną rezultatą.
  • Trumpi sakiniai – jūsų draugas. Retoms kalboms modeliai dažnai painiojasi ilgose, sudėtingose sakinio konstrukcijose. Jei tekstą galite paruošti prieš vertimą, skaidykite jį į paprastesnius, aiškesnius teiginius.
  • Tikrinkite per tarpinę kalbą sąmoningai. Jei sistema neturi tiesioginio vertimo modelio jūsų kalbų porai, kartais patys galite pabandyti versti per anglų kalbą – bent žinosite, kokia klaida galėjo atsirasti tame etape.
  • Naudokite žmogaus redaktorių, jei tekstas svarbus. Ypač teisiniuose, medicininiuose ar techniniuose dokumentuose mašininis vertimas retoms kalboms neturėtų būti galutinis sprendimas – geriausiu atveju jis gali paruošti pirminį variantą, kurį peržiūrėtų žmogus, mokantis abi kalbas.
  • Prisidėkite prie duomenų rinkimo, jei galite. Skamba keistai, bet jei jūsų kalba yra reta, kiekvienas žmogus, kuris pataiso automatinį subtitrą ar prisideda prie atviro korpuso, realiai gerina ateities vertimų kokybę – tiek sau, tiek kitiems.

Kai kalbų mažai, o norų versti – daug

Retos kalbos mašininio vertimo pasaulyje niekada nebus tokioje pat padėtyje kaip anglų ar ispanų – tai realybė, kurios nepakeis nei geresni algoritmai, nei didesni serveriai. Tiesiog fiziškai nėra iš ko rinkti tokių duomenų kiekių, kokie egzistuoja globaliai dominuojančioms kalboms. Bet tai nereiškia, kad situacija stovi vietoje – priešingai, per pastarąjį dešimtmetį pažanga buvo gana didelė, ir daug to nuopelnų priklauso ne didžiosioms technologijų kompanijoms, o mažesnėms bendruomenėms, kalbininkams ir tiesiog žmonėms, kuriems rūpi, kad jų gimtoji kalba neišnyktų iš skaitmeninio pasaulio.

Jei dirbate su retos kalbos vertimais, geriausia strategija – nesitikėti stebuklo iš vienos sistemos, o kombinuoti keletą priemonių, patikrinti rezultatus per žmogų ir, kai galima, prisidėti prie bendruomeninių projektų, kurie ilgainiui gerina visų naudojamus įrankius. Technologija čia veikia lėčiau nei norėtųsi, bet ji tikrai veikia – tereikia turėti kantrybės ir realistinius lūkesčius. Galų gale, kalba, kurią kalba vos keli tūkstančiai žmonių, vertimo sistemoms visada bus sudėtingesnis iššūkis nei kalba, kuria kalba pusė milijardo – bet tai nereiškia, kad tas iššūkis neįveikiamas, tiesiog reikia daugiau laiko, daugiau duomenų ir daugiau žmonių, kuriems tai rūpi.