bild
Skolan för
datavetenskap
och kommunikation
KTH / CSC / Kurser / DH2418 / sprakt11

Språkteknologi

Inlämningsuppgift, Språkteknologi DH2418

Du får välja mellan en utväderingsuppgift eller en labbuppgift. Inlämningsuppgiften får göras enskilt eller i grupper om två.Inlämningsuppgifterna bygger oftast på de förslag som ges nedan, men du kan också komma överens med kursledaren om en egen utvärderingsuppgift eller labbuppgift. Både uppsatsernaoch labbuppgifterna ska redovisas både skriftligt och muntligt vid speciellaredovisningstillfällen som hålls veckan före ordinarietentan. Vidvarje redovisningstillfälle kommer sex uppgifter att presenteras.Inlämningsuppgiften betygsätts, och vid betygsättningen tas hänsynsåväl till innehåll som den skriftliga och muntliga presentationenskvalitet. Du får inte gå upp på den skriftliga tentan förrändu har redovisat inlämningsuppgiften muntligen! Den skriftliga delen får du dock lämna in en vecka efter den ordinarie tentan, det vill säga den 27 oktober, senast kl. 23.59. Krav på utvärderingsuppgifter respektive labbuppgifter finns nedan.

Mer information om uppgiften får du genom att kontakta den person som står inom parentes efter förslagen nedan. Granskade och ofta bra artiklar hittar du t.ex. på ACL Anthology. Användbara verktyg hittar du bland annat bland Språkteknologigruppens verktyg. Användbara korpusar, hittar du t.ex. hos Språkbanken, mer specifikt här.

Weka är en bra verktygslåda för maskininlärning som man kan använda. Här är en testfil till Weka.

Deadlines för inlämningsuppgiften

Några deadlines för inlämningsuppgiften:

23/9: Bestäm uppgift och kontakta den som står som ansvarig för uppgiften. Du skall diskutera uppgiften med denna person, och komma fram till ett realistiskt upplägg. Förslag till uppgifter finns nedan.
28/9: Skicka e-brev till kursledaren där det framgår vilken uppgift som du har valt.

6/10: Boka tid för redovisning, lediga redovisningstider finns på redovisningssidan. Man bokar genom ett e-brev till kursledaren.

13/10 och 14/10: Redovisning av era uppgifter enligt schemat på redovisningssidan.

27/10, kl. 23.59: Slutgiltig version av texten skall vara inlämnad/inskickad till kursledaren senast vid denna tidpunkt.



Bedömningsgrunder för inlämningsuppgiften

Eftersom de olika uppgiftena skiljer sig åt i hög grad, framförallt är skillnaden mellan labbuppgifter och utvärderingsuppgifter stor, så är det svårt att säga exakt vad som krävs. Vad kännetecknar en bra skriftlig och muntlig redovisning? De nedan listade bedömningsgrunderna kan inte appliceras på alla delar i varje redovisad inlämningsuppgift. En bra rapport behöver inte få högt betyg på alla kriterier nedan, utan det blir en sammanvägning av de olika delarna. Det kan i flera fall finns väl godkända inlämningsuppgifter som helt saknar ett av kriterierna nedan.
  • Avgränsning: att visa prov på förmåga att sätta ramarna för arbetet, bl.a. genom kontakter med handledare.
  • Språkteknologisk höjd: att utgå ifrån andras arbete, där det är tillämpbart. Att inte upprepa kända misstag.
  • Metodval: att kunna strukturera uppgiften, välja lämplig metod för varje delmoment.
  • Nyhetsvärde: att visa förmåga till egen lösning samt att själva lösningen av uppgiften ger ett litet litet nyhetsvärde.
  • För labbuppgiften: att leverera en fungerande prototyp, genomföra mindre test/utvärdering.
  • För utvärderingsuppgiften: att kunna hantera olika utvärderingsbegrepp, välja lämpliga mätmetoder, lämpliga utvärderingsdata, ge resonemang om utvärderingens validitet.
  • Teoretisk förståelse: att kunna hantera språkteknologiska begrepp och teori i viss utsträckning.
  • Visa förståelse för kursens huvudpoänger: metoder som verkligen fungerar, fokus på program med hög användbarhet.
  • Rapportens innehåll: finns alla väsentliga delar med: bakgrund, utgångspunkt/tanke, metod och resultat?
  • Rapportens språk: språkligt flyt och grad av korrekturläsning
  • Explicita referenser: när andras verktyg, lexikon, teorier osv. används skall detta explicit redovisas.

Förslag på utvärderingssuppgifter

  • Maskininlärning för morfologisk analys
    Undersök hur maskininlärning kan användas för morfologisk analys. Det kan handla om svenskans eller annat språks morfologi. Utgå ifrån något färdigt verktyg, t.ex. Linguistica (Ola)
  • Regler eller statistik eller både och?En ständig diskussion inom språkteknologin är om man skall angripa problemen med regelbaserade metoder eller statistiska metoder. Eller är det rent av en kombination som är framtiden? Gör en enkel implementation, och utvärdering. Utgå t.ex. från maskininlärningslabben, och jämför t.ex. mot ett enkelt regelsystem som bygger på enklare mönstermatchning (Johan)
  • Hur fungerar grammatikkontrollen i Word jämfört med Granska?
    Grammatikkontrollfunktionen i Word är den enda kommersiella grammatikkontrollen för svenska. Vilka fel kan den finna? Jämför med Granska. Bygg upp såväl en felkorpus som en korpus bestående av korrekturläst text. Automatiseras så mycket som möjligt av utvärderingen.(Johan)
  • Jämförande utvärderingar av språkteknologiska system. Jämför t.ex. Stava med stavningskontrollen i Emacs eller Word. Med hjälp av VisualBasic i Word kan man kan man komma åt Words stavningskontroll. Försök automatisera den jämförande utvärderingen. Automatisera utvärdering genom att annotera ett testdata. (Viggo)
  • Språkteknologi och Open Source/Content
    Inventera vilka språktekniska resurser som finns tillgängliga som Open Source. Använd något av de program för att lösa t.ex. ett enklare klassificeringsproblem för svenska, och gör en enklare utvärdering. Utvärderingen kan ha fokus på hur enkelt det var att anpassa verktyget för dina syften.(Johan)

Krav på utvärderingsuppgiften

  • Rapporten skall innehålla minst 1500 ord och max 2500 ord.
  • Utvärderingen skall utgå ifrån autentiska data.
  • Utvärderingen skall förhålla sig till några av utvärderingsbegreppen: accuracy, täckning (recall), precision.
  • Rapporten skall innehålla en enklare redovisning av utvärderingsstatistik.
  • Rapporten skall presenteras muntligen i form av ett kortare föredrag på 10 minuter.
  • Du skall kontakta den som står som ansvarig för uppsatsuppgiften per e-post. Diskutera ditt upplägg med denna person.
  • Skriv inte ditt personnummer på rapporten.

Förslag på labbuppgifter

  • Rangordning av rättningsförslag med ordprediktionsmetoder
    Metoder liknande dem som används vid ordprediktion borde kunna användas för att ge ett rättstavningsprogram bättre möjligheter att rangordna rättelseförslag. Tänk igenom och implementera för att redovisa dina tankegångar. (Viggo)
  • Folkets synonymlexikon är en lista av synomymer graderade av människor. Använd någon metod för att ta fram intressanta saker ur den. Ett förslag är att bygga en grafrepresentation från alla paren och studera och behandla den på olika sätt. Grafen blir viktad utifrån graderingen av synoymerna. Till exempel kan man köra bredden- och djupet-först-sökning på grafen för att hitta långa synonymkedjor. Dessa blir också viktade... Andra algoritmer på grafer kan också vara intressanta. Till exempel: vilken är den största klicken i synonymdatat? (Viggo)
  • Bootstrapping
    Fokusera på ett litet språkteknologiskt problem som delvis kan lösas med s.k. bootstrapping. Det vill säga att man börjar med mycket få språkliga data, och sedan arbetar fram mer med t.ex. maskininlärning. Ägna dig gärna åt något annat språk än svenska. Implementera och gör en liten utvärdering. Hämta inspiration från maskininlärningslaborationen. (Johan)
  • Bootstrapping för morfologisk analys
    Implementera någon maskininlärningsmetod eller heuristisk metod som kan utföra någon form av morfologisk analys. Det kan handla om svenskans eller annat språks morfologi. Det kan handla om att försöka hitta fogegränsen för sammansatta ord i svenska eller något annat morfologiskt problem. (Johan)
  • Användbara n-gram
    N-gram är användbart till mycket inom språkteknologin.Gör något med n-gram, till exempel författaridentifiering, och se omdet ger något intressant. (Viggo)
  • SnålGranska light
    SnålGranska är en språkgranskare som har utvecklats med ringa mänsklig insats. Bygg en egen enkel snålgranskare genom att generera en feltyp, märk upp den och träna en maskininlärningsalgoritm på materialet. Gör en enkel utvärdering. (Johan)
  • Sammansättningssplittring och informationssökning
    Använda den sammansättningssplittrare som finns utvecklad på Nada för att undersöka om den kan förbättra en enkel sökmotor för svenska. Söker man efter cykelsadlar får man kanske inte någon träff men cykel+sadlar kan kanske ge några träffar som är relevanta. (Viggo)
  • Fogemorfemsregler i Stava
    Programmet Stava har suffixregler som gör att alla böjningsformer inte behöver finnas i ordlistan. Däremot  saknas det för närvarande regler för fogemorfem. Man skulle till exempel vilja ha en regel som säger att om ordet xxx-ing finns i ordlistan så ska xxx-ings vara ett tillåtet förled i sammansättningar. Skapa ett antal lämpliga fogemorfemsregler, och försök få en uppfattning om ungefär hur stor del av förleden man kan täcka in med dessa generella regler och hur stor del man måste specialbehandla (alltså stoppa in i förledsordlistan). (Se föreläsning i stavningskontroll). (Viggo)
  • Hitta grundform i Stava
    Om man automatiskt ska plocka ut de informationsbärande orden ur ett dokument för att senare kunna söka på dem vill man ofta återföra orden på grundform. Modifiera modulen suffix.c i Stava så att den för varje ord i inmatningen skriver ut dess grundform. Du kommer dels att behöva ändra funktionen CheckSuffix och dels se till att huvudmodulen stava.c anropar CheckSuffix för varje ord i inmatningen. Källkoden till dessa moduler finns under /info/sprakt07/stava. (Viggo)
  • Random indexing med större korpus
    Uppgiften går ut på att bygga ut laborationen "Statistisk lexikal semantik". Du skall framförallt utgå ifrån ett större textmaterial, och t.ex. jämföra hur pass mycket varje ny textmängd som du lägger till korpusen förbättrar resultatet. (Johan)
  • Implementera och utvärdera en pronomenidentifierare
    Uppgiften går ut på att implementera ett program som, t.ex. baserat på utmatningen från GTA (Granskas Text Analysator), listar ut till vilka antecedenter pronomen i löpande text refererar till.Förslag på algoritm att implementera och utvärdera är Mitkov 98 och förslag på textgenre är svensk nyhetstext, t.ex. Parole-korpusen.
    Givetvis får du/ni gärna implementera eller modifiera någon annan algoritm, för något annat språk än svenska, givet att du/ni har tillgång till de resurser som behövs. (Johan)
  • Maskinöversättning genom direktöversättning Implementera ett program som utgår ifrån direktöversättningsmetoden. Ett som till exempel bara slår upp ord i ett lexikon och tar första översättningen, eller slå upp dem på internet. Testa sedan att använda t.ex. n-gram för att förbättra ditt program. (Johan).

Krav på labbuppgiften

  • Du skall kontakta den som står som ansvarig för uppsatsuppgiften per e-post. Diskutera ditt upplägg med denna person.
  • Labbuppgiften skall redovisas skriftligen genom en rapport som beskriver programmet som du gjort på minst 1000 ord.
  • Labbuppgiften skall presenteras muntligen i form av ett kortare föredrag på 10 minuter.
  • Tydliga referenser om programmet bygger på något annat.
  • Skriv riktiga referenser enligt vedertaget system.
  • Skriv inte ditt personnummer på rapporten eftersom alla rapporter brukar publiceras på kurssidorna.
Copyright © Sidansvarig: Johan Boye <jboye@nada.kth.se>
Uppdaterad 2011-11-04