Nada

Äntligen kan datorn stava rätt

Denna artikel publicerades i KTH-nytt nr 6/96, sida 6.

Vid Nada, institutionen för numerisk analys och datalogi, forskar docent Viggo Kann om hur väl man kan få datorn att automatiskt rättstava en svensk text. Projektet heter Algoritmer för svenska språkverktyg.

Varför har ordbehandlare så svårt att upptäcka stavfel i texter skrivna på svenska? En förklaring är att de flesta ordbehandlare är gjorda i första hand för engelska, och det är lättare för datorn att se om ett engelskt ord är felstavat än ett svenskt. Detta beror på att svenskan har många fler böjningsformer och framför allt att svenska ord kan vara sammansättningar som består av nästan hur många sammansättningsled som helst.

Ett annat problem är att en felstavning av ett ord kan bli ett annat riktigt ord. Om man till exempel råkar kasta om de två sista bokstäverna i ordet för får man frö, och sådana fel är det förstås mycket svårt att upptäcka utan en grammatisk analys av texten.

Får inte vara omständligt

De flesta användare av rättstavningshjälpmedlen i dagens ordbehandlare irriterar sig på att det är så omständligt att stavningskontrollera en längre text. Datorn klagar vanligtvis nästan enbart på korrekta ord, och de rättelseförslag som ges är ofta helt uppåt väggarna. För att en rättstavningsfunktion ska vara praktiskt användbar så måste det gå snabbt och enkelt att kontrollera en text. Bekvämligheten är ofta avgörande för om funktionen ska användas över huvud taget.

Hur bär man sig då åt för att konstruera ett bra svenskt rättstavningsprogram? I ett projekt finansierat av humanistisk-samhällsvetenskapliga forskningsrådets språkteknologiprogram har en grupp forskare på Nada ägnat sig åt denna fråga.

Först och främst måste programmet ha en stor ordlista, men en stor ordlista ställer också till problem. Dels tar det längre tid att söka i en stor ordlista, dels är datorns minne begränsat och dels är det inte alltid bra att ta med många ovanliga ord, för då ökar risken för att en felstavning ska sammanfalla med ett ord i ordlistan. Dessutom finns det oändligt många tänkbara svenska sammansatta ord, så det är hopplöst att försöka lagra alla ord i en ordlista.

Vår egen rättstavningsmetod

Det krävs flera åtgärder för att komma tillrätta med detta problem. För det första lagrar vi ordlistan på ett speciellt sätt som gör att det går blixtsnabbt att söka i den, utan att den för den sakens skull tar större plats. För det andra använder vi böjningsregler för att slippa lagra mer än de vanligaste böjningsformerna av varje ord, och för det tredje delar vi upp orden i ordlistan i tre delar: ord som inte förekommer i sammansättningar, ord som kan förekomma som efterled i sammansättningar, och ord som kan vara förled och mellanled i sammansättningar. Exempelvis anses ordet honungsmelonhalva vara rättstavat eftersom honungs och melon är tillåtna förled och halva är ett tillåtet efterled.

Mycket ovanliga ord kan vara vanliga i vissa facktexter. Detta tar man hänsyn till genom att använda tilläggsordlistor med till exempel datatermer, kemitermer eller juridiktermer.

Automatisk rättstavning

Nu återstår frågan om huruvida datorn kan fås att själv föreslå rättelser till felstavade ord. Ja, det är möjligt att generera de ord som ligger nära det felstavade ordet och som därför är goda rättelsekandidater. Vad som anses nära kan variera med olika sorters text. I tangentbordsinmatad text beror fel oftast på att en extra bokstav skjutits in, en bokstav har bytts ut, en bokstav har fallit bort eller två på varandra följande bokstäver har kastats om. Dessutom är det vanligare att man skjuter in bokstäver som ligger nära på tangentbordet. Undersökningar visar att 80-90% av felen är av denna typ. I inskannad text uppstår en annan kategori av fel som beror på läsfel, och då behövs en annan sorts närhetsbegrepp.

Med hjälp av ordfrekvenser och stavfelsfrekvenser kan datorn sedan rangordna rättelseförslagen och föreslå den troligaste rättelsen. I en undersökning lyckades vårt rättstavningsprogram korrigera 70% av felen i ett antal tidningstexter riktigt. Det visar att datorn även utan mänsklig hjälp kan hitta och korrigera de flesta felen, men den bästa rättstavningen får man trots allt om datorn och människan samarbetar.

Vårt rättstavningsprogram Stava är fortfarande under utveckling och finns inte för PC eller Mac. Den som vill prova en demoversion av Stava kan hitta det i WWW på adressen http://www.csc.kth.se/~viggo/stava/

Bild av Stava i WWW

^ Upp till Stavas hemsida.


Sidansvarig: <viggo@nada.kth.se>
Senast ändrad 26 juni 1997