{"id":141,"date":"2010-11-15T23:00:48","date_gmt":"2010-11-15T22:00:48","guid":{"rendered":"http:\/\/blog.esperantilo.org\/?p=141"},"modified":"2013-04-06T23:14:10","modified_gmt":"2013-04-06T22:14:10","slug":"eldono-0992-pli-bona-gramatika-kontrolilo","status":"publish","type":"post","link":"http:\/\/blog.esperantilo.org\/?p=141","title":{"rendered":"Eldono 0.992 &#8211; pli bona gramatika kontrolilo"},"content":{"rendered":"<p>\u0108e aktuala eldono mi \u0109efparte laboris pri plibonigo de gramatika kontrolado. La plej grava manko de kontrolilo estas tre alta nombro de falspozitivaj avertoj pri gramatikaj eraroj.<br \/>\nTio signifas, ke programo reportas erarojn \u0109e \u011dustaj frazoj. Mi jam ricevis kelkcent erarraportojn pri tiuj eraroj de uzantoj. La plej granda parto de raportoj estas pri falspozitivaj avertoj de gramatika kontrolilo. Eble tio estas la rezulto de tio, ke uzantoj tre facilie povas raporti tiujn problemojn.<\/p>\n<p>Nun mi ripete analizas kelkajn tekstojn por trovi metode la plej oftajn problemojn de programo.<br \/>\nMi uzas por tio subajn tekstojn:<\/p>\n<ul>\n<li>Ekzemplaj frazoj de ekzercaro de Zamenhofo<\/li>\n<li>Ekzemplaj frazoj de <a href=\"http:\/\/bertilow.com\/pmeg\/\">PMEG<\/a><\/li>\n<li>5500 frazoj de artikoloj de <a href=\"liberaflolio.org\">Libera Folio<\/a><\/li>\n<\/ul>\n<p>Fine mi povis malaltigi la nombron de falspozitivaj avertoj je avera\u011de 15%.<br \/>\nJen la tutaj rezultoj<\/p>\n<table border=\"1\">\n<tr>\n<td>&nbsp;<\/td>\n<th>Libera folio<\/th>\n<th>\n        zamenhofa ekzercaro\n      <\/th>\n<th>pmeg ekzemploj<\/th>\n<\/tr>\n<tr>\n<td>\n        vortoj en tekstaro\n      <\/td>\n<td>\n        131068\n      <\/td>\n<td>\n        5110\n      <\/td>\n<td>\n        43726\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        frazoj en tekstaro\n      <\/td>\n<td>\n        5552\n      <\/td>\n<td>\n        468\n      <\/td>\n<td>\n        4139\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        eraraj frazoj 0.991\n      <\/td>\n<td>\n        3155\n      <\/td>\n<td>\n        57\n      <\/td>\n<td>\n        741\n      <\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>\n        56,8264%\n      <\/td>\n<td>\n        12,1795%\n      <\/td>\n<td>\n        17,9029%\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        eraroj 0.991\n      <\/td>\n<td>\n        6984\n      <\/td>\n<td>\n        82\n      <\/td>\n<td>\n        1036\n      <\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>\n        5,3285%\n      <\/td>\n<td>\n        1,6047%\n      <\/td>\n<td>\n        2,3693%\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        eraraj frazoj 0.992\n      <\/td>\n<td>\n        2746\n      <\/td>\n<td>\n        36\n      <\/td>\n<td>\n        633\n      <\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>\n        49,4597%\n      <\/td>\n<td>\n        7,6923%\n      <\/td>\n<td>\n        15,2935%\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        eraroj 0.992\n      <\/td>\n<td>\n        5659\n      <\/td>\n<td>\n        54\n      <\/td>\n<td>\n        864\n      <\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>\n        4,3176%\n      <\/td>\n<td>\n        1,0568%\n      <\/td>\n<td>\n        1,9759%\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        eraraj frazoj 0.992 (certaj)\n      <\/td>\n<td>\n        1732\n      <\/td>\n<td>\n        23\n      <\/td>\n<td>\n        393\n      <\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>\n        31,1960%\n      <\/td>\n<td>\n        4,9145%\n      <\/td>\n<td>\n        9,4950%\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        Eraroj 0.992 (certaj)\n      <\/td>\n<td>\n        2663\n      <\/td>\n<td>\n        24\n      <\/td>\n<td>\n        466\n      <\/td>\n<\/tr>\n<tr>\n<td>&nbsp;<\/td>\n<td>\n        2,0318%\n      <\/td>\n<td>\n        0,4697%\n      <\/td>\n<td>\n        1,0657%\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        plibonigo en 0.992 frazoj\n      <\/td>\n<td>\n        12,9635%\n      <\/td>\n<td>\n        36,8421%\n      <\/td>\n<td>\n        14,5749%\n      <\/td>\n<\/tr>\n<tr>\n<td>\n        plibonigo en 0.992 eraroj\n      <\/td>\n<td>\n        18,9719%\n      <\/td>\n<td>\n        34,1463%\n      <\/td>\n<td>\n        16,6023%\n      <\/td>\n<\/tr>\n<\/table>\n<p>La plej gravaj indikoj estas unue la nombro de eraroj (avertoj) kaj nombro de eraraj frazoj. Ekzemple \u0109e artikoloj de libera folio (5552 frazoj) la programo en eldono 0.992 avertis, ke 2746 frazoj havas minimume unu eraron  ( do 49,45%). \u0108e tiuj tekstoj oni povas asumi, ke la tekstoj estas \u011dustaj. Tio estas almena\u016d certa \u0109e frazoj de zamenhofa ekzeraro kaj frazoj de PMEG. Mi testis elonon 0.991 kaj 0.991 sur 3 diferencaj tekstaroj kaj kun diferenca severeco de korektilo (\u0109iuj avertoj kaj nur certaj). \u0108e &#8222;certa&#8220; korektado mi mal\u015daltis la avertojn pri komoj kaj senfunkciaj frazpartoj.<\/p>\n<h2>Fontoj de falspozitivaj avertoj<\/h2>\n<ul>\n<li>Sintaksa analizilo ne povas korekte analizi la frazon.<\/li>\n<li>La programado de reguloj por korektilo estas mal\u011dusta.<\/li>\n<li>La radikaro de programo estas mal\u011dusta. En tiu radikaro estas markitaj ekzemple \u0109iuj transitivaj verboj.<\/li>\n<\/ul>\n<p>Mi plibonigis la programon en \u0109iu kampo. La uzanto mem povas redakti la radikaron. Do li mem havus la eblon infui la korektilon en tiu kampo.<br \/>\nEkzemple li povus difini iun verbon kiel transitivan. Mi estas preska\u016d certa, ke neniu uzanto efektive tion \u011dis nun faris.<\/p>\n<h2>Kiel influi la severecon de korektilo<\/h2>\n<p>Por mi estas tre malfacila demendo, kiel severa devas esti la korektilo. Mi devas substreki, ke la programo tute ne povas kompreni la tekston.<br \/>\n\u011ci nur iel analizas la tekston, komputas iajn indikoj pri eblaj eraroj. La programo do ne trovas erarojn, sed nur avertas pri eblaj eraroj.<br \/>\nAnka\u016d por pensanta homo la verdikto pri \u011dusteco de iu teksto ne estas facila. Esperantistoj ofte diskutas pri \u011dusteco de iu lingva konstrua\u0135o.<br \/>\nOfte ekzistas diferencaj opinioj pri lingvo kaj gramatiko.<\/p>\n<p>Kiam mi programas la gramatikan kontrolilon mi devas ofte decidi. \u0108u la programo avertu pri iu lingva konstrua\u0135o kun samtempa dan\u011dero de falspozitivaj rezultoj , a\u016d \u0109u preterlasi tiujn necertajn konstrua\u0135ojn. Oni povas tion bone priskribi tion per <a href=\"http:\/\/en.wikipedia.org\/wiki\/Precision_and_recall\">Precision kaj recall<\/a>. Mi pensas, ke oni \u011denerale la demando dependas de tio, por kio oni uzas la gramatikan kontrolilon kaj kia estas la teksto. \u0108e tre mallongaj kaj fre\u015daj (nekorektitaj) tekstoj oni eble volas vidi \u0109iujn eblajn avertojn. Se oni kontrolas tre longajn kaj fremdajn tekstojn, oni eble volas vidi tre certajn rezultojn.<\/p>\n<p>En la programo Esperantilo la uzanto povas mem influi tion. En menuo &#8222;Prefera\u0135oj&gt;Redaktu prefera\u0135ojn&gt;Kontrolado&#8220; oni havas kelkajn opciojn por korektilo.<\/p>\n<p>Se oni volas vidi nur pli certajn avertojn, oni mal\u015daltu subajn opciojn<\/p>\n<ul>\n<li>Testu komojn<\/li>\n<li>Testu mankantajn ? a\u016d !<\/li>\n<li>Raportu \u0109iujn gramatikajn dubojn<\/li>\n<li>Proponu pli konvenajn sinonimojn<\/li>\n<li>Avertu pri ebla falsa amiko<\/li>\n<\/ul>\n<p>En esperanta fundamento ne ekzistas reguloj por uzado de komoj. Tial neniu povas finfine diri kiel \u011duste uzi komojn. Tial oni mal\u015daltu tiun opcion, se la reguloj de la programo ne spegulas la propran guston.<\/p>\n<h2>Sintaksa Analizo<\/h2>\n<p>Sintaksa analizilo estas la koro de la programo Esperantilo. Verdire mia intereso pri programado de sintaksa analizilo estis la motoro por programado de la programo. La gramatika kontrolilo estis nur iu aldona rezulto de tiu analizilo. Mi \u0109efe bezonis la analizilon por ma\u015dina tradukado kaj la gramatika kontrolilo unue estis mia interna ilo por trovi mankojn de analizilo. Do mi volis scii, kun kiuj \u011dustaj frazoj la programo havas problemojn \u0109e analizo.<\/p>\n<p>Mi de longa tempo kolektas diferencajn frazojn por testi mian analizilon (<a href=\"http:\/\/www.esperantilo.org\/sintaksekzemploj.html\">vidu<\/a>)<\/p>\n<p>Ekzemplaj frazoj estas aliaj kiel realaj tekstoj. Realaj tekstoj estas multe pli kompleksaj. Ili enhavas cita\u0135ojn kaj multe proprajn nomojn, kiuj ne estas parto de esperanta lingvo. Realaj tekstoj ne estas anka\u016d simple aro de frazoj. Ili enhavas pli komplikan strukturon. Ekzistas do dialogoj, tabeloj, nombradoj, titoloj, diversaj propraj nomoj. Jam de trovo de unuopaj frazoj de granda teksto estas en detalo neniu facila tasko.<\/p>\n<p>Nun mi rimarkis, ke la baza ideo por analizilo havas siajn limojn. La programado de aldonaj lingvaj fenomenoj estas \u0109iam pli komplika. Mi nun havas prototipon de nova analizilo, kiu ne nur devas estas pli rapida, sed anka\u016d pli facila por programado de sintaksaj reguloj. Tio eble estas tasko por la sekva eldono.<\/p>\n<h2>Aliaj plibonigoj de programo de eldono 0.992<\/h2>\n<ul>\n<li>Refre\u015digo de revo leksikono kaj korekto de kelkaj \u0109imoj en la REVO montrilo.<\/li>\n<li>Plivastigo de traduka vortaro por angla kaj pola lingvoj.<\/li>\n<li>Korekto kaj kompletigo de pola vortaro je gramatikaj kaj fleksiaj informoj.<\/li>\n<li>Aliaj malgrandaj plibonigoj kaj korektoj de programaj eraroj.<\/li>\n<\/ul>\n<h2>Ceteraj informoj<\/h2>\n<p>Nun aperis nova provo de esperanta gramatika korektilo surbaze de programo LanguageTool. Oni povas trovi kelkajn informojn <a href=\"http:\/\/dominiko.livejournal.com\/26024.html\">sur blogo<\/a> de Dominique Pell\u00e9. Mi esperas, ke mi iam povas kompari rezultojn de amba\u016d prgramoj kaj lerni de tio.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0108e aktuala eldono mi \u0109efparte laboris pri plibonigo de gramatika kontrolado. La plej grava manko de kontrolilo estas tre alta nombro de falspozitivaj avertoj pri gramatikaj eraroj. Tio signifas, ke programo reportas erarojn \u0109e \u011dustaj frazoj. Mi jam ricevis kelkcent erarraportojn pri tiuj eraroj de uzantoj. La plej granda parto de raportoj estas pri falspozitivaj [&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-141","post","type-post","status-publish","format-standard","hentry","category-programado"],"_links":{"self":[{"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=\/wp\/v2\/posts\/141","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=141"}],"version-history":[{"count":1,"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=\/wp\/v2\/posts\/141\/revisions"}],"predecessor-version":[{"id":172,"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=\/wp\/v2\/posts\/141\/revisions\/172"}],"wp:attachment":[{"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=141"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=141"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.esperantilo.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=141"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}