Syftet med laborationen är att ge Dig insikter i transferbaserad maskinöversättning och datamaskinell grammatikkontroll samt praktisk erfarenhet av regelskrivning för sådana uppgifter. Ett väsentligt steg i den transferbaserade maskinöversättningen är analysen av källspråket. Även i den datamaskinella grammatikkontrollen spelar parsningen en avgörande roll. Sålunda läggs inledningsvis tonvikt på parsningsproblematiken i laborationen.
Laborationsuppgiften består av tre delar, som redovisas i en skriftlig laborationsrapport. De olika delarna är:
Syftet med denna deluppgift är att visa Dig hur UCP kan användas för syntaxanalys samt ge Dig viss färdighet i regelskrivande. De syntaxregler som Du formulerar i kommer Du att kunna återanvända i deluppgift 2 (efter viss vidareutveckling och redigering).
Uppgiften består i att analysera ett antal svenska fraser och meningar syntaktiskt. Den syntaktiska analysen skall avspegla meningarnas frasstruktur (konstituentstruktur).
UCP är ett processerande maskineri med en procedurell formalism. Systemet är från början tomt på språkliga regler. De måste tillföras av Dig. Rent konkret består sålunda Din uppgift i att formulera de regler som behövs för att lösa uppgiften, samt att testa ut dem.
Allmänna instruktioner och köranvisningar för UCP (ej särskilt anpassade för just denna labb) finner du på http://stp.ling.uu.se/~starback/ucp. Läs dem och det utdelade materialet.
Börja med att bekanta dig med systemet. Nedan följer kortfattade instruktioner.
M-x shell
ucp.
(loadg "/local/kurs/mosg03/ucplab01/lab.ucp2")
(p "Solen skiner.")
Bekanta Dig med systemet genom att prova de olika möjligheter till körning, utskrift och spårning, som redogörs utförligare för i köranvisningarna.
Användbara kommandon:
(show)
(pr)
(quit)
UCP2 är skrivet som en utökning till Lisp och alla kommandon måste
omslutas av parenteser! En normal UCP-prompt ser ut så här (siffran
räknas upp efter varje kommando):
UCP[8]>
Om prompten ser ut så här har något blivit fel:
1. Break UCP[9]>
Skriv i så fall abort (utan parenteser!!!) tills
prompten ser normal ut igen.
Kopiera in språkbeskrivningen i Ditt eget bibliotek. Den kan fungera som kärna för ditt fortsatta regelskrivande. återstående laborationstillfällen ägnas utvidgning av språkbeskrivningen, så att den skall kunna klara av följande uttryck:
Definiera och testa ut frasstrukturregler för uttrycken ovan. Börja gärna med att skriva ner traditionella, deklarativa frasstrukturregler på ett papper. Uttryck dem därefter i UCP-formalismen. Lägg gärna in de deklarativa reglerna som kommentarer i grammatiken. (Om du behöver friska upp parsning med frasstrukturregler, så kan Du t.ex. gå tillbaka till den parsningslaboration, som du en gång gjorde på IST:en.)
Som regelskrivare i UCP har man full frihet att tilldela och söka av särdrag i de språkliga beskrivningar som man bygger upp. Grammatikkontrollen i UCP bygger på att man formulerar regler för att täcka in förutsedda grammatikfel, och att man representerar dem i charten med särskilda felbågar. Felbågarna innehåller attributet error. För olika feltyper ansätter man olika värden på error-attributet. UCP-kommandot reportchart körs när parsningen är avslutad. Det läser av charten med avseende på error-bågar, och genererar felmeddelanden i enlighet med de olika typerna. Att definiera olika feltyper samt felmeddelanden är också grammatikskrivarens uppgift.
Din uppgift är att utvidga de regler Du skrivit tidigare med operationer för att känna igen och registrera felen i uttrycken nedan:
OBS! Gör en kopia av dina regler från förra labben
och gör utvidgningen i kopian! Se alltså till att du har kvar
den version av grammatiken som var avsedd för analys av korrekta
meningar vid sidan av den nya grammatik
du gör nu som är till
för att hitta grammatikfel! (Om inte annat så för att kunna gå vidare
med det förra labbresultatet ifall du får en rest på den vid
rättningen.)
Börja med att analysera och bestämma de olika feltyperna. Konsultera härför Wedbjer Rambell 1999 och använd den feltypologi som presenteras där. När du bestämt feltyperna är det dags att utvidga tidigare skrivna regler med felalternativ och ansättning av felattribut.
I katalogen /local/kurs/mosg03/ucplab02 kommer det att finnas
exempel på en felregel och på hur man definierar en feltyp med
felmeddelande.
För att prova ut reglerna kör Du först som vanligt UCP (process) och därefter (reportchart). När utprovningen ger önskat resultat för de olika uttrycken är uppgiften löst. Tag ut en loggfil för körningen och foga in den i laborationsrapporten.
Den tredje deluppgiften består i maskinöversättning från svenska till engelska av de meningar som Du arbetat med i parsningslabben. översättningen körs på ett webbgränssnitt till MATS-systemet. MATS-systemet är knutet till en tvåspråkig lexikal databas, och därifrån hämtas färdiga ordbeskrivningar (lemman med morfosyntaktiska koder och standardöversättningar till engelska). Dem får du automatiskt tillgång till i laborationen.
När alla uttrycken översatts till acceptabel engelska är den tredje deluppgiften löst. Resultatet redovisas i laborationsrapporten med utnyttjande av den logg som systemet tillhandahåller.
Webbgränssnittet finns på http://stp.ling.uu.se/~perweij/mats/entry/.
Välj /~perweij/mats/current.
Användarnamn: ditt vanliga användarnamn på stp
Lösenord: fås av labbhandledarna
Din uppgift på första tillfället: följ parsnings- och översättningsstegen i MATS-systemet för nominalfraserna
Du ska förstå vad som händer i de olika modulerna, så att du själv kan skriva transfer- och genereringsregler för resten av labbmeningarna.
På startsidan (länken Start) kan du göra inställningar för hur resultatet av parsning och översättning ska presenteras.
Via länken Settings kan du se och ändra vilka infiler systemet använder. Bekanta dig med innehållet i de olika filerna så att du vet vilken fil som gör vad. Observera att det finns en UCP-grammatik kopplad till labbsidan. Denna är skriven i UCP3 som har en annorlunda syntax än UCP2 som du använde i de tidigare labbarna.
Ha tålamod! Vänta tills parsningen är färdig även om det tar en stund. Tryck inte 'translate' igen innan processen är avslutad -- det startar bara en ny process parallellt med den gamla vilket gör att allt går ännu långsammare.
Laborationsrapporterna levereras via email till någon av laborationsassistenterna eller till Anna (.txt el. .rtf). Ange namn på regelfiler i rapporten.
Följande inlämningsdatum gäller:
$Id: lab.html,v 1.17 2003/05/20 14:19:52 ebbag Exp $