LINKÖPINGS UNIVERSITET 729G11, Artificiell Intelligens II, SMT En fördjupning i statistiska maskinöversättningssystem johka299@student.liu.se 2010-10-01
Innehållsförteckning 1. Introduktion till översättning... 1 2. Statistiska maskinöversättningssystem... 2 3. Uppbyggnaden av ett SMT-system... 2 3.1 Motsvarighetsmodell för översättningen... 2 3.1.1 Ändlig tillståndsomvandlare... 2 3.1.2 Synkron kontextfri grammatik... 3 3.2 Parameterisering... 4 3.2.1 Generativa modeller... 4 3.2.2 Diskriminativa modeller... 5 3.3 Parameteruppskattning... 5 3.4 Avkodning... 6 4. Diskussion... 6 Referenser... 7
1. Introduktion till översättning Att översätta en text från ett språk till ett annat är en svår konst. Det är många faktorer som ska tas hänsyn till. Det handlar om ständiga avgöranden om vilka val och prioriteringar som ska göras när det kommer till semantik, struktur, varietet och pragmatik (Ingo, 2007). För att ytterligare försvåra för översättarna så skriver Ingo vidare att det inte finns ett optimalt sätt att göra översättningar på, vilket som är det bästa sättet beror på vilken typ av text det är som ska översättas. En informationstext har till exempel helt andra struktur- och stilmässiga krav än vad en skönlitterär text har. Andra situationella faktorer som Ingo nämner som även de påverkar hur översättningen bör göras är kulturella skillnader mellan källspråksland och målspråksland, vilken målgrupp texten har, via vilket medium översättningen kommer att förmedlas, rådande översättningstrender, eventuella utrymmesbegränsningar samt om uppdragsgivaren har några speciella önskemål eller krav på hur översättningen ska vara. Andra stora problem som enligt Arnold (2000) gör att datorer inte kan hålla mänsklig nivå då de översätter är följande fyra faktorer: 1) datorer är sämre på att hantera vagheter; 2) de är sämre på att lära sig saker; 3) de kan inte fatta beslut baserade på sunt förnuft; 4) de har svårt att hantera problem där det finns flera olika möjliga lösningar. Med tanke på hur komplext översättningsarbetet är så kan man fråga sig om översättning är något en maskin klarar av, och hur går den i sådana fall tillväga? Redan på 1600-talet fanns idéer om att skapa ett lexikon som på mekanisk väg skulle hjälpa till att förstå texter på främmande språk, men först på 1930-talet togs de första maskinerna i bruk (Hutchins, 2007). Utvecklingen av automatisk översättning, hädanefter kallad MT, tog sedan ordentlig fart i och med att datorer blev allt vanligare. Den första MT-konferensen ägde rum 1952 och Hutchins beskriver att optimismen och förväntningarna på vad som skulle kunna åstadkommas var stort under detta årtionde. Många olika metoder användes och flera framsteg gjordes inom en kort tidsperiod. Enligt Hutchins började dock problemen hopa sig, och ett hårt slag kom 1966 i form av en rapport från Automatic Language Processing Advisory Committee (ALPAC). Rapporten pekade på att MT var långsammare, mindre exakt och dubbelt så dyrt som mänsklig översättning, och de ansåg det inte värt att fortsätta forska på. Detta ledde till att MT-forskningen stagnerade, och Hutchins skriver att det tog ett decennium för forskningen att komma tillbaka, då främst med system baserade på lexikon och regler (exempelvis Systran). Det var även vid denna tidpunkt som artificiell intelligens (AI) började användas inom MT. Översättningarna höll dock inte tillfredsställande kvalité så länge inte domänen var väl avgränsad. Desto bättre kvalité uppvisade en metod som forskningen återupptogs på av en grupp på IBM i slutet av 1980-talet/början på 1990-talet. Det var en metod där systemet baserades på parallella korpusar och översättningen sedan togs fram med hjälp utav sannolikhetsberäkning baserad på frekvens i korpusen. Enligt Hutchins har den statistiska maskinöversättningen (SMT) kommit att bli den vanligaste metoden från 1990-talet och framåt, och används nu av exempelvis Google. Eftersom SMT verkar vara det slags MT-system som ger bäst resultat och som forskas mest på just nu så har jag valt att begränsa mitt arbete till att enbart beskriva hur denna typ av MT-system fungerar. En generell beskrivning över SMT-system ges i avsnitt 2 och en mer ingående beskrivning över hur dessa system fungerar och vilka delar som bygger upp ett SMT-system presenteras i avsnitt 3. I avsnitt 4 ges en diskussion kring SMT-system. 1
2. Statistiska maskinöversättningssystem SMT har snabbt kommit att bli populärt och utvecklingen har gått fort de senaste två decennierna (Lopez, 2008). En fördel gentemot regelbaserade system är att systemet inte behöver omfattande lexikon eller en massa regler som kan vara svåra att komma på. En nackdel däremot är att de kräver väldigt många texter att träna på för att bli bättre. Om omfattningen på den parallella korpusen som systemet tränas på fördubblas, så förbättras systemet med ca 2,5 % på BLEU-skalan 1 (Och, 2005). Ett av de största problemen för statistisk maskinöversättning är alltså att få tag på mer träningsdata. 3. Uppbyggnaden av ett SMT-system Lopez (2008) delar in SMT-processen i fyra olika steg som genomförs då en text ska översättas automatiskt. Det första systemet ska göra är att skapa en modell över nödvändiga steg för att omvandla källmeningen till en mening på målspråket. Utdata från detta steg är i form utav alla möjliga strängpar som kan genereras av modellen. Detta tillvägagångssätt bygger på koncept från automata och språkteori. Därefter genomför systemet en parameterisering, med syftet att hitta vilka utdata som bäst motsvarar given indata, det vill säga det strängpar där strängarna bäst motsvarar varandra. Detta för att hitta den bästa översättningen vid mångtydighet. Tillvägagångssättet vid parameterisering liknar det som används vid maskininlärningsproblem. Sedan ska systemet göra en parameteruppskattning, där får systemet träna på en parallell korpus för att lära sig vilka ord som brukar höra samman. Av detta skapar systemet en språkmodell och en översättningsmodell. Till sist ska källtexten översättas, eller avkodas, vilket görs genom att söka igenom de parametrar och modeller systemet tagit fram för att hitta de som genererar bäst översättning (eller en som är tillräckligt bra). De fyra stegen som genomgås i SMT-processen är mer utförligt beskrivna nedan. Följande stycken (3.1 3.4) är, då inte annat anges, baserade på Lopez (2008). 3.1 Motsvarighetsmodell för översättningen Det finns olika sätt på vilka systemet kan skapa en motsvarighetsmodell. De vanligaste sätten att göra detta på är antingen genom att göra en ändlig tillståndsomvandlare (FST), vilket härstammar från automatteori, eller genom en synkron kontextfri grammatik (SCFG), vilket har sin bakgrund i språkteori. Andra tillvägagångssätt som berörs av Lopez (2008) är trädangränsande grammatiker, synkrona trädangränsande grammatiker, linjära kontextfria omskrivningssystem, syntaktiska frasbaserade modeller samt synkrona beroende grammatiker. I kommande stycken kommer dock enbart FST och SCFG att beskrivas. 3.1.1 Ändlig tillståndsomvandlare En ändlig tillståndsomvandlare (FST) är en variant av en ändlig automat (FSA), den senare beskrivs av Jurafsky och Martin (2009) som ett alternativt sätt att uttrycka ett reguljärt uttryck på och kan användas för att skildra reguljära språk med hjälp av en riktad graf bestående av noder och riktade länkar mellan noderna. Med hjälp av dessa noder och länkar är det möjligt att representera tillstånd och övergångar mellan de olika tillstånden. Jurafsky och Martin förklarar vidare att en FST är en variant av FSA, med skillnaden att i en FST finns två uppsättningar med symboler representerade. Vid användning av FST i ett SMT-system består de två uppsättningarna av lexikon för käll- respektive 1 BLEU automatiskt utvärderingsmått (se Papineni et al., 2002). 2
målspråket. Lopez (2008) skriver om hur FST kan tillämpas på två olika sätt inom SMT, antingen genom att den arbetar på ordnivå eller genom att den arbetar på frasnivå. Ordbaserade modeller producerar en målmening utifrån en given källmening i tre steg. Det första steget för modellen är att avgöra hur många ord som krävs i målspråket för var och ett av orden i källspråket, vilket kallas för att avgöra vilken fertilitet meningen har. Längden på målmeningen bestäms därmed på denna nivå. En fördel med denna metod är att det möjliggör för käll- och målmening att bestå av olika stort antal ord och ändå vara en motsvarande översättning. Det andra steget modellen tar är att översätta varje ord i källmeningen med så många ord som angetts i steg ett att det ska översättas med, vilket producerar en mängd ord på målspråket som står i den ordning som motsvarande ord hade i källspråket. Det tredje och sista steget i att omvandla meningen är därför att kasta om orden så att det blir en korrekt mening på målspråket. Frasbaserade modeller fungerar på liknande vis som de ordbaserade. Skillnaden ligger främst i att istället för att dela upp meningen i ord så delas den in i fraser med ord som ofta förekommer tillsammans, och dessa fraser översätts sedan så som systemet genom träning lärt sig att fraserna brukar översättas. Då var och en av fraserna översatts på detta vis kastas de om, i likhet med steg tre för de ordbaserade modellerna, för att passa målmeningens grammatik. Frasbaserade modeller är enligt Lopez ofta att föredra framför de ordbaserade då de genererar bättre översättningar, något som även har visats av Koehn, Och och Marcu (2003). De får däremot problem i form av exponentiell komplexitet då fraserna behöver flyttas över stora avstånd i meningen, vilket ger många möjliga kombinationer. Det behövs då en tilläggsalgoritm över syntax för att kunna hantera detta, men en sådan algoritm är svår att få att fungera tillfredsställande i dagsläget. 3.1.2 Synkron kontextfri grammatik En synkron kontextfri grammatik (SCFG) har vissa fördelar gentemot FST. Den tar hänsyn till målspråkets syntax, samt att den har lättare för att representera omkastning av ord/fraser över stora avstånd i meningen. En SCFG-modell är dock svårare att ta fram än en FST-modell, vilket gjort att det råder delade åsikter om vilket som är det bästa tillvägagångssättet. En SCFG är en mer generell variant av en kontextfri grammatik (CFG). Den senare består av avslutande symboler (ord) och icke-avslutande symboler (syntaktiska kategorier). Den börjar med en rot som består av en icke-avslutande symbol, vilken ersätts med andra symboler enligt regler för hur det får ske. De nya icke-avslutande symbolerna omvandlas sedan även de enligt reglerna, detta steg upprepas tills strängen endast består av avslutande symboler. Det som skiljer en SCFG från en CFG är att den genererar två utdatasträngar istället för en, där den ena strängen är en fras på källspråket och den andra på målspråket. Att generera träd som en SCFG gör är biligare beräkningsmässigt än att som en FST arbeta med kombinationer av omflyttningar. SCFG tillåter några olika arbetssätt, exempelvis en effektivare parentesgrammatik som begränsar möjligheterna till omflyttning genom att använda sig utav en enda icke-avslutande symbol och endast tre omvandlingsregler. Denna begränsning medför dock att modellen inte klarar av att representera alla möjliga omvandlingar. Syntaxbaserade översättningar nyttjar målspråkets syntax för att generera grammatiskt korrekta meningar. Ytterligare ett annat möjligt angreppssätt är 3
hierarkisk frasbaserad översättning som arbetar på frasnivå istället för ordnivå och någon lingvistisk syntax är då inte nödvändig. 3.2 Parameterisering Syftet med parameterisering är att hitta vilken av alla de olika möjliga översättningarna som genererats i det förra steget som är den bästa översättningen. Detta sker genom att de olika paren med käll- och målmeningar förses med en poäng, och det par som har högst poäng är det par där meningarna bäst motsvarar varandra. Problemet modellen behöver lösa är att på något bra sätt räkna ut sannolikheten för utdatasträngen baserat på den givna indatasträngen, det vill säga P(e f). Då e kan fås på flera olika sätt givet f behövs även de olika möjliga tillvägagångssätten för att få e tas med i beräkningarna. Detta sker genom att summera sannolikheterna för alla härledningar som ger e,. Att beräkna summan på detta vis är krävande då det är exponentiell komplexitet, så istället brukar endast P(e, d f) användas. Dock är även denna funktion krävande att räkna ut eftersom e och f representerar strängar från olika språk, och antalet möjliga ordkombinationer för att erhålla dessa strängar är i princip oändligt. För att komma runt detta problem genomförs en parameterisering. Det finns många olika sätt detta kan ske på, till exempel med hjälp av generativa eller diskriminativa modeller. Dessa beskrivs mer ingående nedan. 3.2.1 Generativa modeller De generativa modellerna lånar sin metod från liknande användningsområden inom automatisk röstigenkänning. Det som görs är att kedjeregeln och Bayes regel appliceras på funktionen P(e, d f). Kedjeregeln fungerar enligt regeln, och Bayes regel fungerar på följande vis på P(e, d f) ger delen, (se vidare Russell och Norvig, 2008). Applicering av kedjeregeln samt Bayes regel. Nämnaren kan i det här fallet sedan ignoreras, vilket lämnar. Den första delen,, brukar kallas för en översättningsmodell och den andra, brukar kallas för en språkmodell. Språkmodellens uppgift är att hitta den sträng på målspråket med störst sannolikhet för att vara den bästa översättningen, det vill säga. Med hjälp av kedjeregeln går det att skriva om till, vilket istället ger beräkningen för sannolikheten av enskilda ord i frasen. För att ytterligare förenkla beräkningen kan det antas att sannolikheten för ordet e i endast är beroende av det ord som är närmast föregående i frasen, det vill säga ordet n-1 eller. Att basera sannolikheten endast på frasens närmast föregående ord kallas för n-gram med precisionen 1, eller unigram (se vidare Jurafsky och Martin, 2009). Med denna begränsning omskrivs formeln till. Detta är enligt Lopez (2008) ungefär hur de flesta SMT-systemens språkmodell brukar se ut. Begränsningen till att endast ta hänsyn till det närmast föregående ordet kommer givetvis med en kostnad, här i form av lägre precision. Det är dock en avvägning som måste göras, då det utan begränsningen riskerar att bli beräkningsmässigt komplext. Översättningsmodellen,, fungerar på liknande vis som språkmodellen, men istället för att enbart söka efter vad som är en bra översättning så söker den efter en bra modell för hur denna översättning ska fås. Dessa modeller motsvarar övergångarna mellan olika tillstånd i FST och 4
symbolomvandlingen i SCFG. På liknande vis som språkmodellen skrevs om för att kunna appliceras på ordnivå istället för frasnivå kan översättningsmodellen med hjälp utav kedjeregeln omskrivas för att representera modeller på nivån för enskilda tillstånds- eller symbolomvandlingar, istället för en mer omfattande modell. Formeln för översättningsmodellen blir efter omskrivningen: 3.2.2 Diskriminativa modeller Det vanligaste sättet att inom SMT göra en diskriminativ modell på har utvecklats inom andra områden av processande av naturligt språk (NLP) och kallas för log-linjära modeller. En diskriminativ modell kan arbeta vidare på en generativ modell, eller om sådan inte finns arbeta självständigt. En fördel gentemot generativa modeller är att diskriminativa modeller inte behöver anpassa sig efter motsvarighetsmodellen, vilket görs av de generativa modellerna enbart för att minska beräkningskomplexiteten men i övrigt inte har några översättningsmässiga fördelar. Det den loglinjära modellen gör är att den definierar samband mellan K särdrag och funktionen P(e, d f), där ett särdrag kan vara vad som helst som representerar varje indata- och utdatasträngpar med ett icke-negativt värde,. Det vanligaste exemplet på detta är logaritmen av sannolikheten som fås från en generativ modell. En log-linjär modell ser ut på följande vis:.. Nämnarens roll är i det här fallet endast att se till så att funktionen ger ett bra värde för sannolikheten, beroende på hur algoritmen ser ut är det inte säkert att den behövs., där K är antalet parametrar, kallas för särdragsvikter. En positiv vikt visar på att särdragen och P(e, d f) korrelerar, ett negativt värde på vikten visar på en negativ korrelation och ett värde nära noll visar på att det särdraget inte korrelerar med utdata. 3.3 Parameteruppskattning Med parameteruppskattning menas att värden ska sättas till de parametrar som fåtts av P(e, d f), vilket görs genom att systemet får träna på indata från en parallell korpus och på så vis lära sig hur orden brukar höra samman. Vanligen används en log-linjär modell som innefattar en generativ modell. Syftet med den generativa modellen är att hitta den maximalt troliga uppskattningen (MLE), det vill säga, där är mängden med alla parametrar och C är en delmängd av {E* x F*}. Hur exakt uppskattningen är beror på hur många förekomster översättningarna har i den parallella korpusen, större träningsmängd ger därför ett säkrare system. Den log-linjära modellens uppgift är att uppskatta de log-linjära särdragsvikterna ( ) genom att träna på en mängd (annan än mängden den generativa modellen tränat på). Det kan exempelvis göras med träning för minimal felkvot (MERT) eller med strikt diskriminerande träning. Det vanligaste inom SMT är att använda log-linjära modeller, några små generativa modeller och MERT för optimering av modellerna, jag kommer därför inte beskriva någon annan optimeringsmetod än MERT här. Vid användande av MERT är utgångspunkten att den bästa modellen ger minst antal fel i översättningen. Hur pass många fel modellen genererat avgörs med hjälp utav ett automatiskt utvärderingsmått avsett för att bedöma maskinöversatta texter och sedan görs en iterativ sökning för att hitta en modell som ger en relativt korrekt översättning. En svårighet med denna metod är att bestämma vad som är en felaktig översättning, medan en fördel är att forskningen här kan fokusera 5
på att hitta vad som är en bra översättning, i stället för det svårare problemet att definiera vad som är en bra översättningsmodell. Funktionen för att räkna ut MERT är:. 3.4 Avkodning Till sist är det så dags att genomföra själva översättningen med hjälp av de modeller och parameteruppskattningar som gjorts, ett moment som även kallas avkodning. Avkodningen går ut på att söka rätt på den bästa översättningen,. Hur själva avkodningen sedan går till beror på vilken motsvarighetsmodell som använts, för en FST-modell används FST-avkodning och för en SCFG-modell används FST-avkodning. FST- avkodning söker genom sökrymden beståendes av en riktad acyklisk graf, där varje tillstånd i sin tur består av en mängd som håller koll på vilka strängar i källtexten som blivit översatta, det senast översatta målspråksordet n 1 (om n-gram används), kostnaden h beräknad för modellernas kostnad i kombination med vår delvisa hypotes, samt den uppskattade kostnaden g för att komplettera hypotesen. Sökningen kan göras optimal genom användning av A*. En snabbare sökmetod är beam search. Den är visserligen inte optimal, men eftersom en text kan ha många olika översättningar som är tillräckligt bra så är det inte alltid nödvändigt att hitta den bästa. Målet med SCFG-avkodning är att hitta det träd som bäst motsvarar källgrammatiken och sedan läsa av motsvarande målspråksträd. Det fungerar bäst genom att börja med en liten del utav meningen som sedan utökas allteftersom. Olika tillstånd i sökrymden blir då olika delar av meningen, en ickeavslutande symbol som motsvarar en bestämd del, samt de språkmodeller som krävs för att kombinera delar och symboler. Att hitta en metod för att kunna genomföra den här sökningen på ett optimalt sätt är något som forskas på i dagsläget. 4. Diskussion Som jag skrev tidigare så är SMT ett område där stora framsteg skett bara de senaste två decennierna och forskningen gör fortfarande många framsteg. Sett till att det verkar finnas flera olika tillvägagångssätt inom SMT som ännu inte är särskilt utvecklade så torde denna utveckling komma att fortsätta ett tag till. Flera av de olika delarna som bygger upp ett SMT-system har olika metoder för hur det går att lösa just den delen (exempelvis motsvarighetsmodellen som kan göras med en FST eller SCFG, parameteriseringen som kan göras med generativa eller diskriminerande modeller, etc.). Så där har forskarna många olika angreppssätt att utveckla mer och studera för att komma fram till vilka som fungerar bäst. En svår nöt att knäcka för SMT-forskarna är översättning av texter i en domän som systemet inte har fått träna på. Systemet känner då inte igen allt den ser och kommer troligtvis att lämna en del ord/fraser oöversatta. En mänsklig översättare kan i ett sådant fall hitta ett sätt att skriva runt detta, eller söka information om betydelsen och på så vis hitta en bra översättning. Förslagsvis skulle detta kunna lösas med hjälp utav en algoritm som går igenom den översatta texten och letar efter ord som inte översatts. Vad som sedan bör göras med dessa ord är ett problem för forskningen att lösa. 6
Referenser Arnold, D. (2003). Why translation is difficult for computers. I Computers and Translation: A translator s guide. Benjamins Translation Library. Hutchins, J. (2007). Machine translation: a concise history. I Computer Aided Translation: Theory and Practice, C. S. Wai, Ed. Chinese University of Hong Kong. Ingo, R. (2007). Konsten att översätta. Lund: Studentlitteratur AB. Jurafsky, D. och Martin, J. (2009). Speech and language processing. New Jersey, USA: Prentice Hall. Koehn, P., Och, F. J., Marcu, D. (2003). Statistical phrase-based translation. Proceedings of the 2003 Conference of the North Amercian Chapter of the Association for Computational Linguistics on Human Language Technology, s 48-54. Edmonton, Kanada. Lopez, A. (2008). Statistical machine translation. ACM Computing Surveys, 40 (3), art nr 8. University of Edinburgh, UK. Och, F. J. (2005). Statistical machine translation: Foundations and recent advances. Tutorial at MT Summit X. (http://www.mt-archive.info/mts-2005-och.pdf). Papineni, K., Roukos, S., Ward, T. och Zhu, W. J. (2002). BLEU: A method for automatic evaluation of machine translation. Computational Linguistics, 30(4), 417-449. Russell, S. och Norvig, P. (2003). Artificial intelligence: a modern approach. (2a upplagan) Upper Saddle River, NJ, USA: Prentice Hall. 7