{"id":16,"date":"2006-11-21T19:37:14","date_gmt":"2006-11-21T18:37:14","guid":{"rendered":"http:\/\/blog.esperantilo.org\/?p=16"},"modified":"2007-02-23T13:59:45","modified_gmt":"2007-02-23T12:59:45","slug":"literumado-ispell-aspell-myspell-hunspell","status":"publish","type":"post","link":"http:\/\/blog.esperantilo.org\/?p=16","title":{"rendered":"Literumado &#8211; ISpell, ASpell, MySpell, Hunspell"},"content":{"rendered":"<p>La baza perkomputila korektado de tekstoj estas tiel nomata literumado (angle. <em>Spellchecking<\/em>, germane: <em>Rechtschreibkorrektur<\/em>). La funkciado estas simpla: \u0109iu vorto de teksto estas komparita kun interna listo de eblaj (korektaj) vortoj. Sed en detalo tiu tasko ne estas tre facila pro:<\/p>\n<ol>\n<li>Kolekto de eblaj vortoj. Necesa vortprovizo.<\/li>\n<li>Efika kaj memor\u015dpara reprezento de \u0109iuj ebloj.<\/li>\n<li>Efika kaj memor\u015dpare ser\u0109ado de vortoj.<\/li>\n<li>Komputado de sugestoj. Similaj sed korektaj vortoj.<\/li>\n<li>Konsidero de reguloj de vortfarado de koncerna lingvo<\/li>\n<\/ol>\n<p>Kutimaj solvoj de tiuj problemoj:<\/p>\n<ol>\n<li>Oni kolektas vortojn de granda tekstaro. Aldonaj vortoj estas kolektitaj dum uzo de programo.<\/li>\n<li>Plej ofte oni uzas tiel nomatan: <a href=\"http:\/\/en.wikipedia.org\/wiki\/Finite_state_machine\">Finite state machine<\/a> por reprezentado en la memoro.<\/li>\n<li>Komputado de sugestoj estas temporaba. Ekzistas kelkaj algoritmoj por komputi similecon de vortoj. Konata estas ekzemple: <a href=\"http:\/\/en.wikipedia.org\/wiki\/Levenshtein_Distance\">Distanco de Levenshtein.<\/a><\/li>\n<li>Reguloj de vortfarado dependas de lingvo.<\/li>\n<\/ol>\n<p>Literumado estis preska\u016d unua funkcio de Esperantilo, kiun mi programis. Mi uzis la vortprovizon de <a href=\"http:\/\/purl.org\/net\/voko\/revo\/\">revo<\/a> kaj   <a href=\"http:\/\/bertilow.com\/tekstaro\">tekstaron de bertilow<\/a>. Mi volis ne nur kolekti eblajn vortojn, sed anka\u016d havi informoj pri korekta morfologio de vortoj. \u0108ar vortfarado en Esperanto ebligas grandegan vortprovizon, \u015dajnis al mi, ke la nur programo, kiu regas esperantan vortfaradon, povas bone solvi tiun problemon. Alia kazo estis, ke por konataj liberaj programoj de literumado ne ekzistis ebleco bone kunlabori kun programlingvo Tcl, kiun mi uzas. Por Linukso tio ne estas problemo, \u0109ar \u0109iu linuksa sistemo havas aspell a\u016d ispell. Problemo estas vindozo.<\/p>\n<h4>Liberaj programoj por literumado<\/h4>\n<p>Ekzistas kelkaj liberaj programoj por literumado. Ili estas anka\u016d uzataj por Esperanto.<\/p>\n<ul>\n<li><a href=\"http:\/\/www.gnu.org\/software\/ispell\/ispell.html\">ISpell<\/a><\/li>\n<li><a href=\"http:\/\/www.gnu.org\/software\/aspell\/\">GNU ASpell<\/a><\/li>\n<li>MySpell: Uzata de OpenOffice (\u011dis eldono 2), Thunderbird kaj Firefox<\/li>\n<li><a href=\"http:\/\/hunspell.sourceforge.net\/\">Hunspell:<\/a> Uzata de OpenOffice (de eldono 2), formato konforma al MySpell.<\/li>\n<\/ul>\n<p>La plej vastan kaj \u011disdatan kolekton de vortaroj por Myspell kaj Hunsplell oni trovas sur <a href=\"http:\/\/wiki.services.openoffice.org\/wiki\/Dictionaries\">Vortaroj de OpenOffice<\/a>.<\/p>\n<h4>Problemoj kun literumado \u0109e Esperantilo<\/h4>\n<p>La propra literumado en Esperantilo havas avanta\u011dojn super aliaj programoj, \u0109ar \u011di respektas esperantan vortfaradon. La programo diferencas anka\u016d du tipojn de eblaj skriberaroj: unue evidenta eraro, due ebla vorto, sed ne konata. Esperantilo enhavas anka\u016d komfortan redaktilon por vortaro. La problemoj estas teknikaj, programo ne estas tre rapida, \u0109ar \u011di volas trovi ekzaktan vortfaradon de \u0109iu vorto, due en Tcl ne estas eble rapide komputi sugestojn por erara vorto. Efikaj algoritmoj por tio estas tre komplikaj. La alia malavanta\u011do estas, ke en Esperantilo oni \u011dis nun ne povis korekti tekstojn en aliaj lingvoj.<\/p>\n<h4>Hunspell en Esperantilo<\/h4>\n<p>Post longa pripenso mi decidis elekti Hunspell por interna literumilo de Esperantilo. La programo estas libera konforme al Esperantilo. \u011ci povas uzi vortarojn de OpenOffice projekto, kiuj estas anka\u016d popularaj en Mozilla projekto. La \u0109efa teknika problemo estas skribi bibliotekon por uzi Hunspell de Tcl. Post 2 tagoj de programado mi sukcesis uzi Hunspell kun Esperantilo. Nun restas kompili la hunspell kun Tcl sur vindozo. Mi nun ne volas rezigni pri \u011disnuna literumilo en Esperantilo. Sed Hunspell povus plibonigi la uzeblecon de programo. Due la uzanto povos uzi aliajn vortarojn de OpenOffice-Provizo.<\/p>\n<h4>Vortlisto por Esperanta lingvo<\/h4>\n<p>La esperantaj vortlistoj por literumiloj enhavas 2 dosierojn. Unu dosiero kun fina\u0135o &#8222;.aff&#8220; enhavas teknikajn priskribojn kaj liston de sufiksoj. La dua doziero kun fina\u0135o &#8222;.dic&#8220; enhavas liston de vortoj kun priskribo pri eblaj sufiksoj. Mi analizis la sufiksojn de nuntempa vortaro por Esperanto. \u015cajnas, ke per la novaj ebloj de Hunspell, kiu povas anka\u016d kunligi kelkajn fina\u0135ojn unu post la alia, oni povus prilabori kolekton de sufiksoj, kiuj estus pli adekvata por Esperanto.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La baza perkomputila korektado de tekstoj estas tiel nomata literumado (angle. Spellchecking, germane: Rechtschreibkorrektur). La funkciado estas simpla: \u0109iu vorto de teksto estas komparita kun interna listo de eblaj (korektaj) vortoj. Sed en detalo tiu tasko ne estas tre facila pro: Kolekto de eblaj vortoj. Necesa vortprovizo. Efika kaj memor\u015dpara reprezento de \u0109iuj ebloj. Efika [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-16","post","type-post","status-publish","format-standard","hentry","category-programado"],"_links":{"self":[{"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16"}],"version-history":[{"count":0,"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=\/wp\/v2\/posts\/16\/revisions"}],"wp:attachment":[{"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}