Till KTH:s startsida Till KTH:s startsida

Gamla laborationer

Kursmomentet LAB1 består av sex laborationer som görs i grupper om högst två personer. För labbkursen finns endast betyget U eller G. Varje laboration som är godkänd på dagen labben genomförs enligt schemat ger en bonuspoäng till tentan (se mer under rubriken Bonussystem).

Kursen har en katalog på Unixdatorerna: /info/sprakt12. På denna katalog finns textfiler, programskelett, program och liknande som har med kursen att göra.

Enstaka labbar får inte sparas till annan kursomgång. Om du inte fullgör alla sex labbarna inom ett år från kursens slut har kursledaren rätt att kräva att du gör samtliga labbar i den nya kursomgången.

Laborationer:

  1. Syntaktisk analys (labbskelett)
  2. Stavningskontroll
  3. Statistisk lexikal semantik
  4. Grammatikkontroll (Som förberedelse till labben, se dessa filmade föreläsningar om grammatikkontroll i allmänhet och om systemet Granska som vi kommer att labba på.)
  5. Dolda markovmodeller (labbskelett)
  6. Informationssökning och stemming

OBS! Labbarna är obligatoriska. Labbarna kan klaras under labb tid genom att redovisa labbarna muntlig till en av labbassistenter eller kan skickas till kurs ansvarig. När du skickar labben måste du göra en liten rapport med dina svar till frågor, koden och en förklaring av koden.

-------------------------------------------------------------------------------------------

The course element LAB1 is composed of six lab assignments which are supposed to be done in groups of maximum two persons. For the assignments they are either rated as not approved (U) or approved (G). Each assignment approved during the day of the lab class will be considered for the bonus system to the exam (check information about the bonus system).  

The course folder can be found in the Unix computers under: /info/sprakt12. The text files, program structures and programs or similar materials that will be used in the course can be found in that folder.

The labs may not be saved to another course year. If you don't complete all the labs within one year from the end of the course, the course responsible has the right to require you do the lab assignments in the new course.

Lab assignments:

  1. Syntactic analysis (lab structure)
  2. Spell checking and inflection rules
  3. Statistical Lexical Semantics
  4. Grammar checker (To prepare this assignment check this lecture about grammar check in general and the system Granska which we are going to use in the assignment)
  5. Hidden Markov Models (lab structure)
  6. Information search and stemming

OBS! The labs are mandatory. Each lab assignment can be evaluated orally during the time of the lab to one of the TAs or via e-mail. The e-mail solution must be sent to the course responsible with the answer to the questions, the code and a short explanation of the code.

Lärare Johan Boye skapade sidan 21 oktober 2014

kommenterade 3 november 2014

Är nog inte den enda som blivit smått irriterad ibland över att sicstus(-prolog) inte har historik. Så kan tipsa om att man kan köra sicstus med kommandot rlwrap för att få fungerande historik.

Så istället för att köra "sicstus" kör  "rlwrap sicstus".

Lärare kommenterade 4 november 2014

Bra kommentar! Jag har uppdaterat labbinstruktionerna enligt ditt påpekande. / Mvh Johan.

kommenterade 5 november 2014

Jag hittar inte katalogen /info/sprakt14. Finns den?

I labbpeket för labb 1 så finns referens till /info/sprakt12/syntax/. Gäller den eller ska det uppdateras till sprakt14?

Tips: lägg in varje labb som undersidor här på kth social istället. Då får vi notifications om labben ändras och kan se exakt diff på texten. Sedan kommer kommentarsfälten att delas upp för varje labb vilket blir lättare för oss och er att hålla isär alla framtida diskussioner på egna sidor istället för en enda som nu. Har sett i andra kurser hur det lätt spårat ut med +100 kommentarer på en sida för alla labbar. :)

Lärare kommenterade 6 november 2014

Katalogen /info/sprakt14 finns inte, utan vi använder /info/sprakt12/syntax som det står i peket.

Bra förslag med separata undersidor för varje labb! Jag ska fixa det så snart jag får tid... / Mvh Johan.

kommenterade 1 december 2014

Kan någon posta psuedokoden från boken (2nd edition) för lab 5? Den i 1st edition verkar lite skum.

Tack på förhand.

Lärare kommenterade 1 december 2014

Jag har lagt upp en PDF med pseudokoden på sid 220 i andra upplagan. / Mvh Johan

kommenterade 1 december 2014

Jag tror att det kanske har smygit sig in ett fel i boken. I den inre loopen i rekursionssteget (figur 6.11) så fattas faktorn \(b_s(o_t)\). Däremot har de fått med den lite längre ner på samma sida i ekvation 6.23.

Lärare kommenterade 2 december 2014

Ja, det stämmer! Mycket skarpsynt. Det hade jag inte lagt märke till, eftersom den korrekta lösningen är mycket naturligare att implementera än den felaktiga som står i figur 6.11. Alltså: Se ekvationerna 6.20-6.25 för den korrekta lösningen. / Mvh Johan.

Johan Boye redigerade 3 november 2015

Kursmomentet LAB1 består av sex laborationer som görs i grupper om högst två personer. För labbkursen finns endast betyget U eller G. Varje laboration som är godkänd på dagen labben genomförs enligt schemat ger en bonuspoäng till tentan (se mer under rubriken Bonussystem).Kursen har en katalog på Unixdatorerna: /info/sprakt12. På denna katalog finns textfiler, programskelett, program och liknande som har med kursen att göra.Enstaka labbar får inte sparas till annan kursomgång. Om du inte fullgör alla sex labbarna inom ett år från kursens slut har kursledaren rätt att kräva att du gör samtliga labbar i den nya kursomgången.

Laborationer:


* Syntaktisk analys (labbskelett)
* Stavningskontroll
* Statistisk lexikal semantik
* Grammatikkontroll
* Dolda markovmodeller
* under utarbetning

En användare har tagit bort sin kommentar
kommenterade 6 november 2015

Jag får inte deluppgift 1 och 2 av lab 1 att fungera korrekt. Grammatikerna tycks ladda utan problem men analyse returnerar  NOT GRAMMATICAL oavsett input, och tree_analyse returnerar bara false för exempelargumentet (koden kopierad direkt ur labpeket). Någon som känner igen problemet?

Kan tillägga att grammar3 verkar fungera som den ska, jag genomförde deluppgift 3 utan bekymmer.

Jag kör på egen dator (Windows 7, SWI-Prolog 7.2.3) om det kan vara av betydelse. 

kommenterade 7 november 2015

Hanna: Kanske har du glömt punkten innan det avslutande citattecknet? Utelämnar jag den så får jag samma fel som du beskriver, men när jag skriver analyse( "hon målade en tavla i garaget." ). med grammar1 så fungerar det som det ska. Observera alltså att det ska vara en punkt mellan ordet garaget och det avslutande citattecknet, samt en punkt till efter den avslutande parentesen.

kommenterade 7 november 2015

Som sagt har jag kopierat exempelkoden direkt ur labb-peket för att undvika typos. Har även testat andra kortare meningar som enligt grammatiken ska vara korrekta, både med och utan punkt på slutet. Men för sakens skull, om jag använder ditt exempel:

1 ?- [grammar1].
true.

2 ?- analyse( "hon målade en tavla i garaget." ).
hon målade en tavla i garaget. NOT GRAMMATICAL
true.

Och för deluppgift 2 med koden ur peket:

1 ?- [grammar2].
true.

2 ?- tree_analyse( "hon målade en tavla med en pensel.", T ).
false.

kommenterade 7 november 2015

Tydligen har kodskelettet ändrats sen förra året, har du sett till så du har den senaste versionen?

Det kan inte vara något problem med teckenkodningen? Själv har jag inga problem, och jag tror min terminal kör UTF-8. Testa lägga till ett till verb utöver "målade" i grammar1.pl som inte innehåller åäö, och testa sedan om "analyse" fungerar om du använder en mening som helt saknar åäö. Om det hjälper, se ifall du kan ändra teckenkodningen som din terminal använder, alternativt prova att ändra teckenkodningen av filerna till vad det nu är Windows föredrar.

kommenterade 7 november 2015

Det verkar ha med teckenkodningen att göra. Åtminstone grammar1 fungerar om man undviker åäö. Underligt nog kan man i grammar3 komma runt problemet genom att skriva reglerna som jj --> [ 'röd' ]. i stället för jj --> [ röd ]. när åäö förekommer, medans det samma tydligen inte fungerar i grammar1/grammar2 (som innehöll den tidigare formuleringen v --> ['målade']. från början). Tack för hjälpen.

kommenterade 7 november 2015

Jag hade samma problem. Det är blandat med olika linebreaks och teckenkodning. Jag använde dos2unix på samtliga och sparade om syntax.pl som utf-8, efter det hade jag inga problem på GNU/Linux iallfall. För labbskelett:

  • syntax.pl (unix/latin1)
  • drawtree.pl (dos/utf-8)
  • grammar1.pl (unix/utf-8)
  • grammar2.pl (dos/utf-8)
  • grammar3.pl (dos/utf-8)
  • sentences.pl (dos/utf-8)
kommenterade 15 november 2015

Servern för samtliga länkar för labb 2, Stava-labben, strular enormt mycket. Det är mycket svårt att genomföra labben då det inte går att köra Genstava...

Johan Boye redigerade 16 november 2015

Kursmomentet LAB1 består av sex laborationer som görs i grupper om högst två personer. För labbkursen finns endast betyget U eller G. Varje laboration som är godkänd på dagen labben genomförs enligt schemat ger en bonuspoäng till tentan (se mer under rubriken Bonussystem).Kursen har en katalog på Unixdatorerna: /info/sprakt12. På denna katalog finns textfiler, programskelett, program och liknande som har med kursen att göra.Enstaka labbar får inte sparas till annan kursomgång. Om du inte fullgör alla sex labbarna inom ett år från kursens slut har kursledaren rätt att kräva att du gör samtliga labbar i den nya kursomgången.

Laborationer:


* Syntaktisk analys (labbskelett)
* Stavningskontroll
* Statistisk lexikal semantik
* Grammatikkontroll (Som förberedelse till labben, se dessa filmade föreläsningar om grammatikkontroll i allmänhet och om systemet Granska som vi kommer att labba på.)
* Dolda markovmodeller
* under utarbetning

kommenterade 30 november 2015

När kommer labb 6? Det är snart bara en vecka kvar till redovisning.

Lärare kommenterade 30 november 2015

Den kommer att publiceras senast den dag det verkligen är en vecka kvar till redovisning (dvs om en vecka). / Mvh Johan.

kommenterade 3 december 2015

Testtexten som nämns i början på labblydelsen för labb 4 under rubriken "Material", var hittar man den?

Lärare kommenterade 6 december 2015

Under deluppgift 1 står det " Om du på webbsidan kryssar i rutan med texten: Använd våra exempelmeningar med många fel i och väljer Sänd iväg kommer du att få en bra överblick över vilka feltyper Granska klarar."  Det är denna text som åsyftas.  / Mvh Johan.

Assistent Viggo Kann ändrade rättigheterna 11 januari 2016

Kan därmed läsas av alla och ändras av lärare.
kommenterade 13 januari 2016

Hej, när har man deadlines på labbar som man inte riktigt hunnit med? Är det någon gång efter tentan? Hittar inte någon info om det på kursens hemsida

MVH, Magdalena

Lärare kommenterade 13 januari 2016

Hej! Skicka in labbarna senast 15 mars, så kommer jag att kolla på dem. / Mvh Johan.

kommenterade 5 oktober 2016

Hej! Jag är jätte intresserad av att läsa denna kurs, och detta verkar vara en masterkurs. Hur kommer det sig att labbarna använder sig av det svenska språket? Är det inte krav på engelska för masterkurser? Eller ser kursomgången för HT16 annorlunda ut? Mvh

Assistent kommenterade 5 oktober 2016

Oktay, det finns två skäl till att svensk språkteknologi tas upp i kursen:

1. Utbildning i svensk språkteknologi ges inte någon annanstans i världen, så KTH känner ansvar för att det görs.

2. Mycket av den språkteknologiska foskning som gjorts och görs på CSC är på det svenska språket. Det gör att språkteknologikursen kan ta upp direkta exempel från forskningen och den som går kursen kan i sitt avslutande projekt använda språkteknologiska verktyg som tagits fram på CSC.

Kursboken är på engelska och tar upp många exempel på språkteknologi för engelska. Den som går kursen får därför dels kunskaper och färdigheter i språkteknologi som är anpassad för engelska respektive svenska och dels språkteknologi som är språkoberoende.

Det är inte krav på engelska för kurser på avancerad nivå. KTH:s språkpolicys kortversion säger 
"Inom utbildningen använder KTH huvudsakligen svenska de tre första studieåren. För att anpassa utbildningen till Bolognaprocessen och främja internationaliseringen sker undervisningen under de två följande studieåren huvudsakligen på engelska."

kommenterade 5 oktober 2016

Tack för svaret Viggo. Jag har en hel del kontakt med internationella studenter, och frågade delvis för dem, då det inte är lätt för en engelsktalande att gå denna kurs. Jag förstår situationen fullt ut och kan hoppas på att CSC erbjuder en engelsk variant i framtiden så att internationella studenter kan få en lika bra grund i detta område som oss svensktalande har möjlighet att få här på KTH. Mvh

Assistent kommenterade 5 oktober 2016

Det är en resursfråga. Icke-svensktalande studenter har ändå ett väldigt stort utbud av kurser att välja på. Till exempel ges kurserna Sökmotorer och informationssökningssystem och Talteknologi på engelska.

kommenterade 5 oktober 2016

Då för jag ordet vidare, tack återigen för ditt svar.

kommenterade 5 oktober 2016

Jag är internationell masterstudent och har läst kursen förra året. Jag kan bara uppmuntra internationell folk att läsa kursen om deras svenska är "okej". Min nivå på svenska var typ B1/B2 på den tiden och jag hade inga stora svårigheter att följa undervisningen, labbar osv. Jag tycker att kursen att kursen inte är så svår.

Vissa delar är ibland kanske även enklare för dem som har lärt sig svenska som andraspråk, p.g.a.. grammatikkunskapen som (det är mitt intryck) undervisas inte så mycket i dem svenska skolorna.

Jag själv håller med Viggo. Det är lite meningslöst att ge kursen på engelska när forskningen här på KTH sysslar med svenska språket. Även om man översatt allt 1:1 till engelska, så är övningar, verktyg som används osv. fortfarande utvecklat för svenska språket och universitetets uppgift är inte bara att undervisa för arbetsmarknaden men undervisningen är också möjligheten för universitet att rekrytera framdagens forskare och ge studenter, särskilt på masternivån, insikt i deras forskning.

Jag kan förstår att det är synd för internationella studenter som är intresserad av ämnet. Kanske de kan läsa motsvarande kurs på deras hemuniversitet om de inte kan svenska. Annars kan jag rekommendera dem internationella masterstudenterna (som plugga hela programmet på KTH) att lära sig svenska snabbt därför att de kan läsa den här kursen i andra året av deras utbildning (som jag har gjort). Det finns andra kurser som Talteknologi, Speech and Speaker Recognition och sökmotorerkursen som är lämpligare för att undervisas på engelska.

kommenterade 30 oktober 2016

Hej! Jag är en student från civilingenjör och lärar-programmet som ska läsa kursen nu. Då jag inte vet någon jag känner som ska läsa den också så undrar jag om någon känner vid sig att den skulle kunna vilja vara min labbpartner? Jag föredrar någon som gillar att diskutera och verkligen se till att båda partnerna är delaktiga. Hör av dig till mig på mollie@kth.se eller sök upp mig på facebook. :) 

kommenterade 3 november 2016

Hej, jag försökte börja med labb 1 men det finns delar i koden som inte funkar. Jag följde instruktionerna men när jag kommer till kommandot

?- tree_analyse( "hon målade en tavla med en pensel.", T ).

så får jag meddelandet

ERROR: length/2: Type error: `list' expected, found `"|"' (a string)

Jag försökte köra trace på den och det verkar som att det uppkommer ett fel när trädet byggs upp men jag vet inte vad felet är.  I vilket fall som helst så funkar inte den delen av labben.

Lärare kommenterade 4 november 2016

Det här verkar som en teckenkodning problem. Vad får du när du skriver echo $LANG i terminalen? 

kommenterade 4 november 2016

Should we expect lab1 instruction translated to English by Monday?

Lärare kommenterade 4 november 2016

You can find it here.

kommenterade 4 november 2016

Oh, I didn't see that before.

Tack så mycket!

En användare har tagit bort sin kommentar
kommenterade 4 november 2016

@Abdallah
@José

Vi har samma problem, LANG variabeln är satt till en_US.UTF-8 på skoldatorerna och vi har försökt sätta den till sv_SE.UTF-8 men det gjorde ingen skillnad. Vi har även testat att skriva ":- encoding(utf8)." i syntax.pl och drawtree.pl utan resultat.
Tracen visar att programmet crashar vid anropet till sp_pad:
 

Call: (20) sp_pad("|", 5, 2, _G2427) ? creep
   Call: (21) length("|", _G2425) ? creep
ERROR: length/2: Type error: `list' expected, found `"|"' (a string)

kommenterade 4 november 2016

Jag kan använda tree_analyse utan problem när jag ssh:ar till u-shell.csc.kth.se . Värt att pröva?

Lärare kommenterade 4 november 2016

Jag tror att det kan vara en updatering problem. För swi-prolog version i CSC unix datorerna är 7.2.3 och swi-prolog version i u-shell är 6.6.4. Det verkar att någonting ändrades i listorna hantering.

http://www.swi-prolog.org/pldoc/man?section=extensions

kommenterade 7 november 2016

Hi, did anyone manage to get rid of the list problem from csc computers? I'd like to simply change swi-prolog version but I don't have the permission to do so, so I guess I should find a way to edit syntax.pl to get it working with the 7.2.3 lists requirements.

kommenterade 7 november 2016

They recommended to use ssh on a private computer and doing it that way.

kommenterade 5 december 2016

Om det är nån som inte gjort labb 4 och 5 än så letar jag efter en partner.

Sms:a gärna på 070-4977542.

/ Simon