Nola itzultzen ditu Google Translatek irudietako testuak?

Iturria: Google Research Blog

Iaz Googlek funtzio interesgarri bat gehitu zion Google Translateri: telefonoaren edo tabletaren kamera erabiliz jasotako testu bateko irudia denbora errealean itzultzekoa. Hona nola lortzen den hori:

Lehenik eta behin, kameratik irudia iristen denean, Google Translateren aplikazioak irudiko letrak bilatu behar ditu. Horretarako, argazkian dauden letrez aparteko irudiak, direla loreak, leihoak edo beste edozer, baztertu behar ditu eta itzuli beharreko hitzak hartu. Antzeko kolorea duten pixel mordoak eta gainera antzeko beste pixel mordo batzuetatik hurbil daudenak bilatzen ditu.

Horiek letrak izan litezke eta, batzuk besteetatik gertu baldin badaude, irakurri beharko litzatekeen lerro jarraitu bat osatuko dute. Horren ondoren, Translatek bakoitza zer letra den igarri behar du. Hor ikaskuntza sakona aplikatzen da. "Konboluziozko sare neuronalak" erabiltzen dituzte.
Konboluziozko sare neuronal bat sare neuronal artifiial bat da non neuronak garun biologiko baten ikusmen-kortexeko neuronen oso antzera baitagozkie hartze-eremuei. Ikusmen artifizialean erabiltzen dira, batez ere irudiak sailkatzeko. 

Sistema hori letrak direnak eta ez direnak bereizteko entrenatzen da. Horrela ikas dezake zer itxura duen letra bakoitzak. Gauza ez da hain sinplea, ordea, letra txukunak, garbiak, bakarrik ezagutzeko entrenatzen badugu, arriskua dugu errealitatean aurkitzen dituen letrak ez ezagutzeko. Benetan aurkitzen diren letrek errainuak, zikinkeria, arrastoak eta era guztietako akatsak izaten dituzte. Beraz, prestatu duten letra-sortzailea mundu errealeko era guztietako zikinkeriak imitatzeko gai da

Galde liteke zergatik ez ote duten entrenatu mundu errealeko letren argazkiak erabiliz. Arrazoia da zaila dela hizkuntza guztietako aski adibide aurkitzea eta are zailagoa zehazki kontrolatzea zer adibide erabiltzen diren sare neuronal eraginkor bat entrenatzeko. Hortaz, eraginkorragoa da zikinkeria simulatzea. Zikinkeria eta biraketak erabiltzen dira baina ez gehiegi, sare neuronala ez nahasteko.

Hirugarren urratsa da letra ezagunak hartu eta hiztegi batean bilatzea,  itzulpenak egiteko. Aurreko urrats guztiek era batera edo bestera huts egin zezaketenez, hiztegian egiten diren bilaketek gutxi gorabeherakoak izan behar dute. Horrela, esate baterako, "S" bat "5" bat dela interpretatu arren S-dun hitza zuzen ezagut daiteke.

Azkenik, itzulpena jatorrizko hitzen gainean eratzen da, jatorrizko estilo bera erabiliz. Letren inguruko kolorea erabiltzen da, jatorrizko letrak ezabatzeko. Horrela, itzulpena agerrarazten da, hondoak zuen jatorrizko kolorearen gainean.

Gero beste arazo bat gainditu behar da. Izan ere, emaitza ordenagailu ahaltsu batean erakutsi behar balitz, ez legoke arazorik baina telefono batean erakutsi behar da eta gainera baliteke konexioa ere motel samarra izatea. Horregatik, sare neuronalak oso txikia izan beharra dauka, eta muga zorrotzak ezarri behar zaizkio hari irakatsiko zaion datu multzoari, prozesatu behar duen informazio-dentsitatea ez dadin muga batetik gorakoa izan. 


Entrenatzeko erabiltzen diren datuak ahalik eta eraginkorrenak izan daitezen lortu behar da. Esate baterako, irakatsi nahi zaio pixka bat okerturik dauden letrak ezagutzen baina ez gehiegi okertuak. Letrak biraketa handi samarra balu sare neuronalak informazio-dentsitate gehiegi erabili beharko luke axola gutxiko gauzetan. Ahalegina egin behar da iterazio-denbora laburrak eta erakuste onak sortzen dituzten tresnak egiteko.
 

Minutu gutxiren barruan, alda ditzakete entrenatzeko datuak sortzeko algoritmoak, datuak sortu, berriz saiatu eta erakutsi. Era horretan ikus dezakete zer letra motak huts egiten duten eta zergatik. Denbora errealean gauza horiek lortu ahal izateko, sakonki optimizatu eta eskuz doitu dituzte eragiketa matematikoak. 

Comments

Popular posts from this blog

Euskaltzaindiaren Hiztegia. Euskara txukun erabiltzen laguntzen duen tresna.

bozak, bozkak, bozketak, botoak

Kale-neurketak eta kaleko neurketak