Maskinoversettelse
Hva er maskin oversettelse?
Maskinoversettelsessystemer er programmer eller nettbaserte tjenester som bruker Maskinlæringsteknologi til å oversette store mengder tekst fra og til et hvilket som helst språk som støttes. Tjenesten oversetter en «kilde»-tekst fra ett språk til et annet «mål»-språk.
Selv om begrepene bak maskinoversettelses teknologi og grensesnittene til bruk er relativt enkle, er vitenskapen og teknologiene bak den svært kompleks og samler flere ledende teknologier, spesielt dyp læring ( kunstig intelligens), store data, lingvistikk, Cloud Computing, og web APIer.
Siden tidlig 2010s, en ny kunstig intelligens teknologi, dype nevrale nettverk (aka dyp læring), har tillatt teknologien for Talegjenkjenning å nå et kvalitetsnivå som tillot Microsoft Translator teamet til å kombinere talegjenkjenning med sin kjerne tekst Oversettelses teknologi for å lansere en ny teknologi for taleoversettelse.
Historisk var den primære maskin lærings teknikken som ble brukt i bransjen statistisk maskin oversettelse (SMT). SMT bruker avansert statistisk analyse for å estimere de best mulige oversettelsene for et ord gitt sammenheng med noen få ord. SMT har blitt brukt siden midten av 2000-tallet av alle store oversettelsestjeneste leverandører, inkludert Microsoft.
Ankomsten av Neural Machine Translation (NMT) forårsaket en radikal endring i Oversettelses teknologi, noe som resulterer i mye høyere kvalitet oversettelser. Denne Oversettelses teknologien startet distribusjon for brukere og utviklere i siste del av 2016.
Både SMT og NMT Oversettelses teknologi har to elementer til felles:
- Begge krever store mengder pre-menneskelig oversatt innhold (opp til millioner av oversatte setninger) for å trene systemene.
- Ikke opptre som Tospråklige ordbøker, oversette ord basert på en liste over mulige oversettelser, men oversette basert på konteksten av ordet som brukes i en setning.
Hva er oversetter?
Oversetter- og taletjenester, en del av Kognitive tjenester samling av APIer, er Maskinoversettelsestjenester fra Microsoft.
Tekst oversettelse
Oversetter har blitt brukt av Microsoft -grupper siden 2007 og er tilgjengelig som et API for kunder siden 2011. Oversetter har blitt brukt mye i Microsoft. Det er integrert på tvers av produktlokalisering, support og online kommunikasjonsteam. Den samme tjenesten er også tilgjengelig, uten ekstra kostnad, fra kjente Microsoft -produkter som f.eks Bing, Cortana, Microsoft Edge, Office, Sharepoint, Skype, og Yammer.
Oversetter kan brukes i web- eller klientprogrammer på en hvilken som helst maskinvareplattform og med et hvilket som helst operativsystem for å utføre språkoversettelse og andre språkrelaterte operasjoner som språkgjenkjenning, tekst til tale eller ordbok.
Ved å utnytte bransjestandarden REST-teknologi sender utvikleren kilde tekst (eller lyd for taleoversettelse) til tjenesten med en parameter som angir målspråket, og tjenesten sender tilbake den oversatte teksten for klienten eller webprogrammet som skal brukes.
Translator-tjenesten er en Azure-tjeneste som driftes i Microsofts datasentre og drar nytte av sikkerhet, skalerbarhet, pålitelighet og nonstop tilgjengelighet som andre Microsoft-skytjenester også mottar.
Taleoversettelse
Translator tale oversettelse teknologi ble lansert sent i 2014 starter med Skype Translator, og er tilgjengelig som en åpen API for kunder siden tidlig 2016. Det er integrert i Microsoft Translator live-funksjonen, Skype, Skype møtekringkasting og Microsoft Translator-appene for Android og iOS.
Taleoversettelse er nå tilgjengelig via Microsoft Speech, et ende-til-ende-sett med fullt tilpassbare tjenester for talegjenkjenning, taleoversettelse og tale syntese (tekst-til-tale).
Hvordan fungerer tekst oversetting?
Det er to viktigste teknologiene som brukes for tekst oversettelse: arven en, statistisk maskin oversettelse (SMT), og den nyere generasjonen en, neural Machine Translation (NMT).
Statistisk maskin oversettelse
Oversetterens implementering av Statistisk maskinoversettelse (SMT) er bygget på mer enn et tiår med naturspråkforskning hos Microsoft. I stedet for å skrive håndlagde regler for å oversette mellom språk, nærmer moderne oversettelsessystemer oversettelse som et problem med å lære transformasjonen av tekst mellom språk fra eksisterende menneskelige oversettelser og utnytte nylige fremskritt i anvendt statistikk og maskinlæring.
Såkalt "parallell corpora" fungere som en moderne Rosetta Stone i massive proporsjoner, og gir ord, setning og idiomatiske oversettelser i sammenheng for mange språkpar og domener. Statistiske modelleringsteknikker og effektive algoritmer hjelper datamaskinen med å løse problemet med dechiffrering (oppdage korrespondanse mellom kilde- og målspråk i treningsdataene) og dekoding (finne den beste oversettelsen av en ny inndatasetning). Oversetter enforener kraften i statistiske metoder med språklig informasjon for å produsere modeller som generaliserer bedre og fører til mer forståelige oversettelser.
På grunn av denne tilnærmingen, som ikke er avhengig av ordbøker eller grammatiske regler, gir det de beste oversettelser av fraser der det kan bruke konteksten rundt et gitt ord versus prøver å utføre enkeltord oversettelser. For oversettelser av enkeltord ble den tospråklige ordlisten utviklet og tilgjengelig via www.Bing.com/Translator.
Neural Machine oversettelse
Kontinuerlige forbedringer av oversettelsen er viktige. Ytelsesforbedringer har imidlertid platået med SMT-teknologi siden midten av 2010-tallet. Ved å utnytte skalaen og kraften til Microsofts AI-superdatamaskin, spesielt Microsoft Cognitive Toolkit, tilbyr Translator nå nevrale nettverk (LSTM) basert oversettelse som gjør at et nytt ti år med oversettelse kvalitet forbedring.
Disse nevrale nettverksmodellene er tilgjengelige for alle talespråk via Tale-tjenesten på Azure og via tekst-API-en ved hjelp av kategori-ID-en for generalnn.
Nevrale nettverk oversettelser fundamentalt forskjellig i hvordan de er utført i forhold til den tradisjonelle SMT seg.
Følgende animasjon viser de ulike trinnene nevrale nettverk oversettelser gå gjennom for å oversette en setning. På grunn av denne tilnærmingen, vil oversettelsen ta i sammenheng hele setningen, versus bare noen få ord skyvevinduet som SMT teknologi bruker og vil produsere mer flytende og menneskelig-oversatt ser oversettelser.
Basert på det nevrale-nettverk trening, er hvert ord kodet langs en 500-dimensjoner vektor (a) representerer sine unike egenskaper innenfor et bestemt språk par (f. eks engelsk og kinesisk). Basert på språkparene som brukes for trening, vil nettverk selv definere hva disse dimensjonene skal være. De kunne kode enkle begreper som kjønn (feminin, maskulin, nøytral), høflighet nivå (slang, casual, skriftlig, formell, etc.), type ord (verb, substantiv, etc.), men også alle andre ikke-åpenbare egenskaper som avledet fra treningsdata.
Trinnene nevrale nettverk oversettelser gå gjennom er følgende:
- Hvert ord, eller mer spesifikt den 500-dimensjonen vektor som representerer den, går gjennom et første lag av "neurons" som vil kode den i en 1000-dimensjon vektor (b) representerer ordet innenfor rammen av de andre ordene i setningen.
- Når alle ord har blitt kodet en gang i disse 1000-dimensjonen vektorer, prosessen gjentas flere ganger, hvert lag gir bedre finjustering av denne 1000-dimensjonen representasjon av ordet innenfor rammen av hele setningen (i motsetning til SMT teknologi som kun kan ta hensyn til et 3 til 5 ord vindu)
- Den endelige output matrise blir deretter brukt av oppmerksomheten laget (dvs. en programvare algoritme) som vil bruke både denne endelige output matrise og produksjon av tidligere oversatte ord for å definere hvilke ord, fra kilden setning, bør oversettes neste. Det vil også bruke disse beregningene til potensielt slippe unødvendige ord i målspråket.
- Dekoderen (oversettelse) laget, oversetter det valgte ordet (eller mer spesifikt på 1000-dimensjonen vektor representerer dette ordet innenfor rammen av hele setningen) i sin mest hensiktsmessige målspråk tilsvarende. Utgangen av dette siste laget (c) blir deretter matet tilbake i oppmerksomheten laget for å beregne hvilke neste ord fra kilden setningen skal oversettes.
I eksempelet avbildet i animasjonen, kontekst-Aware 1000-dimensjon modell av "den"vil kode som substantiv (Huset) er et feminint ord på fransk (La Maison). Dette vil tillate riktig oversettelse for "den"å være"La"og ikke"Le"(entall, hann) eller"Les"(flertall) når den når dekoderen (oversettelse) lag.
Oppmerksomheten algoritmen vil også beregne, basert på ordet (e) tidligere oversatt (i dette tilfellet "den"), at det neste ordet som skal oversettes skal være gjenstand ("Huset") og ikke et adjektiv ("Blå"). I kan oppnå dette fordi systemet lært at engelsk og fransk invertere rekkefølgen av disse ordene i setninger. Det ville også beregnet at hvis adjektiv skulle være "Store"i stedet for en farge, at det ikke skal invertere dem ("det store huset"= >"La Grande Maison").
Takket være denne tilnærmingen, er den endelige produksjonen, i de fleste tilfeller, mer flytende og nærmere en menneskelig oversettelse enn en SMT-basert oversettelse kunne noensinne vært.
Hvordan fungerer taleoversettelse?
Oversetter er også i stand til å oversette tale. Denne teknologien er eksponert i Translator live-funksjonen (http://translate.it), oversetter apps, Skype oversetter og er også i utgangspunktet gjort tilgjengelig bare gjennom Skype Translator funksjonen og i Microsoft Translator Apps på iOS og Android, denne funksjonaliteten er nå tilgjengelig for utviklere med den nyeste versjonen av den åpne REST-basert API som er tilgjengelig på Azure-portalen.
Selv om det kan virke som en rett frem prosess ved første øyekast å bygge en taleoversettelse teknologi fra eksisterende teknologi murstein, kreves det mye mer arbeid enn bare å koble en eksisterende "tradisjonelle" Human-til-maskin talegjenkjenning motoren til den eksisterende tekst oversettelse en.
Til riktig oversette "kilden" tale fra ett språk til et annet "target" språk, går systemet gjennom en fire-trinns prosess.
- Talegjenkjenning, for å konvertere lyd inn i tekst
- Sann: en Microsoft-teknologi som normaliserer teksten for å gjøre den mer passende for oversetting
- Oversettelse gjennom tekst oversettelse motoren beskrevet ovenfor, men på oversettelse modeller spesielt utviklet for det virkelige liv talte samtaler
- Tekst-til-tale, når det er nødvendig, å produsere den oversatte lyd.
Automatisk Talegjenkjenning (ASR)
Automatisk Talegjenkjenning (ASR) utføres ved hjelp av en nevrale nettverk (NN) system trent på å analysere tusenvis av timer med innkommende lyd tale. Denne modellen er opplært på menneske-til-menneske interaksjoner i stedet for menneske-til-maskin-kommandoer, som produserer talegjenkjenning som er optimalisert for vanlige samtaler. For å oppnå dette trengs mye mer data i tillegg til en større DNN enn tradisjonelle menneske-til-maskin-ASRs.
Finn ut mer om Microsofts tale til Teksttjenester.
Sann
Som mennesker samtaler med andre mennesker, vi snakker ikke så perfekt, tydelig eller pent som vi ofte tror vi gjør. Med sann-teknologien, er den bokstavelige teksten forvandlet til nærmere gjenspeile brukerens hensikt ved å fjerne tale disfluencies (filler ord), for eksempel "UM" s, "ah" s "og" s, "like" s, stamming, og repetisjoner. Teksten er også gjort mer lesbar og oversettbare ved å legge setning pauser, riktig tegnsetting og kapitalisering. For å oppnå disse resultatene, brukte vi ti år med arbeid på språk teknologier, utviklet vi fra Translator til å lage sann. Følgende diagram viser, gjennom et virkelig eksempel, de ulike transformasjon sann opererer for å normalisere denne bokstavelige teksten.
Oversettelse
Teksten blir deretter oversatt til en av de språk og dialekter støttet av Translator.
Oversettelser ved hjelp av taleoversettelse API (som en utvikler) eller i en taleoversettelse app eller tjeneste, er drevet med de nyeste nevrale-nettverk basert oversettelser for alle tale-input støttede språk (se her for den fullstendige listen). Disse modellene ble også bygget ved å utvide dagens, for det meste skrevet-tekst trente Oversettelses modeller, med mer talte tekst corpora å bygge en bedre modell for talte samtale typer oversettelser. Disse modellene er også tilgjengelige gjennom "tale" standardkategori av den tradisjonelle tekst oversettelse API.
For alle språk som ikke støttes av Neural Translation, er tradisjonell SMT oversettelse utført.
Tekst til tale
Hvis målspråket er en av de 18 støttede tekst-til-tale- Språk, og brukstilfellet krever en lydutgang, blir teksten konvertert til tale utgang ved hjelp av tale syntese. Dette stadiet utelates i tale-til-tekst-scenarier for oversetting.
Finn ut mer om Microsofts tekst til tale-tjenester.
Forskning
Vis de nyeste forsknings papirene fra Microsoft Translator-teamet.