API por La Simpla Vortaro

28 sep

Post kelkaj petoj, mi aldonis JSON-an API-on al La Simpla Vortaro!

Se vi estas programisto, kaj vi volas uzi la difinojn, serĉilojn, aŭ vortfaradilon, ili haveblas!

La plenaj detaloj estas tie ĉi: http://www.simplavortaro.org/informo/api

La Simpla Vortaro: La Plena Rakonto

29 jan

Mi skribis eseon en la angla pri kiel mi kreis La Simplan Vortaron. Ĝi estas en la angla, plejparte ĉar la plejparto de la enhavo jam estas skribita Esperante en ĉi tiu blogo.

Ĉiukaze, se vi scivolas kaj povas legi la anglan: Building a next-generation Esperanto dictionary.

Mi verŝajne tradukos ĝin, sed mi ankoraŭ ŝanĝetas la tekston.

La Simpla Vortaro — versio 2

19 dec

Hura! Mi ĵus finis la duan version de La Simpla Vortaro.

Jen la novaj funkcioj:

  • Oni povas serĉi vortojn el aliaj lingvoj.
  • Oni povas vidi vortojn kun tradukoj.
  • Estas nova ‘mi sentas min bonŝanca’ butono por kiam oni volas iri rekte al vortpaĝo.
  • Multaj cimoj forigitaj.

Notu ke la alialingva serĉo bezonas ke oni uzas la ĝustan majusklecon. Mi ne havas bonan solvon por majuskleco de ĉiu lingvo en la ReVo dosieroj.

Kiel krei vortfaradilon — dua parto

5 dec

Se oni uzas La Simplan Vortaron hodiaŭ, oni noticias ke la vortfarada serĉo funkcias bone*. Tamen en mia lasta afiŝo pri la vortfaradilo, mi diris ke mi havis problemojn kun multaj eblecoj. Do, kiel mi solvis ĉi tion?

La Defio

Plejofte (pli ol 75% da vortfaradaĵoj) nur estas unu ebleco. ‘Malsanulejo’ ne povas esti io ajn krom ‘mal-san-ul-ej-o’. Tamen ekzistas vortoj kun multaj eblecoj laŭ mia listo de radikoj:

Persone: ‘person-e’, ‘per-son-e’, ‘pers-on-e’

Unue, mi esperis ke mi povus simple ĉiam elekti la ebelecon kun la malplej radikoj. Ĉi tio ofte helpas, sed ne ĉiam:

Homarano: ‘hom-ar-an-o’, ‘homa-ran-o’, ‘ho-mar-an-o’

Oni povus argumenti ke ‘ho’ devus ne esti en la listo de radikoj por vortfarado, sed pli bonas havi ĝeneralan solvon.

La Solvo

Anstataŭ simple ordigi la eblecojn laŭ la kvanto de radikoj, mi bezonis pli inteligenta ordiga metodo. Unue, mi kolektis liston de vortfaradaĵoj kiu havas pli ol unu ebleco en mia vortfaradilo.

Jen la listo:

homarano, hundomalfermilo, persone, altabligi, manĝilaro, renovigi, ripozejo, neniigi, pintigi, senlaborulo, ĉirkaŭrigardi, eksilentigi, intermiksiĝi, memkompreneble, gastigema, malrapidigi, koketulino, bovinejeto, kielvifartulo

Due, mi skribis malgrandan programon, kiu testas ĉiun vortfaradaĵon en ĉiu tiu listo. Ĝi ankaŭ enhavas komarliston de la ĝustaj rezultoj, kiun mi faris sen ilo.

Trie, mi eksperimentis ĝis mi havas bonan metodon por poentigi ĉiun rezulton de la vortfaradilo. Mi kalkulas ‘malbonecon’ por ĉiu ebleco. La formulo estas:

malboneco = (kvanto de radikoj) – 0.5 * (kvanto de afiksoj)

La radikoj kiujn mi konsideras kiel afiksoj estas: –ig-, -il-, -ul-, -ej-, -in-, -an-, -ar-, -ant-, -int-, -ont-

Kompreneble, estas aliaj afiksoj, sed ili ne kaŭzas problemojn. Ekzemple, sen la poentiga metodo, la vortfaradilo preferus -tig- ol -ig- sed bo- ne havas alian radikon kun simila literumado.

Do, la vorto ‘homarano’ povus esti ‘hom-ar-an-o’ (malboneco de 3), ‘homa-ran-o’ (malboneco de 3) aŭ ‘ho-mar-an-o’ (malboneco de 3.5).

La Simpla Vortaro simple montras la du eblecoj kun la malplej malboneco. Ofte la dua estas sensenca (‘inteligent-a’, ‘in-tel-ig-ent-a’) sed iufoje ĝi havas sencon (‘koleg-o’, ‘kol-eg-o’). Mi ne havas metodon por distingi la du tipojn.

Kio ankoraŭ ne funkcias

Mia listo de eblaj vortfaradaĵeroj enhavas -o kaj -a vortoj. Tiel la vortfarada serĉo povas kompreni vortojn kiel ‘dormosako’ kaj ‘ĝustatempe’.

La vorto ‘posteulo’ enhavas -e vorton kiel radiko, sed mi ne aldonis -e vortojn al listo ĉar mi ne kredas ke aliajn tiajn vortojn ekzistas. Do oni ne povas serĉi ‘posteulo’ hodiaŭ per la vortfarada serĉo.

Simile, ‘kielvifartasulo’ kaj ‘vivui’ enhavas plenajn verbojn kiel radikoj. Mi ne havas verbojn kun finaĵojn en mia listo ĉar ĉi tiaj vortoj estas tre malkomunaj.

* Laŭ mia scio. Se vi trovis ekzemplon, kun kiu ĝi ne kalkulas la ĝustan rezulton, bonvolu informi min.

La Simpla Vortaro v1.0

30 nov

Hura! Kun granda plezuro mi povas anonci la unuan version de La Simpla Vortaro!

Se vi ne legis miajn pli fruajn blogafiŝojn, jen la avantaĝoj de mia vortaro:

  1. Ĝi enhavas literumilon.
  2. Oni povas uzi supersignojn, la x-sistemo aŭ la h-sistemo.
  3. Oni povas serĉi vortojn kun -j kaj/aŭ -n finaĵoj.
  4. Oni povas serĉi verbojn kun -i, -is, -as, -os, -us, -u finaĵoj.
  5. Oni povas serĉi vortfaradaĵojn.
  6. Oni povas ligi rekte al serĉoj aŭ vortoj (ekz: http://www.simplavortaro.org/?serĉo=vortaro).
  7. Ĝi enhavas malpli da mallongigoj.

Mi esperas ke ĝi plaĉas al vi, kara leganto. Ne hezitu sendi al mi viajn pensojn kaj ideojn.

Jen la ligilo de la ĉefpaĝo: http://www.simplavortaro.org/

La Aspekto De La Simpla Vortaro

14 nov

La preteco de La Simpla Vortaro proksimiĝas. Ĉi-semajnfine mi pripensis aspekton. Jen la ĉefpaĝo:

Mi konkludis ke mi bezonis aldoni iom da koloro por ligiloj. Mi ankoraŭ ne tute certas pri la grandeco de la tiparoj.

Jen la serĉpaĝo:

Notu ke oni ne devas serĉi la infinitivon nek uzu supersignojn. Ankaŭ, mi nun provas kalkuli la plej verŝajnan eblecon de vortfarado. Mi ankoraŭ ne certas pri kiel montri vortfaradajn eblecojn: ĉu mi konvertu al supersignoj por beleco, aŭ ĉu konservu la originalan skribsistemon por klareco (la bildo montras konservadon)?

Restas problemoj por tabelvortoj. La vortfaradilo nun funkcias bone kun -j kaj -n finaĵoj (mi blogos pri ĉi tio pli poste). Por normalaj o-vortoj, ĝi enstrekigas ĉi tiel: ‘ge-edz-oj’. Sed kion fari por ‘ĉiuj’? Ĉu ‘ĉi-uj’ (pli simila ol aliaj substantivoj) aŭ ‘ĉiu-j’ (eble pli klara)?

Kaj jen la vortpaĝo:

Ne estis facila elĉerpi la ekzemplojn, sed mi sukcesis. Mi ankaŭ decidis skribi ‘transitiva’ anstataŭ ‘tr’ por klareco (ne montrata en ĉi tiu bildo). Notu ke la subdefinoj estas numerata laŭ la esperanta aboco.

Restas malgranda cimo pri pozicioj de la vortoj: notu ke la vorto bildo estas rekte sub ‘b.’ anstataŭ pli dekstre.

Mi esperas ke vi estas kiel ekscitata kiel mi. Mi lanĉos baldaŭ, post mi forigas la lastajn cimojn.

Kiel krei ilon de vortfarado

11 okt

Se oni serĉas la vorton plibonigi en la vortaro de Lernu, ĝi respondos ĉi tiel: pli-bon-ig-i. Utile. Tamen se oni serĉas la vorton plidolĉigi, la vortaro ne helpos onin. Do, mi demandis min mem: ĉu eblas krei ĝeneralan ilon por vortfarado?

Jen esperanta ŝerco (ne estas la plej bona!):

Kial ĝirafo neniam enuas?

Ĉar ĝi havas kolegon.

Kolego estas bona ekzemplo de multsenca vorto. Por trovi ĝin en vortaro, oni unue serĉas la vorton kolego en vortaro, kaj kompreneble ĝi estas tie. Poste, oni serĉas en la vortaro radikojn, kaj trovas nur la radikon kol- (ĉar ne ekzistas radikoj: ko-, kole-koleg-). Fine, oni serĉas simile la ceteron -eg- kaj ekkomprenas la ŝercon.

Komputiloj povas fari simile.

Aŭtomata vortafarado

Mi kreis programon kiu faras ĉi tiele:

Por la vorto kolegon:

  1. Forigi la finaĵon: koleg- (ĉi tiu tasko estos temo por alia blogafiŝo)
  2. Serĉi ĉiun eblecon en listo de radikoj: k-, ko-, kol-, kole-, koleg-
  3. Konservi ĉiun trovitan radikon: kol-, koleg-
  4. Ripeti la serĉon por la restantaj literoj (post kol- en ĉi tiu kazo): e-, eg-
  5. Kunmeti la rezultojn: koleg-o, kol-eg-o

Defioj

Do, kio estas la problemoj de ĉi tiu metodo?

Mi nur antaŭvidis la problemon de vortfarado kun neradikoj (kiu estas diskutata en PMEG). Ekzemploj de ĉi tiaj vortoj estas birdokanto kaj ĝustatempe. La solvo estas aldoni o-vortojn kaj a-vortojn al ‘la listo de radikoj’, kiu do nun estas listo de vorteroj.

Tamen, dum programado mi kredis ke oni ĉiam povas kalkuli la vorton kiu rilatas al la radiko. Interese, la vivo ne estas tiel simpla. Pripensu la vorton novajaro. Ĉu ĝi signifas freŝa jaro aŭ jaro de steleksplodo? Oni ne scias sen kunteksto. Mi malkovris 9 ĉi tiajn vortojn en ReVo: sumo, halo, nova, togo, vila, koto, metro, polo, kaj alo. Ili ĉiuj estas ambaŭ radikoj kaj plenaj vortoj sed kun tute malsamaj sencoj! La solvon mi elektis estis ĉiam preferi la pli longan, do en ĉi tiu ekzemplo la kodo decidas ke nova- estas radiko kaj ne plena vorto.

La alian problemon mi malkovris, estas ke ĉi tiu metodo ofte trovas tro da eblecoj kiu ne vere validas. Antaŭnelonge mi lernis ke persone estas dusenca vorto, aŭ person-eper-son-e (mojose, ĉu ne?). Tamen mia ilo trovas tri eblecojn: la menciitaj du, kaj pers-on-e. Nu, perso estas vorto, sed -on- estas nur por vortoj kiuj rilatas al kvantoj. La situacio estas pli malbona por pli longaj vortfaradaĵoj: la (plejparte ŝerca, menciita en IRCa konversacio) vorto hundomalfermilo havas multajn rezultojn:

hundo-mal-ferm-il-o
hundo-mal-fer-mil-o
hun-dom-alf-er-mil-o
hun-dom-al-ferm-il-o
hun-dom-al-fer-mil-o
hun-do-mal-ferm-il-o
hun-do-mal-fer-mil-o

Por ĉi tiu problemo mi ne trovis bonan solvon. La ilo ne konas la sencojn de la radikoj kaj tial ne povas forĵeti la sensencajn eblecojn. Tre ofte, la ebleco de la malplej radikoj estas ĝusta. Ĉi tio ne perfektas tamen: mi legas (eble intence strangajn) vortojn de aliaj espertantistoj kiel tra-fike kaj homa-rano. La plej bona solvo estus ordigi la rezultojn per populareco de la radikoj*. Mi ankaŭ konsideras la ideon ke la uzanto povus helpi per aldonado de streketoj.

(*Se vi havas ekzempleron de Microsoft Access, bonvolu kontakti min!)

Restanta laboro

La vortaro malrapide promsimiĝas pretecon, sed eĉ ĉi tiu parto ankoraŭ ne finiĝis. Mi planas aldoni flekseblecon de skribsistemo, kaj la tuta vortfaradilo ankoraŭ bezonas multe da testado. La finita vortaro estos uzebla ĉe simpla vortaro .org sed ĝis tiam mi bonvenas testindaĵojn por ĉi tiu ilo.

Mi diris tion sed celis tion ĉi

28 sep

Imagu ke vi estas komencanto kaj ĵus legis la vorton ‘bedauru’. Ĉi tiu vorto validas, tamen oni nur povas trovi ‘bedaŭri’ en vortaro.

Iu ajn skribsistemo

Do, unue, mi volis ke oni povus uzi ajnan skribsistemon. Bedaŭrinde oni nur povas facile ŝanĝi x-sistemajn vortojn al vortoj kun supersignoj. Estas malpli facila ŝanĝi h-sistemajn vortojn. Mia solvo simplas. El la vortaro  (kiu uzas supersignojn) mi kreas liston de ĉiuj vortoj kun aŭ supersignoj aŭ x-sistemo aŭ h-sistemo (se ili malsamas):

aĉeti ->

aĉeti, acxheti, acheti

bedaŭri ->

bedaŭri, bedauxri, bedauri

ĉirkaŭ ->

ĉirkaŭ, cxirkaux, chirkau

domo ->

domo

Nun kiam uzanto serĉas per ajn sistemo mi povas trovi la deziratan vorton.

Iu ajn tenso

Tamen mi ne povas garantii ke uzanto tajpos verbojn kun i-finaĵoj. Do mi ankaŭ bezonis permesi as-finaĵojn, is-finaĵojn k.t.p. Denove mi kreas liston de ĉiu ebleco (kaj poste aldoni ilin en ĉiu skribsistemo):

aĉeti ->

aĉeti, aĉetis, aĉetas, aĉetos, aĉetus, aĉetu ->

aĉeti, aĉetis, aĉetas, aĉetos, aĉetus, aĉetu, acxeti, acxetis, acxetas, acxetos, acxetus, acxetu, acheti, achetis, achetas, achetos, achetus, achetu

bedaŭri ->

bedaŭri, bedaŭris, bedaŭras, bedaŭros, bedaŭrus, bedaŭru ->

bedaŭri, bedaŭris, bedaŭras, bedaŭros, bedaŭrus, bedaŭru, bedauxri, bedauxris, bedauxras, bedauxros, bedauxrus, bedauxru, bedauri, bedauris, bedauras, bedauros, bedaurus, bedauru

celi ->

celi, celis, celas, celos, celus, celu ->

celi, celis, celas, celos, celus, celu

Iu ajn finaĵo

Ĉi tio estas pli bona, sed oni povas fari plu. Verboj povas fini kun -i, -is, -as, -os, -us aŭ -u, sed indas ankaŭ pensi pri substantivoj, adjektivoj kaj adverboj (mi ne volas uzi la vortojn ‘o-vorto’ k.t.p. kiel PMEG ĉar mi ankaŭ parolas pri oj-vortoj k.c.). Do mi ankaŭ kreas similajn listojn por ili:

fromaĝo ->

fromaĝo, fromaĝon, fromaĝoj, fromaĝojn ->

fromaĝo, fromaĝon, fromaĝoj, fromaĝojn, fromagxo, fromagxon, fromagxoj, fromagxojn, fromagho, fromaghon, fromaghoj, fromaghojn

blua ->

blua, bluaj, bluan, bluajn ->

blua, bluaj, bluan, bluajn

antaŭe ->

antaŭe, antaŭen ->

antaŭe, antaŭen, antauxe, antauxen, antaue, antauen

Limoj

Kompreneble, ekzistas vortoj kiuj havas finaĵojn kie la finaĵo ne signifas la vortotklason. La vorto ‘la’ havas -a finaĵon, sed mi tute ne volas aldoni al mia listo la vortojn ‘laj’, ‘lan’ ‘lajn’. Do mi zorgeme legis ReVo, kaj provis trovi ĉiu de ĉi tiaj vortoj en ĝi:

Neverbaj i-vortoj:  mi, vi, li, ŝi, ĝi, oni, ili, si, ci, ĉi, ahi, fi, ĥi, -ologi, pli

Nesubstantivaj o-vortoj: ho, do, po

Neadjektivaj a-vortoj: ta ta ta, hura, pa, aha, ba, ha, tra, la, ja

Neadverbaj e-vortoj: de, je, ĉe, he, ve, ehe, ke, ne, tre, Kabe

Verŝajne mankis iom da ili en ĉi tiu. Ĝi ne gravas (kvankam plaĉus se mi havus plenan liston) ĉar kiam mi malĝuste aldonas finaĵojn al vortoj, mi simple pligrandigi la verŝajnecon de ili aperos en la vortara serĉo.

Nenombraj vortoj ankaŭ estas problemo tie ĉi. Oni ne povas diri ‘laktoj’, sed ĝi aperas en mia listo. Denove ĉi tiu ne gravas ĉar ĉi tiuj listoj nur helpas serĉadon, ne ŝanĝas difinojn.

Mi ankaŭ eksciis ke korelativoj malsamas (ekz. ‘kiu’ agas kiel adjektivo) do mia softvaro traktas ilin aparte.

Eĉ pli bona

Do, mi nun havas solvon por trovi la vorton ‘bedauru’. Sed kion oni faras kiam la literumado estas malĝusta (ekz. ‘beduaru’)? Ĝi ankoraŭ estas trovebla, ĉar mi povas uzi mian literumadan korektilon kun la listo! Hura!

Poemo: Lazaro Ludoviko

19 sep

Mi ĵus trovis ĉi tion en mia domo:


Vidu, Lazaro Ludoviko,
Jen konflikto en Bjalistoka plac’.
Kial najbar’ devas esti malamiko?
Kion fari, ke regu pac’?
      Vi pensas…

“Malamikete de la nacjes.
Kadó, kadó, jam temp’ está!
La tot’ homoze en familje
Konunigare so debá.

Skribu, Lazaro Ludoviko,
en kajeron, vortojn de vigla kant’!
Novlingva via poemo kun muziko
varbos nin al pra-Esperant’.
      Ni kantos:

“Malamikete…” ktp

Aŭdu, Lazaro Ludoviko,
aplaŭdadon de la aŭskultintar’!
Pro via ĵusa inspira retoriko
eĥas ĝi tra Bulonj’-ĉe-Mar’
      Aŭskultu!:

“Malamikete…” ktp

Tenu, Lazaro Ludoviko,
ĉiam firman kredon en via kor’
ke, spit’ al ĉia malica polemiko,
venkos vi en decida hor’.
      Memoru:

“Malamikete…” ktp

Kredu, Lazaro Ludoviko,
al luktado baldaŭ jam venos fin’,
kaj paca mond’ konvinkiĝos pri l’ logiko
de l’ mondlingvo, kaj benos vin, –
      – kiu diris:

“Malamikete…” ktp

Ho nacioj, ĉesu malamiki,
falu, falu baroj inter vi!
Jam paciĝu la Homaro, kaj fariĝu
unu granda famili’!


Fakte, ĉi tiu ne estas poemo sed kantotekso verkita de Terry Page. Tamen mi aŭdis ĝin kiel poemo, kaj ĝi estas la unua fojo ke mi aŭdis esperantan poemon. Mi ne komprenis ĉion tiam, kaj la uzado de pra-Esperanto ne helpis. La refreno en hodiaŭa Esperanto:

Malamikeco de la nacioj.
Falu, falu, jam temp’ estas!
La tuta homaro en familion
Kununuigi sin devas.

Kiam mi iris al SES-2010, mi trovis malmutekostan antaŭposedatan ekzempleron de ‘Esperantan Antologion’. Mi ĝuas ĝin, kaj ĝi estas bonega fonto de novaj vortoj. En ĝi, la poemoj estas ordigitaj laŭ la tempo kiam ili estis verkitaj. Oni povas vidi ŝanĝojn inter la plej fruaj poemoj (ĉiuj estas finvenkistaj) kaj la malpli malnovaj poemoj (kiuj temas pri io ajn). Do kompreneble la refreno, kiu estas la plej malnova teksto en Esperanto, estas finvenkista. Mi ne ĉiam scias, kiel oni devus reagi al ĉi tiaj poemoj. Iam mi ĝuas la ritmon, la rimojn aŭ la enkapbildojn, sed iam ili nur aspektas kiel optimismego.

Literuma Korektilo

15 sep

Ofte kiam mi uzas retajn vortarojn, mi serĉas vortojn kiujn mi ne bone konas. Eble mi iomete misaŭdis la vorton aŭ simple ne tute konas la ĝustan literumadon.

Malfeliĉe, aliaj retaj vortaroj ne havas korektilon. Ĝi ne estas tre malfacile se oni komprenas dinamikajn retejojn. Do, mi kreis esperantan literuman korektilon pli malpli laŭ la informo ĉi tie (en la angla).

La ideo estas simpla. Se oni havas la (malĝustan) vorton episodo,

  1. Listigi ĉiun variaĵon kie apudaj literoj anstaŭas unu la alian: peisodo, eipsodo, epsiodo, epiosdo, episdoo, episood
  2. Listigi ĉiun variaĵon kie unu literon estas foriganta: pisodo, eisodo, epsodo, epiodo, episdo, episoo, episod
  3. Listigi ĉiun variaĵon kiu havas plian literon: aepisodo, bepisodo, […] eapisodo, ebpisodo, [..] episodov, episodoz
  4. Listigi ĉiun variaĵon kiu havas unu ŝanĝitan literon: apisodo, bpisodo, cpisodo, ĉpisodo, dpisodo, fpisodo, […] episodv, episodz

Poste, oni serĉas ciun variaĵon en la vortaro, kaj se la vortaro enhavas ilin, ili restas. Do la fina rezulto estas epizodo (fakte ĉi tiu vorto estis eraro en Podkastaro).

Kompreneble, povas esti pli ol unu ebleco. Ekzemple, la malĝusta vorto epizodz povus esti (laŭ ReVo) epizodoepizoda. Tamen ĉi tiu ne estas problemo, la vortaro simple bezonas montri ĉiun eblecon.

Kiel normale, la kodo estas havebla. Mi nun verkas la videblan parton de la vortaro, kaj ankaŭ esploras “kion fari kiam la vorto estas vortfarita?”, sed tio devas atendi alian blogafiŝon.