Språkteknologi
Inlämningsuppgift, Språkteknologi 2D1418, ht 2006
Du får välja mellan en uppsats 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 ett eget
uppsatsämne 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 ordinarietenta, det vill säga den 30 oktober, senast kl. 24.00. Krav på uppsatsuppgifter 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
Deadlines för inlämningsuppgiften
Några deadlines för inlämningsuppgiften:
27/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.
6/10: Boka tid för redovisning, lediga redovisningstider finns på nyhetssidan. Man bokar genom ett e-brev till kursledaren.
30/10, kl. 24.00: Slutgiltig version av texten skall vara inlämnad/inskickad till kursledaren senast vid denna tidpunkt.
Förslag på uppsatsuppgifter
- Maskininlärning för morfologisk analys
Redogör för hur maskininlärning kan användas för morfologisk analys. Det kan handla om svenskans eller annat språks morfologi. (Jonas)
- 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? Läs de jämförande studier som har gjorts, och försök dra dina egna slutsatser. (Ola)
- Hur fungerar grammatikkontrollen i Word jämfört med Granska?
Grammatikkontrollfunktionen i Word är den enda kommersiella grammatikkontrollen för svenska. Vilken
teknik bygger den på? Vilka fel kan den finna? Jämför med Granska.
Läs, undersök och redogör. (Ola)
- 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 beskriv hur man borde kunna gå
tillväga. (Jonas)
- Dokumentsökningsfunktioner
Redogör för några tekniska dokumentsökningsfunktioner en mänsklig
bibliotekarie kan erbjuda som inte dagens system klarar av, och ge en skiss på
hur ett system skulle kunna erbjuda någon sådan tjänst. (Magnus)
- Utvärdera översättningssystem
Hur kan man utvärdera ett översättningssystem? Undersök Systrans maskinöversättningsmotor. (Ola)
- Textgenereringstekniker
Diskutera olika textgenereringstekniker. Nämn fördelar och nackdelar med
de olika teknikerna. Diskutera i vilka tillämpningar man kan använda sig
av textgenereringstekniker. (Martin)
- Diskursteorier och diskursanalys
Skriv om RST och/eller Hobbs' coherence relations och gör en liten diskursanalys. (Martin)
- Jämförande utvärderingar
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.
Du kan också jämföra grammatikkontrollen i Word med Granska. Fokusera gärna på någon specifik feltyp. Automatisera utvärdering genom att annotera ett testdata. (Ola)
- Undersök Grim
Undersök och testa Grim med användare. Vilka är för- och nackdelar med den här typen av system? (Ola)
- Utvärderingskonferenser
Skriv om någon av de utvärderingskonferenser som finns t.ex. TREC, MUC, DUC eller CLEF. Även CoNLL har ett tävlingsspår. Välj den konferens som intresserar dig mest, och skriv om den. Vad går det ut på? Vilka utvärderingsmetoder används? (Martin)
- Text mining
Skriv om text mining, och dess framtida möjligheter. . (Magnus)
- Språkteknologi och Open Source/Content
Inventera vilka språktekniska resurser som finns tillgängliga som Open Source. Diskutera möjligheter och problem med Open Source inom detta sammanhang. Vad händer om språket blir en företagshemlighet? (Martin)
Krav på uppsatsuppgiften
- Uppsatsen skall innehålla minst 2500 ord och max 3500 ord.
- Uppsatsen 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.
- Uppsatsen skall vara baserad på minst tre olika källor: vetenskapliga artiklar, kapitel ur böcker osv. Om du inte hittar tre källor så sök mer, därefter kontaktar du handledaren.
- Skriv riktiga referenser enligt vedertaget system.
- Skriv inte ditt personnummer på uppsatsen eftersom alla uppsatser brukar publiceras på kurssidorna.
Förslag på labbuppgifter
- 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. (Jonas)
- 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. (Jonas)
- Enkel talsyntes
Implementera en enkel talsyntes, utifrån några små samplingar, för
att se hur det blir. (Jonas)
- 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. (Jonas)
- 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. (Jonas)
- 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). (Jonas)
- 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. (Jonas)
- 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/sprakt04/stava. (Jonas)
- 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 en | resa | till Amerika. |
Jag skall | resa | imorgon. |
Jag skall | resa | ett monument imorgon. |
Jag måste | resa | mig för att komma upp. |
(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. (Jonas).
-
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?
(Jonas)
-
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. (Jonas)
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.
|