Tiu mesaĝo tre surprizis min. Nun oni povas traduki maŝine al esperanto kaj el esperanto inter 63 lingvoj. Mi de kelkaj jaroj hobie laboras pri maŝina tradukado kaj Esperanto kaj ne tre alte taksis eblon, ke googlo iam kaj tiom frue okupos pri la esperanta lingvo. Mi sciis, ke googlo uzas statistikan metodon por tradukado, kaj mi ankaŭ faris kelkajn provojn pri tiu metodo.
Do mi studis la faman laboron pri statistika tradukado.. Mi iam eksperimentis per giza+ kaj volis uzi tiun ilon por konstrui vortaron. Miaj rezultoj estas tre mizeraj kaj tempo de komputado tre longa. Mi rapide rimarkis, ke oni bezonus vere egan kvanton de paralelaj tekstoj. Mi ne supozis, ke tiu necesa kvanto ekzistus por Esperanto en proksima venonto. Google pruvis la malon. Ĝi estas la plej granda teksta bazo de mondo kaj ĝi povas profiti de tio. Due google eble havas pli bonan teknikon ol la primitivaj iloj de komenco de statistika metodo. Por mi la plej miriga estas la rapideco de g-tradukilo. Mi povas nur imagi, ke la teksto estas tradukita nur ĉe multaj paralelaj procesoroj de tre bone skribitaj programoj. La uzula interfaco en povas esti pli facila.
#000001
Oni trovas kelkajn informojn pri historio de G-tradukilo tie. Tie mi legis, ke nun la g-tradukilo tradukas pli da teksto en unu tago ol ĉiuj tradukistoj en unu jaro kaj estas nun la plej uzata komputila tradukilo. Tio signifas, ke nun multaj homoj unue povas kompreni iugrade fremdlingvajn tekstojn sen dungo de multekostaj tradukistoj kaj longa lernado. La lingva revolucio, pri kiu Esperantistoj ĉiam revis, okazas sed ne helpe de Esperanto aŭ aliaj lingvoj sed helpe de tekniko.
#000002
Surpriza estas por mi ankaŭ la fakto, ke tuj esperanto estas unu de lingvoj, al kiu oni povas traduki kaj, de kiu oni povas traduki. Mi tuj faris kelkajn provojn, kaj rimarkis, ke la kvalito estas sufiĉe bona por kompreno. Mia plej bona tradukilo (eo>pl) estas komparebla kun googlo. Aliaj estas pli malbonaj. Programo Esperantilo estis longe la sola tradukilo, kiu povas traduki al pola kaj germana lingvoj. Nun la situacio ŝanĝiĝis.
#000003
Mi havas fakan intereson taksi la kvaliton kaj eblojn de tradukilo de googlo. Post la ŝoko mi komencis fari kelkajn testojn. Mi tradukis de esperanta lingvo al pola lingvo. Mi rimarkis en pola rezulto kelkajn anglajn vortojn. Do ŝajne googlo uzas la anglan lingvon kiel interlingvo! Ridinde, ke oni frue vidis Esperanton en tiu rolo.
#000004
Do la nomo „Vera Jeruslanova“ estis tradukita al „True Jeruslanova“.
#000005
Mi volas scii, ĉu googlo tradukas po unu frazo aŭ kelkajn frazojn kune.
#000006
Mi legis la libron. Ĝi estis tre longa. > Czytałem książkę. To była bardzo długa.
#000007
Mi legis la raportaĵon. Ĝi estis longa. > Czytałem raport. To była długa.
#000008
Mi ne povis trovi la ekzemplojn, en kiu la unua frazo influos la tradukon de la dua frazo.
Do ŝajne la frazoj estas tradukitaj tute sendepende.
#000009
Aliaj malfacilaj aspektoj de pola gramatiko
#000010
Mi aĉetis la libron kaj legis ĝin. > Kupiłem książkę i ją przeczytać.
#000011
Tie la tradukilo ne sukcesis kunligi la subjekton kun du verbojn.
#000012
Ordo do vortoj en frazo.
#000013
Mi volas scii, ĉu googlo iom konas la gramatikon de la lingvo. La testo estas traduki sensencajn sed gramatike korektajn frazojn.
#000016
Mi legis la interesan libron. Czytałem interesującą książkę.
Mi legis la interesan arbon. Przeczytałem ciekawy drzewo.
Mi legis la amikan pluvon. Czytałem na przyjaciela prysznicem.
La mondo miras pri tio. Cuda świata na nią okiem.
#000017
Je malpli granda la verŝajneco de la frazo des pli mirindaj estas la tradukaj rezultoj.
De la dua ekzemplo oni vidas, ke la tradukilo ne povas kunligi la genron de la vorto „interesa“ kun vorto „arbo“. Tio iom surprizis min, ĉar mi pensis, ke iel google programo zorgas pri gramatiko (rekonas vortgrupojn kaj reguloj de tio).
#000018
Komparo de Esperantilo kun G-Tradukilo
#000019
Mi prenis miajn ekzemplajn frazojn kaj tradukis per googlo. Tiuj frazoj estas elektitaj por kovri la ĉiujn aspektojn de pola kaj esperanta gramatiko. La rezultoj estas tie. 17% de tradukoj estas tute identaj. Mi pensas, ke nun tradukado al pola lingvo en Esperantilo estas pli bona ol tiu de G-tradukilo.
Interese estos kompari tiujn rezultojn post ioma tempo kaj vidi de tiu ĉu googlo daŭre plibonigas la tradukilon. De la komparo de tradukoj oni tre bone vidas la specialajn trajtojn de statistika tradukado. Relative ofte la tradukilo de googlo eraras pri la vorteto „ne“. Estas malgranda vorteto, sed ĝi kaŭzas tute malan sencon. Ofte la negado aperas tute surprize. Mi supozas, ke se la vortkombino aperas ofte kun negado, la tradukilo aplikas la negadon, eĉ se en fonta teksto ĝi ne estas. Ofte ĉe la traduko aperas alia tempo de verboj. De venonta tempo iĝas nuna tempo. Ankaŭ ĉe tiu oni sentas la anglan interlingvon. Oni rimarkas multajn erarojn, kiuj radikas en malforto de angla lingvo. Surprizaj estas ankaŭ kelkaj tradukoj, kiuj tute ne havas rilaton kun la fonto. Oni ne povus eĉ imagi kiel la maŝino konstruis tian strangan rezulton. Ekzemple: (Laŭ la frukto oni arbon ekkonas. Zgodnie z drzewa owocowego przyjeżdżasz do zrealizowania.).
Tiuj frazoj rememorigas al anekdotoj pri maŝina tradukado de 60-aj jaroj.
La statistika tradukado estas iom danĝera, ĉar ŝajne la programo insiste volas konstrui iun sencan tradukon, ankaŭ, se ĝi tion tute ne kapablas. En tiu kazoj por mi estus pli bone, se la tradukilo ĝentile diris: „Mi ne povas traduki tiun frazon“ aŭ avertis, ke la rezulto ne estas fidinda.
La unuopaj vortoj, kiuj tute ne estis tradukitaj, aperas en la fonta teksto sen iu marko. Sed eble tiu estas konscia decido de googlo. Oni eble volis fari la funkciadon tute simpla sen iuj specialaĵoj. Mi povus pensi, ke googlo tute ne volas, ke profesiaj tradukistoj uzas googlo kiel unua ŝtupo de ilia laboro kaj tiel ne helpas al tiu grupo. Por profesiaj tradukistoj google havas alian produkton (google toolkit).
#000020
Oni ankaŭ povas vidi, ke googlo ne regas morfologion (vortkonstruon) de esperanto. Ĝi ne rekonas participojn kaj ankaŭ ne povas diveni sencon de vorteroj.
#000021
Sed mi ankaŭ rimarkis kelkajn tradukojn, ĉe kiuj googlo estis pli bonaj ol tiuj de la esperantilo. Temas ĉefe pri gramatike esceptaj frazoj aŭ oftaj parolturnoj, kiujn oni tradukas speciale. Tie oni klare vidas avantaĝojn de statistika metodo. Do la nombro de tiuj frazoj ne estas alta.
#000022
Ekzistas ankaŭ multaj aliaj trajtoj, kiujn oni povas kompari. Bedaŭrinde unue mi devus programi ilaron pro tio. Interesa estus demando, kiom granda estas la nombro de konataj esperantaj vortoj aŭ kiaj estas tiuj tekstoj, kiujn uzis googlo por trejnado de sia tradukilo. Ĉu oni povas de la rezultoj de tradukado trovi la heredan tekston.
#000023
Googlo nomas sian metodon de maŝina tradukado ankaŭ la datumorienta metodo (angle: „data-driven approach“). Sed temas pri tradicia statistika metodo. En tiu metodo oni uzas la tre grandan kvanton de paralelaj tekstoj. Temas pri teksto, kiu ekzistas kiel origina teksto kaj kiel la tradukado al alia lingvo. Do la havebleco de paralelaj tekstoj (datumaro) estas tre grava en tiu metodo. La metodo baziĝas sur verŝajneco. La komputilo tradukas kutime po unu frazo. Unue oni trovas la plej verŝajnajn tradukojn de iu frazo kaj poste elektas la plej verŝajnan frazon en cela lingvo. Praktike la konstruo de tia tradukilo estas en du ŝtupoj. Oni unu konstruas bazon por rapide kalkuli la verŝajnecon de frazojn. En tiu fazo la tradukilo ŝajne mem lernas traduki de paralelaj tekstoj. En la dua fazo, la tradukado mem, la komputilo nur devas konstrui frazojn kaj kalkuli verŝajnecon.
#000024
Ĉe tiu metodo la detala lingva kono, gramatikaj reguloj aŭ vortaroj ne estas necesas. La evoluo de statistika metodo estas limigita ĉe konstruo de algoritmoj, kiuj povas pli rapide kaj ekzakte kalkuli verŝajnecon de pli malgranda kvanto de paralelaj tekstoj. La detalaj informoj oni trovas en la unua fama scienca laboraĵo.
#000025
La statistika metodo laboras bone por gramatike similaj lingvoj. Do la rezultoj estas kutime pli bonaj por lingvoj, kiu havas similan fleksion kaj vortordon. La sciencistoj longe laboris pri tielnomataj matematikaj lingvaj modeloj, kiuj plej bone povas speguli la elektitajn lingvojn. Lingvo modelo en statistika metodo estas ĉefe nur funkcio por verŝajneco de iu vorto ĉeno por elektita lingvo kaj traduko inter du lingvoj.
#000026
Ekzistas du tre grandajn avantaĝoj de statistika metodo. La programo kvazaŭ povas lerni de tekstoj kaj la kvalito de traduko dependas de tempo kaj forto de komputilo. Oni povas plibonigi la tradukilon havante pli da paralelaj tekstoj sen iu programado aŭ homa laboro. La metodo estas ideala por la firmao googlo. Ili havas grandajn komputilajn fortojn kaj grandegan bazon de tekstojn. Googlo vidas ĉiujn en la reto per siaj robotoj kaj la firmao povis ankaŭ skani multajn librojn. Tial oni ne povas bone kompari la kvaliton de programo kiel Esperantilo kaj google tradukilo. Povus esti, ke la rezultoj, kiujn mi ricevis el la publika paĝo de googlo estas malalta, ĉar googlo ne volas, ke komputilo multe kalkulas sed faras tiom rapide. Do la kvalito estas nur unu de parametroj de tradukilo. Eble googlo povus kontraŭ mono aŭ por elektitaj uzantoj fari pli bonan tradukon. Tion mi ne scias.
#000027
Estas por multaj enigmo kial la firmao googlo oferas senkostaj servoj por uzantoj. La rezulto de tiu enigmo estas simpla. La servoj ne estas senkostaj. Nur oni pagas alie. Oni pagas per personaj datumoj. Oni devas ankaŭ rimarki, ke googlo ne oferas programon sed nur servon. La firmao povas tre rapide ŝanĝi la uzadon de servo aŭ tute haltigi ĝin. Ĉiun teksto, kiun oni tradukas, fariĝas datumaro de googlo. Oni devas pripensi, ke ankaŭ ĉiu, kiu kontrolas la reton, scias ĉiom, kion oni tradukas. La traduka servo ne estas sekurigita per enigmaj metodoj. Oni imagu, ke la iu disidento uzus googlo por traduki iun tekston kontraŭ registaro. Googlo kaj la registaro mem, kiu kontrolas la konekton kun la reto tuj, eksciis pri tio. Mi ne scias, ĉu ĉiu uzanto de la reto scias pri tio.
#000028
Googlo uzas la tradukilon ĉe kelkaj propraj servoj. Oni povas traduki la simplan nudan tekston tuj en retumilo. Frue oni povis enskribi la adreson de ttt-paĝo, kiun oni povas traduki. Nun la tradukado de paĝoj estas eble nur en la retumilo Chrome, kiu estas produkto de googlo.
La tradukilon oni povas ankaŭ uzi en mobiltelefona operaciuma sistemo android kaj aliaj servoj de googlo. Googlo uzas la tradukilon kiel baza servo por kreski la valoron (uzeblecon) de aliaj servoj. Eble iam la maŝina tradukado estas same memkomprenebla funkcio de iu programo kiel nune la literumado aŭ eltondi&interglui (copy&paste).
#000029
Al Kiu apartenas la scio de la statistika tradukilo
#000030
La statistika tradukilo povas iel lerni de aliaj tekstoj. Googlo uzas la plej grandan bazon de teksto (la reton) por nutri siajn komputilojn. Tial ĉiuj, kiuj iam tradukis tekstojn, partoprenis malrekte en la envolvo de tiu tradukilo. Multaj demandoj estus interesaj en tiu kunteksto. Demandoj pri rajtoj, propraĵo, elspezo, patentoj kaj laborpago. La statistika tradukado estas unu en la kampoj de googlo, kiu tuŝas tiun temaron.
#000031
Mi pensas, ke la servo „google translation toolkit“ estis farita ankaŭ por kolekti datumaron por plibonigo de tradukilo. Tradukistoj, kiuj uzas tiun servon, helpas ankaŭ al plibonigo de tradukilo kaj faras ilian laboron fine malpli bezonatan. Tiu estas nuntempe ofta komerca modelo en la reto. Oni oferas servojn kaj uzantoj per ilia uzado lasas iun datumaron, kiun oni povas uzi en alia maniero komerce kaj fine enspezi per tio monon. Mi longe ne kredis, ke tiu nedirekta metodo funkcius.
#000032
Mi ne scias, kiel taksi la plibonigon de maŝina tradukado en la kunteksto de Esperantistaro. Bedaŭrinde frue ofte oni varbis por Esperanto kun la argumento, ke la maŝina tradukado neniam estos uzebla. Nun oni vidas, ke tiu maŝina tradukado iĝas kutima ilo, kiun povas uzi preskaŭ ĉiu. Oni povas atendi, ke la kvalito de tradukado kreskos.
Esperanto estas nur la 64-lingvo de G-tradukilo, tamen la unua artefarita lingvo, kiun subtenas la programo. Aperis kelkaj tekstoj en la rete en kiuj kelkaj homoj eĉ plendis pri firmao googlo, ke ĝi okupas pri iu artefarita lingvo kaj same ekzistas multaj naturaj kaj naciaj lingvoj kiuj ne estas subtenataj. Nun oni povas nur timi, ke googlo iam forigus Esperanton de ilia servo. Tiu estus kiel fina malvenko de Esperanto.
#000033
Due la subteno de Esperanto de googlo igis aliajn tiajn projektojn preskaŭ vanaj. Ankaŭ, se ekestos iu ilo, kiu povus traduki pli bone ol googlo tradukilo, oni povus tuj uzi tiun ilon por lerni la googlo tradukilon mem. Do goolgo ĉiam havos pli la uzantoj kaj pli da datumaro.
#000034
Eble Esperantistoj kaj lingvistoj povus pli serioze pritrakti la maŝinan tradukadon kaj komputilan lingvistikon. Aliaj projektoj povus profiti aŭ ekestus novaj projektoj. Eble en tiu kunteksto Esperanto denove estus interesa kiel eksperimenta kuniklo de sciencistoj. Esperanto estas bona lingvo kaj eble ankaŭ bona por komputiloj. Imagu, ke Googlo uzos Esperanton kiel maŝinan interlingvon nur ĉar tio garantias pli bonan kvaliton de tradukado. Por komputilo estas tute egale, kiun lingvon ĝi uzas (kalkulas). La lingvo estas por komputilo nur datumaro. Ĉu tiu ebla uzado havus iun influon je Esperantistaro. Esperanto estas artefarita sed Esperantistoj havis ĉiam la revon, ke ilia lingvo estas uzata tute nature.
#000035
Mi ankaŭ ne povas klare imagi, ĉu la ekzisto de maŝina tradukilo pligrandigos la kvanto la esperantaj tekstoj en la reto.
Unue oni povas nun facile traduki la tekston de fremda lingvo kaj poste korekti ĝin. Due oni eble ne tradukus, ĉar ĉiu povus mem fari tion kaj eĉ uzi kiel celan lingvon la propran nacian lingvon. Se la kvanto de esperantaj tekstoj pligrandigos eble post tiam plibonigos la kvalito de g-tradukilo. Do povas ekesti pozitiva mem pligrandiĝanta efekto.
#000036
Nun la kvalito de tradukilo de Esperantilo estas nur por pola lingvo senteble pli bona ol la G-tradukilo. Ekzistas kelkaj argumentoj por uzi la Esperantilon aŭ aliaj tradukiloj.
#000037
Mi estas tamen konscia, ke por multaj uzantoj de la reto la uzado de g-tradukilo estos same memkomprenebla kiel la uzado de la g-serĉilo mem.
#000039
Por mi la nova situacio signifas, ke mi verŝajne ne plu laboros pri maŝina tradukado al aliaj lingvoj sed koncentriĝos nur pli pola lingvo. Por mi estas ankaŭ bona afero povi kompari la propran programon kun la alia programo. Mi dezirus, ke tiu alia programo ankaŭ estas libera kaj malferme, sed oni ne povas havi ĉion.
Ekzistas ankaŭ kelkaj funkcioj de programo Esperantilo, kiuj ankaŭ estas utilaj por uzantaro kaj kiuj googlo eble neniam faros. Temas ĉefe pri analizo de esperanta teksto mem, korektado kaj taksado.
#000040
Esperantilo tradukas al rusa lingvo
#000041
En la jaro 2011 mi eldonis nur unu eldonon de Esperantilo (0.993). La ĉefa novaĵo de tiu eldono estas la maŝina traduko al rusa lingvo. Frue mi eldonis monate, sed nur mi preskaŭ ne havas tempon por ŝatokupoj.
#000042
Mi feliĉe trovis kelkajn bonajn lingvajn fontojn en la reto kaj povis krei la tradukan vortaron por rusa lingvo. Mi skribis pri tio tie. Aldone al vortaro de Revo mi uzis tre bonan kaj sufiĉe kompletan gpl-an vortaron de Juri Fink.
#000043
Kompare al tradukado por pola lingvo oni povas multe fari por plibonigi la tradukadon.
#000044
por multaj verboj mankas gramatikaj priskriboj (aspektoj)
por multaj substantivoj mankas priskribo pri genro
nombrovortoj (vere malsimplaj en slavaj lingvoj)
#000045
Mi esperas, ke multajn tiujn informoj mi povas gajni de rusa wictionary
#000046
Mi devas pristudi la ekzemplajn tradukojn. Ĉu iu havus tempon por mane traduki la ekzemplojn? Tio certe helpus, ĉar mia kono de rusa lingvo estas nur baza. Bonvolu kontakti min!
#000047
Aldone Esperantilo nun povas aŭtomate rekoni la enkodon kiel (iso-8859-?, unikode, kio8-r, ...). Mi volas ankaŭ en estonto modifi la programon en tiu maniero, ke la programo mem provu diveni, kion la uzanto volas kaj fari multajn taskojn aŭtomate.
#000048
Lingvaj rimedoj por rusa lingvo
#000049
Mi ofte vane provis trovi en la reto lingvistikaj rimedoj (provizoj) por rusa lingvo. Mi povas bone kompreni la parolan rusan lingvon, sed mi ne bone legas kaj skribas ĝin. La pola lingvo kaj rusa lingvo estas tre similaj pro kuna slava heredo. Mi pensas, ke oni povas facile krei la maŝinan tradukado al rusa lingvo uzante la maŝinan tradukadon al pola lingvo. La fleksia sistemo estas preskaŭ la sama. Temen oni devus havi sistemon, kiu povas generi de vortara formo la celan formon laŭ kazo kaj nombro (por substantivoj).
La kreado de tiu sistemo estas tre komplika kaj oni devus tre bone koni la lingvon, do tion mi ne povas fari. Nun mi trovis en la reto sur pagoj de Serge Sharoff la liston de bazaj formoj kun gramatikaj priskriboj kaj ĉiuj feksitaj formoj. De tiu listo oni facile povus krei tian fleksilon. Mi spertis, ke fleksio kaj bona traduka vortaro estas la plej laborintensa takso ĉe maŝina tradukado, kiu bazas sur reguloj.
#000050
Ekzistas kelkaj diferencoj inter pola kaj rusa lingvo, kiuj postulus ŝanĝoj en tradukilo.
#000051
verboj ‚esti‘ kaj ‚havi‘ preskaŭ malaperis en rusa lingvo.
en pola lingvo adjektivo povas stari post substantivo.
la rusa lingvo konas pli la kunmetitaj vortoj.
En la rusa lingvo ekzistas pli da tipoj de participoj.
#000052
Ĉiuj aliaj diferencoj oni povus kovri per traduka vortaro.
#000053
La rusa komputila lingvistiko havas onidire tre longan tradicion, tamen tiu tradicio ne rezultis abundon de liberaj iloj kaj fontoj kiel la angla lingvo. Aŭ eble tiuj iloj ekzistas sed ne estas por mi troveblaj.
#000054
Nun mi devas havi nur sufiĉe da tempo kaj deziron programi tion.
#000055
Esperantilo enhavas funkcion de traduka memoro kaj ankaŭ la specialan redaktilon por tradukado de teksto laŭ segmentoj (frazoj).
Ŝajnas tamen, ke preskaŭ neniu uzas tiujn funkciojn. Unue tiuj funkcioj estas por averaĝa uzanto tro progresinta, ke li ne bezonas ilin. Due la programo eble estas tro ŝarĝita per funkcioj, ke uzantoj estas malcertaj, por kio tiu programo taŭgas.
Eble kelkaj homoj pruvis tiun funkciojn, trovis erarojn kaj lasis tion. Mi nenion eksciis pri tio. Nun havis antaŭ kelka tempo kontakton kun uzanto de OmegaT. Tiu programo estas plej konata traduka programo en modo de libera programado. Esperantilo estas ankaŭ listigita en la listo de programoj, kiuj oferas tradukan memoron. Mi ne varbis por tiuj funkcioj kaj tiuj funkcioj ne estas tre fidindaj kaj ne vere finprogramitaj. En la dua flako tiuj funkcioj estas ankaŭ interesaj por Neesperantistoj. Tial oni povus varbi per tiuj funkcioj por esperanta lingvo. Almenaŭ kelkaj homoj, kiuj uzas tradukan memoron, ekscius pri tiu lingvo.
Lastajn semajnojn mi laboris pri plibonigo de tiuj funkcioj. Mi trovis kaj korektis multajn erarojn. Mi ŝanĝis ankaŭ la metodon de konservado de traduka memoro kaj vortaroj. Nun mi uzas sqlite datumbazon. Tio tre rapidigis la laboron de programo. La maŝina tradukado iĝis eĉ 6 foje pli rapida.
#000056
Esperanto enhavas potencan tradukan memoron kaj povas iel maŝine traduki de angla lingvo al esperanta lingvo. Do la programo povus esti interesa por tradukado de programaro. Mi rigardis kelkajn liberajn projektojn pri tradukado de programaro. Temas pri tradukado de angla lingvo al Esperanto.
Sekvaj projektoj estas plej grandaj kaj plej progresintaj:
#000057
Helpe de Translate toolkit mi kolektis ĉiujn tradukojn en unu grandega datumaro.
Mi aliformis la diferencajn formatojn por tradukado al XLIFF-formato. Poste mi importis ĉiujn XLIFF-dosieron al traduka memoro de Esperantilo. Tio daŭris kelkajn horojn.
Ne estis ankaŭ faĉile trovi ĉiujn fontojn de tradukadoj en la reto.
Fine mi havas 24MB grandan tradukan memoron kun 58.000 tradukitaj frazoj.
Estas interese, ke antaŭ 20 jaroj nur kelkaj registaroj de plej riĉaj landoj havis sufiĉe grandan komputilon por prilabori tiun amason da datumoj.
Tio estas bona fonto por sekvaj laboroj. Oni povas uzi tiun tekstaron tre diference.
Ĝi povus helpi ĉe traduko de aliaj programoj. Mi pensas ankaŭ pri aŭtomata kredo de vortaroj de tiu datumaro. Mi jam eksperimentis pri tio kun pola lingvo.
#000058
Antaŭ 4 jaroj, kiam mi komencis okupi pri komputila lingvistiko kaj Esperanto, tiu datumaro ne estis ebla. Estas tre ĝoige, ke Esperanto evoluas en libera programado. Tiu nuna bazo povus eĉ plirapidigi la disvastigon de Esperanto en tiu kampo.
#000059
Unue instalu la plej novan eldonon de Esperantilo. Mi preskaŭ ĉiumonate pretigas novan plibonigitan eldonon.
#000061
Lanĉu Esperantilon. Unue vi povas trarigardi la tradukan memoron. Tial vi ankaŭ provos, ke la importado de traduka memoro sukcesis. Agordu la fontan lingvon kiel angla lingvo kaj cela lingvo kiel Esperanto. Vi povas uzi por tiu menuon „Preferaĵoj->fonta lingvo“ kaj „Preferaĵoj->cela lingvo“ aŭ uzi la flagajn butonojn.
Lanĉu la redaktilon de traduka memoro per menuo: „tradukado->Traduka Memoro->redaktilo de traduka memoro“.
Nun vi povas prepari la tradukadon de via ŝatata programo de angla lingvo al esperanta lingvo. Vi unue bezonas la fontan dosieron en formato XLIFF. Vi povas uzi la programon po2xliff de projekto Translate toolkit por transformi kutiman po-dosieron al xliff-dosiero.
Nun vi povas lanĉi la tradukan asitanton de Esperantilo.
Uzu por tio la menuon „Tradukado->Tradukado asistanto“.
Vi povus ankaŭ lanĉi la redaktilon de xliff direkto de konsolo
#000063
Vi elektu la fontan lingvon kiel angla lingvo (en) kaj celan lingvon kiel Esperanto (eo). Poste vi povas traduki la projekton per tn. traduka segmentilo.
Vi tradukas po unu elemento (segmento).
Kutime la programo pruvas traduki la frazon maŝine. Se ekzistas la traduko en traduka memoro, vi povas akcepti tiun tradukon.
Oni povas ankaŭ traduki la tutan dosieron aŭtomate per funkcio „Traduku al fino plenu aŭtomate“ aŭ traserĉi la tekston laŭ traduka memoro per funkcio „Prenu tradukojn de traduka memoro“.
#000064
Nun mi kolekti pli ol 50000 tradukoj kaj havis okazon iom trarigardi tiujn tradukojn.
Mi unue serĉis la tradukon de „close window“ kaj trovis:
#000065
Interesa eraro. Mi ankaŭ ĝin iam faris. Kaj poste nur „Close“ mi trovis
#000066
Mi mem preferas la ordonan formon, ĉe ja temas pri komando do ordono. Kutime oni tradukas en naciaj lingvoj tiujn komandojn kiel ordonoj. En germana lingvo oni uzas infinitivon („Schliessen“). Sed en germana lingvo oni ĝenerale ofte uzas tiun formon kiel ordono (senpersona ordono) „Arbeiten! Arbeiten!“, eble ankaŭ mallongigo de „Arbeiten Sie!“. Ankaŭ la angla lingvo uzas ordonon, la infinitivo estus „To close“.
Mi ŝatas la formon „u“, kiu ne nur estas ordono, sed ankaŭ povas esti sugesto.
Oni povus fari interesajn studojn sur tiu materialo.
Mi pensas pri aŭtomata kreado de vortaro.
#000067
Nun ekzistas multaj punktoj en programo, kiujn mi volas plibonigi. Mi rimarkis, ke mankas kelkaj funkcioj. Ekzemplo markilo por statuso de tradukado („akceptita“).
#000068
Mi esperas, ke kelkaj homoj uzos Esperantilon por tradukado de programaro.
#000069
Antaŭ kelkaj tagoj unu de programistoj de projekto Apertium sciigis al mi, ke tiu projekto pri maŝina tradukado nun enhavas modulon, kiu tradukas el hispana lingvo al esperanta lingvo. Feliĉe la projekto apartenas al malfermaj projektoj, kiuj naskiĝis kiel universitata projekto. Mi povis senprobleme elŝuti, instali kaj detale trarigardi la projektojn. Tio estas tre ĝojiga afero, ĉar eĉ universitataj projektoj plej ofte estas fermaj kaj formortas. La projekto ekzistas kiel malferma projekto jam 2 jaroj, tamen mi frue ne sciis pri ĝi.
#000070
Apertium estas traduka modulo kaj aro de lingvistikaj iloj por malprofunda tradukado inter similaj lingvoj. Malprofunda tradukado signifas, ke la programo ne faras plenan sintaksan analizon de teksto. Tamen tio sufiĉas, ke 90% de frazoj estas tradukitaj bone inter similaj lingvoj. La projekto unue pritraktis la tradukadon inter la lingvoj: kataluna kaj hispana. Tiu tradukado estas nun ankaŭ uzata por maŝina traduko de artikoloj de iu hispana gazeto.
#000071
Nun la projekto subtenas multajn lingvajn parojn. Inter alie Hispana al Esperanto, aŭ Angla al Pola lingvo. Mi kalkulis 26 lingvajn parojn. La projekto evoluas tre vigle.
#000072
Pri teknikaj aferoj de tiu projekto oni pli bone legu la dokumentojn sur pago kun dokumentaro de projekto. Pli detalajn informojn oni trovas sur vikio de projekto.
La instalado de tiu projekto estas nuntempe eble nur sur Linukso kaj eble nur fare de iom sperta komputisto.
Ekzemple la traduka modulo de hispana al esperanta lingvo troviĝas nur en la SVN-programarkivo (repository). Oni devas mem elŝuti kaj instali en fiksa ordo kelkajn modulojn. La dokumentaro ne estas tre detala, kaj ofte ne plu aktuala. Do mi mem devis trovi, ke oni nun devas uzi la modulojn lttoolbox-unicode kaj apertium-unikode, kiuj havas internajn numerojn 3.0. Oni uzu ankaŭ la programon „apertium“ kaj ne „apetium-translation“, kiel tion priskribas malnova dokumentaro. Finfine mi sukcesis kompili kaj lanĉi la tradukadon. Mi ne konas la hispanan lingvon, do mi prenis iun hispanan tekston de la reto kaj tradukis ĝin al esperanta lingvo. La traduko estis komprenebla, tamen ekzistas multaj gramatikaj eraroj. Oni povas mem testi la programon direkte per la interreta interfaco.
#000073
Mi estis tre scivolema pri la tekniko de programo. La programo estas farita ĝenerale por multaj lingvoj. Tamen la programistoj plejparte prizorgis romajn lingvojn. Apartium estas programita helpe de C kaj C++. Ĝi uzas ofte la teknikon Finite state machine“. Ĉiuj lingvaj informoj estas unue enskribitaj en XML-formato. Poste la programo kompilas tiujn XML-dosierojn al maŝina formato. Por transformoj estas uzataj priskriboj en XML-formato, kiuj estas kompilitaj per yacc al C-programo. La uzado de programlingvo C/C++ kaj diversaj kompiloloj igas la programon tre rapida. Tre valoraj estas moduloj por morfema analizo kaj fleksio de vortoj. Tio estas tre praktika alveno al tiuj problemoj, kiu estas konata de operaciuma sistemo Unikso. La programo uzas la saman priskribon por ambaŭ taskoj. En la dosiero oni trovas la tutan difinon de esperanta fleksio. Por esperanta lingvo tiu dosiero ne estas sensacia, sed por naciaj lingvoj tiuj datoj estas tre valoraj, ĉar kutime la fleksio de naciaj lingvoj estas tre escepta kaj oni bezonas longan tempon por difini ĝin. La hispana-esperanta vortaro enhavas 12000 vortojn. La formato estas legebla por komutilo. Ekzistas aldonaj informoj pri genro kaj gramatiko. Tre bona laboro kaj vara lingva trezoro!
#000074
Laŭ mia nuna pritakso la projekto havas vere la ŝancon iĝi la Linukso de maŝina tradukado. Tion celis ankaŭ la iniciatantoj de tiu projekto. Tio povus sukcesi kaj jam multaj homoj laboras pri aldonaj lingvaj moduloj. Mi ankaŭ iom studis la tradukan modulon de angla lingvo al pola lingvo. Tiuj lingvoj estas tre diferencaj, kaj jam de priskriboj de aŭtoroj de projekto la programo ne estas konstruita por tradukado inter tiel malsamaj lingvoj. Pli bone estus la tradukado inter pola, ĉeĥa, slovaka kaj rusa lingvoj per Apertium. Ŝajne la bezono de tradukado inter pola kaj angla lingvoj estas tiel alta, ke eĉ la malsugestoj de aŭtoroj ne haltigas de evoluo de tiu modulo. Mi tute ne konas la hispanan lingvon, sed mi ankaŭ supozas, ke Esperanto kaj hispana lingvo ne estas idealaj lingvoj por malprofunda tradukado. Mi pensas, ke tiu projekto povus esti bona komenco por aliaj pli profundaj tradukadoj.
#000075
Nuntempe por kutima uzanto nur la interreta interfaco estas interesa. En la projekto mem ne ekzistas iu uzula interfaco (GUI). Sed tiu interfaco estas atendata de multaj uzantoj. Se tiu projekto estos daŭre tiel sukcesa, eble iam ekestos modulo por OpenOffice kaj aliaj interfacoj. Tio eble tre helpos al malferma programado de tiaj projektoj. Mi ne scias, ĉu oni povas kurigi la programon sur Vindozo. Mi supozas, ke oni devus adaptigi unue la kompilan sistemon por Vindozo.
#000076
La projekto Apertium havas multajn kondiĉojn, por esti sukcesa malferma projekto. Ĝi enhavas tre stabilajn ilojn, kiujn oni povas jam uzi. Hispana universitato subtenas la evoluon. Tio garantias, ke aroj de studentoj devige interesiĝas pri la projekto. La projekto estas jam sukcese uzata en realaj kondiĉoj. La sukceso estas la plej granda magneto de tiuj projektoj.
#000077
Esperantilo tradukas al sveda lingvo
#000078
De eldono 0.97 Esperantilo tradukas ankaŭ al sveda lingvo. La nova traduka modulo por maŝina tradukado estas la rezulto de kunlaboro kun KaGu. Li jam frue kelkfoje skribis al mi kaj demandis pri kelkaj afero rilate al Esperantilo. Li estas fascinigita de ideo de maŝina tradukado kaj ne havis ĉikoncernajn iluziojn, Finfine mi decidis komenci la programadon de sveda modulo. Mi legis iom pri sveda lingvo sur angla, germana kaj pola vikipedio. La sveda lingvo apartenas al familio de germanaj lingvoj.
La ideo estis reuzi la germanan modulon por programado de sveda tradukado. Poste tamen mi decidis reuzi la anglan modulon, ĉar ŝajnis al mi, ke angla lingvo estas pli simila al sveda lingvo. KaGu havas ankaŭ kelkajn spertojn pri komputiko kaj programado. Frue li ankaŭ okupis pri alia komputila traduka sistemo. Do mi kreis la svedan modulon kiel kopio de angla modulo kaj preparis la EsperantiloSDK, por ke KaGu mem povu adapti la tradukadon. Mi markis speciale lokojn en programa kodo, kiuj devos estas finprogramitaj aŭ modifitaj. En la blogo mi priskribis kiel programi la Esperantilon. KaGu ankaŭ tre rapide tradukis mane kelkcent ekzemplajn tradukojn. La unua eldono estis farita tre rapide kaj KaGu povis eĉ mem modifi kelkajn lokojn en programo. Li ankaŭ raportis al mi multajn problemojn kaj klarigis la defioj de sveda gramatiko.
#000079
La sveda lingvo estas por mi la lingvo, kiu estas inter angla kaj germana lingvoj. En sveda lingvo ne ekzistas kazoj por substantivoj. La ordo de vortoj estas tre rigida. La sistemo de tempoj estas simila al angla lingvo. Sed la svedaj adjektivoj havas fleksion, kiu estas pli simila al germana lingvo. La sveda lingvo havas ankaŭ kelkaj trajtojn, kiuj estas por mi tute nomaj. Ekzemple la difinilo „la“ estas esprimata en sveda lingvo kiel finilo. La negado de verboj „ne“ okazas post la verbo. En sveda lingvo ekzistas 2 genroj, kiuj influas la difinilojn kaj atributojn. En sveda lingvo ekzistas tuta familio de verboj, kiuj ekzistas nur en pasivo (tn. deponens). Tio kaŭzis, ke mi devis adaptigi la originalan anglan modulon por sveda lingvo. Parte mi povis uzi la solvojn konatajn de germana lingvo. Alikaze mi devis elpensi solvojn tute denove.
#000080
Dum programado mi frue rimarkis, ke informoj de vikipedio ne sufiĉas. Fleksio de verboj kaj substantivoj ne estis priskribita detale. Ankaŭ KaGu ne povis doni al mi precizajn informojn pri reguloj de fleksio, ĉar li uzas la lingvon sen kono de reguloj kaj esceptoj. Finfine mi trovis la plej detalaj informoj sur iu rusa ttt-ejo pri sveda kulturo. La identigo de svedaj specialaĵoj evidentigis kiel la plej malfacila parto de laboro. Ĉe tiuj problemoj restas nur unu eblo. Oni tradukas kaj testas multajn tekstojn mane kaj provas trovi iujn regulojn. Tiun laboron povas fari nur KaGu, ĉar por mi svedaj vortoj restas nur aroj de literoj.
#000081
Tio estas pro mi la unua fojo, kiam mi kunlaboris ĉe programado de Esperantilo kun iu tiel intense. Ni interŝanĝis multajn leterojn, iufoje eĉ kelkaj leteroj pro tago. La spertoj estas jenaj. Oni devas havi multe da tempo kaj volo. Evidentiĝis por mi, ke la programado kaj eĉ uzado de Esperantilo ne estas facila. Mi havis la okazon ekscii ion pri tiuj problemoj. Sen longaj plurfojaj klarigoj kaj reklarigoj nenio sukcesis.
#000082
Mi nur poste eksciis, ke KaGu estas delonge pensiulo. Tio estas jam la dua fojo, kiam mi ricevis grandan helpon de pensiulo. Por mi ŝajnas nun, ke nur pensiuloj havas tempon kaj necesan persiston. La eblojn de tiu grupo de homoj estas eble ne sufiĉe alte pritaksataj.
#000083
Certe. La programado de Esperantilo kaj sveda modulo ne estas finita. Oni daŭre povas plibonigi la kvaliton de tradukado. La kvalito dependas je algoritmoj en programo kaj vortaro.
#000084
En vikipedio mi legis, ke sveda lingvo ne estas granda lingvo rilate al la nombro de parolantoj. Nur 9 milionoj da homoj parolas tiun lingvon. Tamen ofte oni ne bezonas miliono homojn sed nur unu konkretan.
#000085
Nun restas iom pli komplikaj kazoj, kiuj ne estas tradukataj korekte.
Nun ni trovis la bonan vojon de kunlaboro. KaGu priskribas la problemojn kaj donas ekzemplojn kaj mi programas.
Ni uzas pro tiu la dokumenton sur Google-docs.
Tio estas facila eblo redakti kune unu dokumenton.
Feliĉe ni ambaŭ sukcesis senprobleme uzi tiun sistemon.
#000086
La sveda vortaro estas en respondeco de KaGu.
Li plivastigas kaj modifas la vortaron kaj fine sendas al mi nur ŝanĝojn, kiujn mi importas en la gepatran vortaron, kiu troviĝas sur mia sistemo.
#000087
Sekva eldono de Esperantilo tradukos al sveda lingvo eĉ iom pli bone ol al la angla lingvo.
#000088
Maŝina tradukado: angla lingvo al esperanta lingvo
#000089
La plej bezonata maŝina tradukado estas la tradukado inter iu nacia lingvo kaj angla lingvo. Bedaŭrinde la angla lingvo estas tre komplika lingvo por sintaksa analizo. Aliflanke tiu lingvo estas la plej bone esplorita lingvo en komputila lingvistiko. Antaŭ kelkaj monatoj mi eksperimentis pri maŝina tradukado de pola lingvo. Tiu tradukado nuntempe estas tute taŭga. Mi pensis ankaŭ pri maŝina tradukado de angla lingvo. Por tiu tasko la plej grava estas bona sintaksa analizo.
Mi denove traserĉis la interreton kaj ekkovris kelkajn liberajn projektojn, kiuj okupas pri sintaksa analizo de angla lingvo. La plej okulfrapa estis la projekto „Link Grammar Parser“. Tiu universitata projekto liveris ne nur teoriajn rezultojn sed pretan analizilon por angla lingvo. La analizilo enhavas ankaŭ la tutan vortaron kaj priskribo de angla sintakso. Ankaŭ kelkaj aliaj projektoj uzis tiun programon. Tio estas bona indiko por kvalito de projekto. Mi trovis kelkajn projektojn, kiuj rilatas kun „link parser“.
#000090
Interfaco por programa lingvo Perl
Interfaco por programa lingvo Ruby
Projekto „Abi Word“ uzas „link grammar“ por gramatika kontrolado
#000091
Tiu analizilo estas ankaŭ programita per programa lingvo C. Tiun lingvon oni povas tre facile kunligi kun Tcl. Oni ja prave diras, ke Tcl estas la gluteno por programoj skribitaj en C. Mi devis nur programi mallongan interfacon inter Tcl kaj C. Tio estis farita en unu tago. Nuntempe fakte la programa lingvo C estas la plej universala programa lingvo, kiu rulas sur ĉiu komputilo sen ĝenaj premisoj. Tion oni ne povas diri pri la nuntempe populara programa lingvo „Javo“, kiu ĉiam faras problemojn, uzas tro da memoro kaj estas katastrofe malrapida.
#000092
Mi testis iomete la analizilon. Unue la analizilo rezultas ne sintaksajn arbojn sed la aron de ligiloj. Oni tamen povas facile konstrui de tiuj informacioj la sintaksan arbon. La analizilo povas ankaŭ trovi la gramatikan kategorion por ĉiu vorto. Tiu estas tre grava ĉe angla lingvo, ĉar tio estas en tiu lingvo tre ambigua afero. Kelkaj ekzemploj:
#000093
De tiuj informoj oni relative facile povas traduki al esperanta lingvo. Oni devas simple analizi la ligilojn de vortoj. Tiel oni poves ekkoni, ĉu iu vorto estas objekto (en esperanto akuzativo). Tiuj subjektoj havas maldekstran ligilon kun simbolo „OS“. La unua malfacilaĵo estas, ke tiu analizilo ne trovas la bazajn formojn (vortaroj formoj) de vortoj. Do la programo devas mem diveni, ke la baza formo de „written“ estas „write“. Kelkfoje oni devas reordigi la vortojn (ekzemple ĉe negado aŭ angla genetivo father’s)
Mi programis unu semajnon la maŝinan tradukadon kaj la rezultoj ne estas malbonaj.
#000094
Do nun Esperantilo en eldono 0.97 tradukas tiujn du ekzemplajn frazojn.
I read a book. – Mi legas libron.
I have written the computer program. – Mi skribis la komputilan programon.
Por simplaj frazoj tio funkcias preskaŭ perfekte. La limoj troviĝas nun en la ebloj de analizilo „link parser“. Tiu analizilo estas por longaj frazoj malrapida. Feliĉe ekzistas la eblo interrompi la analizon de frazo, se la bezonata tempo estas tro granda. Nun mi tiel agordis la analizion, ke ĝi ne povas uzi por anlizo de unu frazo pli ol 30 sekundoj. Por uzanto la traduko de angla lingvo estas okulfrape pli malrapida ol la traduko en alia direkto. Mi pensas, ke pro tio la analizilo ne estas taŭgo por uzo en interreta traduka servo. Tio estas tro kosta afero. La analizilo havas ankaŭ problemojn kun parentezoj, citaĵojn kaj fremdlingvaj vortojn. Do ĝi komplete rifuzas la analizon, se en la teksto troviĝas fremdlingvaj singoj aŭ ĝenerale UTF-8 signoj. Do mi devis programi la alternativan tradukadon por frazoj, kiuj ne povas esti analizitaj de „link parser“. Tiu alternativa tradukado estas simpla vorta tradukado.
#000095
Ekzistas ankaŭ multaj aferoj, kiujn oni povas plibonigi. La plej grava afero estas la tradukado de ambiguaj anglaj vortetoj kiel „there, this, that, by, to, too, ...“. Ofte oni devas nur analizi la legilojn por trovi la necesan tradukon.
#000096
La laboro ne estas facila. Ekzistas multega nombro de eblaj nomoj por legiloj. La dokumentaro de „link parser“ ne estas aktuala kaj kompleta. Do oni precipe devas simple testi multajn frazojn. La programo ne estas ŝajne plu evoluigita. La lasta eldono devenas de jaro 2005.
#000097
Jam kun tiu eldono mi rimarkis, ke la kvalito de tradukoj estas pli bona ol la kvalito de aliaj
atingeblaj tradukiloj inter angla kaj esperanta lingvo. Esperantilo nun povas bone traduki negadon, kompleksajn tempojn kaj rekonas akuzativon.
#000098
Por plibonigi la kvaliton la plej grava estus la plivastigo de vortaro. Do multa laboro estas ankoraŭ farinda. Kiel kutime mi iom post iom esperas plibonigi la tradukadon. Bedaŭrinde mia kono de angla lingvo ne estas tre bona. Mi delonge lernas tiun lingvon, sed ĝis nun havas problemojn. Ofte mi komprenas ĉiun unuopan vorton en la frazo, sed la tuta frazo estas por mi sensenca. Mi supozas, ke por samaj kialoj la konstruo de sintaksa analizilo por angla lingvo estas tiel malfacila.
#000099
Kiel programi maŝinan tradukadon por nova lingvo en Esperantilo?
#000100
Iafoje mi ricevas leterojn de uzantoj de Esperantilo, kiu dezirus maŝinan tradukadon al ilia nacia lingvo. Esperantilo nun subtenas la maŝinan tradukadon al 3 lingvoj, sed mi nuntempe okupas nur pri pola lingvo. Estas ĝenerale konata fakto, ke programado de maŝina tradukado ne estas triviala tasko. Alikaze ni delonge havus multajn altnivelajn tradukajn programojn por multaj lingvoj. Fakte nur kelkaj profesiaj firmaoj agas en tiu kampo kaj nombro de subtenataj lingvoj estas malgranda. Esperantilo ne estas planita por subteni dekomence multajn lingvojn. Do ĉiu nova subtenata lingvo bezonas novan planadon kaj programadon. Mi ankaŭ konscie okupis nur pri unudirekta traduko el Esperanto al nacia lingvo, ĉar tiu direkto ŝajnas havi malpli multajn obstaklojn pro trajtoj de esperanta lingvo. Mi tamen dekomence de programado planis la izolon de partoj de programo, kiuj estas dependaj de lingvo kaj partoj, kiuj estas ĝeneralaj pro maŝina tradukado mem. Tial la tradukado al tiuj 3 lingvoj uzas en 80% la saman programan bazon. Nur la plej specifaj fragmentoj estas programitaj en tn. traduka modulo por koncerna lingvo. Ankaŭ la proceso de tradukado mem ebligas la reuzon de grandaj partoj de programo por diferencaj lingvoj.
#000101
La proceso de programado estas
#000102
Gramatika transformigo kaj reordigo (Tiu parto dependas de cela lingvo)
#000103
Esperantilo enhavas ankaŭ multajn partojn, kiuj ne servas direkte en proceso de tradukado, sed tamen influas la kvaliton kaj la uzeblecon de tuta sistemo.
#000104
Tial Esperantilo povus bone servi kiel baza sistemo por aliaj tradukaj sistemoj, ĉefe en direkto de Esperanta lingvo al nacia lingvo. Due oni povus reuzi la tradukan modulon de iu ekzistanta lingvo por krei tradukan modulon de similspeca lingvo. Ekzemple la traduka modulo de pola lingvo povus esti uzata kiel ŝablono por ĉiu slava lingvo. La germana kaj angla moduloj povus esti ŝablonoj por aliaj multnombraj germanaj lingvoj. Tamen mi ne kredas, ke la sintaksa analizo de esperanta lingvo en Esperantilo estus sufiĉa por traduko al lingvoj, kiuj tre diferencas de Esperanto. Temas precipe pri struktura (sintaksa) malsimileco.
#000106
Antaŭ ol vi decidis okupi pri maŝina tradukado
#000107
Maŝina tradukado postulas multajn konojn kaj vastan scion. Do oni devus longe prepari por tiu tasko. Oni devus eklerni multajn novajn kampojn kaj profundigi jam konatan scion. Do tio ne estas okupo por unu semajno aŭ iu instrua projekto. Tamen ekzistas sufiĉe multaj homoj, kiuj jam havas vastajn spertojn kaj delonge okupas pri tiu temo. Esperantilo estas io, kio povus esti interesa por homoj, kiuj volas havi ion praktikan. Ankaŭ kiel ŝatokupo estas eble en longa tempo fari ion, kio funkcias kaj havas trajtojn de tn. serioza aŭ profesia okupo. Por mi la atributo „profesia“ signifas nur, ke temas pri mono, kiun oni ricevas aŭ devas pagi. En tiu senco la sistemo Esperantilo ne estas profesia.
#000108
Mi povas helpi al ĉiu, kiu volas mem plukonstrui aŭ reuzi la sistemon Esperantilo, sed
mi devas dekomence substreki, ke la plej grandan laboron oni devus fari mem. Oni devas mem studi la komputilan lingvistikon, lerni programajn lingvojn kaj gramatikon. La projekto estas tute malferma kaj libera. Ĉiujn fontojn mi publikigas libere. Do oni ankaŭ povus sen mia helpo rekonstrui kaj adaptigi la sistemon por ĉies kialoj. Ekzistas multaj informoj en mia blogo kaj sur la TTT-paĝoj de Esperantilo. Ankaŭ pri aliaj teknikoj oni povas multe legi en interreto.
#000109
Due vi devas pripensi, ĉu vi eblas trovi sufiĉe da lingvistika materialo. Ĉu ekzistas liberaj glosaroj por koncerna lingvo? Ĉu ekzistas bonaj priskriboj de gramatiko? Ĉu aldonaj informoj pri fleksio ankaŭ estas uzeblaj? Mi ofte reuzas aliajn liberajn materialojn. La ideo „Programi tradukan sistemon tute de komenco“ estas tre malespera okupo.
#000110
Por programi la programon Esperantilo mi uzas iom ne veste konatan programan medion. La baza programa lingvo estas Tcl. Eldone la programo estas skribita laŭ objektema maniero helpe de XOTcl. La programa medio estas XOTclIDE. Mi kredas, ke XOTcl kaj XOTclIDE ebligas la uzon de programa lingvo TCL en grandaj projektoj. Tiuj teknikaj iloj estas malofte uzataj. Sed la ideoj devenas de aliaj medioj, kiuj normale estas veste konataj. Do Tcl similas al C, Java kaj aliaj skriptaj lingvoj. XOTcl estas simila al Java, C++, Ryby kaj Python. Fine la programa medio XOTclIDE estas programita en tradicio de medioj por programa lingvo Smalltalk, kiuj influis ankaŭ aliajn programajn mediojn. Do sperta programisto ne trovas en tiu medio vere ion novan.
#000112
Mi preparis la tutan programan medion kiel EsperantiloSDK.
Vi povas facile instali ĝin sur vindozo kaj linukso. Sen aldonaj obstakloj vi povas uzi la programon, trarigardi ĝian programfonton kaj adaptigi kaj plivastigi ĝin.
#000113
Taskoj ĉe programado de nova traduka modulo
#000114
Oni povas tiujn laborojn distingi inter lingvistikaj taskoj kaj programaj taskoj.
#000115
Fleksio de substantivoj, verboj kaj adjektivoj
Projektado de fleksiaj grupoj kaj priskriboj en vortaro
Reguloj pri traduko de subfrazoj
#000117
Krado de nova traduka modulo kiel kopio de iu ekzistanta modulo
Programado de generatoro por fleksio
Programado de generatoro por numeroj
Programado de esceptoj kaj specialaj reguloj
#000118
Ellerno de sistemo. Praktikaj sugestoj
#000119
Jam en normala eldono de Esperantilo vi povas lerni iom pri proceso de tradukado.
Vi povas uzi tiujn funkciojn.
#000120
La sistemo XOTclIDE enhavas multajn ilojn por inspektado de programaj strukturoj kaj proceso de tradukado.
Se vi uzas la EsperantiloSDK, vi havas ankaŭ aldonajn eblojn.
La duopa klako en montrilo de sintakso sur iu elemento malfermigas tn. inspektan fenestron, en kiu
vi povas inspekti la variablojn kaj metodojn de iu elemento.
La proceso de tradukado estas bone priskribita en artikolo „Kiel komputilo tradukas?“.
Ekzistas ankaŭ multaj aliaj artikoloj pri tiu temo.
#000122
Se vi jam scias ion pri programa lingvo Tcl, XOTcl kaj la programa medio XOTclIDE, vi povus tuj trarigardi la programfonton de programo kaj tuj adaptigi la sistemon en fenesto Component Browser. Atentu, ke XOTclIDE estas interaktiva sistemo. Tio signifas, ke vi samtempe povas kuri la programon kaj programi ĝin.
#000123
Se vi lanĉis EsperantiloSDK vi vidas fensetron de XOTclIDE, sed ankaŭ fenestro kun nomo EsperantiloCentro. De tiu lasta fenestro vi povas lanĉi la konatan redaktilon de Esperantilo kaj ankaŭ atingi kelkajn specialajn funkciojn per programado.
#000124
Por programado de maŝina tradukado estas gravaj subaj programaj moduloj.
#000125
Precipe vi devas „nur“ programi vian propran Esp?Tradukilo.
#000126
Tie vi povas vidi la priskrobjn de eroj de programo. Tamen mi sugestas trarigardi la fontprogramon kaj programan strukturon de Esperantilo tuj en EsperantiloSDK per modulomontrilo (angle: Component Browser).
#000127
Mi nun volas priskribi kelkajn teknikojn, kiujn vi povas uzi dum adaptado de modulo.
#000128
En ceteraj kazoj la vortoj de cela lingvo estas enmetitaj direkte en la programa fonto. Tial vi povas vidi la fremdlingvan vorton de la baza lingvo, kiu ne venas de vortaro, en la cela teksto.
Vi povas trovi facile la lokon en programo, kiu tion kaŭzis per serĉado de teksto en modulomontrilo.
Uzu la menuon (Method->Search Text->In Component.
#000129
Ofte iu metodo faras pli ol vi bezonas. Vi povas simple forigi la metodon (menuo: Method->Delete). La programo uzas en tiu kazo la pli bazan metodon kaj la programo daŭre funkcias.
#000130
Vi povas kompari metodojn de aliaj moduloj per funkcio (menuo: Method->Search Implementers.
#000131
La baza klaso, kiu respondas pri la tradukado estas FrazTraduko en modulo EspTradukilo. Vidu la metodon traduku.
#000132
Ĉiuj vortoj estas objektoj, kiuj devenas de derivita klaso de la klaso TradukElemento.
Ekzemple ĉiu pola substantivo estas objekto de klaso ETPlSubstantivo.
Tiu klaso havas tiujn parencojn:
#000133
Vi povas rigardi la parencajn strukturojn per Heritage Browser, kiun vi lanĉas per
Class->Heritage Browser. Kiel vi vidas, la programo Esperantilo uzas konsekvence la objekteman programadon. La klaso „ETSubstantivo“ estas uzata en ĉiujn tradukajn modulojn kaj enhavas bazajn trajtojn de substantivo.
#000134
Se vi modifis unu metodon (funkcion) kaj ĝi ne funkcias, vi povas senprobleme reveni al malnova eldono. Do ni ne bezonas komenti aŭ malkomenti partojn de programo. Uzu la menuon: (Method->Version Control->$gt;Editions) aŭ (Method->Version Cotrol->Previous Version).
#000135
En ĉiu metodo, vi povas enmeti tn. haltpunkton (Breakpoint). Por tiu vi skribu en aldona linio: my halt. (Vi devas aldone enlegi la novan metodon per menu Edit->Save aŭ klavkombino Ctrl-S)
Se la programo denove uzas tiun metodon, vi povas inspketi la fluon de programo en sencimilo (debugger). Tiel vi ofte povus pli ekkoni pri programo ol nur legante la statikan programfonton. Vi povas pluruli la programon per butono Resume.
#000136
La preciza priskribo de tuta programo ne estas praktika. Pli bone estas lernia la programan lingvo kaj legi la programon direkte.
#000137
Se vi estas preta komenci vian okupon pri programado de Esperantilo, kontaktu min. Eble mi povus fari la plej malfacilajn taskojn por la komenco aŭ doni al vi kelkajn rimarkojn.
#000138
Maŝina tradukado el pola lingvo al Esperanto
#000139
Mi ne planis programi maŝinan tradukadon el pola lingvo, tamen nun mi dum longa tempo laboris pri tiu temo, kaj la venonta versio de Esperantilo enhavos unuan fojon la maŝinan tradukadon el pola lingvo al esperanta lingvo. La ĉefa kaŭzo pri mia frua rezisto je tiu temo estis, ke mi pritraktis la sintaksan analizon de pola lingvo kiel tre komplika, tro komplika por miaj rimedoj. Post kelkaj eksperimentoj mi konstatis, ke plena (profunda) sintaksa analizo ne estas tiel necesa por pola lingvo. Ekzistas ankaŭ la libera projekto morfologik kaj la s_fsa, kiuj oferas polan etiketilon. Do mi povis reuzi jam ekzistantan programaron. Tamen la vortprovizo de projekto morfologik, kvankam ĝi estas tre abunda, enhavis multe da eraroj. Do mi devis unue purigi tiun provizon. Por tiu tasko mi produktis de vortaro de Esperantilo ĉiujn fleksiajn formojn. Tiujn funkciojn mi jam bezonis por tradukado al pola lingvo. Feliĉe la laborkvanto ne estis tiel granda kaj mi povis rapide atingi unuajn rezultojn.
#000140
Ĉe tiu temo mi frontis unufoje la problemon de ambiguo de naturaj lingvoj. Por bona tradukado oni bezonas bonan senambiguilon (angle: disambigulation). La sendisambiguo koncernas ĉefe du problemojn.
#000141
Mi frue eĉ ne supozis, kiom da ambigueco ekzistas en pola lingvo. Mi pensas, ke nia cerbo faras tiun taskon tiel rapide, ke la ambigueco ne iĝas konscia. Do mi rimarkis tiun ambiguon nur dum la testado de tradukado.
#000142
Ankaŭ la pola fleksio estas parte tre ambigua.
#000143
En pola lingvo akuzativo kaj nominativo por senvivaj substantivoj de vira genro estas samaj. Do mi devis uzi multajn diferencajn teknikojn por difini la gramatikan funkcion de vortoj en pola frazo. Pola lingvo havas ankaŭ komplikajn trajtojn ĉe negado kaj numeraloj. Jen la tabelo, kiu montras kelkajn defiojn de pola lingvo.
#000144
En tiu ekzemplo la vorto „książki“ devas esti tradukita depende de kunteksto al „libron, librojn aŭ de libro“.
Tamen ĉiujn tiujn frazojnj la programo nun povas korekte traduki. Do mi esperas, ke la tradukado el pola lingvo estus ankaŭ iam utila. Mi pensas, ke se la traduko estus komprenebla, tiam jam multaj esperantistoj povus kompreni polajn tekstojn. Do tiu direkto de tradukado estus eble pli interesa ol tradukado de Esperanto al pola lingvo. Tiu okupo estas pro mi bona okazo ekkoni la polan lingvon. Tiun scion oni nur tre malfacile atingas per legado de gramatikaj libroj. Eble ankaŭ la cerboj de polaj gramatikistoj malkaŝas al ili kelkajn gravajn fenomenojn de pola lingvo.
#000145
Per interreta letero mi konatiĝis kun Esperantisto Eckhard Stoll, kiu eble estas al ceteraj homoj konata de Radio Sauerland Welle kaj elsendoj pri fondaĵo Bona Espero. Post kelkaj leteroj kaj longa telefonado ni decidis renkonti. Eckhard estas ankaŭ la kreinto de alia traduka programo Ecoso. Do ni havis multegon por priparoli pri programado kaj maŝina tradukado. Ni parolis multege pri teknikaj aferoj kaj interŝanĝis ideojn pri tradukaj programoj. Mi povis montri direkte kelkajn specialajn funkciojn de programo Esperantilo kaj rakonti pri ĝia programado.
#000147
Mi decidis detale priskribi kelkajn ideojn de tiu renkonto. Tio estas ankaŭ por mi la unua okazo por paroli direkte kun uzanto de Esperantilo. Per tiuj diskutoj mi eksciis pri plibonigindaj flankoj de programo kaj ekhavis ideojn por plua evoluo. La programo Ecoso ne oferas altan kvaliton de maŝina tradukado, tamen ĝi enhavas funkciojn, kiuj ne estas nun en la programo Esperantilo. Oni povis tajpi Esperantajn vortojn kaj samtempe observi la tradukadon al germana lingvo. Mi longe ne povus imagi, kiu vere bezonus tiun funkcion. En mia kapo mi havis nur unu tipon de uzado de programo. La uzanto havas Esperantan tekston, kiun li volas traduki al cela nacia lingvo. Tamen mi devis konfesi, ke maŝina tradukado estus ankaŭ uzebla por propedeŭtikaj kialoj. Ni imagu, ke komencanta lernato de Esperanta lingvo volas krei esperantan tekston. Lia provizo de esperantaj vortoj ne estas granda. Li ankaŭ havas problemojn kun esperanta gramatiko. Li tamen volas skribi leteron al iu alia Esperantisto. En tiu kazo li kutime uzus ofte vortaron kaj necesus korektadon. La programo Ecoso estas farita direkte por tiuj uzantoj. Oni tajpas esperantajn vortojn kaj povas direkte kontroli en vortaro, ĉu la vorto estas korekta. Do la maŝina tradukado ĉefe gravas kiel kontrola teksto. Tio nun ankaŭ estas por mi pli evidenta, ĉar mi ofte rimarkas erarojn en miaj esperantaj tekstoj nur, post kiam mi tradukis ilin al pola lingvo. Do la kombino de literumado, gramatika kontrolado kaj maŝina tradukado estas tre avantaĝaj por komencantoj de esperanta lingvo. Mi ankaŭ en frua blogo pensis pri uzantoj, sed pri tiu tipo de uzado mi ne pensis.
#000148
De eldono 0.94 Esperantilo ankaŭ enhavas tiel nomatan rapidan vortaron, kiu laboras simile al programo Ecoso. Mankas nun nur la ebleco samtempe montri la tradukon de vortoj en separita fenestro. Esperantilo tradukas ne po unu vorto, sed ĝi bezonas por bona traduko la tutan frazon. La akceptebla solvo estus, ke esperantilo tradukas tuj ĉiun vorton laŭ primitiva maniero. Sed kiam la frazo estas finita, la programo retradukas la tutan frazon en pli bona kvalito. Nun ekzistas en Esperantilo t.n. „Tradukileto“ (menu Tradukado->Tradukileto), kiu estas speciale farita por samtempa tradukado de mallongaj tekstoj. Oni povus plivastigi la funkciadon de tiu ilo, por ke ĝi estu pli simila al programo Ecoso.
#000149
Mi kaptis la okazon kaj detale demandis Eckard pri ĝia uzado de programo Esperantilon. Tio estis por mi tre instrua. Ni diskutis longe pri vortaro de Esperantilo. Bedaŭrinde Eckhard ne povis bone uzi tiun vortaron sen mia detala priskribo. La uzula interfaco de vortaro evidentiĝis kiel malklara. Mi uzas la vortaron tre ofte kaj ne supozis tiujn malfacilaĵojn. Speciale malklara evidentiĝis la dudirekta serĉado de vortoj. Por tio oni havas du specialajn kampojn. Ankaŭ la montrado de rezultoj kaj la ebleco de direkta redaktado de tradukoj estis malklara. La leciono por mi estas, ke uzantoj atendas, ke la vortaro aspektu kiel papera vortaro. Oni havu nur unu kampon por entajpi la vorton. Ankaŭ la gramatikaj priskriboj ne estas klaraj. Se la avaraĝa uzanto povus redakti mem la vortaron, la priskribo de gramatiko kaj fleksio devus esti pli facila. Normale altnivela preparo de vortaroj estas tasko por profesiaj lingvistoj. Se tiu vortaro estas uzata en maŝina tradukado, tiu tasko estas eĉ pli malfacila. La programo devus plifaciligi tiun taskon ankaŭ por neprofesiuloj. La plej bona solvo estus, se la programo oferus kelkajn ekzemplojn de fleksio por elekto kaj la uzanto nur devus elekti la korektan frazon. Ni ankaŭ diskutis lange pri komuna flegado de vortaro. Ĝis nun mankas bonaj liberaj vortaroj pro esperanta lingvo, kiujn oni povus uzi en maŝina tradukado. Sekvaj funkcioj estus necesaj:
#000150
Tiu projekto necesus vastan akcepton de germana kaj esperanta komunumo. Ekzistas nun multaj similaj projektoj, kiuj kolektas vortojn por Esperanto kaj por ĉiu lingvo. Bedaŭrinde ĉe multaj tiaj projektoj la uzado de vortaroj ne estas libera. Do mi ne estas certa, ĉu indus krei ion novan. Tio devus esti ankaŭ separita projekto. Kvankam mi devis akcepti, ke la nuna vortaro ne estas facila, mi tre kutimiĝis kun nuna funkciado. Bone estas, ke mi direkte povas redakti tradukojn sen aldonaj paŝoj. En aliaj programoj oni devas trairi per multaj fenestroj por adaptigi unu tradukon. Ankaŭ en tiu kazo evidentiĝas, ke diferencaj uzantoj volas havi diferencan interfacon. Mi povas diferenci:
#000152
Uzantoj kiuj nur legas vortaron kaj nenio scias pri gramatiko
Uzantoj kiuj nur legas vortaron kaj tre malofte korektas tradukojn. Ili havas nur bazajn konojn pri gramatiko
Lingvistoj, kiu ofte uzas vortaron kaj volas direkte redakti tradukojn. (angle: Poweruser)
#000153
Nuna vortaro bezonan plibonigon, sed eble bona ideo estus havi du separitajn vortarojn por almenaŭ du tipoj de uzantoj.
#000154
Ĝenerale mi devas diri, ke multaj funkcioj de Esperantilo ne estas konataj. Eble pli bona solvo estus dividi la programon en kelkaj programoj, kiuj enhavas funkciojn speciale por unu grupo de uzantoj. Mi pensas, ke la plej granda parto de esperantistoj ne scias multe pri lingvistiko, gramatiko kaj komputiloj. Kaj speciale por tiu grupo la programo povus esti aparte utila. Por tiu homoj estas necesa aldona dokumentaro kaj speciala instrukciado. Eble mi povus iam pretigi intrukcajn videojn. Mi pensas, ke direkta kontakto kun uzantoj estas la sola eblo plibonigi la programon.
#000155
Ni diskutis multe pri plibonigo de germana tradukado. Jes, mi havas mutajn ideojn, sed mi decidis nun prizorgi nur polan maŝinan tradukadon. La tasko estas pena kaj mi volas, ke almenaŭ unu lingvo estos bone tradukota. Do eble en venonta jaro mi denove okupus pri germana lingvo.
#000156
Sukcesa programo devas havi stabilan kernon, kiu povas solvi la planitajn taskojn, kaj ankaŭ klaran interfacon. Se unu de tiuj elementoj ne estas bona, la programo ne trovos akcepton. Direkta kontakto kun Esperantistoj tre helpas. Mi esperas, ke mi en la venonto povus partopreni en esperantaj aranĝoj kaj renkonti la uzantojn de programo rekte.
#000157