Göm menyn

729G49 Språk och datorer


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. Information om betygskriterierna för laborationsmomentet finns på sidan om Examination.

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.

Laborationsassistenter på denna kurs:

  • Daniel Holmer: danho69
  • Jenny Kunz: kunje68

Å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.

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. Innan ni gör detta bör ni läsa kursens Regler för inlämningsuppgifter.

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.

Material

L1: Textsegmentering

Textsegmentering är uppgiften att dela upp en text i lingvistiskt meningsfulla enheter, såsom stycken, meningar och ord. I 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.

Laboration L1: Textsegmentering (första inlämningsdatum: 2024-04-09)

Laboration L1: Colab

Material

Innehåll

Efter denna laboration ska du kunna förklara och använda följande koncept:

  • tokenisering
  • undersegmentering, översegmentering
  • precision, täckning

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

L2: Lingvistiskt uppmärkt 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: Lingvistiskt uppmärkt text 1 (första inlämningsdatum: 2024-04-16)

Laboration L2: Colab

Material

Innehåll

Efter denna laboration ska du kunna förklara och använda följande koncept:

  • tabulerade data
  • generatorfunktioner
  • frekvensanalys

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 på en text

L3: Lingvistiskt uppmärkt text 2

I den här laborationen kommer ni att ta steget från lingvistiska annotationer på ordnivå till syntaktiska annotationer i form av så kallade dependensträd. Ni kommer bl.a. se hur man kan använda dessa annotationer för att ta ut satsdelar från en text.

Laboration L3: Lingvistiskt uppmärkt text 2 (första inlämningsdatum: 2024-04-23)

Laboration L3: Colab

Material

Innehåll

Efter denna laboration ska du kunna förklara och använda följande koncept:

  • dependensträd, huvud, dependent
  • grammatiska relationer
  • transitivitetstyper

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 dependensanalyser på en text

L4: Kollokationer

En kollokation är en sekvens av två eller flera ord som samförekommer oftare än vad man skulle förvänta sig av slumpen; ett exempel på en kollokation i svenskan är sparka boll. Kollokationer har många tillämpningar inom korpuslingvistik och språkteknologi och spelar bland annat en central roll inom andraspråksinlärning och automatisk översättning. I denna laboration ska ni ta fram de starkaste kollokationerna i en lingvistiskt uppmärkt text.

Laboration L4: Kollokationer (första inlämningsdatum: 2024-04-30)

Laboration L4: Colab

Material

Innehåll

Efter denna laboration ska du kunna förklara och använda följande koncept:

  • kollokation
  • pointwise mutual information
  • lexicographer’s mutual information

Efter denna laboration ska du kunna utföra följande procedurer:

  • utföra enkla kvantitativa analyser på en text
  • extrahera de starkaste kollokationerna från en text

L5: Hyponymer och interbedömarreliabilitet

En hyponym är ett ord vars betydelse innefattas av ett annat ords betydelse; detta andra ord kallas hyperonym. I denna laboration ska ni implementera en enkel metod för att hitta hyponymer i en lingvistiskt uppmärkt text. Den specifika korpus som ni kommer att jobba med är samma som i laboration L4: automatiskt uppmärkta meningar ur nyhetsartiklar från Göteborgsposten.

Laboration L5: Hyponymer (första inlämningsdatum: 2023-05-14)

Laboration L5: Colab

Material

Innehåll

  • hyponym, hyperonym
  • Cohens kappa

  • använda automatiska metoder för att hitta hyponymer i en lingvistiskt uppmärkt text
  • beräkna Cohens kappa för att validera en annotering

Sidansvarig: Marcel Bollmann
Senast uppdaterad: 2024-04-23