bild
Skolan för
elektroteknik
och datavetenskap

Språkteknologi

Inlämningsuppgift, Språkteknologi DH2418, ht 2008

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 uppsatserna och labbuppgifterna ska redovisas både skriftligt och muntligt vid speciella redovisningstillfällen som hålls veckan före ordinarietentan. Vid varje redovisningstillfälle kommer sex uppgifter att presenteras. Inlämningsuppgiften betygsätts, och vid betygsättningen tas hänsyn såväl till innehåll som den skriftliga och muntliga presentationens kvalitet. Du får inte gå upp på den skriftliga tentan förrän du har redovisat inlämningsuppgiften muntligen! Den skriftliga delen får du dock lämna in en vecka efter ordinarietentan, det vill säga den 29 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, hitta du t.ex. hos Språkbanken

Deadlines för inlämningsuppgiften

Några deadlines för inlämningsuppgiften:

26/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.
29/9: Skicka e-brev till kursledaren där det framgår vilken uppgift som du har valt.

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

29/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, undvika stark AI, 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å utä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 (Ola)
  • 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.(Ola)
  • 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. (Ola)
  • Undersök Grim
    Undersök och testa Grim med användare eller med en textkorpus. Vilka är för- och nackdelar med den här typen av system? (Ola)
  • 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.(Martin)

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 tanekgångar. (Viggo)
  • Web 2.0 och språkteknologi

    Hur kan språkteknologiska applikationer använda användargenererat material som delvis är taggat? Bygg en enkel demo som utgår från t.ex. Wikipedia, Flickr eller liknande. Hämta inspiration här.
  • Palindromer Palindromer är kul att leka med tycker många. Låt dig inspireras av Peter Norvigs text om Palindromer .Gör något för svenska. Kan Stava vara till någon hjälp? Eller hitta på något helt eget inom samma tema. (Ola).

  • Synonym Mining

    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? (Magnus)
  • 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. (Magnus)
  • 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. (Ola)
  • 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 om det ger något intressant. (Viggo)
  • Rebusbyggare
    Enkel text -> bild. Slå upp t.ex. adjektiv + substantiv på images.google.com och gör enkla regler för prepositioner, typ "en gul bil på en gräsmatta" ger en bild av en gul bil ovanpå en bild av en gräsmatta. Mer avancerade angreppssätt borde också kunna fungera, som att ta så långa substrängar som möjligt som ger träff på Google. (Magnus)
  • 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. (Ola)
  • 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. (Martin)
  • 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)
  • Taltaggning
    Utred hur man kan göra för att tagga tal som förekommer i en text med antingen "räkneord" eller "årtal", alltså hur kan man gissa att ett tal står för ett årtal. Implementera din metod och se hur bra den fungerar på några testmeningar. (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. (Magnus)
  • 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, dvs KTH News Corpus.
    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. (Martin)
  • Gör en trädritare till GTA
    Utnyttja IOB-utdata från GTA. Här finns GTA (Ola)
  • Enkelt konkordansgränssnitt
    Bygg ett gränssnitt mot en sökmotor som presenterar sökorden som konkordanser, t.ex.
    Jag har beställt enresatill Amerika.
    Jag skallresaimorgon.
    Jag skallresaett monument imorgon.
    Jag måsteresamig för att komma upp.

    Se till så att användaren kan välja ett eller flera ord som får samförekomma inom ett visst spann (kanske 10 ord i vänster- och/eller högerkontext). (Ola)
  • Kollokationsanalys Implementera någon enkel algoritm för kollokationsanalys. Sök i litteraturen efter lämpliga algoritmer, hämta frekvenslistor från Språkbanken. Du behöver också en större textmängd, t.ex. KTH News Corpus. (Ola)
  • 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. (Ola).
  • Genusbytare Testa att bygga en genusbytare som t.ex. byter ut Carl (Hamilton) mot Lisa och han mot hon i text. Undersök hur det blir på några klassiska texter. Vad behöver man mer byta ut för att t.ex. göra om en manlig hjälte till en kvinnlig dito? (Ola)
  • Utveckla en enkel grammatik för att generera genrespecifika texter Utveckla en grammatik för att skapa texter inom en mycket specifik genre, hämta inspiration från MIT:s forskningsartikelsgenerator. (Ola)

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: Ola Knutsson <knutsson@nada.kth.se>
Uppdaterad 2008-09-17