Publisert i: Faarlund, J.T., Mæhlum, B. & Nordgård, T. (red.) Mons 7: Utvalde artiklar frå det 7. Møtet Om Norsk Språk i Trondheim 1997 (ss. 197-210). Oslo: Novus forlag, 1998.
internasjonalt matOg han mente at dette avslørte at det var en som ikke hadde norsk som morsmål som hadde skrevet plakaten, for ingen nordmann ville skrive noe sånt. Men fra det norske feilkorpuset til SCARRIE-prosjektet har vi plukket ut følgende representative eksempler:
sin filmrollerDet er riktig at nordmenn sjelden sier ting som internasjonalt mat. Men det er absolutt ikke uvanlig at folk skriver ting som de uten problemer ville gjenkjenne som ugrammatikalske hvis de bare hadde hatt tid til å lese skikkelig korrektur. Den lingvistiske problemstillingen i denne artikkelen er å undersøke hvorvidt ulike feiltyper opptrer i skriftlig norsk og hvordan lingvistisk kunnskap kan bidra til å rette disse feil automatisk.
ny bøker
slike konvoluttene
en ufordragelig støyende sted
den samlede museflokkene
den grønne nylonklessnorene
den forferdede nyhetsoppleserne
årets midtsommerfesten
et halvt nedbrente lyset
en helt nye vestfløy
den IT-teknologisk forskning og utvikling omkring et multimedia-universitet
en rekke sterkt kvinnediskriminerende reklamekampanje
andre av lokalsamfunnets støttespiller
de mest forunderligste ting
Korrekturlesning utført av mennesker er en tidkrevende og kostbar prosess. I forlagsbransjen er det derfor stor interesse for programmer for automatisk korrekturlesning. Spesielt avisene, som produserer store tekstmengder på svært kort tid, har bruk for god og effektiv automatisk korrekturlesning. I denne artikkelen ønsker vi å presentere SCARRIE, som er et EU-støttet forskningsprosjekt som er rettet mot hvordan lingvistiske kunnskaper kan forbedre automatisk korrekturlesning.
Utgangspunktet for SCARRIE er et ferdig system for nederlandsk som heter CORRie (Vosse 1994). Nederlandsk er et språk som har mange trekk til felles med de skandinaviske språkene, bl.a. problemer med homofoni og produktive sammensetninger. Ett aspekt av den lingvistiske problemstillingen i dette prosjektet er å undersøke hvorvidt lingvistiske teknikker utarbeidet for nederlandsk kan overføres til norsk. Men siden det også er mange forskjeller mellom nederlandsk og de skandinaviske språkene (og de skandinaviske språkene seg i mellom), er det viktig å undersøke hva slags skrivefeil som er spesifikke for norsk. Vi har derfor samlet et korpus med skrivefeil.
I denne artikkelen vil vi først vise hva slags skrivefeil en finner i norske tekster. Deretter vil vi illustrere hvordan lingvistiske kunnskaper kan føre til vesentlige forbedringer i programmer for automatisk korrekturlesning på tre områder: fonologisk analyse, morfologisk analyse og syntaktisk analyse.
For analyse av dette materialet tok vi utgangspunkt i en typologi for svenske skrivefeil (Wedbjer Rambell 1998). Vi fant at denne typologien ikke helt dekker behovet for norsk, og derfor har vi utviklet en egen versjon av typologien. Alle feil i korpuset er kategorisert i fire hovedtyper:
1 Grammatiske feil: feil som ikke kan oppdages ved å kontrollere enkeltord, men som muligens kan rettes ved en automatisk grammatisk analyse av setningen (se nedenfor). Eksempler er kongruensfeil, som f.eks. ny bøker.
2 Tegnsettingsfeil: feil som har å gjøre med skilletegn. Dette inkluderer feil orddeling, som f..eks. monopolt- ankegang, som er temmelig frekvent i aviser.
3 Stavefeil: feil i ordets stavemåte som kan oppdages ved å se på ordet utenfor kontekst. Disse feilene resulterer altså alltid i ikke-eksisterende ordformer, f.eks. hade istedenfor hadde. Legg merke til at f.eks. forvekslingen mellom og og å ikke betraktes her som en stavefeil, men som en grammatisk feil.
4 Stilmessige feil: feil som verken kan oppdages ved å se på enkeltord eller ved å analysere setningen. Disse inkluderer:
En foreløpig analyse av feilkorpuset viser interessante ting. Blant de 630 samlete feil er det 164 grammatiske feil, 221 tegnsettingsfeil, 199 stavefeil og 46 stilmessige feil. Fra et lingvistisk perspektiv er det interessant at det er et temmelig stort antall grammatiske feil. En god del av disse feil ser ut som om de kunne ha blitt skrevet av utlendinger, som nevnt i innledningen. Men faktum er at de forekommer i stor utstrekning i tekster skrevet av nordmenn. Grunnen til det er at en feilstaving ofte resulterer i et annet eksisterende ord, f.eks. er istedenfor et, eller at forfatteren ombestemmer seg i løpet av skrivingen og glemmer å rette opp hele frasen.
Selv om det nåværende korpuset er veldig begrenset, tror vi at det er viktig for utarbeidelse av strategier for identifisering og retting av feil. I resten av denne artikkelen vil vi diskutere disse strategiene.
økonmiskeMen datamaskinen aner ikke hvor feilen ligger. Den vet bare at den ikke finner strengen i ordlisten. For å kunne foreslå korrekt stavemåte, må programmet kunne finne andre strenger i ordlisten som ligner på feilstrengen. Det finnes mange forskjellige teknikker for hvordan dette kan gjøres; her vil vi bare kort skissere metoden CORRie bruker. For det første brukes den såkalte trigrammetoden, en metode utviklet av Angell, Freund og Willett (1983). Strengen deles opp i trigrammer, dvs. strenger som består av tre bokstaver etter hverandre.
økonmiske ##ø #øk øko kon onm nmi mis isk ske ke# e## |
økonmiske ##ø #øk øko kon onm nmi mis isk ske ke# e## |
økonomiske ##ø #øk øko kon ono nom omi mis isk ske ke# e## |
Hva med et feilstavet ord som sjeneser? Det finnes flere ord i ordlisten vår som vil få samme mål på likhet (0,7) etter trigrammetoden: både sjenever og sjenerer har sju av ti trigrammer felles med sjeneser. Men hvis vi ser denne strengen i sin kontekst:
Du store sjeneser!så skjønner vi umiddelbart at den intenderte strengen var kineser. Men den riktige strengen har bare fem trigrammer felles med den intenderte, og forholdet her blir bare 0,53.
sjeneser ##s #sj sje jen ene nes ese ser er# r## |
kineser ##k #ki kin ine nes ese ser er# r## |
Hvordan kan vi da forbedre rettestrategien slik at likheten mellom sjeneser
og kineser kommer fram? Likheten ligger selvfølgelig på
det fonologiske planet. Dette kan vi få fram hvis vi bruker trifonanalyse
slik det er foreslått av Berkel og de Smedt (1988). Vi transkriberer
da ordene tilnærmet fonemisk.
sjeneser ##S #Se Sen ene nes ese ser er# r## |
kineser ##ç #çi çin ine nes ese ser er# r## |
sjeneser ##S #Se Sen ene nes ese ser er# r## |
kineser ##S #Si Sin ine nes ese ser er# r## |
sjeneser ##S #Se Sen ene nes ese ser er# r## |
kineser ##S #Se Sen ene nes ese ser er# r## |
Denne metoden forutsetter at alle ordene i ordlisten på forhånd automatisk omsettes til trifoner med hjelp av grafem-til-fonemregler. Når korrekturprogrammet finner en ikke-eksisterende streng, omsettes den med de samme reglene til trifoner, og så søkes disse blant trifonene fra ordlisten. Gjennom å bruke en kombinasjon av trigramanalyse og trifonanalyse kan vi vesentlig forbedre stavekontrollfunksjonen.
Det er tre hovedgrunner til at stavekontrollprogrammer ikke kjenner igjen ord som er skrevet riktig. For det første kan det være egennavn eller neologismer som av naturlige grunner ikke finnes i ordlisten. Det er viktig at brukeren skal kunne legge til egne ord til ordlisten, både egennavn, fagtermer, o.l. De fleste programmer har en god del egennavn nå. Words program kjente igjen Victoria, men ellers ble det mange forslag til endringer for tittelen og forfatterne, f.eks.:
SKARRE: Automatisk korrekturlesning for skandinaviske språk
Victoria Rosin og Korneal de Smelt
Noen andre morsomme forslag var at CORRie kunne rettes til Sorry, og at UiO kunne rettes til ufo, alternativt Rio. Dette virker komisk når man er i godt humør, men kan også være uhyre irriterende. En journalist i Bergens Tidende fortalte om et program som ikke engang kjente igjen navnet Olsen, men foreslo at det kunne rettes til oksen. Dette kan som sagt lett ordnes gjennom at man har en omfattende liste av egennavn og at det er lett for brukeren selv å legge til nye ord.
Mer lingvistisk interessante er de andre grunnene til at riktige ord ikke blir gjenkjent. Den andre grunnen er at programmet ikke kjenner igjen bøyningsformer. Dette aspektet av morfologisk analyse er det som Words program klarte best. Men det var likevel en del underlige feil. Det kjente ikke igjen fonologiske, men foreslo at det skulle rettes til fonologisk. Det kjente heller ikke igjen ugrammatikalske, og hadde denne gang ikke noe forslag til retting. Men da programmet i stedet fikk ordet ugrammatikalsk, foreslo det at det kunne rettes til grammatikalsk. Rarest av alt var vel stavemåte, som ble foreslått rettet til stavemåten. Slike feil bør ikke forekomme i et stavekontrollprogram, og vi bestreber oss på å ha en mest mulig fullstendig ordliste med alle ordformer.
Den tredje grunnen til at ord ikke blir gjenkjent er at de er sammensetninger som ikke finnes i ordlisten. Sammensetning i norsk er svært produktiv, og den presenterer den største morfologiske utfordringen for automatisk korrekturlesning. Noen eksempler av sammensetninger fra dette manuskriptet som Word ikke kjente igjen er følgende:
feilkorpusDisse bør kunne analyseres av en skikkelig sammensetningskomponent. For SCARRIE vil regler for sammensetning bli utarbeidet av Tekstlaboratoriet ved UiO. Det er viktig at sammensetningsreglene er gode, slik at flest mulig sammensetninger blir gjenkjent. Samtidig er det viktig at disse reglene ikke er for liberale. Vosse (1994) sier at man må være svært varsom med å tillate sammensetningsledd som består av tre eller færre bokstaver. Hvis man tillater så korte sammensetningsledd kan mange feilstavede ord feilaktig bli analysert som sammensetninger. Øystein Vangsnes har gitt oss et godt eksempel på dette. Han oppdaget at Words stavekontrollprogram aksepterte både den riktige appetitt og den feilaktige apetitt, og han foreslo at Word trodde apetitt var en sammensetning. Dette er alvorlig, siden apetitt er en svært sannsynlig feilstaving av appetitt, og i hvert fall slike feil forventer vi at programmet skal rette. En god sikring mot slike feil er at man har en liste av vanlige feilstavinger som også sjekkes.
museflokk
nylonklessnor
nyhetsoppleser
midtsommer
vestfløy
reklamekampanje
forlagsbransje
løsnese
Deng har gjort oss en stor tjeneste ved å død over tre år.En menneskelig korrekturleser retter slike feil enkelt fordi han forstår av konteksten hvilke ord som var intendert. Men det er klart at hvis automatisk korrekturlesning skal ha noen mulighet til å oppdage slike feil, må vi ha en syntaktisk komponent. Vanligvis utføres automatisk syntaktisk analyse ved hjelp av en parser, et program som finner en grammatisk analyse på grunnlag av grammatiske regler. En vanlig parser gir imidlertid en analyse bare for korrekte setninger. For å kunne takle grammatisk ukorrekte setninger må parseren derfor være utstyrt med spesielle regler som fanger opp feil. Kongruensfeil, som f.eks. ny bøker, behandles ved å tillate og samtidig markere trekk som ikke stemmer overens. Slike regler kodes i SCARRIE ved hjelp av en trekkbasert grammatikk (Vosse 1994).
som hadde ne hvit bandasje
fikk oss til ås ynke
som omen farlig malstrøm virvlet
Da jeg likte plutselig som ufrivillig fikk se
Men som helhet virket disse frastøtende fysiske trekkende uimotståelig på meg
Vi har rettet spesiell oppmerksomhet mot feil som gjelder forvekslinger av og og å. Dette er et problem som er spesielt for norsk, og det er en svært skjemmende feil. Denne forvekslingen kan i stor grad rettes opp ved å se på den umiddelbare syntaktiske konteksten. Den svært begrensede distribusjonen til infinitivsmerket er nøkkelen til strategien vår. Noe forenklet kan man si det slik:
Dette er selvfølgelig en overforenkling. For det første behøver ikke infinitiven å komme rett etter infinitivsmerket; visse adverb kan komme i mellom. Følgende eksempler er fra Norsk referansegrammatikk:Finner man å og det ikke følger en infinitiv etter, er det sannsynlig at å bør rettes til og. Finner man og fulgt av en infinitiv, er det sannsynlig at og bør rettes til å.
å aldri unne seg nokon tingFinner vi ikke infinitiv eller adverb pluss infinitiv etter å, kan vi være relativt sikre på at å skal rettes til og. Dette gjør det mulig å håndtere feil som:
å berre måtte ta imot kjeft
å ikke forsikre i hvert fall innboet i sitt hjem
å likevel si
Hvem har vært å brukt min maskin?Men selv om det finnes en infinitiv etter infinitivsmerket, er det ikke sikkert at det er riktig, som følgende eksempel viser:
Vi trenger å vaske å tørke.Infinitiver kan nemlig også koordineres, så for å være sikre på at å skal stå foran en infinitiv, må vi sjekke at det ikke også står en infinitiv like foran infinitivsmerket. Verbet vaske kan ikke ta en infinitivsfrase som komplement; derfor kan vi trygt rette å til og.
Den andre delen av strategien er at og fulgt av en infinitiv med stor sannsynlighet bør rettes til å. Igjen er problemet at infinitiver kan koordineres. Men hvis vi kontrollerer for det, kan strategien likevel hjelpe oss til å korrigere mange og for å feil, f.eks.:
Det er en stor utfordring og favne publikum utendørs.Til slutt bør vi nevne at ikke alle feil av denne typen kan rettes automatisk, ikke en gang med en fullstendig syntaktisk analyse. Se for eksempel på følgende fra en annonse i Bergens Tidende:
Hjelp oss og nå måletVi skjønner at det her skulle ha stått å, men setningen er grammatisk tvetydig, og derfor umulig å rette automatisk.
Berkel, B. van og K. de Smedt (1988) "Triphone analysis: a combined method for the correction of orthographical and typographical errors", i Proceedings of the Second Conference on Applied Natural Language Processing, Austin, Texas: Association for Computational Linguistics.
Faarlund, J.T., S. Lie og K.I. Vannebo (1997) Norsk referansegrammatikk, Universitetsforlaget, Oslo.
HIT-programmet, SCARRIE-prosjektet: http://fasting.hf.uib.no/~desmedt/scarrie/
Vosse, T.G. (1994) The Word Connection: Grammar-based Spelling Error Correction in Dutch, Neslia Paniculata, Enschede.
Wedbjer Rambell, Olga (1998) Error Typology for Automatic Proof-reading Purposes. SCARRIE Deliverable 2.1, version 1.1.