Project Oxford: Microsoft offre API per app intelligenti

La scorsa primavera Microsoft ha annunciato Project Oxford, un set di SDK e API che consentono agli sviluppatori di creare applicazioni "intelligenti" senza dover imparare il machine learning. Utilizzando le API per viso, voce e visione di Oxford, gli sviluppatori possono creare applicazioni in grado di riconoscere i tratti del viso, analizzare le immagini o eseguire traduzioni da voce a testo o da testo a voce.

In un'intervista con l'editor di Large Paul Krill, Ryan Galgon di Microsoft, responsabile del programma senior responsabile della piattaforma e delle tecnologie del progetto Oxford, ha parlato degli obiettivi dietro Oxford, sottolineando il suo potenziale nell'Internet delle cose.

: Chi sta costruendo applicazioni Oxford? Per chi è Oxford?

Galgon: Molte persone sono entrate e si sono registrate per i servizi API. I numeri esatti [non sono] qualcosa in cui posso entrare, ma abbiamo creato molti account Azure, molte registrazioni tramite il nostro Microsoft Azure Marketplace. Le persone stanno prendendo a calci le gomme per i servizi, oltre a cercare di fare un uso più elevato dei servizi. Al momento, sono tutti offerti come livello gratuito limitato su base mensile e stiamo lavorando per aprirlo poiché abbiamo ricevuto feedback sulle modifiche che gli sviluppatori vogliono vedere apportate alle API e ai modelli.

È tutto multipiattaforma, nel senso che è un insieme di servizi Web a cui si accede principalmente tramite un'interfaccia API REST. Tutto ciò che può contattare un sito Web può chiamare questi servizi di back-end. Forniamo una serie di SDK, che racchiudono quelle chiamate REST e le rendono più facili da usare su client come Android, Windows e iOS. Tutto ciò che può effettuare una chiamata Web HTTP può chiamare i servizi.

: Prevedi che Oxford venga utilizzato principalmente su dispositivi mobili o desktop Windows?

Galgon:  Sarà principalmente un mix di probabilmente dispositivi mobili e IoT. Nel senso che quando le persone usano i desktop, la stragrande maggioranza degli usi che vedo, sei seduto lì, hai la tastiera e il mouse e quel tipo di input. Ma quando hai un telefono cellulare, stai catturando foto, video e audio. È molto più facile e naturale catturarlo con un piccolo dispositivo. [Verrà utilizzata la tecnologia del progetto Oxford] dove il caso di input dominante sarà un dato naturale, non solo numeri ma una sorta di tipo di dati visivi o audio.

: Raccontaci di più su queste API. Quali sono alcune delle cose che possono fare gli sviluppatori?

Galgon: Poiché vogliamo raggiungere il maggior numero possibile di sviluppatori, ci siamo impegnati molto per renderli molto facili da usare, [per] cose come il rilevamento dei volti o la visione artificiale, la categorizzazione delle immagini. Queste cose sono addestrate e modellate, costruite da persone con anni di profonda esperienza di ricerca in quei luoghi e non vogliamo che gli sviluppatori debbano diventare esperti di visione artificiale. Abbiamo davvero provato a dire: "Guarda, stiamo per costruire il miglior modello che possiamo costruire e renderlo disponibile per te e renderlo accessibile entro tre righe di codice".

Non posso parlare di come i partner esterni stiano cercando di utilizzare le API di Oxford, ma i principali su cui Microsoft ha lavorato, che forse hai visto, il primo è stato il sito How-old.net per la previsione dell'età e generi. Poi abbiamo avuto TwinsorNot.net, e ci sono state date due foto, quanto sono simili queste persone? Questi erano entrambi buoni esempi delle API Face. L'ultimo, che utilizzava l'API Face e alcune API Speech, era un progetto IoT di Windows 10 in cui sono stati scritti alcuni post sul blog in cui era possibile aprire una porta con la faccia e conversare con la porta o in quel caso. Penso che questi siano tre esempi su cui Microsoft ha lavorato per mostrarti un tipo di applicazione che può essere creata e condivisa con altre persone.

: Sotto queste API REST, cosa fa battere Oxford?

Galgon: Il nucleo sono i modelli appresi dalla macchina che abbiamo costruito per cose come la sintesi vocale. Sia che tu acceda tramite un'API REST - o con la sintesi vocale, puoi anche accedervi tramite una connessione Web socket - la magia o la cosa potente è questo modello che può prendere l'audio di qualcuno che parla e una lingua in cui si trova e tradurlo in formato testo. Questa è la cosa principale che fa battere Oxford nel suo complesso.

: Perché Project Oxford è separato dal progetto Azure Machine Learning?

Galgon:  in Azure Machine Learning, uno dei componenti principali è Azure Machine Learning Studio, in cui le persone possono entrare con i propri dati, creare un esperimento, addestrare il proprio modello, quindi ospitare quel modello. Con Oxford, questo è un modello precostruito di Microsoft, un modello che continueremo a migliorare in futuro e consentiremo alle persone di utilizzare quel modello su queste interfacce REST.

: Che tipo di utilizzo aziendale vede per Project Oxford? Qual è il business case per le domande di Oxford?

Galgon:Non ci sono partner specifici di cui posso parlare in questo momento, ma penso che uno dei casi in cui abbiamo riscontrato molto interesse, in cui personalmente vedo molti casi d'uso, è quando si tratta di Internet delle cose- dispositivi collegati. Quando guardo il modo in cui le persone guardano alla creazione di dispositivi IoT, non hai una tastiera e un mouse e spesso nemmeno un vero monitor associati a tutti questi dispositivi, ma è facile attaccare un microfono lì ed è abbastanza facile per attaccare anche una videocamera. Se combini qualcosa come le API vocali e LUIS (Language Understanding Intelligent Service), quindi un dispositivo che ha solo un microfono e nessun altro modo di input, ora puoi parlargli, dirgli cosa vuoi fare, tradurlo in un insieme di azioni strutturate e utilizzale nel back-end.È lì che penso che vedremo molti casi d'uso per le API di Oxford.

: Hai menzionato iOS e Android. Qual è stata la diffusione su queste piattaforme?

Galgon: Rendendo le API RESTful e fornendo loro questi wrapper, abbiamo sicuramente visto persone scaricare quei wrapper, facendone uso. Ma alla fine della giornata, sembra essere, "Ecco un wrapper in linguaggio Java attorno a un chiamante Web", "Ecco un wrapper Objective-C attorno a una chiamata Web". Non abbiamo molte informazioni su quale sia il dispositivo esatto che sta effettuando la chiamata.

: Oxford sarà open source?

Galgon: Non abbiamo in programma di rendere open-source i modelli principali e non ho nulla da condividere al riguardo perché continuiamo ad aggiornare i modelli nel tempo. Gli SDK che forniamo, poiché sono wrapper attorno a quelle chiamate REST, il codice sorgente è lì e può essere scaricato per chiunque oggi dal sito Web. Ma ancora una volta, questo è un wrapper nascosto sulle cose e abbiamo effettivamente visto persone nei forum MSDN che hanno fornito frammenti di codice in diverse lingue attorno ad esso.

: In che modo Microsoft intende fare soldi con Oxford?

Galgon: Le API nel Marketplace sono tutte gratuite oggi per un utilizzo limitato, quindi ottieni 5.000 transazioni API al mese. Questo è l'unico piano che abbiamo ora disponibile. In futuro, implementeremo piani a pagamento basati sull'utilizzo delle API.

: Qual è il futuro di Oxford?

Galgon: Dove andiamo da qui sono in realtà tre aree. La prima area riguarda l'aggiornamento e il miglioramento dei modelli esistenti. Abbiamo ricevuto feedback dagli sviluppatori [su come] una delle API potrebbe non funzionare alla grande con alcuni tipi di immagini. Miglioreremo il modello di base lì.

Una delle altre cose che faremo è continuare ad espandere il numero di funzionalità restituite dai modelli. Oggi, l'API Face ti fornisce l'età prevista e il sesso previsto. Abbiamo riscontrato molte richieste per poter riconoscere altri contenuti all'interno delle immagini.

La terza area è che amplieremo il portafoglio di API che abbiamo. Oggi ne abbiamo quattro, ma sicuramente non abbiamo finito. Non pensiamo che l'intero spazio che vogliamo fornire o gli strumenti che vogliamo fornire sia ancora completo. Continueremo ad aggiungere nuove API in grado di gestire diversi tipi di dati o di fornire tipi molto diversi di comprensione dei dati naturali rispetto a quelli che offriamo oggi.