Lingsoft har sina rötter inom akademin, eftersom det bildades 1986 av två professorer, Fred Karlsson och Kimmo Kosteniemi, från universitetet i Helsingfors. Ända sedan dess har samarbete med finska och andra nordiska forskningsorganisationer alltid varit en viktig del av Lingsofts strategi för att möjliggör språktekniklösningar med högsta prestanda för de nordiska spåren.
I den här bloggposten finns ett exempel på hur de metoder som föreslås i projektet Microservices at Your Service underlättade integration av den senaste finska forskningen i Lingsofts kommersiella maskinöversättningslösning.
Löst: Maskinöversättning från finska till svenska översätts ibland till engelska. Hur och varför?
Maskinöversättning är idag en viktig del av översättningsprocessen för språktjänstleverantörer som Lingsoft.Lingsofts neurala maskinöversättningsmodeller är baserade på programvara med öppen källkod som tränats på flera hundra miljoner ord för varje språkpar. För närvarande använder Lingsoft dessa modeller för att översätta cirka 2 miljoner ord i månaden, vilket bidrar till viktiga besparingar i vår översättningsproduktion.
Maskinöversättning är inte alltid tillräckligt bra på egen hand, och Lingsoft använder sig alltid av en professionell (mänsklig) översättare för att granska och korrigera maskinöversättningen innan den levereras till kunden. Denna process kallas för efterredigering (post-editing) av maskinöversättningen.
Maskinöversättningen är till för att hjälpa översättarna, åtminstone för det mesta,och om maskinöversättningen är oväntat dålig rapporterar översättarna ofta detta till Lingsoft. I de flesta fall finns det ingen snabblösning för de enstaka exempel på dålig översättning som rapporteras, utan man måste följa etablerade processer och förlita sig på att utvecklingen inom maskinöversättningsområdet ger bättre och bättre maskinöversättningar och allt färre dåliga. Man måste dock hålla utkik efter mönster som går att åtgärda, och när det gäller översättning finska till svenska börjar ett mönster för dålig kvalitet att framträda ur översättarnas rapporter: att en maskinöversättning från finska till svenska ibland översätter till engelska i stället för till svenska.
Efter en viss utredning kunde vi identifiera grundorsaken: den finsk-svenska översättningsmodellen hade tränats på för många finsk-engelska texter.Hur gick det till?
Den finsk-svenska maskinöversättningsmodellen hade tränats på över 10 miljoner segment (cirka 100 miljoner ord) av förmodat finsk-svenska översättningar (ett segment består ofta av en mening eller några ord, t.ex. en rubrik). De flesta av dessa data kom från översättningsminnen. Trots att de ska vara rena register över, i vårt fall, finsk-svenska översättningar, innehåller de i praktiken en del översättningar även på andra språk. Därför måste varje segment köras genom ett språkidentifieringsverktyg (language identification, LID) för att ta bort par som inte är finsk-svenska översättningar. Problemet med översättning till fel språk tydde dock på att det funnits för många finsk-engelska segment i de önskvärt finsk-svenska data. LID-verktygets prestanda hade alltså varit otillräcklig.
Att ta bort ”främmande” material ur en samling finsk-svenska översättningen är inget enkelt problem. Många ordformer är giltiga ord på både engelska och svenska, t.ex. ”in”, ”I”, ”and”, ”taxi”, ”bus” och naturligtvis många person-, plats- och organisationsnamn, även om de inte nödvändigtvis har samma betydelse på både engelska och svenska. Dessutom är korta inslag av främmande material, särskilt på engelska, en förväntad del av normala finsk/svenska meningar och översättningsjobb. Om det finns ett kort inslag av engelska i den finska källmeningen behålls ofta denna engelska del på engelska också i den svenska översättningen. Det kan till exempel finnas namn på engelska organisationer utan officiella finsk/svenska översättningar, eller korta fraser eller citat på engelska. Det är viktigt att NMT lär sig att hantera sådant material, och därför vill vi behålla det under träningen. Det vi vill ta bort är finska meningar som helt klart har översatts till engelska (eller något annat språk) istället för till svenska.
De vanligaste mätvärdena för att mäta hur bra ett språkidentifieringsverktyg är, är precision och återhämtning. Precision mäter hur stor andel av de segment som verktyget bedömer som svenska faktiskt är på svenska. Återhämtning mäter hur stor andel av alla svenska segment som verktyget bedömer som svenska. De bästa verktygen har både hög precision och hög återhämtning. När man arbetar med så stora tal som 10 miljoner segment eller 100 miljoner ord blir även en liten procentandel fel ganska många ord. Skillnaden mellan 99,9% och 98,9% precision betyder till exempel att det finns potentiellt 1 miljon fler ord på engelska istället för på svenska i fallet med 98,9% än i fallet med 99,9%. Trots att det skulle finnas 99 miljoner svenska ord är en miljon engelska ord definitivt tillräckligt för att ett neuralt maskinöversättningsverktyg skulle lära sig att ibland översätta till engelska, särskilt om dessa ord inte är slumpmässiga LID-fel, utan istället kommer från en specifik kund.
Som en del av projektet Tandem Industry Academia med Lingsoft och Universitetet i Helsingfors som grundades av finska Research Impact Foundation (Forskningseffektsstiftelsen) har Tommi Jauhiainen genomfört forskning för att förbättra språkidentifieringen. Vid utvärdering med en vanlig uppsättning tester hade det nya LID-verktyget ovannämnda 99,9&% i precision (och 99,6% i återhämtning) medan det gamla, ganska bra verktyget hade en precision på 98,9% (och en återhämtning på 96,4%). Det nya LID-verktyget, som forskaren gett namnet HeLI-OTS, skulle därför sannolikt vara bättre på att ta bort de tidigare problematiska finsk-engelska översättningarna.
Överbrygga gapet mellan forskningsverktyg och kommersiell applikation
Projektet Microservices at Your Service låg praktiskt nog tidsmässigt parallellt med LID-forskningsprojektet. Projektet Microservices at Your Service föreslog att tillägg av en API till ett forskningsverktyg och att förpacka det som en Docker-bild skulle resultera i ett verktyg som går lätt att dela, testa och integrera. Som en del av projektet Microservices at Your Service tog Lingsoft på sig uppgiften att lägga till en REST API till HeLI-OTS LID och förpacka detta som en lättdistribuerad Docker-bild. HeLI-OTS-verktyget implementerades i Java, medan Lingsofts språkteknikverktyg och plattform i huvudsak var på C och Python. Att ha HeLI-OTS på en Docker-bild hjälpte oss att undvika problemet med att upprätthålla kompatibiliteten mellan de miljöer som stödde HeLI-OTS och våra övriga verktyg och vår plattform. Utöver att göra verktyget tillgängligt för Lingsoft visades det också upp på European Language Grid (som har det ambitiösa målet att bli en samlad plattform för all europeisk språkteknik).
Sammanfattningsvis gav API och Docker forskningspartnern, Universitetet i Helsingfors, ett enkelt sätt att behålla IPR i vårt LID-fall, samtidigt som det blev lättare att dela och, viktigast av allt, återanvända verktyget för andra forskare och utvecklare och därmed maximera den potentiella effekten av forskningen. Industripartnern, Lingsoft, fick tillgång till ett utmärkt verktyg med senaste teknik som var enkelt att integrera med minimal påverkan på beroendet av andra verktyg.
Resultatet blev att när det nya, dockeriserade LID-verktyget användes vid förbehandling av text slutade den omtränade finsk-svenska översättningsmodellen att generera så många engelska översättningar.
Categories: