Spis treści Artykuł originalny « Poprzedni artykul Nastepny artykul »

Posiedzenie Projektu “ Gramatyczny {Korektilo} ”

Kunsido de Projekto “Gramatika Korektilo”

Orignał w języku EsperantoMaszynowe tłumaczenie na język polski

La 25 kaj 26 aŭguston mi partoprenis la unuan kunsidon
de kreiĝanta projekto GramatikKontrolilo. Mallonge dirite la projekto celas krei gramatikan kontrolilon helpe de subteno de organizo ESF. La organizo jam subtenas kelkajn tre gravajn kaj sukcesajn projektojn en Esperantujo. Tiuj estas interalie la konata retejo Lernu.net, la tekstaro de Esperanto kaj tradukado de programo OpenOffice. La iniciatinto kaj la organizanto de tiu projekto estis Hokan Lundberg, kiu tre trovis kaj kontaktis ĉiujn partoprenantojn.

Tio estas por mi la unua fojo, kiam mi povus uzi Esperanton kiel parolata lingvo. Tio estis tre interesa sperto por mi. Mi havis kelkajn problemojn kun prononcado, sed entute mi povus normale paroli kaj ĉion kompreni. Mi pensas, ke longa (4 jara) aŭskultado de pola radio kaŭzis tion.

Ĉe la kunsido mi povus konatiĝi kun tre interesaj homoj. Ĉiuj estis tre engaĝiĝitaj Esperantistoj kaj lingvistoj kun vastaj konoj de komputila lingvistiko. Nun mi povis direkte paroli kun Eckhard Bick, kiu estis por mi jam delonge konata de projekto VISL. Tiun projekton mi tre atende trarigardis antaŭ kelkaj jaroj, kiam mi komencis la okupon pri komputila lingvistiko. Mi renkontis Sonja Petrović Petrovic kaj Hokan Lundberg, laborantoj de projekto “Lernu”, Judith Meyer, kiu kreis la retejon “Amikumu”, Marek Blahuš kaj Henning von Rosen.

Ĉe tiu kunsido mi povis prezenti la programon Esperantilo, kiu jam enhavas gramatikan korektadon.

Mi dekomence signalis, ke mi ne povas aktive kaj plene partopreni en la projekto. Unue mi ne havas sufiĉe da tempo, due mi ne volas okupi pri tiu temo en alia maniero kiel ŝatokupo. Tamen estis tre agrable, ke mi ankaŭ kiel neprofesiulo povis partopreni en la kunsido. Feliĉe la gvidadon de projekto povus preni Eckhard Bick, kiu estas tre sperta lingvisto kaj delonga Esperantisto kaj jam faris gramatikan kontrolilon de dana lingvo kadre de programo “ordred”. Do oni ne bezonos fari ĉion de komenco. Eckhard Bick havas diversajn pretajn modulojn por esperanta lingvo kaj la testitaj metodoj por dana lingvo. Do oni bezonas adapti tiujn metodojn kaj modulojn por esperanta lingvo. Nur kelkaj elementoj de sistemo devus esti farita tute nove. Ĉe priskribo de taskoj de projekto evidentiĝis aldonaj subprojektoj. Tiuj estas

  • Literumado
  • Bazo de sintaksaj arboj
  • Bazo de eraroj

En la unua ŝtupo de projekto la gramatika kontrolado estas oferota nur kiel reta interfaco. Poste la gramatika kontrolado devos funkcii en la programo OpenOffice. Ĉar kelkaj elementoj de sistemo estas faritaj kedare de komercaj projektoj, tiu sistemo ne estos plene malferma. Tio ne estas por mi bona informo, ĉar mi kiel programisto normale havas la intereson rekonstrui la sistemon de fontoj kaj adaptigi ĝin por aliaj taskoj aŭ operaciemaj sistemoj. Mi ankaŭ pli volonte legas la programan fontan kodon ol sciencajn laboraĵojn. Tamen ĉiuj direktaj rezultoj de tiu projekto estos malfermaj por vasta publiko. Mi esperas, ke ankaŭ la projekto Esperantilo povus profiti de tiu projekto kaj mi oferis ankaŭ helpon al tiu projekto.

Por mi la plej interesa parto de la kunsido estis la prezento de Eckhard de metodoj de analizo de tekstoj laŭ la teorio de “Contraint Satisfaction”, tiu metodo estas tre simpla. CG ne havas fonton en teorio de generativa formalismo, sed estas rezulto de tre pragmatikaj pensoj. La fontaj datoj por GG-Analizilo estas etikeditaj vortoj.
Normale ĉiuj vortoj posedas diversajn ambiguajn etiketojn. La analizilo forigas aŭ aldonas etiketojn sur nivelo de vortoj laŭ priskribitaj reguloj.
La reguloj de CG estas simplaj proceduroj laŭ modelo: “Forigu/Aldonu la etiketon ĉe vorto kun etikedoj, se la kondiĉo estas prava.” Kondiĉoj priskribas la najbarajn vortojn. Tiu estas do pure procedura priskribo kontraŭe al diskriptiva priskribo de generativaj metodoj. La ĉefaj avantaĝoj de CG estas ĝia stabileco, rapideco kaj simpleco. Mi pensas, ke tiu metodo estas ankaŭ ekzemplo por bona divido de taskoj inter programistoj kaj lingvistoj. Nun programistoj povus programi CG-Analizilon, kaj lingvistoj havas simplan proceduran lingvon por manipulado de etiketoj. Do CG-Formalismo estas la tiel nomata Domain Specific Language.
Antaŭ 4 jaroj mi multe pensis pri la metodo, mi tiam ankaŭ trovis la liberan analizilon de projekto VISL. La nova versio de tiu analizilo estas CG3. Tamen mi havis grandajn problemojn kompreni la signifon de multnombraj etiketoj. Kvankam mi trovis ekzemplajn regulojn por angla lingvo, mi ne povis uzi tiun analizilon. La forta flanko de CG estas forigo de ambigueco. Ĉar en Esperanto tiu problemo apenaŭ ekzistas, la uzeblecon de tiu metodo mi ne konsideris tiam kiel tre granda.

Kiel mi nun scias, tre interese estas, ke la CG-on oni povas ne nur uzi por disambigueco de vortklasoj, sed ankaŭ por sintaksa analizo kaj kreo de “functional dependency grammar”. Ankaŭ semantika analizo povas uzi CG-analizilojn. Per la sama metodo oni ankaŭ povas trovi gramatikajn erarojn. Do la gramatika korektado estas nur unu elemento en la ĉeno de CG-analizoj, kiuj laboras laŭ diferencaj reguloj. La plej kompleksaj reguloj ekzistas por sintaksa analizo. La komplekseco de tiuj reguloj estas eble la plej malavantaĝa aspekto de tiu metodo. Por averaĝa lingvo oni bezonas pli aŭ malpli 900 regulojn. La flegado de tiuj reguloj ne estas facila kaj oni bezonas longan sperton pri tio. La ordo de reguloj havas grandan influon sur la rezulto. Kutime oni unue difinas bazajn regulojn kaj poste aldonas aliaj kondiĉojn kaj aliajn regulojn. Do la legebleco de reguloj iĝas pli kaj pli malalta. La difino de ĉiuj necesaj reguloj estas laboro por jaroj. Estas malavantaĝe, ke tiun laboron oni ne povas dividi inter kelkaj homoj, ĉar la influo de reguloj inter si estas tre granda. Tamen la komplekseco de reguloj estas la problemo en ĉiuj ĝisdataj metodoj. De teknika vidpunkto la formalismo de reguloj havas kelkajn malavantaĝojn, kiuj rezultigis la neceson de multaj reguloj. Per reguloj oni ne povas difini rekursiajn strukturojn. Tiuj reguloj nur limigite ebligas la uzon de ĝeneraligo (nur per difino de listoj). Ankaŭ la uzado de metodo “backtracking”, kiu por kelkaj problemoj de sintaksa analizo estus tre konvena, ne estas ebla ĉe CG.

En Esperantilo mi ankaŭ uzas la metodon, kiu estas simila al CG. La metodo estas “button-up” kaj ne enhavas “backtracking”. Tial ankaŭ la analizo en Esperantilo ĉiam ion rezultigas kaj estas sufiĉe rapida. En Esperantilo mi havas nur 100 bazajn regulojn, kvazaŭ ili kovras preskaŭ tutan gramatikon de Esperanto. Kelkaj aldonaj analizoj por subfrazoj, relativaj subfrazoj kaj infinitivaj frazpartoj estas programitaj speciale. La diferenco inter Esperantilo kaj CG estas, ke en Esperantilo dekomence ĉe sintaksa analizo vortoj estas grupigitaj kiel sintaksaj subarboj. Tial la reguloj por sekva ŝtupo povas esti difinitaj pli ĝenerale. Mi uzas la fakton, ke ofte la grupo de vortoj povas esti pritraktato nur kiel la kapo de tiu grupo. Ekzemple por ĉiuj substantivaj frazpartoj: “libro”, “bona libro” “bona libro skribita de fama aŭtoro” la plej grava estas la kapo “libro”. Do sekva analizo povus pritrakti nur tiun vorton. Tial okazas ĉe analizo redukto de komplekseco.

Mia nuntempa sento pri la problemo de sintaksa analizo estas, ke oni bezonus diferencajn metodojn por atingi bonajn rezultojn. La rekono de substantivaj frazpartoj postulas aliajn metodojn ol analizo de subfrazoj kaj konjunkcioj. Diskriptivaj reguloj estas ofte pli elegantaj kaj pli mallongaj ol procedurdeklaraj. Kelkajn problemojn oni povas nur bone solvi per “backtracking”.

La sukceso de CG eble plejparte baziĝas sur speciala programa lingvo, kiu estas farita nur por lingvistoj. Per tiu programa lingvo lingvistoj kapablas mem difini regulojn. Ekzistas ankaŭ kelkaj ideoj, kiel plibonigi la uzeblecon de CG. Miaopinie oni povus konsideri sekvajn punktojn:

  • Aŭtomata kreado de CG-reguloj de pli ĝeneralaj reguloj.
  • Aŭtomata kreado de CG-reguloj de statistika analizo de bazo de sintaksaj arboj.
  • Aldonaj iloj, kiuj helpos ĉe difino kaj testado de reguloj.
  • Plivastigo de CG je aldonaj metodoj.

Por pli bona pritakso de CG mi bezonus pli da informoj. La projekto VISL havas la analizilon por esperanta lingvo, sed la analizilo ankaŭ havas problemojn kun komplikaj frazoj simile al analizilo de Esperantilo. Tion mi povis konstati post kelkaj testoj per reta interfaco de projekto. Interesa estus la demando, ĉu estas eble plibonigi la analizon kaj kiom da energio tio postulus. Malbonŝanĉe reguloj por neniu lingvo estas libere atingeblaj, do oni povus nur iom havi la ideon pri la verko de reguloj post studado de kelkaj sciencaj laboraĵoj.

Se mi havos sufiĉe de libera tempo, mi volas pli detale okupiĝi pri CG-Analizilo. Mi eĉ povus uzi la liberan CG-Analizilon en Esperantilo, ĉar mi povas bone reuzi modulojn, kiuj estas skribitaj en programa lingvo C++, de programa lingvo XOTcl. La bona tasko por CG estus la analizo de pola lingvo.

Por Esperantilo estus bone klare disigi la regulojn de programado de analizilo. La programa lingvo, kiun mi uzas ĉe programado de Esperantilo, estas sufiĉe abstrakta kaj potenca por uzi meta-programadon. Do mi programas regulojn de analizo kaj la analizon en la sama programa lingvo. Aliflanke la klara diferenco inter lingvaj reguloj kaj programado de analizilo ne ekzistas tiel forte kiel en CG-metodo.

Resumo

Mi estas tre ĝoja, ke la projekto Esperantilo iel ankaŭ instigas kaj inspiras aliajn pli profesiajn projektojn. Tio estas por mi grava motivigo por plia okupo. Dum la renkontiĝo mi povis konatiĝi kun tre interesaj homoj kaj mi havis novojn ideojn. Nun mi estas tre scivola pri la sekva evoluo de tiu projekto.

W 25 i 26 sierpniu uczestniczyłem pierwsze posiedzenie
{kreiĝanta} projektu {GramatikKontrolilo}. Krótko powiedziawszy projekt dąży stworzyć gramatyczny {kontrolilon} za pomocą oparcia organizacji ESF. Organizacja już podpiera kilku bardzo ważne i udane projekty w Środowisku esperanckim. Tymi jest między innymi znany portal internetowy {Lernu.net}, {tekstaro} Esperanto i tłumaczenia programu {OpenOffice}. Wcześniej inicjujący i organizator tego projektu byli Hakowi Lundberg, który bardzo znalazł i skontaktował się z wszystkimi uczestnikami.

To jest dla mnie pierwszy raz, kiedy mógłbym użytkować Esperanto jako mówiony język. To było bardzo interesujące doświadczenie dla mnie. Miałem kilka problemów z wymową, lecz w całości mógłbym normalnie mówić i wszystko rozumieć. Myślę, że długi (4 roczny) {aŭskultado} polskiego radia to spowodował.

Przy posiedzeniu mógłbym poznać się z bardzo interesującymi ludźmi. Wszystkimi byli bardzo zaangażowani się Esperantyści i lingwiści z rozległymi wiedzami komputerowego językoznawstwa. Teraz mogłem w kierunku mówić z Eckhardem Bick, który był dla mnie już od dawna znany przez projekt VISL. Ten projekt bardzo oczekiwająco przejrzałem przed kilkoma latami, kiedy zacząłem posadę o językoznawstwie komputerowym. Natrafiałem Sonję Petrović Petrovic i Hakowego Lundberg, pracownicy projektu “Powini uczyć się”, Judith Meyer, który stworzył portal internetowy “{Amikumu}”, Marek Blahuš i Henning {von} {Rosen}.

Przy tym posiedzeniu mogłem prezentować program Esperantilo, które już mieści gramatyczną korekturę.

Z początku sygnalizowałem, że nie mogę aktywnie i pełno uczestniczyć w projekcie. Po pierwsze nie mam dosyć czasu, po drugie nie chcę zajmować o tym temacie w innym sposobie jako hobby. Jednak było bardzo miło, że także jak {neprofesiulo} mogłem uczestniczyć w posiedzeniu. Szczęśliwie kierownictwo projektu mogłoby wziąć Eckharda Bick, którym są bardzo doświadczony lingwista i {delonga} Esperantysta i już zrobiło gramatyczny {kontrolilon} duńskiego języka w ramach programu “{ordred}”. Więc nie będzie potrzebować się zrobić wszystko początku. Eckhard Bick ma rozmaite gotowe moduły dla esperanckiego języka i wcześniej testowanych metod dla duńskiego języka. Więc potrzebuje się zastosować te metody i moduły dla esperanckiego języka. Jedynie kilka elementów systemu musiałoby zostać zrobionych całkiem nowo. Przy opisie zadań projektu wyszły na jaw dodatkowe {subprojektoj}. Ci są

  • Korekta ortograficzna
  • Baza syntaktycznych drzew
  • Baza omyłek

W pierwszym stopniu projektu gramatyczna kontrola jest w przyszłości ofiarowana jedynie jak internetowy interfejs. Potem gramatyczna kontrola będzie musiała funkcjonować w programie {OpenOffice}. Ponieważ kilka elementów systemu jest zrobionych {kedare} od handlowych projektów, ten system nie będzie pełno otwarty. To nie jest dla mnie dobra informacja, ponieważ jak programista normalnie mam interes rekonstruować system źródeł i {adaptigi} jego dla innych zadań albo {operaciemaj} systemów. Także chętniej czytam źródłowe prawodawstwo programowe aniżeli naukowe urządzenia. Jednak wszystkie bezpośrednie wyniki tego projektu będą otwarte dla rozległej publiczności. Mam nadzieję, że także projekt Esperantilo mógłby zyskiwać od tego projektu i ofiarowałem także pomoc do tego projektu.

Dla mnie najbardziej interesująca część posiedzenia była przedstawieniem Eckhard metod analizy tekstów według teori “Contraintu {Satisfaction}”, ta metoda jest bardzo prosta. CG nie ma źródła w teori {generativa} {formalismo}, lecz jest wynik bardzo pragmatycznych myśli. Źródłowe daty dla {GG-Analizilo} są {etikeditaj} słowami.
Normalnie wszystkie słowa posiadają rozmaite dwuznaczne etykiety. Analizator usuwa albo dokłada etykiety na poziomie słów według opisanych prawideł.
Prawidła CG są prostymi procedurami według modelu: “Usuń / Dokładaj etykietę przy słowie z nalepkami, jeśli warunek ma rację.” Warunki opisują sąsiednie słowa. Tym jest więc czysto trybowy opis naprzeciw do {diskriptiva} opisu {generativaj} metod. Główne zalety CG są jego niezmiennością, prędkością i prostotą. Myślę, że tą metodą jest także przykład dla dobrego dzielenia z resztą zadań pomiędzy programistami i lingwistami. Teraz programiści mogliby programować {CG-Analizilon}, i lingwiści mają prosty język trybowy dla manipulacji etykiet. Więc {CG-Formalismo} jest tak zwanego Domaina Specific {Language}.
Przed 4 latami wiele myślałem o metodzie, wtedy także znalazłem wolnego analizatora projektu VISL. Nowa wersja tego analizatora jest CG3. Jednak miałem duże problemy rozumieć znaczenie tłumnych etykiet. Aczkolwiek znalazłem przykładowe prawidła dla języka angielskiego, nie mogłem użytkować tego analizatora. Silna strona CG jest usunięciem dwuznaczności. Ponieważ w Esperanto ten problem zaledwie istnieje, użyteczności tej metody nie rozważałem wtedy jak bardzo duży.

Jak teraz wiem, bardzo interesująco jestem, że {CG-on} można nie jedynie użytkować dla {disambigueco} {vortklasoj}, lecz także dla syntaktycznej analizy i stworzenia od “{functional} {dependency} {grammar}”. Także semantyczna analiza może użytkować {CG-analizilojn}. Taką samą metodą także można znaleźć gramatyczne omyłki. Więc gramatyczna korektura jest jedynie jednym elementem w łańcuchu {CG-analizoj}, które pracują według różnych prawideł. Najbardziej skąplikowane prawidła istnieją dla syntaktycznej analizy. Złożoność tych prawideł jest przypuszczalnie najbardziej {malavantaĝa} aspektem tej metody. Dla przeciętnego języka potrzebuje się więcej albo mniej 900 prawideł. Konserwacja tych prawideł nie jest łatwa i potrzebuje się długie doświadczenie o tym. Ład prawideł ma duży wpływ na wyniku. Zazwyczaj po pierwsze definiuje się kluczowe prawidła i potem dokładają inni warunki i inne prawidła. Więc czytelność prawideł staje się coraz niższa. Definicja wszystkich koniecznych prawideł jest pracą dla lat. Jest {malavantaĝe}, że tej pracy nie można podzielić pomiędzy kilkoma ludźmi, ponieważ wpływ prawideł pomiędzy sobą jest bardzo duży. Jednak złożoność prawideł jest problemem we wszystkich dotychczasowych metodach. Od technicznego punktu widzenia {formalismo} prawideł ma kilka wad, które rezultowały w konieczności licznych prawideł. Prawidłami nie można definiować rekursywne struktury. Te prawidła jedynie ograniczywszy umożliwiają użycie uogólnienia (jedynie definicją spisów). Także użycie metody “{backtracking}”, które dla kilku problemów syntaktycznej analizy byłoby bardzo należyte, nie jest możliwe przy CG.

W Esperantilo także użytkuję metodę, która jest podobna do CG. Metoda jest “{button-up}” i nie mieści “{backtracking}”. Dlatego także analiza w Esperantilo zawsze w czymś rezultuje i jest dosyć szybka. W Esperantilo mam jedynie 100 kluczowe prawidła, jakby oni pokrywają nieomal całą gramatykę Esperanto. Kilka dodatkowych analiz dla zdań podrzędnych, relatywnych zdań podrzędnych i części zdania bezokolicznikowych jest wcześniej programowanych specjalnie. Różnica pomiędzy Esperantilo i CG jest, że w Esperantilo z początku przy syntaktycznej analizie słowa są zgrupowane jak syntaktyczne poddrzewa. Dlatego prawidła dla kolejnego stopnia mógą zostać konieczne ogólniej. Użytkuję fakt, że często grupa słów może być ???ym się jedynie jak głowa tej grupy. Na przykład dla wszystkich rzeczownikowych części zdania: “książka”, “dobra książka” “dobrą książką napisaną przez sławnego autora” najważniejszego jest głowa “książka”. Więc kolejna analiza mogłaby zajmować się jedynie to słowo. Dlatego odbywa się przy analizie zniżka złożoności.

Moje współczesne poczucie o problemie syntaktycznej analizy jest, że potrzebowałoby się różne metody aby osiągnąć dobre wyniki. Rozpoznanie rzeczownikowych części zdania wymaga inne metody aniżeli analiza zdań podrzędnych i spójników. {Diskriptivaj} prawidła są często bardziej eleganckie i krótsi aniżeli {procedurdeklaraj}. Kilka problemów można jedynie dobrze rozwiązywać “{backtracking}”.

Sukces CG przypuszczalnie przeważnie opiera się na specjalnym języku programowym, który jest zrobiony jedynie dla lingwistów. Tym językiem programowym lingwiści są zdolnym samą definiować prawidła. Istnieją także kilka pomysłów, jak ulepszyć użyteczność CG. Według mojej opinii można by było rozważać kolejne punkty:

  • Automatyczna twórczość {CG-reguloj} ogólniejszych prawideł.
  • Automatyczna twórczość {CG-reguloj} statystycznej analizy bazy syntaktycznych drzew.
  • Dodatkowe przyrządy, które pomogą przy definicji i testowaniu prawideł.
  • Poszerzenie CG o dodatkowych metodach.

Dla lepszej oceny CG potrzebowałbym więcej informacji. Projekt VISL ma analizatora dla esperanckiego języka, lecz analizator także ma problemy ze skomplikowanymi zdaniami podobnie do analizatora Esperantilo. To mogłem stwierdzać po kilku testach internetowym interfejsem projektu. Interesujące byłoby pytanie, czy jest przypuszczalnie ulepszyć analizę i ile energi to wymagałoby. {Malbonŝanĉe} prawidła dla żadnego języka nie są wolnie osiągalne, więc można by było jedynie trochę mieć pomysł o utworze prawideł po nauce kilku naukowych urządzeń.

Jeśli będę mieć dosyć od wolnego czasu, chcę szczegółowiej trudnić się o {CG-Analizilo}. Nawet mógłbym użytkować wolny {CG-Analizilon} w Esperantilo, ponieważ mogę dobrze {reuzi} moduły, które są napisane w programowym języku C + +, od języka programowego {XOTcl}. Dobre zadanie dla CG byłoby analizą polskiego języka.

Dla Esperantilo byłoby dobrze jasno odłączać prawidła programowania analizatora. Język programowy, który użytkuję przy programowaniu Esperantilo, jest dosyć abstrakcyjny i przemożny aby użytkować {meta-programadon}. Więc programuję prawidła analizy i analizę w takim samym języku programowym. Skądinąd czysta różnica pomiędzy językowymi prawidłami i programowaniem analizatora nie istnieje tak mocno jak w {CG-metodo}.

Streszczenie

Jestem bardzo radosny, że projekt Esperantilo jakoś także zachęca i inspiruje innych bardziej zawodowe projekty. To jest dla mnie ważne uzasadnienie dla dalszej posady. W czasie zlotu mogłem poznać się z bardzo interesującymi ludźmi i miałem nowy pomysły. Teraz jestem bardzo żądny wiedzy o kolejnej ewolucji tego projektu.

Artukuł został przetłumaczony w pełni maszynowo przez wolny program Esperantilo
Adres kontaktowy:
mail@xdobry.de