Uppsala universitet
Institutionen för lingvistik
Språkteknologiska delområden VT00
Anna Sågvall Hein

Laboration 1: Maskinöversättning

Innehåll

  1. Allmänt
  2. Syfte
  3. Uppgift
  4. MDT
  5. Rekommenderad arbetsgång
  6. Redovisning
  7. Litteratur

1. Allmänt

I denna laboration får du prova att skriva regler för Multra (Sågvall Hein under utgivning), det transferbaserade maskinöversättningssystem som utvecklats vid institutionen, och som föreligger i en prototypversion för översättning från svenska till engelska eller tyska.

Laborationen begränsas till översättning till engelska. Du kommer att arbeta i ett gränssnitt, Multra Developer's Tool, MDT, som låter dig testa och spåra dina regler med stor noggrannhet. Du får också tillfälle att lägga in dina regler i det enkla slutanvändargränssnitt, Multra Translator's Assistant, MTA, som utvecklats speciellt för Multra, och som låter dig köra en hel text (de meningar du arbetat med i laborationen).

2. Syfte

Syftet med denna laboration är att ge dig konkret erfarenhet av vilka möjligheter ett transferbaserat maskinöversättningssystem erbjuder och hur pass god kvalitet man kan uppnå. Det är också en förhoppning att laborationen skall väcka tankar om hur programmet kan vidareutvecklas och förbättras både ur ett översättningsperspektiv och i datatekniskt avseende.

3. Uppgift

Laborationsuppgiften består i att skriva transfer- och genereringsregler för översättning av följande meningar i enlighet med de modellöversättningar som ges. De är alla hämtade ur den flerspråkiga, meningslänkade dokumentdatabas, som byggts upp i Scania-Uppsala-projektet och också bearbetats i Plug-projektet (Parallellkorpusar i Linköping, Uppsala och Göteborg). Några av meningarna har kortats av, men ingen annan förenkling har skett.

När du klarat av översättningen av de enskilda meningarna skall du köra hela texten i MTA också. (Se nedan!)

För Godkänt laborationsresultat skall du ha klarat meningarna 1. - 9., medan du för betyget Väl godkänt också skall ha klarat av tre av meningarna 10. - 14. Med "klara" avses att få fram samma översättning som i förlagan.

Laborationstexten

 1.TätningSeal
 2.TätningslistSeal strip
3.Byt olja.Change oil.
4.Rengör filter.Clean filter.
5.Ta bort hyttstöttan.Remove the cab support.
6.Sätt verktyget på hytten.Place the tool on the cab.
7.Tippa hytten helt.Fully tilt the cab.
8.Tryck ner mätstickan i motorn.Press the dipstick into the engine
9.Lyft hytten på plats.Lift the fab into position.
10.Remmen har sprickor.The belt has cracks.
11.Tippa alltid hytten helt.Always tilt the cab fully.
12.Ta inte bort hyttstöttan.Do not remove the cab support.
13.Remmen har inte sprickor.The belt does not have cracks.
14.I oljefilterhållaren sitter en överströmningsventil.The oil filter retainer has an overflow valve.

4. MDT

Multra finns än så länge inte till GNU-datorerna, utan bara till AIX-datorerna, så först måste du koppla dig till strindberg: ssh strindberg.

För denna laboration finns det en särskild version av MDT som heter mdtlab2000 där en del grammatik och lexikon redan finns inladdat. Så starta med kommandot mdtlab2000 på strindberg. Diverse utskrift rullar förbi där, tills så småningom ett fönster med MDT skapas.

Märk hur du kan ändra på de inbördes storlekarna för delfönstren för Parser, Transfer och Generation genom att ta tag i de små fyrkanterna till höger på linjerna mellan delfönstren. Här följer en genomgång av de olika menyerna.

File

Allt man kan göra här är att avsluta programmet. (Använd denna funktion när du ska avsluta det istället för att bara stänga fönstret.)

Parser

Vid normal användning av MDT laddar man in grammatikregler och lexikon för parsern här. I "mdtlab2000" finns dock sådant redan fördefinierat, så du behöver inte göra något här.

Det går alltså att nu direkt prova att skriva in exempelmeningen

Tippa hytten.
i input-fönstret och analysera den genom att sedan trycka på knappen Parse. (Glöm inte den avslutande punkten!) Har du gjort rätt ska det dyka upp en parsning i Parser-delen av fönstret. (Däremot kommer ännu varken Transfer eller Generate att fungera, eftersom inga transfer- eller genereringsregler är inladdade än.)

Preference

Denna del kan ignoreras i denna labb.

Transfer

Transferfiler, som brukar ha extensionen ".tra", laddas in med Load rules i Transfer-menyn.

De filer som används i denna laboration ligger alla i filkatalogen /local/multra/lab2000/. Den är inte aktuell katalog när du först använder filväljaren i Multra, så märk hur du i den går upp och ner bland filkatalogerna för att hitta dit. (Filnamn under /local är gemensamma mellan strindberg och gnu-datorerna, så vill du titta på hur filerna ser ut kan du göra det med samma namn direkt på den dator du sitter vid.)

Filen där som du ska ladda heter lab.tra. När du har laddat den så tryck på knappen Transfer. Den analys av "Tippa hytten." som du redan gjort kommer nu att översättas till en liknande struktur för engelska och den kommer upp i Transfer-delen av fönstret. Jämför den svenska och den engelska strukturen.

Generation och Lexicon

För genereringen behövs en mängd olika saker laddas in. Använd Load Typology i Generate-menyn och ladda filen setup. Detta laddar in flera olika filer som du inte behöver bekymra dig om. (Det är inte bara "typologin", utan också morfologi och insättningsregler. Titta i filerna om du är nyfiken.)

Efter det följer två filer som du behöver bry dig mer om eftersom du ska lägga in egna regler där senare:

Nu ska knappen Generate fungera för exempelmeningen. (Prova!)

Knappen Translate är inget nytt, utan utför helt enkelt alla de tre stegen i följd.

Customize

Här kan man göra inställningar för de tre stegen. Det som du har nytta av här är att sätta spårning för transfer och generering. Det finns både halv och full spårning. Halv spårning är ofta mer användbart än full spårning, eftersom man lätt drunknar i all information man får vid full spårning, men prova att göra om både transfer och generering med både halv och hel spårning. Jämför med regelfilerna och se till att du förstår vad som händer!

5. Rekommenderad arbetsgång

Att omväxlande ladda in filer från /local/multra/lab2000 och en egen katalog blir lite struligt, så kopiera alla filerna i den katalogen till en egen underkatalog först.

Se till att du förstår vad som händer när du kör exemplet ovan genom att använda spårning och titta på de regler som används. (Antingen med Inspect Rules eller genom att titta i själva filerna.) Använd flitigt spårning för dina egna regler också.

Transfer

Börja med text 1, dvs. "Tätning". Skriv in den i input-fönstret och parsa genom att trycka på Parse. Skriv därefter transferregler för översättning av Tätning (i lämplig editor) och ladda in dem. (Lägg till ytterligare regler i din kopia av lab.tra.) Efter laddning kan du inspektera reglerna (via menyval Inspect rules i Transfer-menyn) för att försäkra dig om att laddningen verkligen fungerat. Kör transfer av ordet, med och utan (halv och full) spårning.

Generering

Skriv därefter syntaktiska och lexikala genereringsregler (efter de förlagor du fått på föreläsningarna). Ladda setup för att få in genereringsfilerna en.ins, en.mrf) --> och dina egna två filer med syntaktiska och lexikala genereringsregler. Kontrollera i varje steg, att laddningen fungerat, dvs. att dina regler varit syntaktiskt välformade. (Syntaxen är tyvärr alldeles för kinkig i Multra, särskilt genereringsformalismen! (Se "diverse tips" nedan.) För kontroll använder du genomgående de olika Inspect-valen. De syntaktiska fel som Multra upptäcker i samband med laddning av transfer- och genereringsregler, och också vid körning, presenteras i fönstret längst ned på sidan, System Messages. Kör därefter generering med och utan (halv och full) spårning. Studera resultatet.

När du uppnått den önskade översättningen, kan du gärna göra de modifikationer som behövs för att översätta också det enkla ordet hytt. När du kommit så här långt bör du ha fått tillräckligt goda insikter om principerna för översättning i Multra och dess olika formalismer för att kunna ta itu med de större utmaningar som följer i laborationstexten.

Diverse tips

Det finns ett par vanliga skrivfel man kan göra när man skriver Multra-regler. Inget av dem ger något egentligt felmeddelande, utan man kommer bara att upptäcka att något är fel på att saker inte fungerar som man kunde tänkt sig:

MTA

Se särskild instruktion för körning av MTA.

6. Redovisning

Redovisning lämnas i form av skriftlig rapport till Anna (i postfacket på Institutionen för lingvistik eller via mail i pdf) senast 2 mars.

Rapporten ska innehålla/behandla (minst) följande:

  1. Dina regelfiler i skriftlig form och uppgift om var de finns.
  2. Kommentarer till var och en av de meningar du översatt. Kommentaren skall innehålla uppgift om vari det särskilda översättningsproblemet består (om något), hur du löst det och en bedömning av huruvida ett direktöversättningssystem skulle kunna klara av det. Om du finner så vara fallet, bör du också beskriva hur det skulle gå till i ett sådant system.
  3. Synpunkter på ev. förbättringar av Multras kapacitet i översättningshänseende.
  4. Synpunkter på ev. förbättringar av Multras funktionalitet ur databehandlingsaspekt.

Rapporten kommer att ges betyget godkänd, väl godkänd eller underkänd.

Lycka till!

7. Litteratur

Sågvall Hein, A., Maskinöversättning och kontrollerat språk. Under utgivning i konferensbidrag från XXII Vakki Symposium 1998.


Laborationsinstruktioner sammanställda av Per Starbäck i februari 2000 efter tidigare texter av Anna Sågvall Hein, Erik Mats och sig själv.