Esperantilo Blogo en Esperanto pri projekto Esperantilo kaj komputila lingvistiko

30.12.2007

Projekto Apertium

Filed under: maŝina tradukado,programado — artur @ 12:24

Antaŭ kelkaj tagoj unu de programistoj de projekto Apertium sciigis al mi, ke tiu projekto pri maŝina tradukado nun enhavas modulon, kiu tradukas el hispana lingvo al esperanta lingvo. Feliĉe la projekto apartenas al malfermaj projektoj, kiuj naskiĝis kiel universitata projekto. Mi povis senprobleme elŝuti, instali kaj detale trarigardi la projektojn. Tio estas tre ĝojiga afero, ĉar eĉ universitataj projektoj plej ofte estas fermaj kaj formortas. La projekto ekzistas kiel malferma projekto jam 2 jaroj, tamen mi frue ne sciis pri ĝi.

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 sufiĉ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 ankaŭ uzata por maŝina traduko de artikoloj de iu hispana gazeto.

Nun la projekto subtenas multajn lingvajn parojn. Inter alie Hispana al Esperanto, aŭ Angla al Pola lingvo. Mi kalkulis 26 lingvajn parojn. La projekto evoluas tre vigle.

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 troviĝas nur en la SVN-programarkivo (repository). Oni devas mem elŝ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 ankaŭ la programon „apertium“ kaj ne „apetium-translation“, kiel tion priskribas malnova dokumentaro. Finfine mi sukcesis kompili kaj lanĉi la tradukadon. Mi ne konas la hispanan lingvon, do mi prenis iun hispanan tekston de la reto kaj tradukis ĝin al esperanta lingvo. La traduko estis komprenebla, tamen ekzistas multaj gramatikaj eraroj. Oni povas mem testi la programon direkte per la interreta interfaco.

Mi estis tre scivolema pri la tekniko de programo. La programo estas farita ĝenerale por multaj lingvoj. Tamen la programistoj plejparte prizorgis romajn lingvojn. Apartium estas programita helpe de C kaj C++. Ĝi uzas ofte la teknikon Finite state machine“. Ĉiuj lingvaj informoj estas unue enskribitaj en XML-formato. Poste la programo kompilas tiujn XML-dosierojn al maŝ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 ambaŭ 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, ĉar kutime la fleksio de naciaj lingvoj estas tre escepta kaj oni bezonas longan tempon por difini ĝ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!

Laŭ mia nuna pritakso la projekto havas vere la ŝancon iĝi la Linukso de maŝina tradukado. Tion celis ankaŭ la iniciatantoj de tiu projekto. Tio povus sukcesi kaj jam multaj homoj laboras pri aldonaj lingvaj moduloj. Mi ankaŭ iom studis la tradukan modulon de angla lingvo al pola lingvo. Tiuj lingvoj estas tre diferencaj, kaj jam de priskriboj de aŭtoroj de projekto la programo ne estas konstruita por tradukado inter tiel malsamaj lingvoj. Pli bone estus la tradukado inter pola, ĉeĥa, slovaka kaj rusa lingvoj per Apertium. Ŝajne la bezono de tradukado inter pola kaj angla lingvoj estas tiel alta, ke eĉ la malsugestoj de aŭtoroj ne haltigas de evoluo de tiu modulo. Mi tute ne konas la hispanan lingvon, sed mi ankaŭ 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.

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 daŭ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, ĉu oni povas kurigi la programon sur Vindozo. Mi supozas, ke oni devus adaptigi unue la kompilan sistemon por Vindozo.

La projekto Apertium havas multajn kondiĉojn, por esti sukcesa malferma projekto. Ĝi enhavas tre stabilajn ilojn, kiujn oni povas jam uzi. Hispana universitato subtenas la evoluon. Tio garantias, ke aroj de studentoj devige interesiĝas pri la projekto. La projekto estas jam sukcese uzata en realaj kondiĉoj. La sukceso estas la plej granda magneto de tiuj projektoj.

26.12.2007

Esperantilo sur OpenOffice

Filed under: programado — artur @ 11:27

La ĉefa malavantaĝo de Esperantilo por multaj uzantoj estas, ke tio programo ne estas dokumentoredaktilo, sed nur tekstredaktilo. Do ne eblas per Esperantilo formati kaj presi dokumentojn. Nur malmultaj spertaj pri komputiko uzantoj komprenas tiun diferencon. Mi ne celas ankaŭ fari de Esperantilo plenan dokumentoredaktilon, ĉar la programado de tiu sistemo estas por unu persono laboro por kelkcent jaroj.

Ekzistas jam bona libera dokumentoredaktilo OpenOffice, kiu estas bone konata en Esperantujo.
Tiu programo estas ankaŭ aktive tradukata al esperanta lingvo. Do estus tre nature kunligi funkciojn de Esperantilo kun OpenOffice. Kutime oni faros tion kiel tn. kromprogramoj (plugins) por OpenOffice.

Mi jam multe pli frue analizis eblojn de OpenOffice por integriĝo kun Esperantilo. Ekzistas ankaŭ aparta projekto de OpenOffice, kiu pritraktas gramatikan korektadon. La celo de tiu projekto estas ne programi novajn gramatikajn korektilojn, sed kunligi ekzistantajn ilojn kun OpenOffice.
Tiu tasko ne estas teknike facila. Unue la programistoj de OpenOffice devas pripensi, ke ekzistas gramatikaj korektiloj kaj poste oferi konvenan programan interfacon (angle: API) por tiuj iloj. Tiu API jam ekzistas de multaj jaroj, sed ne estas parto de aktuala OpenOffice. Ĝi estis priskribita tie kaj ankaŭ tie. Kiel oni legas sur paĝoj de OpenOffice tiu API estos parto de programo en eldono 2.4. Do tio estas la sekva eldono. Mi esperas, ke tio vere okazos.

La ĉefa problemo estas, ke la gramatika kontrolado devus esti parto de normala kontrolado. Simile al aliaj programoj, la gramatika kontrolado devus kuri en alia programa fadeno kaj ne ĝeni la normalan laboron kun programo. La malkorektaj vortoj aŭ vortgrupoj devas esti markitaj kaj uzanto povus per t.n. kunteksta menuo vidi la sugestojn de korekto.
La nuna API de OpenOffice pritraktas nur literumadon, tial la literumiloj ricevas per tiu API unuopajn vortojn kaj devas pritaksi, ĉu ili estas korektaj. Por gramatika kontrolado (ankaŭ aliaj pli vastaj kontroloj) oni devas analizi tutajn fragmentojn de teksto.
Tio estas tre komplika programado de OpenOffice, kiu postulus vastajn konojn de OpenOffice.
Tamen la projekto LanguageTool jam nun laboras kun OpenOffice. La integriĝo de tiu projekto ne estas tre bona, sed eble por nunaj ebloj la plej bona.

Mi do atendas la eldonon 2.4 de OpenOffice. Mi nun volas ekscii iom pri skribado de kromprogramoj (plugins) por OpenOffice.

Poste mi povos pensi pri aliaj funkcioj de Esperantilo, kiujn oni povos uzi de OpenOffice.
Mi pensas tie pri vortaroj kaj maŝina tradukado. Bedaŭrinde por maŝina tradukado ne ekzistas ĝis nun eĉ planoj por iu API en OpenOffice. La kaŭzo por tio eble estas, ke ne ekzistas multaj uzeblaj tradukaj sistemoj, do la programistoj de OpenOffice ne oferus API por io, kion neniu uzus. Oni ne povas pensi, ke programistoj de OpenOffice pensos iam pri iu malgranda projekto kiel Esperantilo. OpenOffice estas malferma sed ne amatora projekto, do la gvidantoj de tiu projekto certe pensas pri komerco.

23.12.2007

Nova versio de programlingvo Tcl 8.5

Filed under: programado — artur @ 10:33

Post 4 jaroj de laboro estis pretigita la nova version de lingvo Tcl. La programado de Esperantilo bazas sur tiu programa lingvo, kvankam la uzata programa lingvo estas la objektema plivastigo XOTcl. La nova Tcl enhavas kelkajn novajn kapablojn kaj estas pli rapida. Do ankaŭ Esperantilo povos profiti de tiu nova eldono.
La testas eldonoj de Tcl8.5 jam delonge ekzistis, sed mi ĝis nun ne provis ilin kun Esperantilo.
Esperantilo estas programita helpe de diversaj fremdaj moduloj kaj plivastigoj (angle: extensions). Tial la renovigo de tute programa medio ne estas facila.
Mi devis denove kompili kelkajn modulojn (XOTcl, mysqltcl, mk4tcl, sqlite, tdom, …)
Mi faris jam kelkajn testojn. Bedaŭrinde mi ne povus ruli Esperantilio sur Tcl8.5 sen kelkajn adaptojn.
Tamen mi planas uzi la novan eldonon en sekva tempo.
Por uzanto de Linukso la ŝanĝo estos videbla okulfrape. La nova Tcl (Tk) povas uzi specialajn formojn de literoj, kiu aspektas multe pli bone ol la malnova eldono (Legu pri Font Anty-Aliasing.

Esperantilo sur Linukso kun Tcl8.5

Mi volas fari ankoraŭ multajn testojn antaŭ mi eldonos Esperantilo surbaze de Tcl8.5.
Mi volas testi, ĉu vere la programo iĝis pli rapida helpe de Tcl8.5.

21.12.2007

La lasta eldono de Esperantilo en jaro 2007

Filed under: ĝenerale — artur @ 21:01

Tio estas la lasta eldono de Esperantilo en tiu jaro. Mi plejparte laboris pri plibonigo de maŝina tradukado al sveda lingvo. Ĉio ĉi okazis pro iniciato de KaGu. Mi mem tute ne regas la svedan lingvon kaj mem neniam programus tiun tradukan modulon.

Mi ankaŭ laboris pri plibonigo de tradukado de angla lingvo al Esperanto. Nun Esperanto povas traduki la bazan gramatikon de angla lingvo. Tio bone sukcesas por facilaj frazoj. Mi testis la programon sur instrua angla materialo, kiu enhavas nur facilaj frazojn. La rezultoj estas bonaj. La problemoj komencas ĉe realaj tekstoj, kiujn mi hazarde prenis de interreto. Por traduko de angla lingvo mi uzas la fremdan sintaksan analizilon de projekto „link grammar parser“. La ebloj de tiu analizilo limigos la kvaliton de tradukado. Tamen mi estas iom surprizita kiel bona tiu analizilo estas. Tio estas unu de maloftaj universitataj projektoj, kiuj rezultigis uzeblan modulon kaj ne nur sonĝitaj tekstoj.

Mi korektis ankaŭ kelkajn erarojn, kiujn feliĉe raportis la uzantoj per la ena erara raportilo de Esperanto. Multaj eraroj raportis KaGu.

Estas por mi tre malhelpa afero, ke uzantoj ne raportas pri eraroj. Mi iam ekscias pri deziroj aŭ eraroj en programo de iuj diskutforumoj. Mi iom ĉagrenas, se mi legas: „Mi ne povis uzi la programon, ĉar ĝi havas tie kaj tie eraron.“. Kiam tiuj homoj komprenos, ke se ili ne raportos pri tiu eraro, la eraro neniam estos korektita. Kial la uzantoj ne raportas al mi? Mi pensas, ke ĉe tiu afero funkcias la sama psikologia afero, kiel ĉe helpado al homoj en amaso da homoj. Se iu suferas en amaso da homoj kaj krias por helpo, neniu helpas. Ĉar ĉiu pensas, ke eble helpos iu alia. Finfine neniu helpas. Ankaŭ uzantoj, kiuj trovis iun eraron, pensas, ke aliaj eble reportos pri tio. Bedaŭrinde la nombro de Esperantistoj estas tre malgranda, kaj nur kelkaj de ili uzas tiun programon. La sama afero estas ankaŭ pri vortumo de deziroj. Mi ankaŭ nur sporade uzas kelkajn funkciojn de Esperantilo. Se neniu raportos, nenio okazos.

Nuntempe eble multaj projektoj suferas pro tiu afero. La novaj uzantoj de reto kutimis havi ĉion tuj en bona kvalito. Ekzistas multegaj interesaj aferoj en la reto. Tial oni ne havas multe da tempo por iu afero. La tempo de intereso por iu afero estas tre mallonga. Estas tre malfacila sed grave afero uzi tiun mallongan tempon por raportado kaj instigo por reagoj. Tial la programoj devas mem kolekti datojn kaj aŭtomate sendi ilin al gepatra sistemo. Tial la uzantoj mem kaŭzas pro ilia konduto tiun kolektadon de datumoj. Tio estas la prezo por mankantaj reagoj.

Nun oni povus uzi Esperantilon por tradukado inter angla kaj pola lingvoj en ambaŭ direktoj helpe de Esperanto. La rezultoj ne estos bonaj, ĉar ĉiu tradukado kaŭzas perdon de kvalito. Mi ankaŭ ne pensas, ke tio estas teknike bona ideo. Mi skribis pri tio jam tiu blogo

Nuntempe ne estas eble en Esperantilo traduki maŝine direkte inter pola kaj angla lingvoj. Tio estos temo por sekva eldono. Tiu funkcio estus ankaŭ utila por Ne-Esperantistoj. Oni tiam povos traduki direkte ekzemple de pola lingvo al germana aŭ sveda lingvoj. Mi ne planas la sekvan plivastigon de tiu programo. Mi volas nun malfermi la programadon de ĉiuj funkcioj kaj pretigi dokumentaron. La lasta eldono venos en eble aprilo. Tiam mi haltigos por iom da tempo la evoluon de programo.

Esperantilo nun rekonas la duobligon de vorto kiel ebla skriba eraro.

Powered by WordPress