Presentation laddar. Vänta.

Presentation laddar. Vänta.

Grammatikkontroll för skribenter med svenska som andraspråk

Liknande presentationer


En presentation över ämnet: "Grammatikkontroll för skribenter med svenska som andraspråk"— Presentationens avskrift:

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

2 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?

3 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?

4 Tre metoder för grammatikkontroll
Granska – handskrivna regler ProbGranska – statistik MLGranska – regler skapas automatiskt

5 Granskas uppbyggnad Tokeniseraren Taggaren Lexikon (SUC & SAOL)
Statistik (SUC) Regelmatcharen Regler (300 regler) Ordböjningsfunktion Grafiskt gränssnitt Interaktion med användaren

6 Kvinnan. nn. utr. sin. def. nom. hade. vb. prt. akt. aux köpt. vb. sup
Kvinnan nn.utr.sin.def.nom hade vb.prt.akt.aux köpt vb.sup.akt en dt.utr.sin.ind ny jj.pos.utr.sin.ind.nom hus nn.neu.plu.ind.nom bil nn.utr.sin.ind.nom

7 { X(wordcl=nn & spec=ind & case=nom), % hus Y(wordcl=nn) % bil --> mark(X Y) corr(X.join(Y.text)) action(scrutinizing) }

8 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

9 Jag. pn. utr. sin. def. sub har. vb. prs. akt. aux en. dt. utr. sin
Jag pn.utr.sin.def.sub har vb.prs.akt.aux en dt.utr.sin.ind liten jj.pos.utr.sin.ind.nom hund nn.utr.sin.ind.nom sa vb.prt.akt mannen nn.utr.sin.def.nom . mad

10 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

11 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.

12 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.

13 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

14 Olika taggbyten är olika bra
Vi måste ha viktade trigram. Vi använder statistik ur korpus för att få fram relevanta vikter.

15 Metoden är bra på att hitta fel
… men ger fortfarande ifrån sig många falska alarm. Förbättra metoden med lingvistisk kunskap

16 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).

17 Frastransformationer
Exempel: Alla hundar som är bruna är lyckliga Hundarna är lyckliga NP NP

18 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)

19 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.

20 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

21 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.

22 Familjen. NN. OK bodde. VB. OK i. PP. OK ett. DT. OK hus. NN. OK och
Familjen NN OK bodde VB OK i PP OK ett DT OK hus NN OK och KN OK körde VB OK en DT OK miljövänlig JJ OK bil NN OK . MAD OK

23 Kvinnan NN OK hade VB OK köpt VB OK en DT OK ny JJ OK hus NN ERROR bil NN ERROR . MAD OK

24 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.

25 Kvinnan NN OK hade VB OK köpt VB OK en DT OK ny JJ OK hus NN OK bil NN OK . MAD OK

26 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

27 MLGranska möter en ny text
Ordklasstagga orden Gör en initialgissning Tillämpa de genererade reglerna Förhoppningsvis har felen taggats med taggen ERROR Alla särskrivningar kontrolleras mot stavningskontrollen Stava

28 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.

29 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


Ladda ner ppt "Grammatikkontroll för skribenter med svenska som andraspråk"

Liknande presentationer


Google-annonser