grammatikkontroll för skribenter med svenska som andraspråk

29
Grammatikkontroll för skribenter med svenska som andraspråk Johnny Bigert, Viggo Kann, Ola Knutsson och Jonas Sjöbergh KTH Nada Stockholm, Sverige

Upload: abdul-young

Post on 01-Jan-2016

59 views

Category:

Documents


2 download

DESCRIPTION

Grammatikkontroll för skribenter med svenska som andraspråk. Johnny Bigert, Viggo Kann, Ola Knutsson och Jonas Sjöbergh KTH Nada Stockholm, Sverige. Grammatikkontroll i CALL. Behov: Lärarna vill ha bort låg-nivå fel Eleverna vill inte upprepa fel - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Grammatikkontroll för skribenter med svenska som andraspråk

Grammatikkontroll för skribenter med svenska som andraspråk

Johnny Bigert, Viggo Kann, Ola Knutsson och Jonas Sjöbergh

KTH Nada

Stockholm, Sverige

Page 2: Grammatikkontroll för skribenter med svenska som andraspråk

Grammatikkontroll i CALL

Behov:

• Lärarna vill ha bort låg-nivå fel

• Eleverna vill inte upprepa fel

• Skapa “feedback” på elevers fria textproduktion

Diskussion:

• Är det bra eller dåligt att fokusera på fel?

• Missade fel och falska alarm?

Page 3: Grammatikkontroll för skribenter med svenska som andraspråk

Räcker inte reglerna till?

• Varför inte fullparsning (deep parsing)?

• Kan man hitta alla fel i en text? Grammatiskt/acceptabelt

• Hur skall man analysera en text som är full av fel?

Page 4: Grammatikkontroll för skribenter med svenska som andraspråk

Tre metoder för grammatikkontroll

• Granska – handskrivna regler

• ProbGranska – statistik

• MLGranska – regler skapas automatiskt

Page 5: Grammatikkontroll för skribenter med svenska som andraspråk

Granskas uppbyggnadTokeniseraren

Taggaren

Lexikon (SUC & SAOL)

Statistik (SUC)

Regelmatcharen

Regler (300 regler)

Ordböjningsfunktion

Grafiskt gränssnitt

Interaktion med användaren

Page 6: Grammatikkontroll för skribenter med svenska som andraspråk

Kvinnan nn.utr.sin.def.nomhade vb.prt.akt.auxköpt vb.sup.akten dt.utr.sin.indny jj.pos.utr.sin.ind.nomhus nn.neu.plu.ind.nombil nn.utr.sin.ind.nom

Page 7: Grammatikkontroll för skribenter med svenska som andraspråk

ex2@regler

{

X(wordcl=nn & spec=ind & case=nom), % hus

Y(wordcl=nn) % bil

-->

mark(X Y)

corr(X.join(Y.text))

action(scrutinizing)

}

Page 8: Grammatikkontroll för skribenter med svenska som andraspråk

ProbGranska: Detektion av kontextkänsliga stavfel

Vi vill hitta oförutsägbara fel, t.ex. för frö

Vi använder en hybridmetod:

• Statistik över taggtrigram (DT JJ NN 23000) från SUC (1 miljon ordklasstaggade ord)

• Lingvistisk kunskap för frastransformationer/reduktioner

Page 9: Grammatikkontroll för skribenter med svenska som andraspråk

Jag pn.utr.sin.def.subhar vb.prs.akt.auxen dt.utr.sin.indliten jj.pos.utr.sin.ind.nomhund nn.utr.sin.ind.nomsa vb.prt.aktmannen nn.utr.sin.def.nom. mad

Page 10: Grammatikkontroll för skribenter med svenska som andraspråk

En första ansats

Algoritm:

För varje position i i indataströmmen

om frekvensen av (ti-1 ti ti+1) är låg i referenskorpus

rapportera fel till användaren

rapportera inget fel

Page 11: Grammatikkontroll för skribenter med svenska som andraspråk

Glesa data (sparse data)

• Glesa data för taggtrigramsstatistik – oändligt stort korpus saknas.

• Fras- och satsgränser kan skapa nästa vilka trigram som helst.

Page 12: Grammatikkontroll för skribenter med svenska som andraspråk

Exempel på glesa data

”Det är varje chefs uppgift att …”

Det är varje taggas som pn.neu.sin.def.sub/obj, vb.prs.akt, dt.utr/neu.sin.ind och har frekvensen noll. dt.utr/neu.sin.ind är ovanlig, 709 förekomster i SUC.

Page 13: Grammatikkontroll för skribenter med svenska som andraspråk

Ersätt en tagg med en annan liknande tagg

Vi försöker ersätta:

Det är varje chefs uppgift..

med

Det är en chefs uppgift..(pn.neu.sin.def.sub/obj, vb.prs.akt, dt.utr.sin.ind)

Vi får upp taggfrekvensen till 231

Page 14: Grammatikkontroll för skribenter med svenska som andraspråk

Olika taggbyten är olika bra

Vi måste ha viktade trigram.

Vi använder statistik ur korpus för att få fram relevanta vikter.

Page 15: Grammatikkontroll för skribenter med svenska som andraspråk

Metoden är bra på att hitta fel

… men ger fortfarande ifrån sig många falska alarm.

Förbättra metoden med lingvistisk kunskap

Page 16: Grammatikkontroll för skribenter med svenska som andraspråk

Sats- och frasigekänning med ytparsning

• Använd satsen som analysenhet för feldetektionen.

• Transformera ovanliga fraser till frekventa

• Ersätt frasen med dess huvud

• Ta bort en del fraser (AdvP, PP).

Page 17: Grammatikkontroll för skribenter med svenska som andraspråk

Frastransformationer

Exempel:

Alla hundar som är bruna är lyckliga

Hundarna är lyckliga

NP

NP

Page 18: Grammatikkontroll för skribenter med svenska som andraspråk

Slutsatser

• Metoden är bra på att identifiera kontextkänsliga stavfel.

• Med lingvistisk kunskap kan metoden få högre precision

• Metoden bör kunna skalas upp till n-gram över fras och därmed bör mer strukturella fel kunna upptäckas (framtida forskning)

Page 19: Grammatikkontroll för skribenter med svenska som andraspråk

MLGranska: Maskininlärning för feldetektion

• Se problemet som ett taggningsproblem• Märk upp felen t.ex. med taggen ERROR

och resten med OK• Träna en maskininlärningsalgoritm (t.ex.

TBL) på det annoterade materialet + material med korrekt text.

• Utvärdera på ett okänt men annoterat material.

Page 20: Grammatikkontroll för skribenter med svenska som andraspråk

MLGranska

Vi behöver många fel

Idé: Skapa fel automatiskt

Träna en maskininlärningsalgoritm på detta material. Automatisk annotering. Förlåtande felgenerering.

Skapa en “feltaggare” för varje feltyp

Page 21: Grammatikkontroll för skribenter med svenska som andraspråk

Skapa träningsdata

1. Ta en referenskorpus

2. Ta en kopia av denna referenskorpus.

3. Skapa särskrivningsfel i denna – märk upp dessa ERROR

4. Övriga ord märks upp med OK i de två korpusarna.

Page 22: Grammatikkontroll för skribenter med svenska som andraspråk

Familjen NN OKbodde VB OKi PP OKett DT OKhus NN OKoch KN OKkörde VB OK en DT OK miljövänlig JJ OKbil NN OK. MAD OK

Page 23: Grammatikkontroll för skribenter med svenska som andraspråk

Kvinnan NN OKhade VB OKköpt VB OKen DT OKny JJ OKhus NN ERRORbil NN ERROR. MAD OK

Page 24: Grammatikkontroll för skribenter med svenska som andraspråk

Hur går träningen till?

• Regelmallar, ord/tagg före/efter

• Ta en kopia av träningskorpusen för att få en träningsmängd och ett “facit”.

• Applicera en initialgissning på träningsmängden = för varje ord – vilken tagg är vanligast?

• Skapa regler utifrån regelmallarna

• Välj ut de regler som gör träningsmängden mer lik “facit”. Välj bästa regeln, applicera denna, kolla nästa bästa regel.

Page 25: Grammatikkontroll för skribenter med svenska som andraspråk

Kvinnan NN OK

hade VB OK

köpt VB OK

en DT OK

ny JJ OK

hus NN OK

bil NN OK

. MAD OK

Page 26: Grammatikkontroll för skribenter med svenska som andraspråk

NN OK + NN OK NN ERROR + NN ERROR

Kvinnan NN OK

hade VB OK

köpt VB OK

en DT OK

ny JJ OK

hus NN ERROR

bil NN ERROR

. MAD OK

Page 27: Grammatikkontroll för skribenter med svenska som andraspråk

MLGranska möter en ny text

1. Ordklasstagga orden

2. Gör en initialgissning

3. Tillämpa de genererade reglerna

4. Förhoppningsvis har felen taggats med taggen ERROR

5. Alla särskrivningar kontrolleras mot stavningskontrollen Stava

Page 28: Grammatikkontroll för skribenter med svenska som andraspråk

MLGranska

Fördelar:• Begränsad manuell insats• En taggare per feltyp kan ge bra diagnos och även

ersättningsförslag (åtminstone för särskrivningar).

Nackdelar:• Varje feltaggares enskilda falsklarm kan resultera i

många falsklarm om man sätter ihop dem i ett verktyg.

Page 29: Grammatikkontroll för skribenter med svenska som andraspråk

Slutsatser

• Metoderna upptäcker olika fel – överens ibland

• Fördelar/nackdelar med varje metod?

• Vilka fel kommer vi fortfarande inte åt?

• Vi har jämfört metoderna på “felsamlingar”

• Just nu gör vi jämförelser på balanserat textmaterial