Laborationer
På denna sida hittar du instruktioner till kursens laborationer. Till varje laboration anges även det centrala innehållet som du förväntas kunna efter laborationen.
Allmän Information
Laborationerna ska göras i par. Om du vill göra laborationerna individuellt ska du kontakta kursledaren. Vi har tyvärr generellt inte de resurser som krävs för att handleda och ge äterkoppling på individuella laborationer.
Instruktioner: Lämna in era laborationsrapporter i er Lisam. Läs även kursens Regler för inlämningsuppgifter. Innan första laborationen behöver ni anmäla er i Webreg.
Återkoppling: Till varje laboration finns ett antal handledningstimmar schemalagda där ni kan få hjälp med och återkoppling på ert arbete från laborationsassistenterna. Om ni lämnar in er laboration vid första inlämningsdatumet får ni även skriftlig återkoppling. Utöver detta kan ni alltid få återkoppling från examinator via epost, chatt eller videomöte.
Resultat av labbarna finns på Webreg.
Information om Notebooks
I denna kurs använder vi Jupyter notebooks för laborationerna. Notebooks låter er skriva och exekvera Python-kod i en webbläsare och gör det väldigt enkelt att blanda kod och text. Ni kan använda notebooks på IDA-servern via ThinLinc, eller alternativt arbeta i en molntjänst som heter Google Colab om ni har, eller vill skaffa, ett Google-konto.
Hur ni jobbar med en notebook. Varje notebook består av ett antal så kallade celler som kan innehålla text eller kod. Under laborationen skriver ni egen text eller kod utifrån instruktionerna. När ni ”kör” en kodcell (t.ex. genom att trycka Shift+Enter) exekverar ni koden i denna cell. Kodens utdata kommer då att visas direkt under cellen.
Hur ni kommer igång med Google Colab. Klicka på Colab-länken som finns för varje labb, sen klickar ni på “Copy to Drive”. Börja med att köra den första cellen för att hämta filarna från IDA-servern. Sen kan ni använda Colab som andra Jupyter notebooks. När ni är klara med labben och vill hämta filen för inlämningen klick på File > Download .ipynb.
Testa notebooken och lämna in den. När ni är klara med en notebook bör ni trycka på Kernel > Restart & Run All för att köra alla celler i den och verifiera att allting fungerar som det ska och det inte uppstår några fel. Efter detta kan ni ladda ner notebooken och lämna in den.
L0: Hantera Text
I denna laborationsserie kommer vi att använda Python. Denna ”uppvärming” repeterar några grundläggande koncept från tidigare kurser och presenterar elementära programmeringstekniker för att hantera text: läsa in text från en fil samt extrahera och räkna rader, löpord, unika ord och ordförekomster.
- Laboration L0: Hantera text (ingen inlämning)
- Notebook med exempelsvar
- Laboration L0: Colab
Material
L1: Textsegmentering och Statistisk Korpusanalys
Textsegmentering är uppgiften att dela upp en text i lingvistiskt meningsfulla enheter, såsom stycken, meningar och ord. I del 1 av denna laboration kommer ni att implementera en enkel textsegmenterare med hjälp av reguljära uttryck. Ni kommer även att jämföra er tokenisering med en manuellt skapad guldstandard.
I del 2 testar ni att skapa en egen liten korpus och köra en enkel statistisk analys på den, med hjälp av tokeniseraren från del 1.
Föreläsningsbilder
Material
- Dokumentation av Python-modulen re, som tillhandahåller reguljära uttryck.
- RegexOne, en tutorial med uppgifter.
- Regex101, en webbsida där ni kan interaktivt testa mönster på era texter.
- RegExr, en webbsida där ni kan testa mönster och se exempel på komplexa reguljära uttryck.
- Regex Golf, ett lekfullt sätt att träna sina regex-färdigheter på.
Mål
Efter denna laboration ska du kunna förklara och använda följande koncept:
- tokenisering
- undersegmentering, översegmentering
- precision, täckning
- statistisk korpusanalys, Zipf’s lag
Efter denna laboration ska du kunna utföra följande procedurer:
- dela upp en text i token med hjälp av reguljära uttryck
- jämföra en automatisk tokenisering med en guldstandard
- räkna tokens i en korpus och jämföra fördelningen med statistiska lag
L2: Lingvistiskt Annoterad Text (1)
I den här laborationen kommer ni att lära er olika tekniker för att undersöka lingvistiskt uppmärkt text. Med detta menas text som på något sätt – antingen för hand eller med hjälp av automatiska metoder – annoterats med lingvistisk information såsom ordklasser eller dependensträd.
- Laboration L2: Zip med labben och alla nödvändiga filer för lokal körning (obs: Python 3.10.12)
- Laboration L2: Colab
Föreläsningsbilder
Material
Mål
Efter denna laboration ska du kunna förklara och använda följande koncept:
- tabulerade data
- ordklasstaggar
- generatorfunktioner
Efter denna laboration ska du kunna utföra följande procedurer:
- läsa in och bearbeta lingvistiska data representerade i ett tabulerat format
- utföra enkla frekvensanalyser baserade på ordklasstaggar på en text
L3-L5
Uppdateras just nu och kommer snart!