Laborationsuppgift på kursen Maskinöversättning och språkgranskning, vt 2003

Syfte

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.

Uppgift

Laborationsuppgiften består av tre delar, som redovisas i en skriftlig laborationsrapport. De olika delarna är:

  1. Parsning med UCP: två laborationstillfällen
  2. Grammatikkontroll med UCP: två laborationstillfällen
  3. Maskinöversättning med MULTRA i MATS-systemet: tre laborationstillfällen

1. Parsning med UCP

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.

Komma igång med labben

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.

  1. Öppna ett skal t.ex. i emacs med hjälp av M-x shell
  2. Starta UCP i skalen med ucp.
  3. En liten demogrammatik för ändamålet kan Du ladda in med kommandot:
    (loadg "/local/kurs/mosg03/ucplab01/lab.ucp2")
  4. Det exempel Du kan köra och spåra är "Solen skiner." vilket kan parsas så här (med p för 'process'):
    (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:

Kom ihåg!

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.

Specifikation av uppgiften

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

2. Grammatikkontroll med UCP

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.

Specifikation av uppgiften

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.

3. Maskinöversättning med Multra i MATS-systemet

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.

Specifikation av maskinöversättningsuppgiften

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.

Titta på databasen

Om Du vill titta på vilka målspråksord som finns i er databas, och, framför allt, vilka koder de har, så kan Du titta här.

Inlämning

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 $