Stava 2.66 - stavningskontroll av svensk text
Stava utvecklades av
Viggo Kann och Joachim Hollman
inom projektet
Algoritmer för svenska språkverktyg
och har sedan utvecklats till att klara olika teckenkodningar och att utföra morfologisk analys.
Den som vill använda programmet kan göra det på webben under
adressen
http://www.csc.kth.se/stava/
.
Det finns också som ett C-program med textgränssnitt som beskrivs nedan.
Det finns däremot inget Windows- eller Macgränssnitt för Stava.
I KTH-nytt nr 6/96 publicerades en
artikel om stava.
Källkod
Källkoden och
lexikonet till Stava finns tillgängliga under
GNU General Public Licence.
Det finns en tidigare version av Stava (version 1.8)
som är helt fri för icke-kommersiell användning. Källkoden (skriven i ANSI-C)
kan hämtas och kompileras för åtminstone Unix.
Unixversion
Detta beskriver hur Unixversionen av Stava anropas.
Programmet är tillgängligt på Nadas datorer på KTH.
Syntax
stava -ox
ordlista
-ux
lexikonfil
-lx
lexikonfil
-w
ord
-AbBdDefhiknpqrStv278
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.
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
.
Normalt sett godkänns dels ord som finns i någon av Stavas ordlistor,
dels ord som kan bildas genom att man lägger till en ändelse till ett
ord som finns i ordlistan, och dels sammansättningar. Ändelsereglerna
är utformade så att de i stort sett aldrig ska kunna godkänna falska
böjningar, men i undantagsfall kan det inträffa (till exempel godkänns
böjningsformen dekorna). Om man inte vill att Stava
ska använda ändelseregler så ska man ge väljaren -A
, och om
man inte vill att Stava ska tillåta sammansättningar så
ska man ge väljaren -S
.
Väljare
-
-A
-
Använd inte ändelseregler som tillåter ovanligare böjningsformer.
-
-B
-
Tillåt inte generering av sammansatta ord som rättelseförslag.
-
-d
-
Ordlistan utökas med vanligt förekommande datatermer.
-
-D
-
Visa en morfologisk analys av ordet (sammansättningsled och böjningsregel).
-
-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
-efnd
.
-
-lx
lexikonfil
-
Använd angiven lexikonfil som systemets basordlista.
x anger lexikonfilens typ, antingen I (ILlist),
E (ELlist), F (FLlist), U (ULlist) eller S (SLlist). Om typen inte anges
antas den vara E.
Lexikonfilen (av typ I, E, F eller U) måste ha skapats med väljaren
-u
.
-
-n
-
Ordlistan utökas med vanligt förekommande namn.
-
-ox
ordlista
-
Basordlistan utökas med orden i filen ordlista.
x anger lexikonfilens typ, antingen
I (ILlist), E (ELlist), F (FLlist) eller U (ULlist).
Om typen inte anges antas den vara E.
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
-
Tillåt inte sammansättningar av ord i ordlistan.
-
-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.
-
-ux
lexikonfil
-
Skapa en ny lexikonfil av angiven typ (I, E, F eller U) som innehåller den
gamla inklusive alla tillvalda
ordlistor och de ord som inte accepteras i inmatningsfilen.
x anger lexikonfilens typ, antingen I (ILlist),
E (ELlist), F (FLlist) eller U (ULlist). Om typen inte anges antas den vara E.
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. Lexikonfilerna är kodade och ganska stora.
-
-v
-
Invertera Stavas funktion, det vill säga skriv ut de ord som inte
är felstavade.
-
-V
-
Tala om versionsnumret för Stava.
-
-2
-
Stava letar efter fler rättelseförslag än annars. Detta tar lite längre tid.
-
-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 Latin-1.
-
-16
-
Stava använder Unicode enligt UTF-8 för svenska bokstäver. Detta är standardläget.
Filer
/usr/local/bin/stava
-
det körbara programmet,
-
/misc/tcs/language/lib/
-
katalog med lexikonfiler och tilläggsordlistor.
Om man vill att Stava ska söka i någon annan katalog efter
ordlistor kan man ange katalognamn (avslutat med snedstreck)
i omgivningsvariabeln
STAVALIB
.
Stavas basordlista är sammansatt av fyra stycken lexikonfiler och en
lista med suffixregler.
- ILlist
- Lexikonfil med ord som alltid står för sig själva
och inte kan få några böjningsändelser, till exempel jag.
- ELlist
- Lexikonfil med ord som kan stå för sig själva och kan stå som efterled
i sammansättningar. På dessa ord kan man också tillämpa suffixregler.
- FLlist
- Lexikonfil med ord som kan stå som förled och mellanled i sammansättningar.
- ULlist
- Lexikonfil med undantag, det vill säga ord som aldrig ska godkännas.
- SLlist
- Lista med suffixregler.
Suffixreglernas syntax beskrivs
här.
Bibliografi
- Implementation aspects and applications of a spelling correction algorithm.
- V. Kann, R. Domeij, J. Hollman, M. Tillenius
- NADA report TRITA-NA-9813, 1998.
-
Postscript.
PDF.
- Äntligen kan datorn stava rätt
- V. Kann
- Artikel i KTH-nytt, 6/1996.
-
HTML.
- Efficient generation and ranking of spelling error corrections
- M. Tillenius
- Nadarapport TRITA-NA-E9621, 1996.
-
Postscript.
- De ryska böjningsmönstrens betydelse vid maskinell rättstavning
- L. Engebretsen
- B-uppsats i ryska, april 1997.
-
Pdf.
- Detection of spelling errors in Swedish not using a word list en clair
- R. Domeij, J. Hollman, V. Kann
- J. of Quantitative Linguistics 1:195-201, 1994.
- QUALICO-94, 71-76, 1994.
-
Postscript.
- En metod för svensk rättstavning baserad på bloomfilter
- J. Hollman, V. Kann
- Nadarapport TRITA-NA-P9213, 1992.
-
PDF.
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.
Konstruktörer
Viggo Kann
(viggo@kth.se)
Joachim Hollman
Upp till Stavas hemsida.