Uppsala universitet
Institutionen för lingvistik
Språkteknologiska delområden VT00
Anna Sågvall Hein
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).
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.
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.
| 1. | Tätning | Seal |
| 2. | Tätningslist | Seal 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. |
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.
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.)
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.)
Denna del kan ignoreras i denna labb.
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.
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:
engra.ptr laddas in.
endic.ptr laddas in.
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.
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!
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.
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.
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.
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:
Se särskild instruktion för körning av MTA.
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:
Rapporten kommer att ges betyget godkänd, väl godkänd eller underkänd.
Lycka till!
Sågvall Hein, A., Maskinöversättning och kontrollerat språk. Under utgivning i konferensbidrag från XXII Vakki Symposium 1998.