Retteprogram

Eit **retteprogram**, eller ein *stavekontroll*, er eit dataprogram laga for å kontrollere om orda i eit dokument er skrive riktig. Retteprogram kan vere laga som separate program, eller dei kan vere integrert i andre program.

Retteprogram samanliknar kvar ordform i input med sitt eige leksikon. Viss ordforma ikkje finst i leksikonet, og ikkje kan genererast frå leksionet med hjelp av eit sett genereringsreglar, er det handsama som feilskrive, og programmet sett i gang ei algoritme for å finne ut kva ordform brukaren kan ha tenkt å skrive. Eit døme på ei slik algoritme er å liste opp ordformer frå retteprogrammet som har ein kort Levenshtein-distanse frå ordforma som brukaren skreiv inn.

Retteprogram har gjerne to arbeidsmodi, dei kan vurdere ord etter kvart som dei blir skrive (og t.d. markere dei med raud strek under), eller dei kan bli sett til å gå gjennom heile teksten på ein gong. Ein spesiell undertype av retteprogram har ei algoritme som alltid kjem med berre eitt framlegg, og har som eit alternativ at dei alltid rettar, utan å spørje først. Slike program blir gjerne brukt i produksjon av store mengder tekst under høgt tidspress, som i aviser.

## Historikk

Dei eldste retteprogramma går attende til tidleg på 1970-talet, og dei var ganske enkelt samlingar av ordformer, der ny tekst vart samanlikna opp imot dei eksisterande ordformene. Dei inneheldt heller ikkje nokon framleggsprosedyre, dei berre slo fast at ei viss ordform ikkje eksisterte i kontrolleksikonet.

Eit stort framsteg kom då retteprogramma fekk ein grammatisk komponent, dvs. at settet med stammar vart relatert til eit sett med bøyingsaffiks, slik at t.d. alle norske hankjønnssubsantiv ville få ein peikar til suffiksa *en, ar, ane, NULL*, og alle dei att ein peikar til *s*. Det neste store framsteget var å opne for dynamiske samansetjingar. Alle samiske, austersjøfinske og germanske språk (bortsett frå engelsk) skriv samansette ord utan mellomrom, og for eit ordlistebasert retteprogram er det umogleg å få ein god attkjenningsprosent. Det er ikkje lett å lage ein automatisk samansetjingskomponent, for norsk har t.d. norske grammatikarar til no vist liten interesse for dei grammatiske mekanismane bak fugeformativane *s* og *e* (som i «barn**s**bein», «barn**e**hage», men i moderne retteprogram finst det no gode samansetjingsmekanismar.

## Retteprogram for språk i Noreg

Retteprogramma for nynorsk og bokmål i Microsoft si programvare er utarbeidd av det finske firmaet Lingsoft. Dei er utforma som endelege tilstandsautomatar, og byggjer på tonivåmorfologi. 

Retteprogram for nynorsk og bokmål under Linux og Macintosh er basert på ispell, og bruker kjeldefiler opphavleg laga av Rune Kleveland. Kleveland sin kjeldekode blir no utvida og oppdatert av det opne kjeldekodeprosjektet speling.

Retteprogram for nordsamisk og lulesamisk er utarbeidd av det norske sametinget i samarbeid med Universitetet i Tromsø. Teknologien er basert på grammatisk baserte endelege tilstandsautomatar, som blir ekspandert til fullformlister og deretter maskinelt komponert til tilstandsautomatar att. Programmet fungerer (framleis) berre for Microsoft Word. Det er gratis tilgjengeleg for alle interesserte.

## Bakgrunnsstoff

* Lingsofts NOBSPELL 
* Lingsofts NNOSPELL 
* spell-norwegian, ispell/hunspell-basert stavekontroll for nynorsk og bokmål
* divvun.no, samisk ordretting

## Sjå også

Grammatikkkontrollprogram