Mii *eai leat gal vuollánan—Vi *ha neimen ikke gitt opp:
En hybrid grammatikkontroll for å rette kongruensfeil

Linda Wiechetek1, Flammie A Pirinen1, Børre Gaup1, Chiara Argese2, Thomas Omma1
1Divvun - UiT Norges Arktiske Universitet
2Giellatekno - UiT Norges Arktiske Universitet
Abstract

In English:

Machine learning is the dominating paradigm in natural language processing nowadays. It requires vast amounts of manually annotated or synthetically generated text data. In the GiellaLT infrastructure, on the other hand, we have worked with rule-based methods, where the linguistis have full control over the development the tools. In this article we uncover the myth of machine learning being cheaper than a rule-based approach by showing how much work there is behind data generation, either via corpus annotation or creating tools that automatically mark-up the corpus. Earlier we have shown that the correction of grammatical errors, in particular compound errors, benefit from hybrid methods. Agreement errors, on the other other hand, are to a higher degree dependent on the larger grammatical context. Our experiments show that machine learning methods for this error type, even when supplemented by rule-based methods generating massive data, can not compete with the state-of-the-art rule-based approach.

Set main language [variant = bokmal]norwegian Set other languages english variant = bokmal]norwegianfram-halds-skulen

1 Innledning

Den digitale verdenen vi lever i krever verktøy som håndterer språk. Mens dette blir oppfattet som en selvfølge for de store språkene som engelsk, spansk og en rekke andre majoritetsspråk, er realiteten for minoritetsspråk en helt annen. De fleste minoritetsspråk mangler både tastatur for å kunne skrive språket, og ordanalyse, for ikke å snakke om stavekontroll, tekst-til-tale og maskinoversetting. Nordsamisk er et av de språkene som har verktøy for både morfologisk og syntaktisk analyse, maskinoversetting og stavekontroll, og det jobbes stadig vekk med å utvikle nye verktøy. Ett av verktøyene det er behov for er en grammatikkontroll som kan være med på å øke skriftlig språkkompetanse og dermed føre til økt bruk av samisk på nettet og i den daglige skriftlige kommunikasjonen (dvs. på sosiale medier, epost, osv.).

Nordsamisk er et finsk-ugrisk språk som snakkes i Norge, Sverige og Finland og har omtrent 25 700 talere [6]. Språktypologisk er det et syntetisk språk, der de fleste ordklassene, f.eks. substantiv og adjektiv, bøyes etter kasus, person, tall og mer. Samisk er et minoritetsspråk som konkurrerer med majoritetsspråket i et flerspråklig samfunn og trenger derfor hjelpemidler som fremmer skriftspråket—både i opplæring og administrativ sammenheng.

I denne artikkelen drøfter vi en av de mest frekvente feiltypene i nordsamisk: kongruensfeil mellom subjekt og verbal. Deretter tar vi opp den metodiske bakgrunnen for å lage en grammatikkontroll som kan rette slike feil. I neste seksjon presenteres en maskinlæringsbasert (NeuSam) og en regelbasert (GramDivvun) modell. Disse blir diskutert og evaluerert i siste delen av artikkelen.

Den regelbaserte framgangsmåten har fordelen at man kan jobbe med veldig lite tekst (tilgangen på store mengder tekst er ofte en av utfordringene for minoritetsspråk) og ha kontroll over hva de håndskrevne reglene gjør. Dekningsgraden av ulike feiltyper begrenses til de feilene man har jobbet med. Maskinlæringsmodeller behøver mye data for å bli bra. Dette kan være en utfordring for språk som samisk som ikke har tilstrekkelig med data og samtidig en rik morfologi som fører til at de enkelte formene blir sjeldnere. Data som grammatikkontroll blir trent på må i tillegg inkludere feiloppmerking, og feiloppmerking er en tidkrevende jobb. De fleste tilnærminger velger derfor å lage et syntetisk feilkorpus nettopp pga den betydelige ressursbruken. [12, 5] Samtidig kan maskinlæringsbaserte metoder ha større dekningsgrad for feil man ikke har jobbet med spesifikt. Vi har oppnådd gode resultater med maskinlæring for særskrivingsfeil, dvs. lokale grammatikkfeil [18].

Vi ønsker derfor å undersøke nytten og begrensningene metoden har for andre feiltyper og muligheten for å kombinere maskinlæringsbaserte og regelbaserte metoder for å lage en bedre grammatikkontroll.

Tekstdata som er tilgjengelig digitalt er stort sett samlet i det nordsamiske korpuset SIKOR [17], og bare en liten del er merket opp for grammatikkfeil. Nordsamisk har en relativt ny skriftnormering og det er varierende skriftlig kompetanse blant skribentene. I tillegg har retteverktøy ikke vært tilgjengelig så lenge. Derfor inneholder korpuset mange flere skrive- og grammatikkfeil enn et typisk majoritetsspråkskorpus. Samisk har også en rik morfologi, som betyr at det er mange ordformer og at man trenger enda mer tekst for å dekke alle ordformene.

Dette står i kontrast til store språk der morfologien er relativt enkel, og teksttilfanget er stort og representativt for hele språket. Man fanger lett opp alle ordformer, og man har rik tilgang til språkets syntaks i et slikt teksttilfang. Med et slikt bakgrunnsmateriale man kan lage nevrale nettverk som blir relativt pålitelige fordi ressursene modellen lages på er basert på et allsidig og representativt materiale. For å kompensere for datamangelen har vi derfor laget et nevralt nettverk (maskinlæring) (NeuSam) som benytter seg av syntetiske data. Dataene har vi konstruert ved hjelp av regelbasert morfosyntaktisk analyse for å erstatte korrekte former med feilaktige. Etterpå blir dataene filtrert av regelbaserte verktøy—den nordsamiske grammatikkontrollen GramDivvun, slik at de syntetiske dataene bare inneholder reelle feil.

2 Problemstilling

Vi tar utgangspunkt i automatisk feilretting i nordsamisk. Den første nordsamiske grammatikkontrollen GramDivvun har blitt utviklet siden 2012 og er basert på håndskrevne regler [19], og ble offentlig lansert i 2020. Arbeidet til GramDivvun er riktignok ikke bare et verktøy for en stor mengde grammatikkfeil på alle områder, dvs. fra ekteordsfeil, til særskrivings- og samsvarsfeil, men også et forskingsresultat for variasjonen i og hyppigheten av nordsamiske grammatikkfeil. Ekteordsfeil er korrekt skrevne ord som er brukt i feil sammenheng. De er vanligvis basert på enten ortografisk eller fonetisk likhet (f.eks. å vs. og). I denne artikkelen fokuserer vi på retting av samsvarsfeil mellom subjekt og verbal av samme type som i eksempel 2. Samsvarsfeil er en arketypisk grammatikkfeil som er tilstede i mange språk og som krever en analyse av hele setningen. I motsetning til retting av engelske samsvarsfeil i eksempel 2, slik [14] tar for seg, er samiske samsvarsfeil langt mer komplekse. Årsaken til dette er at samisk har mange flere verbformer enn engelsk og kombinasjoner av tall (entall, totall, flertall) og person (1.,2.,3.) som må kongruere med verbet. I det samiske eksemplet 211 1 Alle samiske eksempler er tatt fra SIKOR.22 2 Alle eksemplene følger Leipzig Glossing konvensjonene: http://www.eva.mpg.de/lingua/resources/glossing-rules.php ser man også at det er flere faktorer som må tas hensyn til når subjektet er sammensatt. Subjektet innholder både det personlige pronomenet mii i første person flertall og et substantiv i nominativ flertall. Verbet kongruerer med pronomenet og ikke med flertallssubstantivet, det burde derfor være áigut isteden for áigot. Dette blir synlig på samisk, men ikke på engelsk siden verbformene i we have og they have er homonyme.

. People still *prefers to bear the risk and allow their pets to have maximum freedom.

. Mii sámit maid *áigot gullot.
1pl same.3pl også vil.3pl høre.pass.inf
‘Vi samer vil også bli hørt’

Kongruens i nordsamisk gjelder kasus, tall og person, avhengig av kontekst. I nordsamisk er det kongruens mellom subjekt (som er i nominativ) og verb, verb og subjektspredikat, demonstrative pronomener/numeraler og substantiv, og relativpronomen og anafora. [15, s.509ff.]33 3 subjekt og verbal (tall og person—Gal mun boađán), verbal og utfyllningspredikativ (Olmmái lea rikkis), mellom predikativer (Mus lea juolgi bávččas), objekt og objektpredikativ, relativsetninger (Dat olmmoš, gii áigu boahtit.), sammenligning og apposisjoner, (Máret lea liikka stuoris go don og Oidnet go don Mihkkala, min nuoramus bártni)?

En kongruensfeil forutsetter en finitt verbform som ikke samsvarer i tall og person med subjektet som hører til verbalet. Subjektet kan stå enten til venstre eller til høyre for verbalet, og det kan være andre setningsledd mellom subjektet og verbalet. I det følgende eksemplet 2 blir subjektet makkár váikkuhusat ‘hvilken konsekvenser’ og verbalet ledje ‘var’ avbrutt av hovedsetningen jáhkát don ‘tror du’. I eksempelsetning 2 derimot er det finitte verbet til venstre for subjektet bare en hovedsetning som introduserer en bisetning uten en subjunksjon. Det er liikojedje som er verbalet til mánát ‘barna’. I eksempelsetning 2 er det en relativsetning mellom subjektet máŋgasat ‘mange’ og verbalet gehččet ‘de ser’.

. Makkár váikkuhusat jáhkát don ledje dáid lágain sidjiide […]
hvilken konsekvens.nom.pl tro.2sg 2sg være.pst.3pl disse.gen lov.loc.pl de.ill.pl
‘Hvilke konsekvenser tror du disse lovene hadde for dem […]’

. Orui mánát liikojedje oaidnit bihtá.
virke.pst.3sg barn.pl.nom like.pst.3pl se forestilling.acc
‘Det virket som om barna likte å se forestillingen.’

. Sávan máŋgasat, geat eai leat sápmelaččat, gehččet dán dokumentára
ønske.1sg mange.pl, som.nom.pl ikke.3pl være same.nom.pl, se.pl3 denne.acc dokumentar.acc
‘Jeg ønsker at mange som ikke er samer, ser denne dokumentaren’

I tillegg til at det kan finnes flere verb som er potensielle verbalkandidater til et subjekt, kan det være ordformer som bare ser ut som finitte verb, men ikke er det. Dette kan skyldes homonymi med finitte verb eller ekteordsfeil. Formen erret ‘skille’ i eksempelsetning 2 er egentlig en ekteordsfeil for adverbet earret ‘bortsett fra’. Men formen har to verbanalyser, både 1. person flertall og 2. person entall. Det kunne altså tenkes at det er verbalet til sii ‘de’.

. Guossit geat áigot leat sámediggeviesus, *erret sii geat áigot leat publikumareálan
gjest.nom.pl som.nom.pl vil.3pl være Sametinghus.loc, skille.1pl;2sg 3pl som vil.3pl være publikumsareal.loc
‘Gjestene som vil være i Sametingshuset, bortsett fra de som skal være i publikumsarealet’

Det finnes også systematiske homonymirelasjoner mellom forskjellige former som er presentert i tabell 1. Det er for eksempel noe homonymi mellom perfektum partisipp og første person entall, f.eks. orron ‘jeg var; har vært’. Alle infinitiver er homonyme med første person presens flertallsverbformer. Infinitiver av ulikestavelses verb og leat ‘å være’ er også homonyme med tredje person flertall. Tredje person presens flertall samsvarer også med andre person preteritum entall ved alle verb bortsett fra leat ‘være’. Videre samsvarer 1. person presens totall og 3. person preteritum flertall bortsett fra leat ‘være’, ulikestavelsesverb og sammendradde verb. Første person preteritum entall samsvarer med perfektum partisipp-formen ved verb som ender på -ut, f.eks. gorgŋon ‘jeg har klatret’. I tillegg gjelder denne homonymien for leat ‘være’, ulikestavelses- og sammendradde verb. Noen verb som har endelsen -ut har for eksempel passive eller inkoative 3. person entallsformer som er homonyme med aktive 3. person flertallspreteritumsformer, f.eks. orro ‘hun/han blir boende, de bodde’.

Form homonyme former
infinitiv {1. p. flt. / 3. p. flt. presens, 2. p. ent. presens }
perfektum partisipp {1. p. ent. preteritum}
1DU presens {3. p. flt. preteritum }
3. p. flt. preteritum {3. p. ent. presens passiv }
bokte ‘via’ {boktit ‘vekke’ 3. p. flt. preteritum }
lávlu ‘sanger’ {lávlut ‘synge’ 3. p. ent. presens}
Table 1: Eksempler på systematiske og idiosynkratiske homonymier

I tillegg til dette finnes det ytterlige idiosynkratiske homonymier, f.eks. bokte ‘via’ som er både en postposisjon og første person totall og tredje person flertall av boktit ‘vekke’. Andre former er derivasjoner, for eksempel lávlu som har en rekke med substantivanalyser (‘sanger’) og tredje person entall form av lávlut ‘synge’.

I noen tilfeller er også subjektshomonymi relevant, slik som i setning 1, der tidsskriftet Dieđut er homonymt med flertallssubstantivet dieđut ‘nyheter’ og basert på det kunne det tenkes at verbformen må være 3. person flertall.

. Dieđut lea máŋggadieđalaš čála-ráidu […]
Dieđut.nom.sg;nyhet.pl være.3sg tverrvitenskapelig skriftserie
‘Dieđut er en tverrvitenskapelig skriftserie’

Det er ikke bare homonymi som kan føre til feiltolkinger av setningen. En del syntaktiske fenomen bidrar til utfordringene. En av de største årsakene til unntak er koordinerte subjekt. Mens verbalet ledje i eksempelsetning 1 tar hensyn til både første, andre og tredje elementet i koordinasjonen, er det i de fleste tilfellene tillatt med både 3. person entall eller 3. person flertall. Setning 1 koordinerer konkrete personer, i 1 er det derimot mer abstrakte eller uspesifiserte begrep som er koordinert.

. Persson, Åberg ja Granberg ledje dat golbma buoremusa juohke vuodjimis.
Persson, Åberg og Granberg være.pst.3pl de tre beste hver kjøring.loc
‘Persson, Åberg og Granberg var de tre beste i hver kjøring.’

I eksempelsetning 1 inneholder det koordinerte subjektet man ollu riggodagat ja ruhta et flertalls- og et entallssubstantiv. Verbet manai er derimot i 3. person entall. Både 3. person entall og 3. person flertall er tillatt.

. […] go sii oidne man ollu riggodagat ja ruhta dokko manai.
når 3pl se.pst.3pl hvor mye rikdom.nom.pl og penger.nom.sg dit gå.pst.3sg
‘[…] når de så hvor mye rikdom og penger som gikk dit.’

I setning 1 oppfattes de koordinerte nominalfrasene i subjektet som en logisk enhet, og bare det nærmeste elementet samsvarer med det finitte verbet. Dessuten er samsvar i koordinasjon avhengig av semantisk kategori til substantivene. Ifølge [15] ¡¡står verbalet i entall [hvis subjektsordene er navn på stoffer]. […] Hvis subjektsordene er abstrakte begrep som nært hører sammen, står verbalet i entall.¿¿ (s.512)

. Sihke jierbmi ja ipmárdus lea buorre su iežas adnui.
Både klokhet og forståelse være.3sg bra 3pl.gen eget bruk.ill
‘Både klokhet og forståelse er bra til sitt bruk.’

Hvis koordinasjonen derimot inneholder et personlig pronomen, er det flertalls- eller totallsformer av samme person som kreves, for eksempel leimmet ‘vi var’ i eksempelsetning 1. Det samme gjelder relativpronomener med et personlig pronomen som antesedent, midjiide ‘til oss’ i eksempelsetning 1, der verbalformen blir 1. person flertall istedenfor 3. person flertall som relativpronomenet.

. Oahpaheaddjit leimmet fas Isak Johansen, Johan Jernsletten ja mun.
lærer.nom.pl være.pst.1pl igjen Isak Johansen, Johan Jernsletten og 1sg
‘Det var Isak Johansen, Johan Jernsletten og jeg som var lærerne.’

. Seamma guoská midjiide geat bargat láhččit rámmaeavttuid juohkehačča ovdáneapmái.
samme gjelde.3sg 1pl.ill som.nom.3pl jobbe.1pl tilrettelegge.inf rammevilkår.acc.pl enkelte.gen utvikling.ill
‘Det samme gjelder oss som jobber med å tilrettelegge rammevilkår for den enkeltes utvikling.’

Når verbalet er kopulaverbet leat ‘være’ og det dreier seg om en habitiv eller adverbialkonstruksjon som i 1, så samsvarer det bare med det nærmeste leddet. [15, s.512]44 4 ¡¡Hvis predikativet består av flere sidestilte ord i nominativ, så er det vanligvis samsvar i tall mellom verbalet og det ordet i predikativet som står nærmest. Dette gjelder setninger med habitiv eller adverbial i nominatdelen¿¿ (p.512) I den følgende konstruksjonen 1 er det bare entall som er mulig siden det dreier seg om en konstruksjon med et stedsadverbial i begynnelsen, dáppe ‘her’.

. Mun dieđán dáppe lea kultuvra ja árbevierru girkostallat.
1sg vite.1sg her være.3sg kultur.nom.sg og tradisjon.nom.sg gå.i.kirken.inf
‘Jeg vet at her er det kultur og tradisjon å gå i kirken.’

Visse typer veldig vanlige skrivefeil (ekteordsfeil) kan komplisere søket etter kongruensfeil. I følgende setning 1 er det finitte verbet korrekt. Men i og med at diehttit ‘å vite’ inneholder en skrivefeil (to t-er istedenfor en), blir den mente infinitiven et flertallssubstantiv. Dermed blir det en mulig flertallssubjektskandidat for det finitte verbet, som kunne tolkes som en kongruensfeil—dvs. at det burde være 3. person flertall istedenfor 3. person entall.

. Ovddamearkka dihte mo *diehttit mieđiha go buohcci vai lea go son duođaid nuppi oaivilis.
For eksempel hvordan viter.nom.pl samtykke.3sg qst syk eller være.3sg qst 3sg egentlig annen mening.loc
‘For eksempel, hvordan skal man vite om den syke samtykker eller om han egentlig har en annen mening.’

En konstruksjon der det kan være vanskelig å finne kongruensfeil, er asymmetriske subjektpredikatskonstruksjoner der subjektet og predikativet ikke har samme tall, som vist i eksempelsetning 1. På språk der subjektet kan være pre- eller postverbalt, slik som i nordsamisk, kan det være vanskelig å identifisere subjektet. [11] nevner utfordringene i NLP-applikasjoner som for eksempel parsere eller maskinoversetting. Verbalet i italiensk samsvarer med subjektet uavhengig av ordstillinga, på engelsk samsvarer verbalet med den preverbale nominalfrasen som i eksempel 1[11]

. Davviriikkaid sápmelaččat *lea unna minoritehta […]
nordområde.gen.pl same.nom.pl være3p.sg liten minoritet.nom.sg
‘Nordens samer er en liten minoritet […]’

. the pictures are/*is the cause. the cause *are/is the pictures

3 Bakgrunn

3.1 Relatert forskning

Maskinlæringsmetoder som ikke krever lingvistisk ekspertise dominerer per idag moderne språkteknologi (f.eks. [4, 3]). Fokuset i maskinlæring har vært på maskinoversetting og andre typer verktøy. Maskinlærte stavekontroller skiller vanligvis ikke på vanlige skrivefeil og grammatiske feil. I det siste har store datamengder ført til at resultatene har bedret seg noe og medført at man har kunnet laget mer avanserte grammatiske verktøy som blir brukt av et bredt publikum.

Det er få eksempler på grammatikkontroller som er basert på nevrale nettverk som er i daglig bruk og er veldokumentert. Noen av de mest populære systemene i bruk er fortsatt regelbasert, slik som LanguageTool55 5 https://languagetool.org (basert på åpen kildekode). Grammarly66 6 https://grammarly.com, som er lukket programvare, bruker maskinlæringsmetoder til en viss grad77 7 https://www.grammarly.com/blog/engineering/grammarly-nlp-building-future-communication/.

På begynnelsen av 90-tallet introduserte Fred Karlsson konseptet føringsgrammatikk (Constraint Grammar). Denne teknologien har produsert gode tekstprosesseringsverktøy, bl.a. grammatikkontroller, som har blitt godt mottatt og brukt i mange språksamfunn [Arppe2000ei, 2, 8]. I GiellaLT-infrastrukturen blir det utviklet føringsgrammatikker der lingvisten har kontroll over hvordan grammatikkontrollene fungerer og hvilke problem de skal løse. Det er ikke bare tekniske årsaker for metodevalget. Kunnskapsøkning om grammatikken til det språket som jobbes med, kvalitetssikring og kontrollerbarhet (grammatikkontrollen gjør det den skal gjøre også ifølge menneskelige standard) ligger bak preferansen om å jobbe regelbasert.

3.2 Våre ressurser

I dette eksperimentet bruker vi GiellaLT-infrastrukturen88 8 https://giellalt.github.io for å lage digitale grammatikker og leksikon og for å lage verktøy som bruker disse grammatikkene og leksikonene [13]. Infrastrukturen er bygd opp slik at verktøyene (tastatur, stavekontroller, etc.) er laget på samme måte for alle språkene, og skiller på denne måten mellom språkspesifikke data og språkuavhengige metoder. GiellaLT har for tiden repositorier for 136 forskjellige språk—for det meste (sirkumpolære) minoritetsspråk eller andre mindre språk. Denne artikkelen bygger på den nordsamiske delen av infrastrukturen99 9 https://github.com/giellalt/lang-sme og er et eksperiment for å eventuelt introdusere nye nevrale metoder til det språkuavhengige byggesystemet.

For å evaluere og trene den nevrale modellen bruker vi SIKOR. SIKOR inneholder ca. 39M ord og består av to korpora: GT-Bound1010 10 https://gtsvn.uit.no/boundcorpus/orig/sme/ (tekster som er dekket av opphavsrett og som er tilgjengelig på forespørsel) og GT-Free1111 11 https://gtsvn.uit.no/freecorpus/orig/sme/ (tekster som er offentlig tilgjengelig). For å evaluere resultater for både den regelbaserte og den nevrale modellen, bruker vi et gullkorpus på ca 406 000 ord som er en del av GT-Free og GT-Bound og som er oppmerket med mange forskjellige feiltyper.

4 Metodevalg

4.1 Regelbasert metode (GramDivvun)

Kongruensfeilretting ved hjelp av håndskrevne regler er basert på endelige tilstandsautomater (FST) [1, 16] og føringsgrammatikker (Constraint Grammar) [9]. Den nordsamiske regelbaserte grammatikkontrollen GramDivvun retter både skrive- og mange grammatikkfeil i tillegg til tegnsettings- og formateringsfeil. GramDivvun er bl.a. tilgjengelig som en plugin for Microsoft Office og Google Docs1212 12 https://divvun.no/no/korrektur/gramcheck.html og er åpen kildekode.1313 13 den presise versjonen som er brukt i eksperimentet finnes her for reproduksjon: https://github.com/giellalt/lang-sme/releases/tag/experiment-2022-03-30 se også https://github.com/giellalt/giella-core/releases/tag/experiment-2022-03-30 og https://github.com/giellalt/giella-shared/releases/tag/experiment-2022-03-30 Den inkluderer bl.a. en nyere versjon av stavekontrollen fra 20071414 14 http://divvun.no/korrektur/korrektur.html, cf. also [7], og seks føringsgrammatikkmoduler, se figur 1.

Modulær struktur av
Figure 1: Modulær struktur av GramDivvun

Kongruensfeilretting foregår i ‘grammarchecker-release.cg3’-modulen. 45 regler legger til en samsvarsfeiltag til verbformen som skal rettes. Hver kombinasjon av person og tall har et eget regelsett som vanligvis består av forskjellige regler for pre- og postverbal subjektsposisjon. I tillegg er det spesifikke regler for passivkonstruksjoner, negasjonskontekster, relativsetninger, kopula, adposisjoner og koordinerte subjekter. Regelsettet for pronominale førstepersonsflertallskontekster er litt mer komplekst siden formen mii er homonymt og kan være både 1. person flertall (‘vi’) og et spørrepronomen i 3. person entall (‘hva’).

Reglene som legger til feiltaggene til en feilaktig verbform har følgende format (forenklet) og følger ‘Constraint Grammar’-formalismen. Regelen nedenfor (som er en av 48) går ut i fra en 3. person entallshøyrekontekst.

     ADD (&kongruensfeiltag)  TARGET finitte verbformer bortsett fra konnegativ/negasjonsverb  IF i høyre kontekst det er et personlig pronomen i 3. person entall     som ikke inneholder en feil     det ikke finnes et annet verb i 3. person entall til høyre for det og     verbet har ingen 3. person entalls-/perf.part.-/konnegativ-/adverbslesing     verbet har ingen 3. person flertallslesing med et koordinert subjekt til høyre     [...];     \@endparenv

4.2 Nevral metode (NeuSam)

4.2.1 Datagenerering (syntetiske feil)

Nevrale nettverk krever en stor mengde av parallelt korpus mellom korrekte og feilaktige setninger. Siden det kan ta flere år å bygge et slikt korpus, er det vanlig å generere et feilkorpus. Ulempen med et generert feilkorpus er at det innebærer en risiko for at feilfordelingen ikke er representativ eller at feilene kanskje ikke er feil. Dataene vi bruker i dette eksperimentet kommer fra SIKOR, og blir viderebehandlet med skript som genererer grammatikkfeil. Vi analyserer korpuset med GramDivvun og fjerner setninger med feil, for å deretter introdusere feil ved å forandre på ordformene i dette materialet. Utfordringene med strategien har vært:

  • For å ikke generere den samme formen som den feilaktige, har vi filtrert bort de introduserte formene som er homonyme (leat ‘vi er’, leat ‘du er’).

  • Siden datamengden øker eksponensielt om vi erstatter en form med mange andre, spesielt når det er flere verb i setningen, har vi valgt å bare introdusere en feil av gangen i setningen, istedenfor å kombinere alle variantene.

Den korrekte setningen 4.2.1 som inneholder et 3. person entallssubjekt og en 3. person entallsverbform kan brukes for å generere opptil 8 setninger med en syntetisk feil (eksempel 4.2.1). Dette gjøres ved å erstatte den korrekte verbformen med forskjellige feilaktige former som er forskjellig i person og tall (som ikke er homonyme med den rette formen).

. Son doarjjui áinnas unnit *giliid.
3sg støtte.pst.3sg selvfølgelig mindre språk.acc.pl
‘Hun støttet selvfølgelig mindre språk.’

. Son dorjot áinnas unnit giliid. Son doarjjuiga áinnas unnit giliid.

Vi brukte et skript1515 15 https://gtsvn.uit.no/hybrid_gramcheck som leser gjennom hver setning i korpuset, og for hver analyse erstatter skriptet verbformen som kan ha kongruens med et subjekt med andre verbformer som ikke har kongruens med subjektet. En oversikt av erstatninger som ble gjort vises i tabell 3. I den første gruppen valgte vi bare et verb og erstattet det med andre former (f.eks tar vi et verb i første person entall og erstatter det med 2. person entall og 3. person entall, og alle totalls- og flertallsformene). I den andre gruppen genererte vi frekvente grammatikkfeil, som tilsvarer feil basert på vår erfaring med korpussøk. Ordene i den andre gruppen har også en begrensing av fonologisk form, f.eks. Ind Prs Pl31616 16 vi bruker GiellaLT sine analysetaggar som er dokumentert her: https://giellalt.github.io/lang-sme/docu-mini-smi-grammartags.html til Imprt Pl2-feil er en feil som oppstår i likestavelsesverb. Etterpå filtrerte vi de genererte setningene med GramDivvun igjen, slik at vi bare satt igjen med setninger GramDivvun anså for å være feil. Resultatet er at flesteparten av de syntetiske feilene som vi introduserte, hhv. 94.5% og 86.4%, ikke ble merket som feil av GramDivvun, antakeligvis fordi de er korrekte med formen som ble erstattet. Dette er ikke uvanlig med tanke på at setninger uten subjekt kan ha korrekte verbformer i alle slags person-tall kombinasjoner. Vi valgte å bruke GramDivvun for å filtrere setningene etter at vi ved en manuell gjennomgang oppdaget at feilkorpuset som ble generert for å trene NeuSam inneholdt mange setninger som var korrekte. Siden GramDivvun tidligere viste seg å ha god presisjon valgte vi å redusere feilkilden ved å bare trene NeuSam med setninger GramDivvun anser som feil.

Analyse Syntetisk (V) Sg1 {Sg2, Sg3, Du1, Du2, Du3, Pl1, Pl2, Pl3} (V) Sg2 {Sg1, Sg3, Du1, Du2, Du3, Pl2} (V) Sg3 {Sg1, Sg2, Du1, Du2, Du3, Pl1, Pl2, Pl3} (V) Du1 {Sg1, Sg2, Sg3, Du2, Du3, Pl1, Pl2} (V) Du2 {Sg1, Sg2, Sg3, Du1, Du3, Pl1, Pl2, Pl3} (V) Du3 {Sg1, Sg2, Du1, Du2, Pl1, Pl2, Pl3} (V) Pl1 {Sg1, Sg3, Du1, Du2, Du3, Pl2} (V) Pl2 {Sg1, Sg2, Sg3, Du1, Du2, Du3, Pl1, Pl3} (V) Pl3 {Sg1, Du2, Du3, Pl1, Pl2} (V) Ind Prs Pl3 Imprt Pl2 (Der/Pass V) Imprt Du2 Ind Prs Sg3 (V) Ind Prs Sg3 Ind Prt Pl3
Table 2: Erstatninger for å generere grammatikkfeil; kontekst er i parentes.
Parameter Verdi train steg 100,000 valid steg 10,000 vocab størrelse 50,000 seed 3,435 encoder type brnn
Table 3: Parametre gitt til OpenNMT

4.2.2 Trening og testing

Et diagram av
Figure 2: Et diagram av NeuSam og treningsprosessen

Vi har brukt OpenNMT-py [10] for eksperimenteringen med nevrale nettverk. Vi fulgte metoden som er beskrevet i OpenNMT-py sin ‘tutorial’1717 17 https://opennmt.net/OpenNMT-py/quickstart.html med standardparametrene.

90 % av dataene vi samlet i stegene ovenfor ble brukt for å trene modellene. Vi reformaterte dataene våre slik at de ble tolket som en bokstavbasert modell. Dette gjorde vi for å unngå OpenNMTs automatiske tokenisering. Disse parametrene vises også i tabellen 3.1818 18 Vi inkluderer hele konfigurasjonen av opennmt-py og skript til trening i https://gtsvn.uit.no/hybrid_gramcheck ved publisering. Trening av modellen ble gjort på en GPU-supercomputer fra ¡¡UNINETT Sigma2—the National Infrastructure for High Performance Computing and Data Storage in Norway¿¿. Det tok i gjennomsnitt fem timer å generere hver treningsmodell.

Vi har generert to forskjellige nevrale modeller med forskjellige datasett: en med et større datasett der vi bruker alle syntetisk genererte setninger som omtalt i seksjonen 4.2.1. I den andre lager vi en modell basert på setninger som etter syntetisk feilgenerering blir filtrert gjennom GramDivvun. Input til testene av de nevrale modellene er den tiendelen av vårt genererte korpus som ikke har blitt brukt i treningen av modellene, og testen vi gjør er å sjekke hvor stor del av dette testsettet som blir merket som feil. Formelen for nøyaktighet er ganske enkel: nøyaktighet=korrektealle der korrekte er antall setninger som modellen anser for å inneholde feil, alle er antall setninger i testsettet.

I tabell 5 ser vi at modellen basert på filtrerte setninger er mer nøyaktig. Den større modellen har 9 % dårligere resultat enn den mindre modellen. Det betyr at modellen basert på ufilterte setninger egentlig har lært å fikse feil deler av eller ikke fikser alle feil i nesten 1 av 10 setninger med syntetiske feil.

Modell Nøyaktighet Stor 25 % Filtrert 37 %
Table 4: Nøyaktighet av nevrale modeller
Modell Presisjon Dekning F-Score GramDivvun 78.50 % 43.75 % 56.19 NeuSam 27.01 % 8.21 % 12.61
Table 5: Evaluering av den regelbaserte og maskinlæringsmodellen

5 Resultater

Vi har evaluert NeuSam og GramDivvun på det oppmerkede korpuset på 406 000 ord som er en del av SIKOR. Korpuset består av mange administrative og nyhetstekster, litt skjønnlitteratur og en del L2-tekster som ble samlet inn for spesielle formål. Oppmerkingen fulgte opprinnelig noen retningslinjer for skrivefeil og fonologiske prosesser, og den har skjedd over et lengre tidsrom, ca. 15 år. Etterhvert ble oppmerkingen utvidet og tilpasset grammatikkontroll og måten evalueringsskriptet er istand til å kjenne igjen disse feilene på. Vi følger prinsippet om at bare det som blir rettet blir merket opp og ikke konteksten for å se feilen. Vi oppdaget en del inkonsekvent oppmerking som vi rettet under dette arbeidet. Dette skyldes også at grammatikkontrollprogrammet kom mange år etter at korpusoppmerkingen startet. Grammatisk feilkategorisering var ikke helt utarbeidet på det tidspunktet og man kunne ikke sjekke mot et dataprogram som krever konsekvent oppmerking.

Vi ønsket å sammenligne presisjon og dekning og sjekke om NeuSam retter feil som GramDivvun ikke oppdager. Tabell 5 viser at GramDivvun er betydelig bedre enn NeuSam på å finne kongruensfeil. Man ser også at mange av korreksjonene til NeuSam ikke har noen lingvistisk forklaring, mens mange av korreksjonene til GramDivvun kan være nyttig for brukeren i og med at de viser til en annen feil i setningen.

I eksempelsetning 5 blir verbformen livčče ‘de skulle’ rettet til entall livččii ‘hun/han skulle’ fordi subjektet Maáŋga mearraolbmáidgirku inneholder et tallord med en skrivefeil. Dermed oppfattes bare entallssubstantivet mearraolbmáidgirku som subjekt, og flertallsbetydninga blir tapt. Dette regnes som en falsk positiv i evalueringen, men grammatikkontrollen har ‘tenkt’ rett ut i fra den informasjonen som er tilgjengelig (altså før skrivefeilen blir rettet).

. Maáŋga mearraolbmáidgirku livčče vuollebáhcagiin šaddan rahčat […]
mange sjømannskirke.nom;gen.sg ville.pot.3pl underskudd.com.pl bli.pastp kjempe.inf
‘Mange sjømannskirker ville kjempet med underskudd […]’

Falske negativer er det flest av i koordinasjon med to eller flere substantiv, der det finitte verbet skal være i entall isteden for flertall. Et eksempel er 5, der tredje person flertallsformen leat skal rettes til tredje person entallsformen lea. Kongruens i koordinasjon er avhengig av flere faktorer, blant annet semantisk tilhørighet, syntaks (kopulakonstruksjoner og adverbialkonstruksjoner behandles forskjellig fra andre) og pragmatikk (er den introduserte entiteten kjent?). Grunnen til at feilen ikke blir oppdaget er at vi ennå ikke laget en regel som retter fra flertalls- til entallsverb i koordinasjon.

. Álggahanvahkku prográmmas leat almmolaš rahpanbeaivi, diehtojuohkin Sámi allaskuvlla birra, fáddarortnet ođđa studeanttaide.
startuken.gen program.loc være.3sg offisiell åpningsdag, informasjon Samisk høgskole om, fadderordningen nye student.ill.pl.
‘I startukens program inngår offisiell åpningsdag, informasjon om Samisk høgskole, fadderordningen for nye studenter.’

At NeuSam ikke finner flesteparten av de oppmerkede feilene, skyldes sannsynligvis at treningsmaterialet ikke er representativt nok. Et annet problem er at når rettingen går galt, blir rettelsen helt uforståelig. Et eksempel er at samme ordrekkefølge blir repetert uendelig mange ganger johtá guovllus sahtá guovllus sahtá guovllus sahtá guovllus sahtá guovll…. Dette lar seg fikse ved å endre på lengderestriksjoner for setninger, men følgen er at man ikke kan rette lengre setninger.

Den større modellen gir følgende feilaktige resultat for eksempel 5: Istedenfor å bare rette verbformen logat ‘du leser’ til lohká ‘hun/han leser’ blir setningen rettet til 5, dvs. NeuSam tar bort hele setningen logan dál oppalaččat uten at dette skulle være lingvistisk fundert.

. In dovdda dán ášši, logan dál oppalaččat, logat Sámedikki presideanta Egil Olli. In dovdda dán ášši, lohká Sámedikki presideanta Egil Olli. .̧ In dovdda dán ášši, logan dál oppalaččat, lohká Sámedikki presideanta Egil Olli.

NeuSam produserer også noen falske positiver, f.eks. i 5 blir šaddet rettet til šaddá (3Pl¿3Sg), men det burde ikke rettes siden stuorát doalut er et flertallssubjekt.

. Duogážin manne heastasearvi lea fárus doaluin, lea danin vai šaddet stuorát doalut […]
bakgrunn.ess hvorfor hesteforening være.3sg med arrangement.loc.pl, være.3sg derfor at bli.3pl stor.comp arrangement.nom.pl
‘Bakgrunnen for at hesteforeningen er med i arrangementet, er at det blir et større arrangement’

6 Konklusjon

I denne artikkelen laget vi to maskinlæringsmodeller for å rette kongruensfeil mellom subjekt og verbal i nordsamisk. Parallelt med dette utviklet vi et regelsett for slike feil i GramDivvun, den eksisterende regelbaserte grammatikkontrollen. Vi ville sammenligne resultatene for maskinlæring og regelbasert metode, både for å få mer klarhet i hvilken metode som bør foretrekkes for dette formålet og for å se om systemene har styrker på forskjellige områder og kan kombineres til en hybrid grammatikkontroll. Vi ville også forsøke å avdekke myten om at maskinlæring blir billigere enn regelbaserte metoder, og det mener vi at vi har gjort ved å tydeliggjøre at det å generere treningsdata må regnes inn i de faktiske kostnadene til metoden. For å lage et feiloppmerket treningskorpus for NeuSam brukte vi den regelbaserte modellen GramDivvun for å rydde korpuset for støy. Dette var nødvendig for å etterpå kunne introdusere syntetiske feil. Uten denne filteringen blir nøyaktigheten til NeuSam 12 prosentpoeng verre. Det at den regelbaserte modellen blir brukt for å automatisk generere data viser at korpuset ikke blir gratis.

Vår hypotese—at regelbaserte metoder kan kompensere for mangel av data, også for maskinlæringsmodeller—har vist seg å ikke holde stikk når det gjelder retting av globale grammatikkfeil. Evalueringen på et ekte korpus (dvs. med ekte feil i en naturlig distribusjon) i tabell 5 viser at for den regelbaserte modellen er presisjonen nesten tre ganger bedre og dekningen fem ganger bedre enn for den maskinlæringsbaserte modellen. GramDivvun presterer så bra (79% presisjon) at vi har en modell som er til nytte for språkbrukere i og med at mengden på de falske alarmene er relativt lavt. NeuSam derimot gjør det såpass dårlig på et ekte korpus, med en presisjon på bare 27% (på testsettet var resultatene tre ganger bedre), at det ikke kan brukes for å lage en hybrid grammatikkontroll for kongruensfeil. Det taler for at det syntetiske feilkorpuset kanskje ikke er representativt nok til å være et realistisk feilkorpus. I tillegg er det å introdusere ekte kongruensfeil en oppgave som krever mer enn enkle erstatninger og en enkel kontekstanalyse. Mange kontekster tillater flere former uten at disse er feil. Det å introdusere kongruensfeil kan anses som en oppgave som er minst like vanskelig som, om ikke vanskeligere enn, selve feilfinningen. Dvs. at vi trenger et verktøy som er like bra som den regelbaserte grammatikkontrollen for å lage et korpus for en maskinlæringsbasert grammatikkontroll. Mens maskinlæringsmetoder fungerer for mer lokale feil som for eksempel sammensettingsfeil, er det for krevende å lage feilkorpus for mer avanserte feil. Dette gir et bra utgangspunkt for framtidig forskning, men med de nåværende ressursene synes ikke maskinlæring å være den mest lovende metoden for å lage grammatikkontroller. Den regelbaserte metoden er fortsatt den som gir best resultat på dette området.

Godord

Modelleringen av de nevrale nettverkene har blitt utført på maskinene til UNINETT Sigma2.

References

  • [1] K. R. Beesley and L. Karttunen (2003) Finite state morphology. CSLI publications. External Links: ISBN 978-1575864341 Cited by: §4.1.
  • [2] J. Birn (2000) Detecting grammar errors with Lingsoft’s Swedish grammar checker. In Proceedings of the 12th Nordic Conference of Computational Linguistics (NoDaLiDa 1999), T. Nordgård (Ed.), Department of Linguistics, Norwegian University of Science and Technology (NTNU), Trondheim, Norway, pp. 28–40. Cited by: §3.1.
  • [3] A. Boyd (2018) Using wikipedia edits in low resource grammatical error correction. In Proceedings of the 2018 EMNLP Workshop W-NUT: The 4th Workshop on Noisy User-generated Text, pp. 79–84. External Links: Document Cited by: §3.1.
  • [4] S. Chollampatt and H. T. Ng (2018) A multilayer convolutional encoder-decoder neural network for grammatical error correction. In Proceedings of the AAAI Conference on Artificial Intelligence, Vol. 32. Cited by: §3.1.
  • [5] D. Dahlmeier, H. T. Ng, and S. M. Wu (2013-06) Building a large annotated corpus of learner English: the NUS corpus of learner English. In Proceedings of the Eighth Workshop on Innovative Use of NLP for Building Educational Applications, Atlanta, Georgia, pp. 22–31. External Links: Link Cited by: §1.
  • [6] D. M. Eberhard, G. F. Simons, and C. D. Fennig (Eds.) (2018) Ethnologue: languages of the world. twenty-fifth edition, SIL International, Dallas, Texas. External Links: Link Cited by: §1.
  • [7] B. Gaup, S. Moshagen, T. Omma, M. Palismaa, T. Pieski, and T. Trosterud (2005) From xerox to aspell: a first prototype of a north sámi speller based on twol technology. In International Workshop on Finite-State Methods and Natural Language Processing, pp. 306–307. External Links: Document Cited by: §4.1.
  • [8] K. Hagen and P. Lane (2001) ”Det er fort gjort og skrive feil.” en presentasjon av en automatisk grammatikkontroll for bokmål. pp. 93–102. Cited by: §3.1.
  • [9] F. Karlsson (1990) Constraint grammar as a framework for parsing unrestricted text. In Proceedings of the 13th International Conference of Computational Linguistics, H. Karlgren (Ed.), Vol. 3, Helsinki, pp. 168–173. Cited by: §4.1.
  • [10] G. Klein, Y. Kim, Y. Deng, J. Senellart, and A. M. Rush (2017) OpenNMT: open-source toolkit for neural machine translation. In Proc. ACL, External Links: Link, Document Cited by: §4.2.2.
  • [11] P. Lorusso, M. Greco, C. Chesi, and A. Moro (2019-10) Asymmetries in extraction from nominal copular sentences: a challenging case study for nlp tools. In Proceedings of the Sixth Italian Conference on Computational Linguistics Bari (CliC-it 2019), pp. . Cited by: §2.
  • [12] M. Miłkowski (2007) Automated building of error corpora of polish. Corpus Linguistics, Computer Tools, and Applications – State of the Art. PALC, pp. 631–639. Cited by: §1.
  • [13] S. Moshagen, J. Rueter, F. Pirinen, T. Trosterud, and F. M. Tyers (2014) Open-source infrastructures for collaborative work on under-resourced languages. In Proceedings of e Ninth International Conference on Language Resources and Evaluation, LREC, pp. 71–77. Cited by: §3.2.
  • [14] H. T. Ng, S. M. Wu, Y. Wu, C. Hadiwinoto, and J. Tetreault (2013-08) The CoNLL-2013 shared task on grammatical error correction. In Proceedings of the Seventeenth Conference on Computational Natural Language Learning: Shared Task, Sofia, Bulgaria, pp. 1–12. External Links: Link Cited by: §2.
  • [15] K. P. Nickel (1994) Samisk grammatikk. second edition, Davvi Girji, Kárášjohka. Cited by: §2, §2, §2.
  • [16] T. A. Pirinen and K. Lindén (2014) State-of-the-art in weighted finite-state spell-checking. In Proceedings of the 15th International Conference on Computational Linguistics and Intelligent Text Processing - Volume 8404, CICLing 2014, pp. 519–532. Cited by: §4.1.
  • [17] SIKOR (2018) SIKOR uit norgga árktalaš universitehta ja norgga sámedikki sámi teakstačoakkáldat, veršuvdna 06.11.2018. Note: onlineAccessed: 2018-11-06 External Links: Link Cited by: §1.
  • [18] L. Wiechetek, F. Pirinen, M. Hämäläinen, and C. Argese (2021-09) Rules ruling neural networks - neural vs. rule-based grammar checking for a low resource language. In Proceedings of the International Conference on Recent Advances in Natural Language Processing (RANLP 2021), Cited by: §1.
  • [19] L. Wiechetek (22) Constraint Grammar based correction of grammatical errors for North Sámi. In Proceedings of the Workshop on Language Technology for Normalisation of Less-Resourced Languages (SALTMIL 8/AFLAT 2012), G. D. Pauw, G. de Schryver, M.L. Forcada, K. Sarasola, F.M. Tyers, and P.W. Wagacha (Eds.), Istanbul, Turkey, pp. 35–40. Cited by: §2.