211service.com
Hur Google konverterade språköversättning till ett problem med vektorrymdmatematik
Datavetenskap förändrar karaktären på översättningen av ord och meningar från ett språk till ett annat. Alla som har provat BabelFish eller Google översätt kommer att veta att de tillhandahåller användbara översättningstjänster men sådana som är långt ifrån perfekta.
Grundidén är att jämföra en korpus av ord på ett språk med samma korpus av ord översatt till ett annat. Ord och fraser som delar liknande statistiska egenskaper anses vara likvärdiga.
Problemet är förstås att de första översättningarna förlitar sig på ordböcker som måste sammanställas av mänskliga experter och detta tar betydande tid och ansträngning.
Nu har Tomas Mikolov och ett par kompisar på Google i Mountain View utvecklat en teknik som automatiskt genererar ordböcker och frastabeller som konverterar ett språk till ett annat.
Den nya tekniken förlitar sig inte på versioner av samma dokument på olika språk. Istället använder den datautvinningstekniker för att modellera strukturen för ett enda språk och jämför sedan detta med strukturen för ett annat språk.
Den här metoden gör inga antaganden om språken, så den kan användas för att utöka och förfina ordböcker och översättningstabeller för alla språkpar, säger de.
Det nya tillvägagångssättet är relativt okomplicerat. Det bygger på föreställningen att varje språk måste beskriva en liknande uppsättning idéer, så orden som gör detta måste också vara lika. Till exempel kommer de flesta språk att ha ord för vanliga djur som katt, hund, ko och så vidare. Och dessa ord används förmodligen på samma sätt i meningar som att en katt är ett djur som är mindre än en hund.
Detsamma gäller siffror. Bilden ovan visar vektorrepresentationerna av siffrorna ett till fem på engelska och spanska och visar hur lika de är.
Detta är en viktig ledtråd. Det nya tricket är att representera ett helt språk med hjälp av förhållandet mellan dess ord. Mängden av alla relationer, det så kallade språkrummet, kan ses som en uppsättning vektorer som var och en pekar från ett ord till ett annat. Och på senare år har lingvister upptäckt att det är möjligt att hantera dessa vektorer matematiskt. Till exempel, operationen 'kung' - 'man' + 'kvinna' resulterar i en vektor som liknar 'drottning'.
Det visar sig att olika språk delar många likheter i detta vektorutrymme. Det betyder att processen att konvertera ett språk till ett annat är likvärdigt med att hitta transformationen som omvandlar ett vektorrum till det andra.
Detta förvandlar översättningsproblemet från ett språkvetenskapligt problem till ett matematiskt. Så problemet för Google-teamet är att hitta ett sätt att exakt kartlägga ett vektorutrymme på det andra. För detta använder de en liten tvåspråkig ordbok som sammanställts av mänskliga experter – att jämföra samma korpus av ord på två olika språk ger dem en färdig linjär transformation som gör susen.
Efter att ha identifierat denna mappning är det sedan enkelt att tillämpa det på de större språkutrymmena. Mikolov och co säger att det fungerar anmärkningsvärt bra. Trots sin enkelhet är vår metod förvånansvärt effektiv: vi kan uppnå nästan 90 % precision@5 för översättning av ord mellan engelska och spanska, säger de.
Metoden kan användas för att utöka och förfina befintliga ordböcker, och även för att upptäcka misstag i dem. Faktum är att Google-teamet gör precis det med en engelsk-tjeckisk ordbok och hittar många misstag.
Slutligen påpekar teamet att eftersom tekniken gör få antaganden om själva språken, kan den användas på argot som är helt orelaterade. Så medan spanska och engelska har en gemensam indoeuropeisk historia visar Mikolov och co att den nya tekniken också fungerar lika bra för språkpar som är mindre närbesläktade, som engelska och vietnamesiska.
Det är ett användbart steg framåt för framtiden för flerspråkig kommunikation. Men laget säger att detta bara är början. Det är klart att det fortfarande finns mycket kvar att utforska, avslutar de.
Ref: arxiv.org/abs/1309.4168 : Utnyttja likheter mellan språk för maskinöversättning