Esperantilo Blogo en Esperanto pri projekto Esperantilo kaj komputila lingvistiko

4.6.2007

La ideoj por eldono 1.0

Filed under: ĝenerale — artur @ 18:17

La eldono 1.0 havas grandan signifon en libera programado. La numero, kiu estas pli granda ol 1.0 sugestas, ke la programo estas sufiĉe taŭga por ĉiutaga uzado. La nuna eldono de Esperantilo havas la numeron 0.92. Do ŝajne la eldono 1.0 ne estas fora.
Sed certe ĉiu scias, ke inter 0.92 kaj 1.0 troviĝas senlima nombro de numeroj, kiujn mi povus uzi (0.93, 0.94, 0.95, 0.99, 0.991, 0.9991, 0.99991).

Ofte aŭtoroj de programoj tre frue numeras la eldonon kun 1.0 por instigi la uzantojn uzi la programon, kvankam la programo estas plena de eraroj. Ĉar multaj uzantoj precipe ne instalas programojn kun malalta numero, la tento estas granda rapide publiki programon kun granda numero. Sed ekzistas ankaŭ danĝero, ke uzantoj post unu malbona sperto kun programo, neniam plu volas ĝin instali, kvankam ĝi estis plibonigiga dum la fluo de tempo. Aliflanke ekzistas tre stabilaj programoj, kiuj jam de kelkaj jaroj havas tre malgrandaj numeroj 0.32. En la „malhela“ mondo de komercaj programoj la numeradon diktas la merkato. Ofte oni celas pli altan numeron ol konkurenco por montri, ke la produkto estas pli matura kaj pli uzata. Sed ankaŭ konataj liberaj programoj kiel FireFox ricevas tute maljuste numeron 2.0, kvankam la ŝanĝoj estas tre malgrandaj. Frue la uzantoj ofte spertis, ke programoj kun numero, kiu estas pli malalta ol 3.0 estas tute sentaŭgaj. Lastatempe programoj estas eĉ numeritaj nur kun numero de eldono sed per jaro de eldono. En komerca programado la plej profitdona strategio estas iom post iom plibonigi kaj plivastigi la programon kaj kun ĉiu eldono gajni monon.

Mi havas la opinion, ke la pretecon de eldono kun numero 1.0 diktas la uzantoj. Se la programo estas ofte uzata kaj eraroj ne aperas (ne estas reportitaj), tiam tiu programo meritas la numeron 1.0. Do ĝis nun nur unu programo, kiun mi programis, estas publikigita kun eldono pli alta ol 1.0. En tiu situacio la programo Esperantilo preskaŭ neniam meritus tiun numeron, ĉar la nombro de Esperantistoj, kiuj precipe interesas pri tiu programo estas malalta. Sed mi mem havas iun imagon pri matureco de programo. Mi volas pretigi Esperantilo por normala uzanto kaj atingi la hodiaŭan uzeblecon (komforton de uzado) de konataj programoj. En lastaj jaroj mi rapide evoluigis la programon. Ofte mi unue volis nur oferi la principan funkciadon kaj ne zorgis pri komforto de uzado.
Tiujn lokojn mi iom post iom plibonigas.

En mia pritakso sekvaj ecoj meritas plibonigon:

  • Interaktiva tradukado. La manipulado de maŝina tradukado devus esti pli facila. Tiu metodo devas esti la ĉefa labormetodo por tradukistoj. Ĝis nun nur kelkaj programo oferas tiun labormanieron. Do pioniraj ideoj estas necesaj.
  • La kvalito de pola tradukado devas esti ekzempla.
  • La programo devas funkcii senerare por ĉefaj funkcioj.
  • La tradukado de programa interfaco devas esti kompleta por aldonaj lingvoj.
  • La gramatika korektado devas esti uzebla por ĉiutaga laboro. La mesaĝoj devas esti kompreneblaj.
  • La programo devas konduti kiel konataj programoj de ĉiutago uzado.

Preskaŭ por ĉiu punkto de tiu listo estas preskaŭ maleble difini la gradon de iu necesa trajto. Temas ja pri sugestia pritakso.
Do finfine la eldono 1.0 estas tiel grava kiel ĉiu frua eldono. Mi planas ĉe la okazo de tiu eldono iom pli varbi por la programo.
Nun mi pensas, ke la programo estas pli konata inter Linuksanoj ol inter Esperantistoj. Ĉar multaj Esperantistoj ricevas informojn nur per esperanta gazetaro aŭ helpe de lokaj kluboj, ili nenion povus ekkoni pri Esperantilo, kvankam ili posedas kaj uzas komputilojn.

Mi ne plu planas evoluigi aliajn kampojn de programo kiel tradukado al aliaj lingvoj (germana kaj angla). Tiu estos tasko por sekvantaj programistoj. Mi spertis de miaj aliaj programoj, ke la konateco de iu programo malrapide kaj konstante kreskas. Mi esperas, ke kun tempofluo raportoj de uzantoj ebligos al mi plialtigi la uzeblecon de programo.

28.5.2007

Pioniroj de esperanta komputila lingvistiko

Filed under: ĝenerale — artur @ 15:08

Komputila lingvistiko ekestis preskaŭ samtempe kun apero de unuaj komputiloj. Esperanto ekzistas jam pli longe ol informatiko. Do interese estus scii, kiam informadikistoj unue ekinteresiĝis pri Esperanto. Mi lastatempe trovis interesan ftp-servilon kun kelkaj maljunaj dosieroj sur: ftp://ftp.stack.nl/pub/esperanto.
Tre interesa estas dosiero translator
kiu enhavas la tradukan programon esperanto-angla.
La programo estas skribita en jaro 1994-1995 de Jui-Yuan Fred Hsu!
Mi pensas, ke la projekto estas lanĉita sur univestitato Cornell. La projekto jam estis sur la GPL permesilo.
Mi trarigardis dosierojn de tiu projekto. Kvankam la aŭtoro skribis en dokumentaro, ke la projekto ne atingis la planitajn celojn, la projekto estis en tre progresinta stato. Interesa estis la tekniko.
La projekto uzas du programajn lingvojn: Lisp kaj C++. La sintaksa analizilo estas skribita en Lispo surbaze de libro: Natural Language Understanding de James Allen. La dosierujo enhavas la kompletan „chart parser“ analizilon de James Allen. Do la tekniko estas tre progresinta. Mi trovis ankaŭ anglan vortaron kun pli ol 30000 vortoj. La libro de Allen kvankam iom maljuna estas rekomendinda kaj mi tuj komencis legi ĝin.

Demandinde estus, kiom da tiaj projektoj kuŝas ie sur forgesitaj diskoj aŭ serviloj. Eble antaŭ la tempo, kiam oni publikigis programojn en la reto. Kiom da horoj programistoj kreis tiajn programojn. Aŭtoroj certe delonge forgesis pri Esperanto, sed datoj ekzistas.

Sur sama servilo mi ankaŭ retrovis aliajn maljunajn programojn. Unu de ili estis programita por sistemo Amiga, kiun mi uzis antaŭ 12 jaroj.

Aliaj projektoj

Mi trovis en reto aliaj projektoj, kiuj temas pri esperanto:

Aliaj novaj programoj

Mi ricevis leteron de Eckhard Stoll, kiu estas aŭtoro de alia traduka programo ecoso. La programo povas laŭ baza maniero traduki de esperanta lingvo al germana lingvo. Kvankam ambaŭ projektoj ekzistas sufiĉe longo. Ni ambaŭ ne sciis pri la projekto de la alia.

15.5.2007

Elekto de tradukoj ĉe maŝina tradukado

Filed under: maŝina tradukado — artur @ 18:35

Unu de plej malfacilaj problemoj ĉe maŝina tradukado, kiu estas bazita sur leksikono, estas la elekto de la plej taŭga traduko de vortaro. Estas normala afero, ke por unu fonta vorto oni trovas kelkajn tradukojn en vortaro. Ofte tiuj tradukoj estas sinonimoj, do ĉiu traduko estas egale korekta. En alia kazo la fonta vorto povas havi kelkajn sencojn kaj tiuj sencoj estas tradukita diference. Ni trovas en vortarojn ofte suban strukturon:

fonta vorto:
senco1: traduko_1_1, traduko_1_2
senco2: traduko_2_1, traduko_2_2

La difino de senco (aŭ sencokampoj) estas en tiu punkto tre malklara afero. Precipe oni povas ĉiam dividi sencojn en pri detalaj sencoj. Do ne ekzistas metodo por klare difini la sencojn. En naturaj lingvoj (ankaŭ en Esperanto) vortojn ofte iom post iom ŝanĝiĝas la sencojn. En diferencaj fakoj aŭ homgrupoj vortojn havas iom alian sencon. Tial ankaŭ la difino de sinonimo ne estas klara. Diferencaj nacioj komprenas la sencojn diference kaj tio estas la trajto de ilia kulturo. En tradukaj vortaroj ne estas ankaŭ evidente, ĉu la sencoj estis difinitaj laŭ fonta aŭ cela lingvo. Tial ankaŭ la difino de sinonimo, kiel samsenca vorto, estas dubinda. La tradukaj vortaroj venkas tiujn malfacilaĵojn per aldonaj priskriboj. Ofte estas uzataj ekzemploj.

Ekzemploj

Ni rigardu la vorton "granda" kaj ĝiaj tradukoj por pola, germana kaj angla lingvo.

Pola lingvo "granda: duży, wielki, silny, spory"
Germana lingvo "granda: groß, berühmnt, heftig, stark"
Angla lingvo "granda: big, large, great"

La vortaro REVO difinas por la vorto "granda" 2 sencojn.

  1. Superanta la ordinarajn dimensiojn
  2. Superanta la ordinaran gradon, intensa, altkvalita.

Unue la vorto povas priskribi aĵojn, kiuj havas dimension en alia kaŭzo ĉiujn aĵojn, kiujn oni povas ordigi (Do logike senco 2 enhavas ankaŭ la sencon 1). La vorto granda povas esti anstataŭigata en apartaj kuntekstoj (laŭ la tezaŭro) per vortoj: ega, kolosa, fama, glora, renoma, forta, impetega, fortega, potenca, alta. Ĉiuj tiuj vortoj priskribas malkutiman gradon de iu kvalito. Evidentiĝas, ke tiu vorto estas tre malfacila por difino kaj traduko. Ni pritraktu kelkajn tradukojn de vorto "granda" kun substantivo.

Esperanta Lingvo Pola Lingvo
granda domo duży dom
granda komponisto wielki kompozytor
granda tertremo silne trzęsienie ziemi, wielkie trzęsienie ziemi
granda problemo duży problem, wielki problem
granda milito wielka wojna

Ne estas facile diri, kio diferencas la polan tradukon "duży" kaj "wielki". La vorto "duży" precipe pritraktas dimension kaj vorto "wielki" aliajn kvalitojn. Sed oni povas priskribi per "granda" ankaŭ abstraktaj nociojn kiel "problemo". Ŝajnas ankaŭ, ke vorto "wielki" estas stile pli nobla ol popola aŭ parolata "duży". En pola korpuso Poliqarp "duży problem" estas iom pli ofta ol "wielki problem" (granda problemo). Se ni priskribas personojn kaj oni ne volas priskribi la altecon de homo, oni devas uzi la vorton "wielki". En pola lingvo la vorto "wielki" emfazas ankaŭ la signifon de iu objekto por homoj. Do oni parolas pri "wielka wojna" (granda milito), se temas pri la dua mondmilito. La duopon "duża wojna" mi trovis nur unu fojon. Oni parolas pri "silne trzęsienie ziemi" (forta tertremo), se temas pri fizike mezurebla forteco, sed la tertremon en San Francisco 1906 oni nomiĝas "wielkie trzęsienie ziemi".

Implikoj por maŝina tradukado

Oni vidas, ke la elekto de taŭga traduko estas tre grava por kvalito de tradukado. Unue oni povas elekti por tradukado tiun tradukon, kiu estas oportuna por la plej granda kvanto de tekstoj. Tiu estas traduko, kies senco korespondas tre preciza al la senco de fonta vorto. Precipe la plej ofta vorto de cela lingvo estas la plej taŭga. Sed tio ne solvas la problemon kun la vorto "granda". Ankaŭ se la tradukilo ne povas difini la sencon de fonta teksto, ĝi povas analizi la kuntekston de vorto. Tie helpas la statistika metodo kaj granda korpuso de cela lingvo. Ĉe elekto de la plej taŭga traduko oni analizas la oftecon de kunteksto ĉe cela lingvo. Evidente oni povas komputi, ke la traduko "wielka wojna" estas multoble pli ofta ol la traduko "duża wojna". La malavantaĝo de tiu solvo estas, ke ĝi bezonas longdaŭran kalkuladon. Parton de tiu kalkulado oni povas prepari frue en speciala datumbanko, simile kiel mi tion faris en Esperantilo ĉe bazo de frazpartoj (Menuo Lingvistiko->Uzado de frazpartoj). La dua eblo estas la traduka vortaro de tutaj frazpartoj. Tia vortaro estas tre komforta por difini esceptojn sed iĝus tro abunda por tutaj klasoj de tradukado. Oni do devus difini tutajn seriojn de tradukoj: "granda poeto, granda matematikisto, granda homo, granda instruisto". La lasta eble devenas de kutimaj vortaroj, kiuj simple donas ekzemplojn de uzado aŭ mallongan klarigon. En kaŭzo de komputila prilaboro tiu priskribo devas esti kompreneble de komputilo. La natura kunteksto de adjektivo estas la priskribata substantivo. Ĉar Esperantilo havas ĉe tradukado la kompletan sintaksan arbon, ĝi povas facili trovi koncernan substantivon.

Ekzemple en frazo: "Adam Mickiewicz estas granda pola poeto." la natura kunteksto de adjektivo "granda" estas la substantivo "poeto". Nun oni devas informigi la tradukilon, ke ĉe personoj kaj aliaj difinitaj vortoj, ĝi traduku la vorton "granda" al vorto "wielki". Mi nun enprogramis tiun eblecon en Esperantilo. En traduka vortaro oni povas priskribi en kampo "senco" tiujn aldonajn informojn. Ekzemple por la vorto "granda" ni havas.

traduko senco ordo
duży {kun %persono milito} 2
traduko 1

Nova estas la esprimo "{kun %persono milito}", kiu influas la elekton de sinonimo depende de kunteksto. Tiu esprimo signifas, ke tiu traduko estas uzate, se la priskribata persono estas de tipo "%persono" aŭ estas vorto "milito". Se tiu testo ne sukcesis, la plej grava por elekto de traduko estas la kampo "ordo". En tiu kazo la traduko "duży" havas pli malgrandan valoron al la traduko "wielki", do la traduko "duży" estos uzata. La nocio "%persono" dependas al tiel nomataj semantikaj retojtaksonomio. Esperantilo nun ne enhavas taksonomian sistemon, sed tio estas mia celo por venonta programado. La prototipo estas pro mi la semantika reto de projekto WordNet. En Esperanto oni tre facile povas indiki, ĉu la vorto signifas personon. Oni povas ja ekzameni la sufikson je "ano, ino, isto, estro" aŭ ĉe "-o", aŭ ekzameni ĉu pro radiko la sufikso "-ino" ekzistas (filo, filino). La vera semantika reto por Esperanto estas granda defio. Mi pensas, ke interesa solvo estas aŭtomate aldoni tiujn priskribojn laŭ aŭtomata analizo de pola korpuso. Por tiu mi devis programi almenaŭ minimuman sintaksan analizilon por pola lingvo.

Preciza fonta teksto

Se oni mem preparas la tekston por maŝina tradukado, oni povas eviti la problemojn ĉe tradukado jam dum la kompilo de fonta teksto. La strategio estas uzi ĉiam la plej specialajn vortojn. Do oni povas skribi: "granda komponisto" - "fama, elstara komponisto" "granda princo" - "potenca princo" "granda tertremo" - "forta tertremo" Sed aliflanke tiuj specialaj vortoj estas pli maloftaj, kaj tial la teksto ne estas bone legebla aŭ eĉ tro faka.

Kiom da strategioj plu?

Nun Esperantilo konas kelkajn strategiojn de maŝina tradukado. Tio estas:

  1. Kampo "ordo" ĉe ĉiu traduko
  2. Vortaro de frazpartoj
  3. Reguloj fikse enprogramitaj por plej komplikaj kazoj
  4. priskribo de fako je ĉiu vorto (komputiko, medicino, ...)
  5. priskribo de kunteksto

En la maŝina tradukado konataj estas ankaŭ multaj aliaj strategioj. Nuntempe tre popularaj estas statistikaj metodoj, kiuj tamen bezonas grandajn paralelajn tekstarojn. La demando estas: Kiom da ili estas bezonataj? Mi opinias, ke oni devas kombini multajn strategiojn por atingi bonajn rezultojn. La praktika kaŭzo estas, ke mi ne disponas je altkvalitaj vortaroj kaj produkto de tiuj vortaroj estas tre temporaba. Feliĉe la kompletigon de vortaroj mi povas transdoni al uzantoj. Ankaŭ se mi ne plu disvolvigos la programon, la kvalito de tradukado povus daŭre plialtigi helpe de uzantoj. Mia takso estas nun pretigi la teknikan framon por multaj metodoj.

4.5.2007

Programlingvo „Scheme“

Filed under: programado — artur @ 19:05

Mi ĝenerale interesiĝas pri programaj lingvoj (vidu: enciklopedio de programaj lingvoj) kaj mi lernis kaj provis multe da ili. Unu el la plej malnovaj kaj elstaraj lingvoj estas Lispo. Oni ofte mencias Lispon en diferencaj libroj, sed mi neniam vidis, ke iu uzis tiun lingvon profesie aŭ praktike. Mi jam kelkfoje provis programi ion per Lispo, sed mi ĉiam malsukcesis. La unua problemo estas la elekto de programa medio. Ekzistas multaj Lisp-dialektoj kaj ili ofte tre diferencas. Tiuj programaj medioj por Lispo ne estas ankaŭ komfortaj por uzantoj. Ili havas kutime uzeblecon de unuaj enigmaj programoj de 70-aj jaroj. La erarmesaĝoj estas enigmaj kaj mi ne sukcesis lerni la lingvon. La dokumentaro por Lispo preskaŭ ne ekzistas por iu konkreta medio. La plej konata estas la programo Emacs. Do oni ne povas direkte programi laŭ iu libro aŭ dokumentaro, ĉar la ekzemploj ne funkcias por tiu dialekto, kiun ni ĵus uzas. Tamen en literaturo ekzistas fantastaj priskriboj de eblecoj de tiu lingvo. En unuaj libroj, kiujn mi legis pri Lispo la ekzemploj estis tre matematikaj kaj ofte jam post unu paĝo tre abstraktaj. Mi pensas, ke la ĉefa kaŭzo pro tio estis, ke la aŭtoroj de tiuj libroj mem konstruis la programan lingvon kaj interesiĝis nur por kelkaj aspektoj de lingvo, sed ne pri praktika apliko. Do mi neniam sukcesis konkrete solvi problemojn per tiu lingvo. Mi pensas ankaŭ, ke la precipa solvmaniero de prilaboro per rekursio estas por multaj hodiaŭaj programistoj tute ne konata (Ekzemplo de iu komputila diskutgrupo). La strikte matematika pensmaniero ne estas ankaŭ praktika por programado, ĉar la rezultaj programoj simple estas tro malrapidaj. Ekzemple mi tre miris pri la solvo de problemo, ĉu iu nombro estas para aŭ malpara. Por matematikisto estas evidente, ke

  1. 0 estas para nombro
  2. n estas para, se n-1 estas malpara
  3. n estas malpara, se n-1 estas para
(define (para? n)
   (cond
     [(= n 0) true]
     [else (malpara? (- n 1))]))
(define (malpara? n)
   (cond
      [(= n 0) false]
      [else (para? (- n 1))]))

La programo estas genia, sed se oni pensas, kion faras la komputilo sur tre baza nivelo por plenumi la kalkuladon, tiam oni rimarkas, ke tiu solvo ne estas taŭga. Mi frue programis en Asemblo kaj C. Tial mi scias, ke la plej rapida solvo en alia lingvo estas la testado de lasta bitumo. Ĉar la nombroj jam estas en bituma reprezento, tiu operacio estas tre tre rapida. Do mi precipe konas la funkciadon de komputilo kaj ĝiajn limigojn.
boolean estasPara(int n) { return n & 1 == 1 ? false : true; }
Tamen por granda parto de problemoj Lispo oferas tre abundajn eblojn de abstraktado, kiu helpas tre elegante difini la programon. Mi legis la blogan artikolon The Perils of JavaSchools – Joel Spolsky, kaj tiu artikolo denove vekis mian intereson pro Ŝemo (angle Scheme) (programa lingvo, kiu estas modernigita Lisp). La aŭtoro de tiu artikolo tre bedaŭras, ke hodiaŭaj Java-programistoj ne komprenas tre gravajn konceptojn de informatiko kaj ne kapablas nek programi en tre baza nek en tre abstrakta nivelo. Mi trovis ankaŭ la programan medion DrScheme kaj instruan retan libron How to Design Programs An Introduction to Computing and Programming. Tiu estas vere la unua medio por Ŝemo kaj instrua libro por tiu lingvo, kiuj estis farita por normalaj mortemuloj. Finfine ekzistas bona libro, kiu klarigas la programadon per Ŝemo. Do mi malrapide tralaboras la libron kaj povas per ekzercoj kaj la programa medio tuj apliki la novan scion. Post kelkaj ekzercoj mi vere devas konfesi, ke Ŝemo estas tre eleganta lingvo.

Mi eĉ komprenis kaj mem programis kelkajn variantojn de QuickSort. Mi rimarkis, ke la programo bezonas multe da labora memoro (120 MB) kaj ne estas tre rapida. Tamen, kompare al Java, tio ne estas surpriza afero. DrScheme estas ankaŭ programita por instruaj kialoj kaj rapideco ne estis ilia plej grava trajto. Ekzistas ankaŭ alia libera eldono de Schema, kiu estas eble pli rapida kaj memorŝpara. Tiu estas programo Guile. Kvankam tiu lingvo havis tre fortan aprobon de konata programisto Richard Stallman, ĝi ne estas tre populara kompare al aliaj tn. skriptaj lingvoj.

Mi pensas, ke programado per tiu lingvo estas tiom alia kaj dokumentaro tiom malbona, ke la plejparto de programistoj tute ne havas ŝancojn lerni ĝin. Rimarkinde neniu granda firmao subtenas tiun lingvon kaj precipe funkciajn lingvojn. Nur lastatempe Microsoft en sia .NET subtenas la lingvon OCalm sub nova nomo F#, kiu havas similajn trajtojn kiel Ŝemo. Ankaŭ tiu subteno havas ĝis nun nur akademian karakteron. Do eble tiuj funkciaj lingvoj iam estos ankaŭ gravaj por profesia programado.

Ekzistas ankaŭ alia libro pri la programlingvo Ŝemo Structure and Interpretation of Computer Programs. Sed tiu libro ankaŭ apartenas al libroj, kiujn oni kiel novulo maleble povas kompreni. Mi esperas, se iam mi ankaŭ povus iam legi kaj kompreni ankaŭ tiun libron.

Fine mi sukcesis eklerni Lispon (kiel Ŝemo). Por programistoj tio estas kvazaŭ la sekva ŝtupo de informadika scipovo.

23.4.2007

Nova eldono 0.92 de programo Esperantilo

Filed under: ĝenerale — artur @ 08:33

Esperantilo nun enhavas tezaŭron (aroj de sinonimaj vortoj), kiu povus esti uzate direkte kun redaktado per funkcio „Redaktu->Sinonimoj“ aŭ klavkombino Ctrl-j aŭ per speciala dialogo „Lingvistiko->Esperanta Tezaŭro“. Mi kompilis la tezaŭron aŭtomate de priskriboj de REVO-vortaro kaj plejparte de priskriboj de esperanta ĉeĥa vortaro de Jan Amos Komenský. Kvankam mi korektis kelkcent sinonimojn mane, la tezaŭro daŭre enhavas multe erarojn kaj estos certe la temo de venonta prilaboro. Esperantilo serĉas anakaŭ sinonimojn helpe de germana vortaro per retraduko (esperanta->germana->esperanta).

Sintaksa analizo

Tiu estas la ĉefa objekto de mia laboro. La plibonigoj havas direktan influon sur kvalito de maŝina tradukado kaj uzebleco de gramatika korektado. Tamen sintaksa analizo estas daŭre melferma tasko kaj ekzistas multaj kazoj, kiu bezonas plibonigoj en programo.

  • Esperantilo nun rekonas virajn kaj virinajn nomojn laŭ vikipedia paĝo.
  • Esperantilo strebas rekoni ankaŭ nekonatajn vortojn nur laŭ finaĵo.
  • Kelkaj kazoj de erara rekono de subfrazoj estis korigitaj.
  • Korekto de analizo de frazoj kun „kiel“, ekzemple: Li estas kiel granda domo.
  • Plivastigita analizo de vorteto „nur“.
  • Analizo de frazparto de tipo „10 ĝis 20“.
  • Rekono de personaj nomoj de tipo: Gustavo la Unua, Anna de Rulle, Barbara Górniak
  • Mi plivastigis mian bazon de ekzemplaj frazoj je kelkaj specialaj kazoj.
  • Rekono de subfrazo kun „se“ ankaŭ sen komo.
  • Korekta analizo de vortgrupo: „nur kiam“, „nur se“.

Pola tradukado

  • Reordigo de personaj pronomoj de lasta pozicio al antaŭlasta pozicio.
  • Korekta tradukado de frazpartoj: Kiom alta, tiom alta.
  • Tradukado de vortoj kun „adi“ kaj „ado“ al polaj durativaj (niedokonany) formoj.

20.4.2007

Vortaraj trezoroj en la TTT

Filed under: lingvistiko — artur @ 19:45

Mi lastatempe trovis ĉeĥan esperantan vortaron de Jan Amos Komenský sur tiu ttt-paĝo. La ĉefa paĝo estas nur en ĉeĥan lingvo kaj mi havis multajn problemojn retrovi la paĝon. Feliĉe mi povis ion kompreni la pagon kaj mi sukcesis elŝuti la vortaron.

Do mi pensas, ke tiu vortaro ne estas tre konata kaj vere kaŝita trezoro. La vortaro estas en kelkaj vidpunktoj tre interesa. Ĝi estas libera por nekomerca uzado. Ĝi estas tre abunda (170000 nocioj!). Ĝi estas preparita en formato de programo Exel. Tre agrable por komputila prilaboro estas la strukturo de vortaro. La vortaro definas por unu nocio: radiko, nocio, fako, ĉeha traduko, esperanta priskibo aŭ sinonimoj, ĉeĥa priskribo.

Mia unua penso pri tiu vortaro estis. Ho, ĉu mi ne sonĝas, ĉu tiu vortaro vere ekzistas. Por pola lingvo, do lingvo de lando, en kiu naskiĝis ja Zamenhofo, ne ekzistas komparebla vortaro kaj ĉeha nacio havas tiun grandan bonŝancon havi iun, kiu kreis kaj eldonis tiun vortaron laŭ moderna maniero kaj eĉ permesis al alian uzi ĝin. Se tia vortaro ekzistus por pola lingvo, miaj daŭraj obstakloj pri kolektado de polaj vortoj ne estus necesaj. Kvankam la vortaro pritraktas la ĉeĥan lingvon, ĝi montriĝis tre praktika por miaj celoj. Unue ĝi estas la granda provizio de vortoj. Ĝi povus servi kiel kompara matarialo por aliaj vortaroj. Feliĉe la kreinto de vortaro por ĉiu nocio difinis la radikon de vorto. Ĉeĥa kaj pola lingvo estas tre similaj. Mi povis derivi multajn tradukojn simple per anstatŭigo de kelkaj literoj.

Esperanta lingvo Ĉeha lingvo Pola lingvo
amuza zábavní zabawny
fiziologo fiziolog fiziolog

Post la antaŭigo, mi povis testi, ĉu tiu vorto ekzistas en pola lingvo, poste mi povis aŭtomate krei la liston kun eblaj tradukoj, kiujn mi povas mane tralabori.

Trazaŭro

Due mi pritraktis la esperantan priskribon de nocioj en tiu vortaro. Ofte ili estis sinonimoj de vortoj. Per tiuj informoj kun priskriboj de REVO-Vortaro mi kreis la liston de sinonimoj, kiu estas bazo por mia esperanto-esperanto vortaro. Tia vortaro estas ankaŭ konata kiel trezaŭro (vidu ankaŭ Trezaŭron de UEA). La tiel kreita listo estas tre abunda sed badaurinde enhavas multajn erarojn. Multaj de ili mi korektis, sed aliaj restos sen korekto. Mi esperas, ke kun helpo de tiu listo mi povos iam krei la sencan reton de vortoj, kiu estos necesa por sekva ŝtupo de maŝina tradukado. Nun la trezaŭro en Esperantilo estas la listo kun sinonimoj, unu sinonimo de linio. La linio enhavas vortoj separitaj per simbolo „:“, kiuj apartenas al unu sinonimo.

maldekstra : liva

granda : potenca : ega : kolosa

ĉiutage : en ĉiu tago

becikle : per beciklo : perbecikle

La trezaŭro povas esti uzita per 2 manieroj (En venonta eldono 0.92 de programo Esperantilo). Vi povas uzi la specialan dialogon „Trazaŭro“ per menuo „Lingvistiko->Trezaŭro“ aŭ direkte en teksto per loka menuo „Redaktu->Sinonimoj“ aŭ klavkombino „Ctrl-j“. Tiu listo estas uzata ankaŭ en proceso de maŝina tradukado. La alia valoro de tiu vortaro estas la fakaj priskriboj (Ekzemple: sport, geogr, bot) de ĉiu vorto.Tamen mi havas kelkajn problemojn kun tiu vortaro. Unue la kvanto da nocioj estas tre abunda, ĝi enhavas tre maloftajn vortojn. Multaj de ili mi ne povis trovi nek en aliaj vortaroj nek en la interreto. Do mi ne decidis importi tiujn vortojn al vortaro de Esperantilo.

11.4.2007

Roloj de vorto „eble“

Filed under: lingvistiko — artur @ 18:39

Korekta sintaksa analizo de Esperantilo estas tre grava por aliaj funkcioj. Do kvalito de analizo influas la taŭgecon de gramatika korektado kaj ankaŭ la kvalito de traduko. Ĉe uzado kaj kontrolado de programo mi iom post iom malkovras novajn strukturojn de esperanta lingvo. Ofte montriĝas, ke la primitiva dispartigo de specoj de vortoj inter: Substantivoj, Verboj, Adjektivoj, Adverboj kaj Numeraloj ne estas sufiĉe, se oni volas difini funkcioj de vortoj. Mi ofte devas pritrakti kelkajn vortojn tute speciale. Plej granda parto de tiuj specialaj vortoj apartenas al tiel nomataj primitivaj adverboj. Tiuj vortoj estas ekzemple: tro, ne, tre, eĉ, ankaŭ, ankoraŭ. La pritrakto de tiuj vortoj rezultas pli-malpli 50% de reguloj de sintaksa analizilo.

En la lasta tempo mia atento estas direktita sur la adverbo „eble“. Mi rimarkis, ke Esperantilo ne povas korekte analizi kelkajn frazojn kun tiu vorto. Tiu vorto ne nur rolas la kutimajn funkciojn de adverboj (priskribi verbojn, adjektivoj aŭ aliaj adverboj) sed povas priskribi preskaŭ ĉiujn vortojn. Mi donu kelkajn ekzemplojn.

Li eble estas en domo.
Li parolas pri eble granda libro.
Eble li parolas pri ŝi.
Li parolas eble pri ŝi.
Li parolas pri eble unu libro.
Li volas kiel eble plej grandan veturilon.
Estas eble fari tion.


La lasta ekzemplo de uzado de „eble“ en frazo: „Estas eble fari tion.“ ne estas tre ofta. Ĝi similas al germana: „Es ist möglich das zu machen“. Oni nun pli prefere uzas la varianton „Eblas fari tion.“. Interesaj estas kazoj, kiam „eble“ modifas la numeralon aŭ subjekton. La funkcioj de adverbo „eble“ similas tre al funkcioj de vorteto „ne“.

Li ne estas en domo.
Li parolas pri ne granda libro.
Ne li parolas pri ŝi.
Li parolas ne pri ŝi.
Li parolas pri ne unu libro.


Vorto „eble“ strukture havas tre fortan graviton sur la maldekstra pozicio. Nur prepozicioj estas pli fortaj: „Li parolas [eble [pri ŝi]]“. Adverbo „eble“ aperas ankaŭ kiel najbaro de aliaj primitivaj adverboj: „eble eĉ“, „eble ne“, „eble tro“.

Tradukado de vorto „eble“ al pola lingvo

Diferencaj funkcioj de vortoj ofte evidentiĝas, se oni provas traduki ilin al alia lingvo. Por pola lingvo ni devas diferenci 4 variantojn.

Li eble estas en domo. On może jest w domu.
Li parolas pri eble granda libro.
On mówi o przyposzczalnie wielkiej książce.
Estas eble fari tion. Jest możliwe to zrobić.
Li volas kiel eble plej grandan veturilon. On chce możliwie największe auto.

Aliaj similaj vortoj

Mi supozas, ke ankaŭ aliaj adverboj havas tiujn vastajn kapablojn. La kandidatoj estas vortoj: „verŝajne“, „certe“, „supozeble“, „ekzemple“, „ekzakte“. Ĉiuj tiuj vortoj esprimas certecon pri sekva esprimo. Tio kondukas al novaj strukturoj, kiuj ne bone kongruas kun tipaj frazpartoj. Mi traserĉos la tekstaron je tiuj vortoj.

30.3.2007

Esperantilo sur Linukso

Filed under: ĝenerale,programado — artur @ 18:54

Mi ĝis nun ne preparis la instalan pakedon por linukso. Multaj uloj uzas la programon sur linkuso. Mi mem programas kaj plejparte uzas la programon sur linukso. Tamen mi scias de elŝuta statistiko de servero, ke plej multaj homoj tamen uzas la vindozon. La instalado sur linukso estas sufiĉe facila por uzantoj de tiu sistemo. Oni devas elŝuti la dosieron esperantilo.bin kaj la dosieron vortaro.db.zip en unu dosierujo kaj lanĉi la programon „esperantilo.bin“. Por lanĉi la programon, vi devas enmeti la lanĉrajton por la dosiero „esperantilo.bin“. Oni tion faras per komando

chmod u+x esperantilo.bin.

Poste oni povas lanĉi la programon per komando

./esperantilo.bin

Pri la baza tekniko de programo mi skribis en mia frua blogo. Uloj, kiuj interesas pri programado de Esperantilo, povas uzi la EsperantiloSDK (more…)

26.3.2007

Nova eldono 0.91 de programo „Esperantilo“

Filed under: ĝenerale — artur @ 20:14

Novaĵoj kaj ŝanĝoj en tiu eldono.

Sintaksa analizo

  • Analizo de frazpartoj de tipo „pli da …, tro da …“
  • Analizo de nombraj jaroj „En 1999, Ekde 2005“
  • Korekta analizo de subfrazoj sen komoj de tipo: „Se tio funkcios oni uzos tion“ aŭ „Se mi havus la libron, kiun vi havus, mi estus feliĉa“.
  • Analizo de i-frazojpartoj kun „eble“. „Estas eble fari tion“.
  • Analizo de frazpartoj kun „malplej“.

Gramatika kontrolado

  • Sugesto por misuzo de pronomoj „mi patro -> mia patro“.
  • Sugesto por forgesita akuzativo en tablo-vorto: „Kio vi vidas? -> Kion vi vidas?
  • Aliaj novaj testoj.
  • Novaj regulaj esprimoj por kelkaj eraroj (ekz: dekunu -> dek unu)

Tradukado

  • Plivastigo kaj kompletigo de pola vortaro je ĉirkaŭ 1500 vortoj.
  • Tradukado de esprimoj: “ … devas ne …“
  • Tradukado de „ĉio ĉi“, „devinti->powinien“, „ĉ.->ok.“
  • Korekto en fleksio de polaj substantivoj de grupo 89.
  • Misfunkcio en traduko de nombroj estas riparita.
  • Korekto en traduko de numeraloj de vira genro „du soldatoj = dwóch żołnierzy“.
  • Uzo de esperanto-esperanto vortaro ankaŭ por vortoj kun finiloj.

Novaj funkcioj

  • Funkcio „Wiki al HTML“, kiu povas transformigi la tekston laŭ formato de vikipedia viki al html formato. (menuo Korektado->HTML-XML->Wiki al HTML)
  • Uzado de Esperantilo en TTT-Servilo aŭ kiel TTT-Servilo. (Legu pli tie)
  • Esperantilo enhavas nun portugalan vortaron. Mi dankas al Vitor Luiz Rigoti dos Anjos por la vortlisto.

Kiel kutime mi petas por erarraportoj kaj rimarkoj.

20.3.2007

Gepatra lingvo, Ponta lingvo kaj Tradukado

Filed under: ĝenerale — artur @ 18:50

Mia gepatra lingvo estas pola lingvo, sed de multaj jaroj mi loĝas en Germanio. Mi forveturis Polandon, kiam mi havis 17 jarojn. Mi bezonis pli ol 2 jarojn por lerni la germanan lingvon por senĝene komuniki per ĝi. Tio estas averaĝa tempo por lerni la fremdan lingvon en iu ŝtato, do mi ne estas nek talenta nek maltalenta en tiu afero. Tamen ĝis nun, kiam mi jam loĝas en Germanio 16 jarojn, mi havas fremdan polan akcenton kaj eĉ ne sukcesis paroli tute senerare. Tio ne signifas, ke mia pola lingvo estas perfekta. Ankaŭ Poloj rapide rimarkas, ke mi havas ian strangan akcenton kaj ili ridetas pri miaj eraretoj. Mi havis grandan ambicion regi la germanan lingvo sur nivelo de mia pola lingvo. Mi tralegis la monton de germanaj libroj kaj eble mia provizo de vortoj estas pli granda ol tiu de averaĝa germano, sed tamen ĉiu infano tre rapide ekkonas, ke mi estas fremdulo. Interese estas, ke en germanaj kursoj de lingvo la bona prononcado preskaŭ ne estis la temo de lecionoj. Do homoj kun tre bona aŭdkapablo sukcesis paroli la lingvon kun korekta akcento, la aliaj estas eĉ post jaroj miskomprenataj. Germanoj ofte miras, ke iu fremdulo konas la tutan germanan literaturon kaj havas grandegan provizon de vortoj kaj tamen ne sukcesas elparoli la bazajn germanajn fonemojn (äöü). Post multaj jaroj mi ekkonis de mia edzino, ke la lernado de prononcado estas ebla kaj eĉ ekzistas profesiaj ekzercoj kaj metodoj por lerni tion. Mi miras do, kial la germanaj kursoj tiun temon preskaŭ tute ne pritraktas, kvankam la bona prononcado estus la granda kondiĉo por integriĝo en tiu socio.

Mi ne povas nur efektive diri, kiun lingvon mi nun pli bone regas. En mia profesia kampo, tio estas informatiko kaj ekonomio, mi pli volonte uzas la germanan lingvon. Ankaŭ mi ne sukcesos skribi oficialan leteron (eble peto al administracio) en pola lingvo, sed la burokratan germanan lingvon mi nun komprenas. Fakajn librojn mi plej volonte legas en germana lingvo, se ili estas tradukitaj de angla lingvo. La originalaj germanaj fakaj libroj estas ofte ne legeblaj pro troŝarĝata stilo. Kiam mi legas polajn fakajn librojn, mi ofte ridetas pri polaj fakaj vortoj. Nun mi havas nur malofte la okazon paroli per pola lingvo. Ofte eĉ kun miaj malaltaj polaj geamikoj, kiuj ankaŭ loĝas en Germanio, mi parolas germane.

Nun mi uzas regule kelkajn lingvojn eĉ en unu tago, kvankam mi ne estas tradukisto kaj lingvo ne estas mia profesio. Mi parolas per rusa lingvo kun rusaj programistoj, mi devas krei kaj legi dokumentaron en angla lingvo, en ĉiutaga vivo mi plej ofte uzas la germanan lingvo, kun gepatroj kaj dum estado en Polando mi uzas la polan lingvo. Mi ne forgesas pri Esperanto, kiun mi uzas precipe nur por legado de artikoloj en la reto. Librojn mi legas plej volonte en germana kaj pola lingvo. Tiujn lingvojn mi uzas do diversmaniere kaj por diversaj kialoj. Tio estas eble nenio malkutima en nia hodiaŭa tutmondo. Interesaj estas por mi la observadoj rilate al germana kaj pola lingvoj, kiuj estas la plej gravaj en mia vivo. Mi kelkfoje miregis, ke la sama teksto, kiun mi legis en pola lingvo kaj en germana lingvo, efikas sur mi alie. Tio ne dependas ankaŭ de kvalito de traduko. La informoj (enhavo) de tekstoj estas la samaj, tamen post la legado mi havas aliajn sentojn al la temo. Ĝenerale la germana teksto havas pro mi alian signifon ol la pola teksto. Tiu signifo kuŝas en kampo de emocioj kaj efektive oni tre malfacile povas tiun fenomenon klarigi. Mi eble pli bone komprenis tiun, kiam mia edzino, kiu ne estas Polino, foje diris el mi en mia gepatra lingvo: „Mi amas vin“. Tio estis tute alia travivaĵo ol la sama frazo elparolata jam frue de la sama persono en alia lingvo.

Mi estas granda ŝatanto de pola aŭtoro „Stanisław Lem“. Antaŭe mi ne povis en Polando trovi ĉiujn liajn librojn, do mi komencis legi tiujn librojn en germanaj tradukoj. Kvankam mi povas diri, ke mi bone komprenas en germana lingvo, mi pli volonte legas la polan originalon. La libro en pola lingvo ŝajnas al mi esti tute alia libro. Por mi estas evidente, ke gepatra lingvo havas alian signifon ol ĉiu sekva lingvo. La ligoj de gepatra lingvo al emocioj estas pli grandaj, kaj oni ne povas ilin konscie kontroli. La gepatra lingvo kuŝas pli profunde en nia konscio. La alia pruvo estas ankaŭ la signifo de „fekvortoj“ pro fremlingvanoj. Mi lernis, ke kelkajn vortojn en germana aŭ rusa lingvo oni prefere ne uzu. Tamen, nur kiam mi uzus la polajn „fekvortojn“, mi sentus la enan honton.

La alian similan sperton mi havis kun la testado de maŝina tradukado de mia programo Esperantilo. Mi ofte tralegis la saman tekston en Esperanta lingvo kaj iom poste en pola lingvo, kiu estis maŝine tradukita. Kvankam la kvalito de traduko ne estas bona, tamen mi ofte miris pri la sento de teksto, kiun mi spertis nur en pola traduko. La diferencoj estas ju pli grandaj des pli grandaj estas emocioj ligitaj kun la teksto. Esperantan tekston, kiu priskribas la mizeron de homoj en iu lando, mi povas pritrakti politike kaj pragmatike. La kunsenton kun tiuj homoj mi havus pli ofte, se la teksto estus en gepatra lingvo.

Por mi estas tre evidente kiel grava estas por nia konscio la gepatra lingvo. Mi estas tre kontenta, ke Esperantistoj subtenas la gepatran lingvon, per tiu, ke ili subtenas la diversecon de lingvoj. Tio bone ludas kun koncepto de Esperanta lingvo kiel ponta lingvo. Sed tio ankaŭ montras al mi kiel limigita estas la efikeco de ponta lingvo kompare al gepatra lingvo. Efektive por atingi la homojn en tuta skalo oni devas traduki la tekstojn al gepatra lingvo. Vasta uzado de ponta lingvo sen tradukado plimalriĉigis la homojn je emocioj. Mi ne povas prijuĝi ĉiujn uzantojn de pontaj lingvoj. Mi ne scias, ĉu ekzistas Esperantistoj, kiuj per Esperanta lingvo povas senti tiel profunde kiel per gepatra lingvo. Ankaŭ nuntempe angla lingvo estas la plej ofte uzata ponta lingvo. Ĝi estas por multaj homoj ponta lingvo, sed teman ne plej konvena ponta lingvo. Mia supozo estas, ke la ponta lingvo estas nur bona helpilo, se ne ekzistas alia alternativo. Mi spertis, ke estas pli avantaĝe paroli kun rusoj ruse, eĉ se ambaŭ flankoj parolas bone anglan lingvon. La kazo, ke almenaŭ unu de flanko povas uzi la gepatran lingvon, estas pli avantaĝa ol ambaŭ flankoj devus uzi fremdan por si lingvon. La komuniko iĝas en tiu kazo pli vigla. Ekzistas kazoj, kiam oni konscie ne volas, ke emocioj estas gravaj, ekzemple ĉe intertraktoj, en tiu kazo la tute fremda lingvo aŭ ponto lingvo estas avantaĝa. Tio je estas escepta situacio. Mi mem ne kredas, ke komuniko sen emocia nivelo, estas vere plena komuniko. Fine ambaŭ flankoj de komuniko ne estos kontentaj. Se komuniko iĝas en bona volo kaj reciproka respekto, neniu flanko ne volas profiti je pli bona kono de lingvo. La argumento, ke ponta lingvo iĝas la flankoj de komuniko pli egala ĉe uzado de lingvo, estas nur ŝajna argumento, ĉar ĉiam ekzistas homoj, kiuj povas pli aŭ malpli bone paroli. En realo sen reciproka respekto la ponta lingvo ne estas utila.

Tie leviĝas la demando, ĉe la graveco de gepatra lingvo kaj maleblecoj de ponta lingvo estas konscia por Esperantistoj. Kiel kutime oni observas kelkajn fluojn. Iuj volas iĝi Esperanton samnivela lingvo al gepatraj lingvoj. La ekzisto de denaskaj parolantoj de Esperanto estas por ili grava argumento. Mi vere dubas, ke oni povas kompari denaskajn Esperantistojn kun aliaj denaskuloj. Unue por la gepatroj ofte Esperanto estas nur fremda lingvo, due gepatroj ne estas solaj, kiuj influas la lingvan evoluon de infanoj. La vasta familio, urbo kaj najbara socio havas poste pli gvidan rolon ol gepatroj. Nun ne ekzistas tia longdaŭra tute esperanta vasta medio por paroli pri denaskaj esperantistoj. Ankaŭ ĉe tiu afero ekzistas streboj transformiĝi la grupojn de interesantoj al veraj civitoj, kies gepatra lingvo estus Esperanto. En la simila direkto celas homoj, kiuj bonvenas la naturan evoluon de Esperanto, per kiu fine la Esperanto atingus la statuson de gepatra lingvo. Mi estas sufiĉe sindetenema al tiuj streboj, kvankam ĉiu estas libera tion fari. Oni ne uzu (aŭ misuzu) la pontan lingvon por krei novan naciecon, religion aŭ ismon. Por krei novan socion kun novaj pli bonaj homoj. Tio estas utopio. La alia grupo de Esperantistoj, kiu estas pli granda, vidas en Esperanto eĉ la solan eblon savi la gepatrajn lingvojn. En tiu kontesto mi ofte miras pri vasta kreado de arta literaturo en Esperantujo. Tiu havus ja nur sencon, se tiuj tekstoj en la ponta lingvo estus fine tradukataj al gepatraj lingvoj. En tiu senco Esperantistoj estus la elito, kiu preparas kaj tradukas tekstojn. Mi povas ja admiri la teknikon kaj formon de iu Esperanta poeziaĵo, sed neniam tiu poeziaĵo povus anstataŭigi la efikecon de gepatra lingvo. Ĉu poeziaĵo en Esperanto estas pura skribemo (pole: grafomania) aŭ nur antaŭstupo al fina traduko, mi tion ne scias. Efektive oni ne skribas en Esperanto por atingi la plej grandan grupon de homoj. Por mi la ĉefa taŭgeco de Esperanto estas tiu de ponta lingvo. Tiu lingvo taŭgas bone por efektive komuniki sur faka nivelo sen uzado de tradukistoj kaj peniga longa lernado. Tial mi pli atendus, ke Esperanto estus pli sukcesa en faka literaturo, scienco aŭ tekniko. Vere la plejmulto de Esperantistoj ne estas teknikistoj sed idealistoj kaj mondoplibonigistoj. Kaj por tiuj lastaj homoj Esperanto iĝis eĉ pli kara ol la gepatra lingvo. Paradokse estas tiuj idealistoj kaj ne praktikemuloj, kiuj savis tiun lingvon de morto. Oni ne atendu, ke por ĉiu homo Esperanto estus io pli ol ponta lingvo.

Mi ne atendas, ke la komunikado tra ĉiuj kanaloj (sur ĉiu nivelo) estas ebla per ponta lingvo. Tamen estas tre ĝojige, kiam oni spertas, ke oni povas direkte komuniki kun fremduloj per tiu grandega lingvo.

« Newer PostsOlder Posts »

Powered by WordPress