Individuell uppgift 3 -- SMT

Note that this assignment is only for bachelor students

Den här uppgiften består av 3 deluppgifter, som ska redovisas i en rapport, i pdf-format. Uppgifterna ska lösas och redovisas individuellt. Maila din rapport till Sara, senast den 3 juni. Rapporten kan vara skriven på svenska eller engelska. Glöm inte att skriva ditt namn i rapporten. Utgå från kurslitteraturen när ni löser uppgifterna.

Deluppgift 1: Trädbaserad SMT

I kursen har vi huvudsakligen diskuterat ord- och frasbaserad SMT. En annan viktig grupp av metoder inom SMT är trädbaserad SMT. Skriv en kort text, max 1 A4-sida, om trädbaserad SMT där ni diskuterar följande punkter:
  • Vad är trädbaserad SMT
  • Hur skiljer sig trädbaserad från frasbaserad SMT
  • Ge exempel på olika typer av trädbaserad SMT
Ni behöver inte gå djupt in på tekniska detaljer utan kan hålla texten på en övergripande nivå.

Deluppgift 2: Orsaker till fel

I deluppgift 1 i uppgift 1 utförde ni en felanalys där ni identifierade och kategoriserade fel av olika typer i en text översatt med ett kommersiellt statistiskt MT-system som Google Translate. I den här deluppgiften ska ni utgå från den felanalysen och diskutera möjliga orsaker till fyra olika feltyper, givet att texten är översatt med ett statistiskt MT-system. Utgå från underkategorierna i er felklassificering, inte huvudkategorierna. Försök välja feltyper som inte är alltför lika, och där ni har något intressant att diskutera. Det är inte helt känt exakt hur Google Translate fungerar, men det är ett SMT-system där de troligen använder dependenssyntax och möjligen reorderingregler. Ni kan dock framförallt utgå från de kunskaper ni har om hur statistiska språk- och översättningsmodeller fungerar. Om det underlättar får ni även översätta andra korta exempelmeningar än de ni analyserade i uppgift 1, för att få fler exempel på en möjlig feltyp, men det krävs inte att ni gör det (varken för G eller VG).

Deluppgift 3: Tuning

I den här uppgiften ska ni kort beskriva vad tuning är, och sedan titta på ett system som har blivit tunat och diskutera vad som händer och hur det påverkar översättningsresultaten. Uppgiften är uppdelad på fyra olika punkter. Totalt sett bör den här deluppgiften redovisas på 1-2 A4-sidor.

Under /local/kurs/mt/assignment3 finns ett litet frasbaserat SMT-system tränat med Moses på 100000 meningar från Europarl. Defaultinställningar har använts för Moses. Systemet är för engelska till svenska. All filer är tokeniserade och med enabrt små bokstäver, och utvärderingen har också skett med detta format. Katalogen har följande struktur:

  corpus    här finns filerna som använts som tränings- tuning- och testdata
  lm        här finns en språkmodell
  scripts   innehåller bashscript med de kommandon som använts för att skapa och testa systemet
  test      innehåller resultatet av översättningar av testtexten, och Bleu för dem, 
              både för defaultvikter och för era personliga tuningvikter, se nedan.
  working_dir
       corpus        katalog skapad under träningen av systemet
       giza.sv en    katalog skapad under träningen av systemet, innehåller ordlänkar
       giza.en sv    katalog skapad under träningen av systemet, innehåller ordlänkar
       model         innehåller översättningsmodellen, en config-fil, samt ytterligare filer 
                       som skapats under träningen av systemet.
       tuning-namn   innehåller resultatet av att köra en tuning för systemet. Det finns en 
                       personlig katalog för varje student, angivet med ert förnamn (plus 
                       initial vid behov), som ni huvudsakligen ska titta på.

Punkt 1

Beskriv kortfattat vad tuning är och syftet med den (cirka 1 stycke text). Bekanta er sedan med filerna i katalogen. Beskriv vilka modeller som använts i det här SMT-systemet och vilka defaultvikter de har. Vid behov använd även dokumentationen för Moses.

Punkt 2

I den här punkten ska ni enbart utgå från er egen tuning-katalog. Gå noga igenom filerna som skapats i er tuning-katalog, "tuning-namn". Se till så att ni förstår vad de olika filerna i katalogen innehåller, för att kunna svara på nedanstående frågor.
  • Hur påverkas Bleu i de olika iterationerna som tuningen kör. Visa Bleu-score efter varje iteration mha av en graf eller tabell. Notera att det Bleu-score som anges i filerna för tuningen är efter både decoding och optimering av vikterna.
  • Hur påverkas vikterna för de olika modellerna mellan iterationerna. Ni behöver inte redovisa alla värden, utan försök beskriva generellt hur förändringarna ser ut.
  • Hur tycker ni att kvaliten på översättningarna ser ut efter iteration 1, med defaultvikter, iteration 2 och den sista iterationen. Ni behöver inte genomföra någon formell utvärdering eller felanalys, titta bara på några meningar där översättningen skiljer sig och se om det går att se något mönster. Titta även på hur långa översättningarna blir i ord eller tecken räknat i de olika iterationerna, och jämför det med referenstexten. Tips: använd kommandona wc och diff.
  • I testkatalogen finns översättningar och Bleu för en separat testtext översatt med defaultvikter och med vikterna från varje persons tuning. Hur ser förbättringen i Bleu ut för testtexten efter din tuning? Hur skiljer sig längden på översättningarna med defaultvikter och tunat?

Punkt 3

Jämför slutresultaten från allas tuning och test, alltså för de åtta olika körningarna med era respektive namn. För tuningen, titta endast på resultaten för den sista iterationen. Notera att antalet iterationer varierar i de olika katalogerna. Diskutera hur Bleu varierar för tuning respektive test.

Punkt 4

Skriv en kort diskussion om lärdomarna kring tuning från punkt 1-3.