next up previous
Next: About this document ...

Språkgranskning med Grammatifix

Fredrik Engberg
fredreng@stp.ling.uu.se

1 Inledning1

Grammatifix är ett program för språkgranskning av svenska som har utvecklats av Lingsoft. Det är en vidareutveckling av den i Office 2000 inbygda språkkontrollen, SWEGC. Programmet kan identifiera följande typer av fel:

1.
grammatiska fel
2.
stilfel (byråkratiska, talspråkliga eller ålderdomliga ord)
3.
brott mot övriga konventioner för det skrivna språket, i fråga om interpunktion, specialtecken, datum m m
När programmet hittar ett fel i en mening, får användaren se den aktuella meningen tillsammans med en förklaring och ibland även med ett rättningsförslag. Programmet kan känna igen maximalt 40 typer av fel fördelade på ovanstående tre grupper, och användaren kan välja vilka typer av fel programmet ska försöka identifiera. För den som nöjer sig med att göra en grövre inställning finns möjligheten att välja mellan fyra olika ''kontrollnivåer'':

Man påpekar att Grammatifix, för bästa resultat, ska tillämpas på text där stavfel redan har rättats. Det går att använda valfritt program för stavningskontroll, men Lingsoft hävdar (föga förvånande) att deras egen produkt, Orthografix, är ''bäst anpassad till Grammatifix''.

Den verkligt intressanta delen i systemet är grammatikkontrollen, som är baserad på en restriktionsgrammatik för svenska, SWECG. (Se Birn 1998 om just SWECG, och Karlsson et al 1995 om själva restriktionsgrammatikformalismen.) Kontrollen av interpunktion m m (punkt 3 ovan) sker med finite state-tekniker, medan stilkontrollen helt enkelt undersöker om något ord i texten är försett med en viss stilmarkör i lexikonet och i så fall flaggar bruket av ordet som ett stilfel (Birn 1999b). I det följande ges en närmare beskrivning av grammatikkontrollen, baserad på Birn 1999a.2

2 Grammatikkontroll

2.1 Feltyper

Följande typer av grammatiska fel kan identifieras av programmet (nedklippt version av uppställning i Birn 1999a)3:

1.
Bestämdhetsform hos substantiv: ... samhällets utvecklingen(@ERR) ...
2.
Bestämdhetsform hos adjektiv: ... sin egna(@ERR) energi ...
3.
Numeruskongruens: determinerare och substantiv: ... de(@ERR) statliga monopolet ...
4.
Numeruskongruens: adjektiv och substantiv: Ny(@ERR) upplagor ...
5.
Genuskongruens: determinerare och substantiv: ... vardera(@ERR) laget ...
6.
Genuskongruens: adjektiv och substantiv: Effektiv(@ERR) ledarskap ...
7.
Maskulinform hos adjektiv: ... den rödhårige(@ERR) kvinnan.
8.
Predikativkongruens: Den nya apparaturen är inte praktiska(@ERR) att använda.
9.
Supinum utan ''ha'': Där borde nog polisen ryckt(@ERR) in med detsamma.
10.
Dubbelt supinum: Vi hade velat sett(@ERR) ...
11.
Dubbelt passiv: Saken har försökts att tystas(@ERR) ner.
12.
S-passiv efter vissa verb: Huset ämnar byggas(@ERR).
13.
Infinitiv utan ''att'': Han kunde inte undvika möta(@ERR) hennes blick.
14.
Infinitiv med ''att'': Sverige började att(@ERR) klassa ...
15.
Antalet finita verb: I Ryssland är betalar(@ERR) nästan ingen någon skatt ...
16.
Inget finit verb: Det bli(@ERR) viktigt.
17.
Inget verb: Ingenting här.(@ERR)
18.
Placering av adverb i bisats: ... att den lär knappast(@ERR) gå över ...
19.
Placering av negerat led i bisats: ... påstår att lite stryk gör ingen(@ERR) skada.
20.
Ordföljd i indirekt frågesats: Jag undrar vad gör(@ERR) de de unga männen i Finland.
21.
Genuskongruens: pronomen och substantiv: ... en(@ERR) av de tre aggregaten
22.
Pronomenets form efter preposition: Jag tänker på de(@ERR) som kommer sist.
23.
Infinitiv efter preposition: ... för stödja(@ERR) myndigheters och företags miljöarbete.
24.
Dubbel negation: ... om man inte har varken(@ERR) pengar eller familj ...
25.
Prepositionsbruk vid tvåledad konjunktion: ... vare sig i Lund eller Malmö(@ERR).
26.
Konstruktionen ''möjligast'' + adjektiv: Han körde med möjligast(@ERR) stora snabbhet.

Som vi ser rör det sig i huvudsak om två typer av fel, dels kongruensfel i nominalfraser, dels felaktiga verbformer. Arppe et al (1998) menar att nominalfrasfelen, enligt deras erfarenhet, är de vanligaste grammatiska felen överhuvudtaget i svenska.

2.2 Feligenkänning

Indata till grammatikkontrollen är meningar där orden har taggats och (i görligaste mån) disambiguerats morfologiskt med den svenska restriktionsgrammatiken SWECG. Orden tilldelas inte några syntaktiska taggar av SWECG innan de når feligenkänningen utan innehåller endast information om ordklass och böjning. Arppe et al (1998) påpekar att det inte är mödan värt att försöka göra en mera fullständig analys av ogrammatiska meningar, särskilt som frasgränserna antagligen kommer att hamna fel. (Man kan ju anta att SWECG använder bl a kongruenssärdrag för att lokalisera frasgränser.)

När en mening når grammatikkontrollen tilldelas varje ord två taggar, @ERR och @OK. Sedan tillämpas disambigueringsregler som kan utesluta @OK-läsningen av vissa ord, så att de blir entydigt taggade med @ERR.4 Sist i regelmängden finns en default-regel av innebörden att alla ord som (fortfarande) är taggade @OK entydigt ska vara taggade @OK. Nu är varje ord taggat med antingen @ERR eller @OK.

Birn (1999a) ger följande exempel på hur en regel för specieskongruens i nominalfraser skulle kunna se ut:


      (@w =s! (@ERR) (-2 GEN)
                     (-1 A-DEF)
                     ( 0 N-DEF))
Detta ska tolkas som att varje ord, @w, entydigt ska vara taggat @ERR ifall @w är ett substantiv i bestämd form (N-DEF) som omedelbart föregås (-1) av ett svagt böjt adjektiv (A-DEF), och som två steg till vänster (-2) har en genitiv (GEN). Varje regel är kopplad till ett meddelande som talar om för användaren vilken typ av fel det rör sig om och eventuellt föreslår en korrigering.

2.3 Utveckling av felgrammatiken

Arbetet med felgrammatiken har skett i två steg. Först har man konstruerat regler som visserligen täcker in nästan alla fel men som dessutom ger en mängd falska alarm. Sedan har man försökt få ner mängden falska alarm genom att formulera striktare kontextvillkor för reglerna.

I detta arbete har man använt en korpus på 1,6 miljoner ord (mestadels tidningstext) som delats in i fem delar. Först har man tillämpat den ursprungliga, alltför generella felgrammatiken på den första delen av korpusen. Grammatiken finner då 739 fel, av vilka 459 (62 %) är falska alarm. Genom förfinade kontextvillkor minskar man sedan de falska alarmens antal till 37. Resultatet av detta arbete är en modifierad felgrammatik. Denna tillämpas nu på nästa del av korpusen, varpå man återigen försöker eliminera så många falska alarm som möjligt. Därigenom får man en ny regelmängd som tillämpas på den tredje delen av korpusen o s v.

En utvärdering på hela korpusen (NB: samma korpus som använts för att justera reglerna) ger 850 riktiga och 95 felaktiga flaggningar. Det svarar mot en precision på 90 %. Några uppgifter om täckning (recall) har jag inte funnit, men Arppe et al (1998) påpekar att man, i linje med vad som är allmänt känt om användares önskemål, har prioriterat stor precision framför stor täckning.

2.4 Begränsningar

Grammatifix använder ingen information om ords subkategorisering eller selektionsrestriktioner, och detta av två skäl. För det första vore det ett stort och krävande arbete att sammanställa sådan information. För det andra, även om man hade tillgång till informationen, skulle det bli svårt att undvika falska alarm eftersom det finns ett så stort antal korrekta konstruktioner (Arppe et al 1998).

Ordföljd kontrolleras bara i bisatser, där man genom att ta hänsyn endast till en relativt liten kontext kan identifiera felplacerade satsadverbial och negerade konstituenter (Arppe et al 1998). Att hitta ordföljdsfel i en huvudsats måste vara mycket svårt, eftersom det ofta skulle kräva en funktionell analys av satsen och det kanske inte finns mycket mer än just ordföljden att gå på när man ska göra den funktionella analysen.

Litteratur

Arppe, Antti, Juhani Birn och Fredrik Westerlund 1998. Lingsoft's Swedish Grammar Checker. http://www.lingsoft.fi/doc/swegc/

Arppe, Antti 1999. Developing a grammar checker for Swedish.
http://benoni.hf.ntnu.no/nodalida99/program/arpe.txt

Birn, Juhani 1998. Swedish Constraint Grammar: A Short Presentation.
http://www.lingsoft.fi/doc/swecg/intro/

Birn, Juhani 1999a. Detecting Grammar Errors with Lingsoft's Swedish Grammar Checker (LSGC). (Stencilmaterial utdelat vid en presentation vid Uppsala universitet.)

Birn, Juhani 1999b. Detecting Grammar Errors with Lingsoft's Swedish Grammar Checker.
http://benoni.hf.ntnu.no/nodalida99/program/birn.txt

Karlsson, Fred, Atro Voutilainen, Juha Heikkilä och Arto Anttila 1995. Constraint Grammar. A Language-Independent System for Parsing Unrestricted Text. Berlin, New York: Mouton de Gruyter.



 
next up previous
Next: About this document ...
Fredrik Engberg
2000-02-04