Una delle più famose tastiere per Android, Swiftkey Keyboard, si aggiorna implementando un sistema di reti neurali per predire e correggere in modo ancora più preciso rispetto a prima.
L’integrazione delle reti neurali nel meccanismo di predizione di Swiftkey non arriva all’improvviso. Già dallo scorso Ottobre la compagnia aveva rilasciato una versione specifica della sua tastiera che sfruttava le reti neurali. Il nome dell’app era Swiftkey Neural, e ora il suo innovativo motore di predizione verrà integrato interamente nell’app Swiftkey Keyboard, disponibile sul Play Store di Google.
Vi starete domandando il perché di questa integrazione a distanza di quasi un anno dal lancio di Swiftkey Neural. Il motivo è semplice, ma in realtà anche complesso. Il sistema basato sulle reti neurali sviluppato da Swiftkey aveva bisogno di esercizio. Un esercizio continuo che sfrutta algoritmi simili a quelli utilizzati dal nostro cervello per etichettare e connettere insieme dati e parole.
Prima di questo aggiornamento, Swiftkey Keyboard utilizzava un motore di predizione personalizzato che si basa sull’algoritmica definita “n-gram“. Con questo tipo di algoritmo è possibile predire la prossima parola a partire dalle due precedenti. Se noi ad esempio scriviamo “La nostra” il motore, confrontandosi con un database delle parole statisticamente più utilizzate, mostrerebbe ad esempio le parole “vita” o “casa” basandosi sul motore n-gram.
Con la rete neurale invece l’intero contesto della frase che scriviamo diventa una variabile da considerare. Diventa di fondamentale importanze stabilire le necessarie relazioni tra le parole ed il contesto delle frasi. Un esercizio di apprendimento che non può essere svolto dalla sera alla mattina, ma che ha richiesto 11 mesi di sviluppo ed apprendimento continuo.
I risultati però sono sorprendenti. La rete neurale di Swiftkey ha analizzato milioni di frasi, creando altrettanti tag. Questi tag contengono informazioni sulle parole usate, e le relazioni tra di esse all’interno delle frasi, comprensivi di sinonimi e contrari. Le 3 parole suggerite sono il frutto dell’analisi delle parole e del loro uso linguistico.
Il metodo neurale è di gran lunga superiore rispetto a quello n-gram. Ma Swiftkey nel corso degli anni ha perfezionato e personalizzato questo algoritmo, tanto che di fatto i due sistemi di predizioni coesistono in Swiftkey Keyboard.
La coesistenza serve a mettere i due sistemi in competizione per la predizione migliore. Il sistema a reti neurali è più preciso quando usiamo nuovi o complessi periodi. Il motore basato su n-gram è invece migliore quando si tratta di predire una parola in una frase che usiamo spesso. Se ad esempio scriviamo spesso “Ciao come stai?” quando scriveremo “Ciao come” la tastiera ci suggerirà subito “stai” ed immediatamente “?“; questo perchè sa che quella combinazione di parole è molto usata e statisticamente ha la più alta percentuale di essere quella giusta.
Ultima curiosità circa il perché questo aggiornamento ha impiegato così tanto ad essere rilasciato sul mercato. Inizialmente la potenza di calcolo necessaria per adoperare Swiftkey Neural costringeva all’utilizzo della GPU degli smartphone in cui era installata. I problemi con questo approccio erano due: la varietà di GPU per gli smartphone costringeva ad un lavoro di ottimizzazione oneroso. In secondo luogo il consumo di batteria era maggiore dato che si adoperava in contemporanea CPU e GPU.
Swiftkey Keyboard adopererà le reti neurali senza impattare eccessivamente sulla GPU, ma esclusivamente sul processore, ed anche in quel caso la differenza di utilizzo tra una tastiera tradizionale e Swiftkey è trascurabile.
Se siete curiosi di provare Swiftkey Keyboard e dare una chance alle reti neurali potete scaricarla gratuitamente dal Play Store. Vi raccomandiamo di dare qualche giorno all’app per potere imparare da voi e fornirvi così la predizione più accurata e avanzata disponibile ad oggi sui dispositivi Android.
[pb-app-box pname=’com.touchtype.swiftkey’ name=’SwiftKey Keyboard’ theme=’discover’ lang=’it’]