Skype Translator: come far comunicare persone non parlanti la stessa lingua tramite un’interfaccia comune.
Una delle grandi sfide dell’informatica e della tecnologia moderna è sempre stata quella di riuscire ad interagire con una macchina come si fa con un comune interlocutore. Data l’esperienza sviluppata in questo senso dai ricercatori Microsoft, era auspicabile almeno un tentativo da parte del team Microsoft e Skype di coadiuvare le proprie forze per produrre un nuovo tipo di tecnologia user-friendly capace non solo di tradurre una conversazione tra interlocutori di nazionalità diverse, ma anche di riconoscere una lingua in maniera tale da poterla tradurre nel modo più fedele possibile.
Skype Translator nasce quindi come primo tentativo di riuscire a far comunicare persone non parlanti la stessa lingua tramite un’interfaccia comune. I primi segnali dell’avvio di questo progetto arrivano nel maggio 2014, durante la Code Conference: in quell’occasione, il CEO di Microsoft, Satya Nadella, presentò per la prima volta Skype Translator testandolo proprio durante la conferenza: riuscì, infatti, ad intrattenere il pubblico conversando con una collega tedesca via Skype (Fried, 2014). Da allora, il lavoro del team Skype Translator, formato sia da addetti ai lavori di Skype, sia da ricercatori del dipartimento dedicato al Machine Learning di Microsoft, non si è mai fermato.
Utilizzando la tecnologia di Microsoft Translator e integrandola con corpora con testi allineati tradotti, materiale testuale reperito sui social network e log delle conversazioni di semplici utenti Skype, Skype Translator è riuscito a gettare delle solide basi per lo sviluppo della propria applicazione, risultando sempre più efficace. Ovviamente, la differenza tra la lingua scritta e la lingua parlata è enorme, se viene analizzata sotto il profilo linguistico, e quindi il lavoro più difficile è stato sicuramente riuscire a costruire un programma capace di tradurre un dialogo tra due interlocutori, avendo comunque come punto di partenza dei solidi corpora costituiti sia da testi scritti, sia da testi orali. La sfida maggiore è stata il costruire un affidabile programma di speech recognition che avesse una enorme capacità di comprensione della lingua parlata in tutte le sue sfaccettature regionali, nazionali, di intonazione, di slang e cadenze dialettali. Tutto ciò è stato possibile tramite un’analisi approfondita dei materiali in dotazione in modo tale da effettuare un adeguato training alla macchina (Microsoft Research, 2014).
Skype Translator è diventato accessibile al pubblico il 15 dicembre 2014, sotto forma di Preview. Dal sito ufficiale di Skype Translator era possibile, infatti, fare richiesta di download del programma, in versione beta[1], a patto che venisse dato il consenso per l’utilizzo delle conversazioni avute sulla suddetta piattaforma per migliorarne le prestazioni (Lahda, 2014). Le prime lingue di utilizzo sono state lo spagnolo e l’inglese; quindi, è stato rilasciato solo ai richiedenti madrelingua in queste due lingue, e aventi un sistema operativo pari o più recente di Windows 8.1. Col passare del tempo sono state rese disponibili anche altre lingue nella Preview: l’8 aprile 2015 è stata la volta di cinese e italiano (Kahn, 2015a), il 18 giugno 2015 di tedesco e francese (Kahn, 2015b), il 12 ottobre 2015 del portoghese (Skype Team, 2015) ed infine l’8 marzo 2016 dell’arabo (Skype Team, 2016). Ad oggi, le lingue disponibili per una conversazione speech-to-speech tradotta sono: italiano, inglese, francese, spagnolo, tedesco, cinese, portoghese e arabo, mentre per traduzioni di messaggistica istantanea sono disponibili oltre 50 lingue (Skype Support, 2016).
Si può affermare che quella di fornire Skype Translator in formato Preview sia stata una saggia scelta, perché ha dato la possibilità agli sviluppatori del programma di attingere ad una grandissima quantità di materiale che poi ha aiutato nel processo di training della macchina stessa. L’utente, in un certo senso, ha aiutato sé stesso per garantirsi una migliore esperienza di conversazione tradotta via Skype.
Skype Translator è attualmente disponibile su ogni versione correttamente aggiornata di Skype. Un’interessante info grafica rilasciata proprio dal Team di Skype ci mostra i vari passaggi necessari per il processo di traduzione.
Oltre all’avanzata ricerca nel campo della Machine Translation portata avanti dal team che sta lavorando al programma, una delle innovazioni più importanti in ottima Skype Translator è l’utilizzo di un bot[2] che funge da intermediario tra i due partecipanti alla conversazione. Il compito del bot è quello di organizzare la conversazione, partendo dall’organizzazione della chiamata in sé, fino alla differenziazione dei canali audio dei due interlocutori dando la possibilità al programma di ricevere attraverso due canali differenti l’audio di entrambi i parlanti e dando la possibilità di avviare, quindi, il processo di traduzione (Ladha, 2014).
Quindi, ecco spiegate le varie fasi del processo di traduzione di Skype Translator:
- Avvio chiamata tramite bot apposito[3]. Il bot si occupa della divisione dei canali audio per l’invio dei suddetti al Machine Translation Engine.
- Automatic Speech Recognition: viene avviato il modulo di Speech Recognition che analizza e trascrive quanto detto dall’interlocutore attraverso l’utilizzo di reti neurali profonde. Il messaggio dell’interlocutore viene anche utilizzato come elemento utile per il processo di Machine Learning e Training.
- Speech Correction: in questa fase vengono eliminate dal messaggio eventuali disfluenze orali e riformulazioni del discorso. Viene inserita, inoltre, la punteggiatura.
- Tramite l’utilizzo di Microsoft Translator API[4], viene avviato il processo di traduzione. La traduzione viene effettuata tramite modelli statistici sulla base di corpora.
- Text To Speech: la traduzione viene convertita in audio tramite un’interfaccia apposita.
Tutte le operazioni descritte sono effettuate in cloud, quindi tutti i processi, le interfacce e i programmi utilizzati per il corretto compimento di tali comandi non vanno a gravare sul peso del programma in sé: in pratica, Skype non risulta più complicato né più macchinoso per l’utente che, sfruttando la stessa interfaccia alla quale è abituato, può godere di queste nuove funzionalità.
[1] Per beta si intende una prima versione di un programma, quindi non ancora completa e soggetta ad eventuali modifiche prima del lancio ufficiale.
[2] Robot (bot): un programma autonomo capace di accedere alla rete utilizzato per automatizzare dei compiti fissi che un programma dovrebbe svolgere.
[3] Per effettuare una chiamata con relativo servizio di traduzione, è sufficiente che solo colui che effettua la chiamata abbia Skype Translator installato sul proprio dispositivo.
[4] Application Programming Interface (API), ossia Interfaccia di programmazione di un’applicazione. Nel caso di Microsoft Translator, si intende un servizio di traduzione automatica in cloud che supporta contemporaneamente tutte le lingue a disposizione di Skype Translator (Microsoft, 2016).
Fonti:
Fried, I. (27/05/2014). “CEO Satya Nadella Looks for a Future That Fits Microsoft’s Strengths”, Recode.
Microsoft Research (27/05/2014). “Enabling Cross-Lingual Conversations in Real-Time”.
Lahda, M. & Wendt, C. (15/12/2014). “Skype Translator – How it Works”, Skype Blogs.
Kahn, Y. (08/04/2015). “你好! Ciao! Skype Translator Now Speaks Italian and Mandarin”, Skype Blogs.
Kahn, Y. (18/06/2015). “Skype Translator Preview App Brings Our World a Little Closer by Introducing French and German”, Skype Blogs.
Skype Team (10/12/2015). “Olá! Skype Translator welcomes Portuguese”.
Skype Support (n.d). “Quali lingue sono disponibili in Skype Translator?”.
Paolo La Montagna is a linguist, passionate about the new frontiers of Natural Language Processing. He works as a freelance linguist for different clients that are specialized in NLP. Moreover, he is the localization manager of heartvoiced.com and the founder of thinkborderless.co.