Traduzione automatica
Che cos'è la traduzione automatica?
I sistemi di traduzione automatica sono applicazioni o servizi online che utilizzano tecnologie di apprendimento automatico per tradurre grandi quantità di testo da e verso qualsiasi lingua supportata. Il servizio traduce un testo "sorgente" da una lingua a una lingua diversa "destinazione".
Anche se i concetti dietro la tecnologia di traduzione automatica e le interfacce per usarlo sono relativamente semplici, la scienza e le tecnologie dietro di esso sono estremamente complesse e riuniscono diverse tecnologie all'avanguardia, in particolare, l'apprendimento profondo ( intelligenza artificiale), big data, linguistica, cloud computing, e le API Web.
Fin dai primi mesi del 2010, una nuova tecnologia di intelligenza artificiale, Deep Neural Networks (aka profondo apprendimento), ha permesso la tecnologia di riconoscimento vocale per raggiungere un livello di qualità che ha permesso il team di Microsoft Translator per combinare il riconoscimento vocale con la sua tecnologia di traduzione del testo di base per lanciare una nuova tecnologia di traduzione vocale.
Storicamente, la tecnica primaria di apprendimento della macchina utilizzata nell'industria era la traduzione automatica statistica (SMT). SMT utilizza un'analisi statistica avanzata per stimare le migliori traduzioni possibili per una parola, dato il contesto di poche parole. SMT è stato utilizzato fin dalla metà del 2000 da parte di tutti i principali fornitori di servizi di traduzione, tra cui Microsoft.
L'avvento della traduzione di macchine neurali (NMT) ha causato un cambiamento radicale nella tecnologia della traduzione, ottenendo traduzioni di qualità molto più elevate. Questa tecnologia di traduzione ha avviato la distribuzione per utenti e sviluppatori nel ultima parte del 2016.
Entrambe le tecnologie di traduzione SMT e NMT hanno due elementi in comune:
- Entrambi richiedono grandi quantità di contenuti tradotti pre-umani (fino a milioni di frasi tradotte) per addestrare i sistemi.
- Né fungono da dizionari bilingui, traducendo parole basate su un elenco di potenziali traduzioni, ma tradurre in base al contesto della parola che viene utilizzata in una frase.
Che cos'è Translator?
I servizi di traduzione e di riconoscimento vocale, Servizi cognitivi raccolta di API, sono servizi di traduzione automatica da Microsoft.
Traduzione di testo
Translator è stato utilizzato dai gruppi Microsoft dal 2007 ed è disponibile come API per i clienti dal 2011. Translator è ampiamente utilizzato all'interno di Microsoft. È incorporato in tutti i team di localizzazione dei prodotti, supporto e comunicazione online. Questo stesso servizio è accessibile anche, senza costi aggiuntivi, dall'interno di prodotti Microsoft familiari come Bing, Cortana, Microsoft Edge, Ufficio, Sharepoint, Skypee Yammer.
Il traduttore può essere utilizzato in applicazioni Web o client su qualsiasi piattaforma hardware e con qualsiasi sistema operativo per eseguire la traduzione della lingua e altre operazioni correlate alla lingua, ad esempio il rilevamento della lingua, la sintesi vocale o il dizionario.
Sfruttando la tecnologia REST standard del settore, lo sviluppatore Invia il testo sorgente (o audio per la traduzione vocale) al servizio con un parametro che indica la lingua di destinazione e il servizio invia il testo tradotto per il client o l'applicazione Web da utilizzare.
Il servizio Translator è un servizio di Azure ospitato nei data center Microsoft e trae vantaggio dalla sicurezza, dalla scalabilità, dall'affidabilità e dalla disponibilità non-stop che ricevono anche altri servizi cloud Microsoft.
Traduzione vocale
La tecnologia di traduzione vocale del traduttore è stata lanciata alla fine del 2014 a partire da Skype Translator ed è disponibile come API aperta per i clienti dall'inizio del 2016. È integrato nella funzione live di Microsoft Translator, nella trasmissione di riunioni Skype, Skype e nelle app Microsoft Translator per Android e iOS.
La traduzione vocale è ora disponibile tramite Microsoft Speech, un set end-to-end di servizi completamente personalizzabili per il riconoscimento vocale, la traduzione vocale e la sintesi vocale (Text-to-Speech).
Come funziona la traduzione del testo?
Ci sono due tecnologie principali usate per la traduzione del testo: l'eredità una, traduzione automatica statistica (SMT) e la più nuova generazione una, traduzione neurale della macchina (NMT).
Traduzione automatica statistica
L'implementazione di Translator di Statistical Machine Translation (SMT) si basa su più di un decennio di ricerca in linguaggio naturale presso Microsoft. Invece di scrivere regole artigianali per tradurre tra le lingue, i moderni sistemi di traduzione affrontano la traduzione come un problema di apprendimento della trasformazione del testo tra le lingue dalle traduzioni umane esistenti e di sfruttare i recenti progressi nelle statistiche applicate e nell'apprendimento automatico.
La cosiddetta "corpora parallela" agisce come una moderna stele di Rosetta in proporzioni massicce, fornendo parole, frasi e traduzioni idiomatiche nel contesto per molte coppie linguistiche e domini. Tecniche di modellazione statistica e algoritmi efficienti aiutano il computer ad affrontare il problema della decifrazione (rilevamento delle corrispondenze tra la lingua di origine e quella di destinazione nei dati di training) e decodifica (trovare la migliore traduzione di una nuova frase di input). Translator unisce il potere dei metodi statistici con le informazioni linguistiche per produrre modelli che si generalizzare meglio e portare a traduzioni più comprensibili.
A causa di questo approccio, che non si basa su dizionari o regole grammaticali, fornisce le migliori traduzioni di frasi in cui è possibile utilizzare il contesto intorno a una determinata parola versus cercando di eseguire traduzioni singole parole. Per le traduzioni singole parole, il dizionario bilingue è stato sviluppato ed è accessibile attraverso www.Bing.com/translator.
Traduzione automatica neurale
I continui miglioramenti alla traduzione sono importanti. Tuttavia, i miglioramenti delle prestazioni si sono stabilizzati con la tecnologia SMT dalla metà degli anni 2010. Sfruttando la scala e la potenza del supercomputer IA di Microsoft, in particolare Microsoft Cognitive Toolkit, Translator ora offre rete neurale (LSTM) che consente un nuovo decennio di miglioramento della qualità della traduzione.
Questi modelli di rete neurale sono disponibili per tutti i linguaggi di riconoscimento vocale tramite il servizio di riconoscimento vocale in Azure e tramite l'API di testo usando l'ID di categoria 'generalnn'.
Le traduzioni di reti neurali differiscono fondamentalmente per il modo in cui vengono eseguite rispetto a quelle tradizionali SMT.
L'animazione seguente descrive i vari passaggi che le traduzioni Neural Network attraversano per tradurre una frase. A causa di questo approccio, la traduzione prenderà in contesto la frase completa, rispetto a poche parole finestra scorrevole che utilizza la tecnologia SMT e produrrà più fluido e tradotto dall'uomo traduzioni cercando.
In base alla formazione della rete neurale, ogni parola è codificata lungo un vettore di dimensioni 500 (a) che rappresenta le sue caratteristiche uniche all'interno di una particolare coppia linguistica (ad esempio inglese e cinese). Sulla base delle coppie di lingue utilizzate per la formazione, la rete neurale si autodefinisce ciò che queste dimensioni dovrebbero essere. Potrebbero codificare concetti semplici come il genere (femminile, maschile, neutro), il livello di cortesia (slang, casuale, scritto, formale, ecc.), il tipo di parola (verbo, sostantivo, ecc.), ma anche qualsiasi altra caratteristica non ovvia derivante dai dati formativi.
I passaggi delle traduzioni di reti neurali sono i seguenti:
- Ogni parola, o più precisamente il vettore di dimensione 500 che lo rappresenta, passa attraverso un primo strato di "neuroni" che lo codificherà in un vettore di dimensione 1000 (b) che rappresenta la parola nel contesto delle altre parole della frase.
- Una volta che tutte le parole sono state codificate una volta in questi 1000-dimensione vettori, il processo viene ripetuto più volte, ogni strato che consente una migliore messa a punto di questa 1000-dimensione rappresentazione della parola nel contesto della frase completa (contrariamente a SMT tecnologia che può solo prendere in considerazione una finestra da 3 a 5 parole)
- La matrice di output finale viene quindi utilizzata dallo strato di attenzione (cioè un algoritmo software) che utilizzerà sia questa matrice di output finale e l'output di parole precedentemente tradotte per definire quale parola, dalla frase di origine, deve essere tradotta dopo. Utilizzerà anche questi calcoli per eliminare potenzialmente le parole inutili nella lingua di destinazione.
- Il decodificatore (Translation) layer, traduce la parola selezionata (o più precisamente il vettore di quota 1000 che rappresenta questa parola nel contesto della frase completa) nella sua lingua di destinazione più appropriata equivalente. L'output di quest'ultimo strato (c) viene poi rialimentato nel livello di attenzione per calcolare quale parola successiva dalla frase di origine dovrebbe essere tradotta.
Nell'esempio illustrato nell'animazione, il modello 1000-Dimension di conoscenza del contesto di "Le"codificherà che il sostantivo (Casa) è una parola femminile in francese (La Maison). Questo permetterà la traduzione appropriata per "Le"essere"la"e non"le"(singolare, maschio) o"Les"(plurale) una volta raggiunto il layer decoder (Translation).
L'algoritmo di attenzione calcolerà anche, sulla base della parola (s) precedentemente tradotta (in questo caso "Le"), che la prossima parola da tradurre dovrebbe essere il soggetto ("Casa") e non un aggettivo ("Blu"). In può raggiungere questo perché il sistema ha imparato che l'inglese e il francese invertire l'ordine di queste parole in frasi. Avrebbe anche calcolato che se l'aggettivo dovesse essere "Grande"invece di un colore, che non dovrebbe invertire ("la grande casa"= >"la grande Maison").
Grazie a questo approccio, l'output finale è, nella maggior parte dei casi, più fluente e più vicino a una traduzione umana di una traduzione basata su SMT potrebbe essere mai stato.
Come funziona la traduzione vocale?
Traduttore è anche in grado di tradurre il discorso. Questa tecnologia è esposta nella funzione Translator live (http://translate.it), il traduttore Apps, Skype Translator ed è anche inizialmente disponibile solo attraverso la funzione di traduttore Skype e nelle applicazioni Microsoft Translator su iOS e Android, questa funzionalità è ora disponibile per gli sviluppatori con l'ultima versione del Open API basata su REST disponibile nel portale Azure.
Anche se può sembrare un processo dritto in avanti a un primo sguardo per costruire una tecnologia di traduzione vocale da mattoni tecnologia esistente, ha richiesto molto più lavoro che semplicemente collegando un esistente "tradizionale" di riconoscimento vocale "uomo a macchina" motore alla traduzione di testo esistente uno.
Per tradurre correttamente il discorso "sorgente" da una lingua ad una diversa lingua "target", il sistema passa attraverso un processo in quattro fasi.
- Riconoscimento vocale, per convertire l'audio in testo
- TestoSeVero: una tecnologia Microsoft che normalizza il testo per renderlo più appropriato per la traduzione
- Traduzione attraverso il motore di traduzione di testo descritto sopra, ma su modelli di traduzione appositamente sviluppato per le conversazioni vocali vita reale
- Text-to-speech, se necessario, per produrre l'audio tradotto.
Riconoscimento vocale automatico (ASR)
Il riconoscimento vocale automatico (ASR) viene eseguito utilizzando un sistema di rete neurale (nn) addestrato sull'analisi delle migliaia di ore di intervento audio in ingresso. Questo modello è addestrato sulle interazioni uomo-uomo piuttosto che sui comandi del umano--macchina, producendo il riconoscimento di discorso che è ottimizzato per le conversazioni normali. Per realizzare questo, molto più dati sono necessari così come un più grande DNN che il ASRS umano--macchina tradizionale.
Scopri di più su Discorso di Microsoft ai servizi di testo.
TestoSeVero
Mentre gli esseri umani conversano con altri esseri umani, non parliamo come perfettamente, chiaramente o ordinatamente come pensiamo spesso che facciamo. Con la tecnologia TestoSeVero, il testo letterale viene trasformato per riflettere più da vicino l'intenzione dell'utente rimuovendo le disfluenze vocali (parole di riempimento), come "um" s, "Ah" s, "e" s, "like" s, balbetta, e ripetizioni. Il testo è reso anche più leggibile e traducibile con l'aggiunta di interruzioni di frase, punteggiatura corretta e capitalizzazione. Per raggiungere questi risultati, abbiamo utilizzato i decenni di lavoro sulle tecnologie linguistiche, abbiamo sviluppato da traduttore per creare TestoSeVero. Nel diagramma seguente viene illustrato, tramite un esempio di vita reale, la trasformazione TestoSeVero vari opera per normalizzare questo testo letterale.
Traduzione
Il testo viene quindi tradotto in uno dei lingue e dialetti supportato da Translator.
Traduzioni utilizzando l'API di traduzione vocale (come sviluppatore) o in un'app o un servizio di traduzione vocale, viene alimentato con le nuove traduzioni basate su rete neurale per tutte le lingue supportate da Speech-input (vedere qui per l'elenco completo). Questi modelli inoltre sono stati costruiti espandendo i modelli di traduzione addestrati correnti e principalmente scritti-testo, con i corpora di più parlato-testo per sviluppare un migliore modello per i tipi parlati di conversazione di traduzioni. Questi modelli sono disponibili anche categoria standard "speech" dell'API di traduzione del testo tradizionale.
Per qualsiasi lingua non supportata dalla traduzione neurale, viene eseguita la traduzione tradizionale SMT.
Text to Speech
Se la lingua di destinazione è uno dei 18 supportati Text-to-Speech Lingue, e il caso di utilizzo richiede un output audio, il testo viene quindi convertito in output vocale utilizzando la sintesi vocale. Questa fase viene omessa negli scenari di traduzione vocale-testo.
Scopri di più su Il testo di Microsoft ai servizi vocali.
Ricerca
Visualizza i documenti di ricerca più recenti del team Microsoft Translator.
- Traduzione universale della macchina neurale per linguaggi di risorse estremamente bassi
- Raggiungimento della parità umana sulla traduzione automatica di notizie da cinese a Inglese
- Sesso a conoscenza lingua parlata traduzione applicata all'inglese-arabo
- Dati sintetici per la traduzione automatica neurale di dialetti parlati