Maskinöversättning Johan Boye, KTH
Rosetta-stenen Världens mest kända parallellkorpus(från 190 f.kr) En text tre språk: Egyptiska hieroglyfer Egyptisk s.k. demotisk text Klassisk grekiska Ledde till att man kunde dechiffrera egyptiska hieroglyfer (Champollion, 1822).
Pyrgi-tavlorna (ca 500 f.kr)
Maskinöversättning - historia Maskinöversättning (MT) var en av de första tänkta applikationerna för datorer. Weaver, 1949: I have a text in front of me which is written in Russian but I am going to pretend that it is really written in English and that it has been coded in some strange symbols. All I need to do is strip off the code in order to retrieve the information contained in the text. IBM 1954: Program översatte 60 meningar ryska engelska ALPAC-rapporten 1960: MT övergavs under lång tid 80-90-tal: Grammatiska approacher till MT CANDIDE 90-tal: Statistisk MT franska engelska 2000 : BabelFish, Google, stort intresse för statistisk MT
Kommersiellt/politiskt intressant EU spenderar mer än 1,000,000,000 Euro på översättning varje år! även en smula automatisering skulle göra stor skillnad Viktigt för militär underrättelsetjänst På 1950-talet jobbade man mest på ryska-engelska vilka språkpar är viktiga nu?
Akademiskt intressant Tvärvetenskapligt: datavetenskap, lingvistik, språk, statistik, artificiell intelligens. MT är AI-svårt : kräver en lösning på AI-problemet hur man representerar och resonerar om olika slags kunskap (om världen) eller?
Varför är översättning svårt? Ordföljd Polysemi(olika ordbetydelser) verbet run har 41 olika betydelser enligt WordNet 32 olika svenska översättningar enligt Folkets Lexikon Många-till-många-relationer ett ord i källspråket kan motsvaras av 0, 1 eller flera ord i målspråket, och vice versa Pronomen Tempus Idiom
Ordföljd Svenska är SVO (subjekt-verb-objekt): Oracle köpte Sun. Tidningarna påstod att Oracle köpte Sun. Japanska är SOV (subjekt-objekt-verb): Oracle Sun köpte. Tidningarna Oracle Sun köpte påstod.
Polysemi He ran a business. He ran a marathon. Herandrugsacrossthe border. He ran for president. His nose ran. The machineranfor two hours. The film ranfor twohours. etc., etc. Han gick till föreläsningen. Bilen gick inte. Tåget gick i morse. Filmen gick på Rigoletto. Tiden gick. Det gick 100 pfennig på en mark. Melodin gick så här: Magsjukan gick på skolan. Han gick långt inom politiken. etc., etc.
Ordrelationer 1-1: Kalle älskar Marie Kalle loves Marie 1-flera:Kalle är datavetare Kalle is a computer scientist flera-flera: Kalle simmade över sjön Kalle a traversé flera-flera: Kalle simmade över sjön Kalle a traversé le lacà la nage
Pronomen Ibland är genus på pronomen oklart: J ailuidonnéunpaquet Jag gav honom/henneett paket. T.ex. italienska, spanska, japanska är pro-drop-språk Pensache il gelato è buono Han/hon/den/dettycker att glass är gott Olika pronomen kan signalera olika grader av artighet eller intimitet I wouldlike to ask you Je voudraisvous/tedemander
Tempus Franska har tre olika tempi för förfluten form (passé simple, passé composé, imparfait) som alla kan motsvara svenskans imperfekt. Ett program som översätter sv frmåste avgöra vilket tempus som ska användas. Han simmade över sjön Heswamacrossthe lakeeller He was swimming across the lake Hewasswimmingacrossthe lake Han simmade över sjön eller Han höll på att simma över sjön
Idiom Kick the bucket, lame duck, tongue in cheek Dra alla över en kam, gå i lås, bita i det sura äpplet
MT- alternativa angreppssätt Ord-för-ord-översättning Syntaktisk transfer Interlingua Statistisk översättning
Ord-för-ord Använd ett lexikon för att översätta varje ord i texten. Fördelar: snabbt och enkelt att implementera ger (möjligen) en viss idé om vad texten handlar om Nackdelar: tar inte hänsyn till skillnader i ordföljd oklart vilken betydelse som ska användas om ordet är polysemt dålig kvalitet på resultatet
Syntaktisk transfer Analysera(parsa) meningarna i källspråket Ordna om delträden Översätt orden Lokal omordning: Icke-lokal omordning: NP redtomatoes NP tomates rouges NP S V JJ VP NP NP S V NP VP JJ Red tomatoes are cheap this week RoteTomaten sind diese Woche billig
Syntaktisk transfer Fördelar: hanterar ordföljd Nackdelar: behöver en stor grammatik för att kunna parsaalla meningar i källspråket behöver transferregler för varje språkpar för att kunna ordna om i analysträden hanterar inte polysemi-problemet
Interlingua Översätt varje mening till en logisk formel (meningsrepresentation) Johan kan äta Possible(Eat(Johan)) Johan måste äta Compulsory(Eat(Johan)) Menar du verkligen att hon tycker att Johan måste äta? Använd sedan den logiska representationen för att generera en mening i målspråket.
Vauquois-triangeln Interlingua syntaktisk transfer källspråk ord-för-ord målspråk
Interlingua Fördelar: vi behöver bara skriva en analysator/generator för varje språk interlingua dvs2ni stället för n 2 system för att översätta mellan n språk Nackdelar: svårt/omöjligt att definiera en enda logisk formalism som funkar för alla världens språk svårt att konstruera analysatorer och generatorer, även om vi kan komma överens om hur interlinguaska se ut
Modifierad triangel Interlingua semantisk transfer syntaktisk transfer källspråk ord-för-ord målspråk
Statistisk maskinöversättning Försöker hitta den troligaste svenska meningen givet en mening i ett främmande språk (t.ex franska) arg max s p(s f) Parar automatiskt ihop ord och fraser i ett parallellkorpus. Sannolikheter fås genom att träna statistiska modeller utifrån parallellkorpuset.
Statistisk maskinöversättning Fördelar: kan hantera polysemi data-drivet, behövs minimal manuell insats kan skapas för varje språkpar där det finns tillräckligt med data (=stort parallellkorpus) återanvänder bitar av översättningar gjorda av människor Nackdelar: hanterar inte syntax explicit (omordning sker på ord-eller frasnivå) kräver mycketdata
Statistisk maskinöversättning Hitta den mest troliga svenska meningen givet en fransk mening = = ) ( arg max ˆ f s p s s = ) ( ) ( ) ( arg max f p s f p s p s ) ( ) ( max arg s f p s p s
MT som en brusig kanal Svensk mening p(s) Brusig kanal p(f s) Fransk mening f Avkodare (översättare) ŝ = arg max p(f s) p(s) Gissad svensk mening ŝ
Statistiska modeller p(f s) äröversättningsmodellen (notera ordningen på foch s pgabayes) ger en högre sannolikhet till svenska meningar som har samma betydelse som meningen f p(f s) uppskattas via ett parallellkorpus p(s) är språkmodellen ger en högre sannolikhet till svenska meningar som är grammatiska/sannolika i svensk text p(s) uppskattas via ett svenskt korpus
Översättningsmodell p(f s) sannolikheten för att en viss svensk mening s ska ge upphov till den franska meningen f Hur kan vi uppskatta p(f s)? Idé: Introducera matchningsvariabler (alignmentvariables) som representerar hur orden i f parats ihop med orden i s p(f s) = Σ a p(a,f s) Tänk på asom en funktion som givet ett franskt ord returnerar ett svenskt ord i den parallella meningen
Översättningsmodell För att kunna lära sig en översättningsmodell måste vi först para ihop meningarna i korpuset:
Ord-matchning(alignment) Kalle aime Marie Kalle älskar Marie Toma ten sind diese Woche billig Tomatoes are cheap this week
Ord-matchning(alignment) Le projet a été mis en œuvre Projektet har blivit genomfört Ett ord i målspråket kan matchas mot flera ord i källspråket. Men ett ord i källspråket kan bara matchas mot ett enda ord i målspråket.
Ord-matchning(alignment) Le projet a été mis en œuvre NULL Projektet har blivit genomfört Variant: Antag att det finns ett NULL-ord i målspråket.
Ord-matchning(alignment) Le projet a été mis en œuvre Projektet har blivit genomfört Variabel a 1 a 2 a 3 a 4 a 5 a 6 a 7 Matchning 1 1 2 3 4 4 4
Matchningsmodell f 1,, f m är den franska meningen s 1,, s l är den svenska översättningen. Vi vill uppskatta p(f 1,, f m,a 1,, a m s 1,, s l, m) Låt t(f i s ai ) vara sannolikheten att det franska ordet f i genereras givet det svenska ordet s genereras givet det svenska ordet s ai Låt q(j i,l,m) vara sannolikheten att a i =j, givet l(längden på den svenska meningen) och m (längden på den franska meningen) p(f 1,, f m, a 1,, a m s 1,, s l, m) = Π i=1,m q(a i i,l,m) t(f i s ai )
Matchningsmodell Le projeta étémisen œuvre Projektet har blivit genomfört p(f 1,, f m, a 1,, a m s 1,, s l, m) = q(1 1,4,7) t(le Projektet) q(1 2,4,7) t(projet Projektet) q(2 3,4,7) t(a har) q(3 4,4,7) t(été blivit) q(4 5,4,7) t(mis genomfört) q(4 6,4,7) t(en genomfört) q(4 7,4,7) t(œuvre genomfört) Hur kan vi estimera parametrarna q och t från data?
Matchningsmodell Hur kan vi estimera parametrarna q och t från data? Antag att vi har en massa träningsexempel (fransk mening,svensk mening). Notera att vi inte vet ordmatchning för dessa exempel! (Data är partiellt observerbara). Antag först att vi ändå vet ordmatchning för alla exempel. t ( f s) = c(, s) c( s) c(f,s) är antalet gånger det svenska ordet s blivit översatt till f c(s) är antalet gånger s förekommer i korpuset f
Matchningsmodell q ( j i, l, m) = c( j, i, l, m) c( l, m) c(l,m) är antalet gånger vi ser en svensk mening av längd l tillsammans med en fransk mening av längd m c(j,i,s,m) är antalet gånger vi ser en svensk mening av längd l tillsammans med en fransk mening av längd m, och där det i:te svenska ordet matchas mot det j:te franska ordet.
Expectation Maximisation Eftersom vi inte känner till ordmatchningarna (partiellt observerbara data) uppskattas parametrarna q och t med ExpectationMaximisation(EM). une maison une maison bleue une table ett hus ett blått hus ett bord Först, anta att alla matchningar är lika sannolika Modellen lär sig ettoch uneofta är matchade
Expectation Maximisation Efter 1 iteration: Vissa matchningar är mer sannolika (t.ex. mellan une och ett. une maison une maison bleue une table ett hus ett blått hus ett bord
Expectation Maximisation Efter 2 iterationer: une maison une maison bleue une table ett hus ett blått hus ett bord Så småningom kan man dra slutsatser via Dirichletsprincip (pigeonholeprinciple), t.ex. att bleueoch blått ska matchas.
Expectation Maximisation Konvergens. Vi kan nu uppskatta sannolikheterna, t.ex. p(une ett) = 0.41, p(maison hus)=0.82, osv. une maison une maison bleue une table ett hus ett blått hus ett bord
Statistiska modeller p(f s) äröversättningsmodellen (notera ordningen på foch s pgabayes) ger en högre sannolikhet till svenska meningar som har samma betydelse som meningen f p(f s) uppskattas via ett parallellkorpus p(s) är språkmodellen ger en högre sannolikhet till svenska meningar som är grammatiska/sannolika i svensk text p(s) uppskattas via ett svenskt korpus
Språkmodell p(s) är en n-gram-modell(t.ex n=3, trigram-modell) T.ex. S=Jag har en boll. p(s) = p(jag start) p(har start,jag) p(en jag,har) p(boll har,en)
Uppskattning av sannolikheter Unigram: c( w) p( w) = N där c(w) = antalet gånger wförekommer i korpuset, och N= antal ord (tokens) i korpuset
Uppskattning av sannolikheter Bigram: c( w1, w p ( w2 w1 ) = c( w ) 1 2 ) där c(w 1,w 2 ) = antalet gånger w 2 följer omedelbart efter w 1 i korpuset
Uppskattning av sannolikheter Trigram: ), ( ),, ( ), ( 2 1 3 2 1 2 1 3 w w c w w w c w w w p = där c(w 1,w 2,w 3 )= antalet gånger w 3 följer omedelbart efter w 1 och w 2 i korpuset
Smoothing När man använder n-grammed n 3 kommer man finna att en mängd n-gram inte finns i träningsdata Detta leder till att ett antal beräknade sannolikheter är 0 (eller odefinierade om vi har 0 i nämnaren) Samma problem som i Naive Bayes(se fö om maskininlärning) Smoothinglöser problemet: anta att varenda n-gramhar en liten sannolikhet ε>0 Finns många olika smoothing-metoder(se boken)
Bortom trigram Google använder antagligen 5- eller t.o.m. 6-gram Google har ett fritt tillgängligt korpus med 1000 miljarder (10 12 ) n-gram se kurssidan för länk
Till slut Modern statistisk MT är frasbaserad snarare än ordbaserad Detta leder till jättelika översättningsmodeller som måste tränas på enormt mycket data Kan statistisk MT bli hur bra som helst? Google använder nästan all parallelldata som finns (EuroParl, FN, digitaliserad översatt skönlitteratur ) "Each doubling of the amount of translated data input led to about a 0.5% improvement in the quality of the output (Zollman) Kanske hybridmetoder(statistiska& grammatiska) är framtiden?