Nada

Stava version 1.8 - stavningskontroll av svensk text

Stava är ett program som stavningskontrollerar en svensk text. Programmet delar upp texten i ord och slår upp varje ord i en ordlista med 200000 ord. Ordlistan är kodad som ett bloomfilter vilket gör att uppslagning går mycket snabbt men det är omöjligt att återvinna ordlistan i klartext.

Stava har utvecklats av Viggo Kann och Joachim Hollman. Version 1.8 av Stava är fri för icke-kommersiell användning (se spridningslicensen nedan).

Det finns en nyare version av Stava som utvecklats inom forskningsprojektet Algoritmer för svenska språkverktyg vid Nada, KTH. Det är endast en forskningsprodukt och är inte tillgängligt för användning utanför KTH. Den som vill testa den nya versionen kan dock göra det i www under adressen http://www.nada.kth.se/stava/.

Ordlistor

Stavas kodade ordlista med 200000 ord härstammar från Språkbanken vid Göteborgs universitet. Denna ordlista är tyvärr skyddad och får inte spridas i klartext. Det vore bra om det fanns en stor fri svensk ordlista. Detta håller några eldsjälar i projektet Nordic Words på att skapa. Hjälp gärna till i deras arbete!

Unixversion

Detta beskriver hur Unixversionen av Stava 1.8 anropas. Källkoden (skriven i ANSI-C) kan hämtas från ftp://ftp.nada.kth.se/Theory/Viggo-Kann/stava.1.8.tar. Mer information finns här.

Syntax

stava -o ordlista -u lexikonfil -l lexikonfil -w ord -adefhiknpqrstv78DM filnamn

Beskrivning

stava läser texten i filnamn och kontrollerar stavningen mot den inbyggda ordlistan. Ord som inte finns med i ordlistan antas felstavade och skrivs ut på standard output. Om inget filnamn ges som argument sker inmatningen från standard input.

Det finns möjlighet att påverka uppförandet hos stava genom ett antal väljare. Bland annat kan egna eller specialiserade ordlistor adderas till den ursprungliga ordlistan. Stava försöker inte att känna igen sammansatta ord om de inte förekommer explicit i ordlistan men detta beteende kan man ändra på, mer om detta nedan.

En särskild .ord-fil kan associeras med filnamn genom att man lägger till suffixet .ord till filnamnet. Här kan ord som inte hör hemma i en egen ordlista placeras, t.ex. slangord som man inte vill ha införda i en ordlista men som man för den skull inte vill ha rapporterade som felstavade.

Väljare kan också ges i omgivningsvariabeln STAVA.

Väljare

-a
Godkänn även ord som kan bildas genom att man lägger till en ändelse till ett ord som finns i ordlistan. Tyvärr godkänns även vissa felaktiga böjningar som t ex ögan och springade.
-d
Ordlistan utökas med vanligt förekommande datatermer.
-e
Ett ord rapporteras som felstavat bara en gång, även om samma stavfel förekommer flera gånger i filnamn.
-f
Ordlistan utökas med vanligt förekommande förkortningar.
-h
HTML-koder och MHTML-koder sållas bort.
-i
Inför ord som inte accepteras i .ord-filen. Den gamla .ord-filen ersätts med en ny fil där de nya orden lagts till.
-k
Kort lista med fel, samma som -eafnsd.
-l lexikonfil
Använd angiven lexikonfil i stället för systemets basordlista. Lexikonfilen måste ha skapats med väljaren -u.
-n
Ordlistan utökas med vanligt förekommande namn.
-o ordlista
Den inbyggda ordlistan utökas med orden i filen ordlista. Flera ordlistor kan ges men var och en måste föregås av väljaren -o. Filformatet är mycket enkelt: varje nytt ord i filen ordlista avslutas med radframmatning.
-p
Extra petig kontroll. Ett ord med konstiga bokstavsanhopningar godkänns inte även om det skulle godkännas av stavningsalgoritmen.
-q
Läs inte den till filnamn hörande .ord-filen.
-r
Ge rättelseförslag till varje felstavat ord.
-s
Ord som kan bildas genom sammansättningar av ord i ordlistan accepteras som rättstavade.
-t
Ordlistan utökas med alla fördefinierade TeX-ord och LaTeX-ord. Denna väljare gör att du inte får onödiga klagomål på svenska TeX-manuskript. Om väljaren -7 används samtidigt antas att filen har SweTeX-format.
-u lexikonfil
Skapa en ny basordlista som innehåller den gamla inklusive alla tillvalda ordlistor och de ord som inte accepteras i inmatningsfilen. Detta är bara användbart då de tillvalda ordlistorna har blivit så stora att det tar tid att läsa in dem när stava startas. Basordlistan är kodad och mycket stor (500 K).
-v
Tala om versionsnumret för Stava.
-w ord
Gör stavningskontroll på ett enstaka ord. Detta kan vara användbart då man vill anropa Stava från ett annat program. Flera -w-väljare kan ges i samma kommando.
-7
Stava använder 7-bitskoder för svenska bokstäver.
-8
Stava använder 8-bitskoder för svenska bokstäver enligt ISO 8859-1, vilket normalt används på Unix- och Windowssystem. Detta är normalläget.
-D
Stava använder DOS-kodning för svenska bokstäver.
-M
Stava använder Macintoshkodning för svenska bokstäver.

Filer

/usr/local/bin/stava
det körbara programmet
/usr/local/lib/stava/
katalog med basordlistor och tilläggsordlistor
/usr/local/lib/stava/datatermer
ordlista med datatermer
/usr/local/lib/stava/forkortningar
ordlista med förkortningar
/usr/local/lib/stava/fyrgraf
tabell med bokstavskombinationer, används av väljaren -r
/usr/local/lib/stava/klist
basordlistan med datatermer, förkortningar och namn
/usr/local/lib/stava/list
basordlista som omfattar ca 200000 ord
/usr/local/lib/stava/namn
ordlista med namn
/usr/local/lib/stava/tex
ordlista med alla TeX-termer

Bibliografi

Joachim Hollman och Viggo Kann: "En metod för svensk rättstavning baserad på bloomfilter", TRITA-NA-P9213, Nada, KTH.

Buggar

Eftersom stava utnyttjar en probabilistisk metod för stavningskontroll finns det en liten risk för att felstavade ord godkänns. Risken för att felaktiga ord godkänns ökar något då väljarna för ändelser och sammansättningar valts.

Spridningslicens

Vi ser gärna att Stavaprogrammet sprids ickekommersiellt. Därför tillåter vi användning och kopiering av hela eller delar av Stavaprogrammet för ickekommersiellt bruk.

Den som vill använda programmet eller delar av koden i ett kommersiellt sammanhang måste först kontakta någon av oss så vi kan komma överens om ett avtal.

Engelsk rättstavning

Det finns också ett engelskt lexikon till Stava. Det kan hämtas från ftp://ftp.nada.kth.se/Theory/Viggo-Kann/spell.1.8.tar. Mer information finns här.

Konstruktörer

Viggo Kann (viggo@nada.kth.se)
Joachim Hollman (joachim@nada.kth.se)

^ Upp till nya Stavas hemsida.


Sidansvarig: Viggo Kann <viggo@nada.kth.se>
Senast ändrad 26 juni 1997
Tekniskt stöd: <webmaster@nada.kth.se>