Automatisk generering av grammatikövningar utifrån grammatiskt analyserad text Magisteruppsats i Språkteknologi, 30hp Institutionen för lingvistik och lologi Uppsala Universitet Camilla Liljhammar, camlilj@stp.lingl.uu.se Rebecka Sundström, rebsund@stp.lingl.uu.se Handledare: Joakim Nivre Bihandledare: Jonas Jonsson 24 mars 2010
... SAMMANFATTNING
INNEHÅLL 1. Inledning.................................. 1 1.1 Målgrupp - Svenska som andraspråk................ 1 1.2 Behov av datorstödd språkinlärning................ 1 1.3 Företaget............................... 2 1.4 Syfte.................................. 2 2. Bakgrund.................................. 3 2.1 Bentliga övningar.......................... 3 2.1.1 XML denition........................ 5 2.2 Morfologisk analysator........................ 7 2.2.1 Granska............................ 7 2.3 Ordklasstaggning........................... 7 2.3.1 LanguageTool......................... 8 2.4 Grammatikövningar på webben som inspirerar.......... 9 2.4.1 Digitala Spåret........................ 9 2.4.2 WERTi System........................ 9 2.4.3 Studentlitteratur....................... 10 3. Programbeskrivning............................ 11 3.1 Modiering.............................. 11 3.1.1 Byte av morfologisk analysator............... 11 3.1.2 Borttagning av ledtråd.................... 11 3.2 Förslag på övningar......................... 11 3.2.1 Förslag 1........................... 11 3.2.2 Förslag 2........................... 11 3.3 Implementerade övningar...................... 12 3.3.1 Pronomen........................... 12 4. Utvärdering................................. 13 5. Slutsats................................... 14
1. INLEDNING I det här kapitlet presenterar vi vår målgrupp, invandrare som lär sig det svenska språket. Vi kommer sedan att prata om behoven för datorstödd andraspråksinlärning och beskriva vilka bentliga grammatikövningar som nns tillgängliga på webben. Sedan presenteras företaget vi skrivit uppsatsen för och syftet med uppsatsen. 1.1 Målgrupp - Svenska som andraspråk Vid inlärning av ett andraspråk kan det för många vara svårt att förstå hur det nya språket är upplagt. Vilken ordföljd som är korrekt och vilken grammatisk böjning ett ord har i olika sammanhang kan vara problematiskt. När det pratas om andraspråksinlärning i Sverige är det ofta på grundskolenivå, att eleverna får välja om de vill lära sig tyska, franska eller spanska, men vi har även engelska (ett obligatoriskt ämne i svenska grundskolan.). Det som mer sällan hänvisas till är de som lär sig svenska som ett andraspråk, de människor som kommer till Sverige och har ett annat modersmål än svenska. Dessa har möjlighet att gå på svenskaundervisning för invandrare, en utbildning som ger kunskaper i svenska språket samt kunskaper om det svenska samhället. Efter en avslutad kurs ska inläraren ha viss hör,läs- och skrivförståelse, samt kunna göra sig förstådd i tal. I Stockholm nns även möjlighet till datorstödd språkinlärning som gör inlärningen mer exibel, och på det sättet eventuellt öka sin kunskapsnivå efter avslutad kurs. 1 1.2 Behov av datorstödd språkinlärning Om datorstödda språkverktyg bara kontrueras efter det egna språket (i detta fall svenska), blir feltyperna mycket svårare att detektera när en andraspråksinlärare sätter sig och tar hjälp av språkgranskning i till exempel en ordbehandlare för svenska. För att hitta de feltyper som inte detekteras i ett språkvektyg för svenska, när användaren är språkinläraren med ett annat modersmål än svenska, behövs det specika regler i de datorstödda spårkinlärningsverktyg som fångar de feltyper andraspråksinlärare gör. Dessa feltyper ser nämligen helt annorlunda ut än de feltyper som en som sitter och lär sig strukturen i sitt modersmålsspråk gör. 2 Det är även så med grammatik. Andraspråksinlärare gör även feltyper i 1 http://www.stockholm.se/forskolaskola/svenska-for-invandrare-s/ 2 http://www.csc.kth.se/tcs/projects/granska/rapporter/secondlang.pdf
1. Inledning 2 grammatiken som en modersmålsinlärare inte gör, samt att andraspråksinlärare börjar från grundnivå som egentligen ingen modersmålsinlärare gör efter grundskolan. Detta skapar alltså behov av datorstödd andraspråksinlärning, samt att andraspråksinläraren har möjlighet att öva det nya språket var den än benner sig (då det även nns mobilapplikationer för språkinlärning). I och med att de datorstödda språkinlärningsverktygen nns tillgängliga på webben och via mobiltelefon blir det exibelt och eektivt att lära sig ett nytt språk. 1.3 Företaget I mitten av januari tog vi kontakt med ett företag i Stockholm som utvecklat en elektronisk webb- och mobiltjänst för snabb inlärning av översatta ord, grammatik- och dialogövningar för olika språk för språk som till exempel svenska, nska, ryska, engelska och tyska. Företaget har av kommersiella skäl begärt om att få vara anonyma, och kommer därför inte att nämnas vid namn i texten samt att det resulterar i en rapport till företaget och en uppsats för ociellt bruk. 1.4 Syfte I denna magisteruppsats kommer vi att modiera en bentlig Java applikation som skapar grammatiska övningar i form av luck-övningar. Detta utifrån en grammatisk analyserad svensk text för invandrare som lär sig svenska. Text behandlas av systemet med språkteknologiska verktyg, vilka genomför grammatisk analys, lemmatisering, ordklassbestämning, morfologisk analys och ord översätts med lexikon. Det språkteknologiska verktyg som används i den bentliga applikationen är Granska. De genererade övningarna sparas i XML format och importeras till servern som företaget tillhandahåller. Vår uppgift är att byta ut den nuvarande morfologiska analysatorn som Granska använder mot LanguageTool, förbättra bentliga luck-övningar, teoretiskt utforma nya övningar samt implementera nya luck-övningar. Vi kommer att intervjua kunder för förslag på förbättringar och nya övningar samt se över tillgängliga grammatikövningar på webben, som marknadsundersökning. Instruktioner där vi förklarar frågorna och ordklassbegreppen i övningarna för de som inte kan det svenska språket ska även läggas till i applikationen.
2. BAKGRUND För att få en bättre förståelse för den praktiska uppgiften satte vi oss in i bakomliggande fakta. I detta kapitel tar vi upp de punkter vi var tvungna att titta på innan vi kunde börja med uppgiften. Varje punkt gestaltas i eget stycke med eventuella understycken. Punkter som vi tittat på är bentliga grammatikövningar i systemet, begreppet morfologisk analysator, ordklasstagning och intressanta tillgängliga grammatikövningar på webben. 2.1 Bentliga övningar Invandrare tränar sin svenska ordförståelse med hjälp av olika övningar som applikationen automatiskt skapar utifrån en lektion. Övningarna består av ordklassövningar, ervalsfrågor, fylla i luckor, översättningar, bildfrågor mm. Här nedan följer korta beskrivningar av varje övning. Fyll i tomrummet Användaren får en ledtråd till frågan, och ska sedan skriva rätt ord på den tomma raden. När den tomma raden fyllts i, nns det en knapp som heter acceptera som användaren kan klicka på med muspekaren för att avsluta uppgiften och kontrollera svaret. Ordklass Användaren får först ett ord och dess denition på skärmen och genom att klicka på knappen visa kommer ett svar fram i form av en ordklass. Användaren ska sedan välja om svaret är rätt eller fel genom att klicka på endera knapp. Översätt Användaren får ett ord på källspråket och en ledtråd i form av ordets denition, genom att sedan klicka på knappen visa kommer ett svar fram på målspråket. Användaren ska sedan välja om svaret är rätt eller fel. (Användaren har även möjlighet att gå bakåt, för att titta på ordet och dess denition igen om användaren är osäker.) Idiom Användaren får ett ord och dess denition och genom att klicka på knappen visa kommer ett svar fram i form av ett idiom. Användaren ska sedan välja om svaret är rätt eller fel eller om ordet är ett idiom eller inte, genom att klicka på endera knapp. Översätt och fyll i tomrummet Användaren får först ett ord och dess denition, sedan ges användaren möjlighet att fylla i sin översättning av
2. Bakgrund 4 ordet, för att sedan trycka på knappen acceptera. När användaren har accepterat sin översättning kommer den rätta översättningen upp och jämför det rätta svaret med det svar som användaren gett. Böjning Användaren får ett ord i sin grundform och dess denition och genom att klicka på knappen visa kommer ett svar fram i form av en böjning, tex -or. Användaren ska sedan välja om svaret är rätt eller fel genom att klicka på endera knapp. Valens Användaren får ett ord och ordets denition, en högtalarikon ger användaren möjlighet att lyssna till ordet. Genom att klicka på knappen visa kommer ett svar upp på dataskärmen och användaren ska välja om det är rätt eller fel genom att klicka endera knapp. Användaren har möjlighet att gå bakåt till början av uppgiften. Bakåtvänd översättning och fyll i tomrummet Användaren får ett ord och dess denition på målspråket och ombes att skriva in sitt svar på en blankrad. Genom att sedan klicka på knappen acceptera visas det rätta svaret samtidigt som användarens svar rättas och bockas av om svaret var korrekt. Flervals-text Användaren får ett ord och dess denition. Ytterligare får användaren en lista med ord där användaren har möjlighet att välja rätt översättning. Genom att klicka på knappen acceptera kan användaren kontollera om ordet den valt är rätt, detta sker med en jämförelse mellan det ord användaren valt och det korrekta ordet som uppgiften genererar. Flervals-textfråga Användaren ombes att utifrån en given text välja det korrekta svaret i en lista med alternativ. Genom att trycka på knappen acceptera visas användarens svar tillsammans med det rätta svaret. Flervals-bild Använadaren får ett ord och ett antal bilder. Användaren ska sedan välja den bild som överensstämmer med ordet. genom att klicka på knappen acceptera visas rätt svar och jämför med det svar som användaren gett. Exempel Användaren får en text som denierar ett ord samt en fras där det eftersökta ordet saknas. När användaren fyllt i sitt svar på blankraden och tryckt på knappen acceptera dyker det rätta svaret upp tillsammans med användarens svar. Är användarens svar rätt bockas svaret av. Kontext Användaren får en fråga och en mening med ett tomrum. Användaren ska fylla i tomrummet med vad användaren tror är rätt ord, genom att klicka på knappen acceptera kontrolleras svaret som användaren gett genom en jämförelse med det korrekta ordet. Flervals-bildfråga med kontext Användaren ska utifrån ett givet ord och ett multimedia förslag välja en av de bildalternativ som matchar ordet. Genom att sedan klicka på knappen acceptera jämförs användarens val av bild mot den rätta bilden.
2. Bakgrund 5 Flervals-textfråga med kontext Användaren får en multimedialetråd, en fråga och en lista med svar/ord. Användaren ska välja ett av ordalternativen i listan för att sedan klicka på knappen acceptera, för att jämföra sitt val med det korrekta svaret, som genereras automatiskt. Flervals-textmarkering med kontext Utifrån ett givet källspråk och ett givet målspråk ska användaren med hjälp av ett textförslag, ett ord och dess denition på källspråket i en lista välja ett av de alternativa översättningar till målspråk. När användaren valt sitt svar i listan och klickat på acceptera visas svaret tillsammans med det rätta svaret. Bildkontext - fyll tomrummet Användaren får en bild som gestaltar frågan, samt den mening som gestaltas men med ett tomrum, där användaren ska fylla i vad som saknas. För att kontrollera sitt svar med det rätta svaret, klickar användaren på knappen acceptera. Bild - fyll tomrummet Användaren ska tyda en bild med ett forntida manuskript och försöka översätta texten genom att fylla i blankraderna under varje ord. När användaren klickar på knappen acceptera visas det rätta svaret jämfört med användarens svar. Organisera objekt Användaren ska dra och släppa givna objekt till rätt associerande ord. Associationen sker i längd en till en. Knappen återsäll tillåter användaren att ytta tillbaka objekten till dess initiala plats och knappen acceptera för att avsluta uppgiften och kontrollera svaren. Gruppera objekt Användaren ska dra och släppa givna objekt till grupper som är associerade till objekten. Ett objekt kan endast tillhöra en grupp och till varje grupp ryms upp till fyra objekt. Användaren kan också välja att inte placera ut objekt om det inte passar till någon grupp. För att avsluta uppgiften klickar användaren på knappen acceptera och för att börja om nns knappen reset som återställer objekt och grupper. Sortera objekt Objekten är visas osorterade på dataskärmen och användaren ska genom att dra och släppa objekten, sortera dem efter de kriterier som ställs i uppgiftens titel. Användaren kan sedan avsluta uppgiften och kontrollera svaret genom att klicka på acceptera. 2.1.1 XML denition Övningarna applikationen tillhandahåller denieras i XML-format. När användaren väljer lektion skickar servern den specika XML-len innehållande data till övningen. Här är några exempel på hur övningar kan denieras: Ordklass-övningen: <?xml version=1.0?> <ts version=1>
2. Bakgrund 6 <form>brain</form> <denition>an organ inside the head of an animal that enables thinking and feeling things such as heat or pain</denition> <pronunciation></pronunciation> <answer>noun</answer> </ts> Form-taggarna innehåller den ordform som efterfrågas. Innanför denition-taggarna nns texten som denierar det ord som användaren ska gissa ordklass på. pronunciation-taggarna är tomma eftersom det inte är något ljud kopplat till uppgiften. Till sist har vi answer-taggarna som innehåller den rätta ordklassen. Flervals-textfråga: <?xml version=1.0?> <ts version=1> <form></form> <question>which color of the semaphore shows that you may start driving?</question> <multichoice> <selection> <alt>red</alt> <alt>blue</alt> <alt>yellow</alt> <alt correct=true>!green</alt> <alt>light green</alt>... </selection> </multichoice> <pronunciation></pronunciation> </ts> Form-taggarna är tomma eftersom ingen given ordform ska anges. Innanför question-taggarna nns den fråga användaren ska svara på. Taggen multichoice innehåller era alternativa svar som denieras som section och varje alternativ denieras i sin tur inom alt-taggarna. Det rätta alternativet denieras som korrekt genom att bli tilldelad Sant. pronunciation-taggarna är tomma eftersom det inte är något ljud kopplat till uppgiften. Exempel: <?xml version=1.0?> <ts version=1> <form>brain</form> <denition>an organ inside the head of an animal that enables thinking and feeling things such as heat or pain</denition> <pronunciation></pronunciation> <phrase>scientists want to discover how the %p0 works</phrase>
2. Bakgrund 7 <answer> <answer id=0>brain</answer> </answer> <keyword>%p</keyword> </ts> Form-taggarna innehåller ordformen som ska denieras. Innanför denitiontaggarna står texten som ger användaren en hint om vilket ord som efterfrågas. pronunciation-taggarna är tomma eftersom det inte är något ljud kopplat till uppgiften. Innanför phrase-taggarna nns en fras där det efterfrågade ordet denieras som en blankrad, %p0. Innanför answer-taggarna nns answer id-taggen som tilldelats 0 precis som blankraden innanför phrase-taggarna. keyword-taggarna innehåller ordet denierat som blankslag, %p, i phrase-taggarna. 2.2 Morfologisk analysator En morfologisk analysator bygger på lexikon och formella regler. När en morfologisk analys (MA) görs identieras ordklass, böjningsform och lemma för ord utan kontext. Den schweiziske astrofysikern professor Fritz Zwicky utvecklade MA på 1930-talet vid California Institute of Technology (Caltech) och den datorstödda varianten utvecklades under 1990-talet av Dr. Tom Ritchey på FOI, Europas ledande forskningsinstitut. Språkgranskningsprogrammet Granska används som morfologiska analysator i applikationen. 2.2.1 Granska Under senare delen av 1990-talet utvecklades Granska, ett datorstött språkgranskningsprogram för svenska, på Kungliga Tekniska Högskolan (KTH) i Stockholm, som vidareutvecklades 2001. Tillgängliga funktioner i programmet är språkgranskning, hjälpsystem med skrivregler samt sökning av ordklasser. Även tillgång till grundläggande ordbehandlingsfunktioner nns. Text behandlas genom analys och taggning med markovmodellen (HMM) och Stockholm-Umeå Korpusen (SUC) kompletterat med ord från Svenska Akademins Ordlista (SAOL). I Granska matchas en ordsekvens i en text mot regler för att hitta eventuella fel. Feltyper som Granska detekterar är stavfel, felaktigt skrivna tecken, stilavvikelser och grammatikfel. Granska använder sig av regler där en av källorna är Svenska språknämndens skrivregler och ord märks upp (taggas) med ordklass och böjningsform. 1 2.3 Ordklasstaggning Ordklasstaggning är processen för att märka upp ordklass eller andra syntaktiska klasser till ord i en korpus (Jurafsky och Martin 2009). Innan ordklasstaggning görs en tokenisering som separerar orden. Skiljetecken och interpunktionstecken 1 http://www.csc.kth.se/tcs/projects/granska/popular.html
2. Bakgrund 8 som t.ex. punkt, kommatecken, kolon, semikolon och tankstreck separeras också från orden och märks upp. Ordklasstaggning är en disambigueringsuppgift eftersom ord kan vara ambiguösa. Problemet med ordklasstaggning är att lösa ambiguiteterna, att välja rätt ordklass för kontexten (Jurafsky och Martin 2009). Ordklasstaggare är antingen regelbaserade eller stokastiska. Regelbaserad taggare för automatisk tilldelning av ordklass använder lexikon och en mängd handskrivna disambigueringsregler som avgör vilken ordklass ett ord tillhör genom att se till kontexten. En stokastisk taggare använder en uppmärkt träningskorpus och beräknar sannolikheten för ett ord och en given tagg i en kontext med hjälp av markovmodellen (HMM Hidden Markov Model). Den tagguppsättning applikationen använder är den som språkgranskningsverktyget LanguageTool är baserad på. 2.3.1 LanguageTool Under 2003 skrevs LanguageTool i programspråket Python av Daniel Naber vid Universitetet i Bielefeld, Tyskland. Programmet utförde då en regelbaserad stiloch grammatikkontroll för engelska. Idag är det ett fritt tillgängligt källspråksgranskningsverktyg bland annat för svenska. Fördelen är att programmet hittar fel som vanliga språkgranskningsverktyg inte hittar, t.ex. om användaren blandat ihop ord som är lika i form. Den hittar också grammatikfel. Felen upptäcks med regler som är denierade i en XML kongurerad l, men för att hitta mer komplicerade fel krävs en java-applikation. Den senaste versionen 1.0.0 är tillgänglig men fungerar bara med Java 5.0 och OpenOce.org 3.0.1 eller senare version. XML-representation LanguageTool bearbetar ett inmatat svensk ord och returnerar en XML-representation som innehåller inputform, lemma och ordklasstaggar. Den första form-taggen denierar det inmatade ordet medan den andra formtaggen innehåller ordets lemma. Ordets tagguppsättning nns inom pos-taggarna (Part-of-speech). På bilden ovan visas tagguppsättning för ett substantiv där ordklass (NN), species/bestämdhet (OF), numerus (PLU), kasus (NOM) och genus (UTR) är denierade.
2. Bakgrund 9 2.4 Grammatikövningar på webben som inspirerar Genom en marknadsundersökning av vilka typer av grammatikövningar som nns tillgängliga på webben, ck vi nya ideér för utformning av övningar men också en uppfattning av vad som i praktiken inte fungerar för vår målgrupp. Två av de system som inspirerade oss, Digitala Spåret och WERTi System, ck vi ta del av via kontakter till företaget. Övriga applikationer som vi tittat på letade vi fram på webben, men det var få som faktiskt stack ut. 2.4.1 Digitala Spåret Digitala spåret är ett projekt som avslutades 2007, vars mål har varit att stimulera språkträning för SFI, svenska för invandrare och SAS, svenska som andraspråk. Projektet utfördes av lärare på Botkyrka vuxenutbildning och initierades av CFL, Centrum för exibelt lärande vars verksamhet övergått till skolverket. 2 Övningar är baserade efter nivåerna; Grund, B, C, D, SAS och GY (Svenska som andraspråk - gymnasiet) och består av läs, skriv och hör-övningar för olika kategorier som till exempel grammatik, samtal och tal, ordkunskap mm. Webbbaserade övningar utifrån läroböcker är också tillgängliga. Några övningstyper som inspirerar är: Fyll i tomraden där användaren ombes att fylla i det ord som saknas på den tomma raden i en text. Fyll i tomraden där användaren ombes att fylla i det ord som saknas på den tomma raden med hjälp av en bild, till exempel välja att sätta en/ett framför ett givet ord med en bild föreställande ordet. Fyll i tomraden där användaren ombes att fylla i det ord som saknas på den tomma raden i en text med hjälp av en lista med alternativ. Drag n' Drop där användaren ska dra ett objekt till dess rätta position, till exempel placera ett ord på rätt plats i en mening. Flervalsfråga där användaren ska välja ett eller era av de givna alternativen som passar in i texten. Digitala spåret har ett brett utbud av grammatikövningar och intressanta övningstyper med tydliga förklaringar till övningarna. Dock bygger alla övningar på färdiga texter som också är nivåbaserade något som skiljer det system vi ska arbeta i. 2.4.2 WERTi System WERTi System (Metcalf och Meurers 2006) är ett så kallat intelligent computerassisted language learning (ICALL) system 3 och är fritt tillgängligt på webben. 2 http://www.digitalasparet.se/larare/digitalas2.htm 3 http://www.ling.ohio-state.edu/icall/
2. Bakgrund 10 I WERTi kan användaren välja att träna på engelska determinerare eller prepositioner i en valfri artikel. Användaren börjar med att välja ordklass och sedan skriva in ett sökord och välja en artikel innehållande ämnet. Därefter ska användaren välja en av tre övningstyper: Läsa artikeln där vald ordklass är markerade med en färg. Läsa artikeln och samtidigt försöka hitta vald ordklass genom att klicka på orden. Rätt ord markeras med grönt och fel ord med rött. Läsa artikeln och samtidigt fylla i de tomma raderna. Genom att klicka på ett frågetecken bredvid den tomma raden visas det rätta svaret. Kombinationen av att välja sin egen text och samtidigt träna ordklasser med de ovan nämnda övninstyper gör att systemet påminner om den applikation vi ska arbeta med. Likheterna gör att WERTi System blir en väldigt intressant inspirationskälla. Idag utvecklas systemet med bland annat Gerund (innitiv) 4. 2.4.3 Studentlitteratur En annan webbtillgänglig grammatikövning är Studentlitteratur.se 5. Denna sida har ett stort test på ca 80 frågor, inriktat på grundskole- och gymnasienivå, ej nybörjarnivå. Övningsfrågorna är ervalsfrågor inbyggda i färdiga meningar, innehållande alla typer av svensk grammatik. Det negativa med sidan skulle vara att alla frågor kommer upp på en gång, inte en och en, samt att inläraren därigenom inte får snabb återkoppling om de svarat rätt eller fel. 4 http://www.drni.de/niels/n3les/read-me/werti-gerunds.pdf 5 http://www.studentlitteratur.se/o.o.i.s/2529
3. PROGRAMBESKRIVNING..:: Beskrivning av den praktiska delen ::.. 3.1 Modiering..:: Vilka ändringar har vi gjort ::.. 3.1.1 Byte av morfologisk analysator 3.1.2 Borttagning av ledtråd..:: För övningar med prepositioner och determinerare ::.. 3.2 Förslag på övningar..:: teoretisk beskrivning ::....:: teoretisk beskrivning ::.. 3.2.1 Förslag 1 3.2.2 Förslag 2
3. Programbeskrivning 12..:: implementationsbeskrivning ::.. 3.3 Implementerade övningar 3.3.1 Pronomen
..:: användbart? fungerar det? ::.. 4. UTVÄRDERING
5. SLUTSATS
LITTERATURFÖRTECKNING