Presentasjon om stavekontrollar i fri programvare

Kva for stavekontrollar finst?

SPELL

Skrive i 1971 av Ralph Gorin. Den første stavekontrollen som var laga for å kontrollere stavinga i eit tekstdokument. Programmet var skrive i assembly for operativsystemet WAITS og blei omsett til ein del andre sære operativsystem som fanst på den tida.

Ispell

(http://ficus-www.cs.ucla.edu/geoff/ispell.html)

Ispell er etterkomaren av SPELL. I 1978 tok Bill Ackerman tak i SPELL og gjorde ein del endringar. Han gav det då namnet Ispell for «ITS version of spell». Grunnen var at han ikkje følte han berre kunne overta namnet til eit anna program. Sidan har det blitt heitande det. Ackerman gjorde også om på suffiks algoritmen.

Geoff Kuenning som er de facto hovudutviklar av Ispell i dag, tok i 1987 tak i Ispell og utvikla programmet vidare til det vi kjenner i dag. Han krediterer faktisk ein nordmann (Ole Bjørn Hessen ved UIO) for alfatesting av Ispell og fleire forbetringar til programmet. Programmet er etterkvart kjent som «International Ispell».

Geoff Kuenning gjorde det enklare for andre språk enn engelsk å lage ordlister til Ispell. Han gjorde også om på ein del av innmaten for å gjere det enklare å finne feil i koden. Det er svært mange andre som har bidrege til programmet. I dokumentasjonen til programmet er over 260 namn nemde for den innsatsen dei har gjort for Ispell.

Geoff Kuenning var/er mest motivert av å lage stavekontroll for skriveprogrammet emacs. (Emacs er eit avansert og populært, både elska og hata, teksthandteringsprogram. Då teksthandtering i rette forstand av ordet.) Det gjer at Ispell fungerer svært bra saman med emacs.

Ispell er no integrert som stavekontrollverktøy i mange program. Dei fleste linuxdistribusjonar har integrert Ispell i systemet og det har vore det mest brukte stavekontrollverktøyet fram til no.

Kva er Ispell?

Ispell er ein rask stavekontroll som viser stavefeil i ei tekstfil eller ein tekstbolk. Viss det klarer å finne ord som liknar på det feilstava ordet så foreslår det mogelege rettingar.

Ispell er i utgangspunktet eit kommandobasert program. Men det finst ei rekkje grenseflater som er laga for Ispell, både grafiske og terminalbaserte. Dessutan er det mange program som har implementert Ispell som stavekontrollmotor.

Kva skal til for å lage ei ordliste for Ispell

Det enklaste er å ha ei liste med rettstava ord. Eitt ord på kvar linje. Denne lista må då innehalde alle ord, også samansette ord.

Viss ein vil gjere det meir avansert, så kan ein lage ei affix-fil. Denne fila inneheld reglar for bøying og samansetjing av ord. Ein kan då lage ei ordliste som består av ordrøter og så heng ein på affix-kodar som fortel korleis ordet kan bøyast og brukast i ordsamansetjingar.

Namn som er viktige for Ispell:

Aspell

(http://aspell.net)

GNU Aspell er ein stavekontroll som er fri og basert på open kjeldekode. Det er meininga at han etterkvart skal erstatte Ispell. Den store føremona med aspell framom Ispell er at han er mykje flinkare til å kome med forslag for ord som er feilstava. Dette gjeld dessverre berre for engelsk. For norsk er dette heller ikkje så vikig, sidan uttalen av ordet ligg mykje nærare opp til skrivemåten enn kva som er tilfelle på engelsk.

I motsetning til Ispell kan Aspell enkelt utføre stavekontroll på dokument med UTF-8 som teiknkoding utan å bruke spesielle ordbøker. Aspell er også betre enn Ispell i eit fleirspråkleg oppsett, sidan det er lettare å bruke fleire ordbøker for stavekontrollen.

MySpell

(http://en.wikipedia.org/wiki/MySpell)

?MySpell blei starta av Kevin Hendricks for å integrere ulike stavekontrollar basert på open kjeldekode inn i OpenOffice.org. Med hjelp av Kevin Atkinson skreiv dei eit nytt stavekontrollprogram i C++ som støtta affix-komprimering basert på Ispell.

?MySpell blir også brukt i Mozilla Thunderbird og Mozilla Firefox, to svært populære program for lesing av e-post og surfing på verdsveven.

Hunspell

(http://hunspell.sourceforge.net/) Hunspell er eit bibliotek for stavekontroll og morfologisk analyse, laga for språk med ein rik morfologi og kompleks ordsamansetjing og/eller teiknkoding.

Grenseflater for hunspell er ei terminalgrenseflate som liknar på Ispell, datastraumar på same måte som Ispell og ein UNO-modul for OpenOffice.org.

Kodegrunnlaget for hunspell kjem frå OpenOffice.org sin ?MySpell. Hunspell skal no vere standard stavekontroll for OpenOffice.org.

Hunspell kan bruke ordlister frå ?MySpell, så overgangen frå ?MySpell til Hunspell skal vere ganske grei.

Korleis verkar desse stavekontrollane og kva er skilanden?

I prinsippet fungerer desse verktøya ganske enkelt. Dei les inn ord for ord og sjekkar orda opp mot ei ordliste. Viss ordet ikkje finst i ordlista så kjem det forslag om ord som kan vere det ordet ein prøver å stave. Dei orda som liknar mest på det feilstava ordet vil vere først i lista over føreslegne ord.

Skilnaden på verktøya er korleis dei handterer ulike teiknsett. Kva format ordlista sjølve ordlista og affix-fila har (alle kan ta inn ei rein ordliste). Kor raskt verktøyet er. Kor mykje feil som er i koden. (Ispell er mykje brukt og testa mykje, det er difor truleg mindre feil med Ispell enn i dei andre verktøya.)

Dei «nye» verktøya som aspell og hunspell har fleire avanserte eigenskapar som kan utnyttast. Hunspell ser veldig lovande ut med tanke på avansert morfologi og ordsamansetjingar.

Kva er status for norske stavekontrollar med desse verktøya?

Vi har ordlister som baserer seg på Rune Kleveland si ordliste. Desse er blitt brukt uendra sidan nittitalet. Desse ordlistene blir brukt i Ispell, Aspell, ?MySpell og etterkvart Hunspell.

Kva for materiale trengst for å få gode norske stavekontrollar med desse verktøya?

Regler for bøyningsmnster:

Vi bruker den første metoden.

Historie og bakgrunn for stavekontrollprosjektet

Dei norske ordlistene er fram til no basert på Rune Kleveland sine ordlister. Vi har lenge sett trong for å gjere forbetringar i ordlistene. Skulelinux har fått tilbakemelding frå skular som rapporterer om ord som ikkje er med i ordlista og andre feil i stavekontrollen. Det er spesiellt OpenOffice og ulike KDE-program som stavekontrollane blir brukt i.

Problemet har vore at ordlista (spesielt affix-fila) frå Rune Kleveland er avansert og vanskeleg å jobbe med.

Vi har starta å jobbe med eit verktøy som er laga i danmark (speling.org). Danskane har gjort ein bra jobb med å lage eit rammeverk for innsamling og kvalitetssikring av ord til ordlista. Dette systemet går ut på at ei mengd med korrekturlesarar får tilsendt eit visst tal ord kvar dag som dei kan gå gjennom og sjekke om er rett stava og så sende tilbake igjen til prosjektet. Speling.org tar så og legg orda inn i databasen igjen og dei får poeng etter kor mange gongar dei er sjekka av ein korrekturlesar.

Mål for prosjektet, ynskjer for framtida

Det ble spurt hva vi trenger fra Språkrådet Vi trenger: