Strojno prevajanje besedil
Avtor: Kristijan De Bree
Mentor: izr. prof. dr. Matej Rojc univ. dipl. inž. el.
Stopnja: 1.
Datum: september, 2021
Avtor: Kristijan De Bree
Mentor: izr. prof. dr. Matej Rojc univ. dipl. inž. el.
Stopnja: 1.
Datum: september, 2021
Povzetek
V projektu predstavljamo strojno prevajanje besedil, razne pristope in njihove prednosti in slabosti. Poudarek je na pristopih z globokimi nevronskimi mrežami, predstavljena pa je tudi problematika povezana s takšnimi prevajalniki. Predstavljamo tudi postopek učenja treh modelov strojnih prevajalnikov (amun, s2s in transformer) z ogrodjem MarianNMT in njihovo primerjavo. Vrednotili smo čase učenja, in BLEU ocene njihovih prevodov. Podana sta tudi dva praktična primera prevoda istega stavka s temi modeli.
Strojno prevajanje
Strojno prevajanje, po angleško “machine translation”, je postopek, kjer programska oprema besedilo iz enega jezika prevede v drugega, brez pomoči človeka. Razvili so se trije glavni pristopi strojnega prevajanja: strojno prevajanje na osnovi pravil (ang. Rule-based Machine Translation – RBMT), strojno prevajanje na podlagi podatkov (ang. Corpus-based (ali Data-driven) Machine Translation – CBMT), in nevronsko strojno prevajanje (ang. Neural Machine Translation – NMT). Najnovejši in najbolj kvalitetni od teh treh pristopov je nevronsko strojno prevajanje. Nevronski modeli za učenje uporabljajo korpuse. Modeli NMT zavzemajo veliko manj pomnilniškega prostora kot prevajalniki na podlagi podatkov. Slabost NMT je sicer enaka kot pri CBMT, da slabše prevajajo besedila iz drugih strokovnih področij. Podatki morajo biti zakodirani v obliki, ki jo lahko nevronska mreža “razume”. V primeru prevajalnikov to pomeni, da morajo biti besede oz. povedi pretvorjene v nek niz števil. To izvede kodirnik. Vsak niz predstavlja tako točno določen znak, besedo ali poved. Rezultat, ki ga vrne mreža je potrebno prav tako dekodirati v besede, kar pa stori dekodirnik. Dandanes se za strojno prevajanje bolj uporabljajo globoki nevronski prevajalniki.
Rezultati
Modeli, ki smo jih strenirali v tem projektu: amun – temelji na RNN, s2s – temelji na kombinaciji RNN in pozornosti, transformer. MarianNMT je ogrodje za nevronsko strojno prevajanje. Celotno ogrodje je napisano v programskem jeziku C++. GPE na katerem smo trenirali je bil NVIDIA GeForce RTX 2080 Ti. Za učenje so modeli uporabljali nemško-angleški besedilni korpus WMT2017. Vsak naučen model je prevedel tri testne sete. WMT2014 set vsebuje 3003 povedi, WMT2015 vsebuje 2169 povedi in WMT2016 vsebuje 2999 povedi v nemškem jeziku. Ker transformer model za razliko od amun in s2s ni sekvenčni, je bil najhitrejši pri učenju. Modela s2s in amun imata podobno arhitekturo, zato lahko od njiju pričakujemo podobne rezultate.BLEU ocena nad 30 se že smatra za razumljive ali dobre prevode.