Abbiamo già avuto modo di approfondire l’importanza dell’adeguamento delle infrastrutture a supporto dell’Intelligenza Artificiale, indiscutibilmente un passaggio fondamentale ma, di per sé, non sufficiente ad assicurare l’introduzione di algoritmi di Machine Learning e le tecnologie di Intelligenza Artificiale in azienda. Per riuscire in questa “impresa” servono prima di tutto le competenze necessarie (tecnologiche e metodologiche) per poter sviluppare servizi e applicazioni in grado di produrre i risultati attesi. Un ruolo centrale in questo senso arriva dalle Application Programming Interface (Api), che possono essere sfruttate dai partner di canale interessati allo sviluppo di servizi e applicazioni di Intelligenza Artificiale. Questi operatori possono contare infatti su:
1) il rilascio continuo da parte dei grandi top player di API – Application Programming Interface di Machine Learning integrabili in applicazioni aziendali o servizi digitali esistenti (o in sviluppo) con uno sforzo minimo di integrazione e scrittura di codice;
2) la disponibilità di accesso a tutte le API via cloud con un costo abbordabile, spesso basato sul reale utilizzo dei sistemi (per esempio con un costo a centesimo/millesimo di dollari/euro per singola “interrogazione” dell’algoritmo).
Indice degli argomenti
Le API di Machine Learning più diffuse
In questo momento i top player che si stanno “sfidando” sul mercato a suon di rilasci di API sono quelli che godono di un passato e presente florido nella proposta di servizi cloud, da Amazon a Google, passando per Ibm e Microsoft. Tutte aziende che hanno sviluppato una vera e propria offerta in ambito Intelligenza Artificiale e che sono impegnate nel continuo rilascio di API per favorirne l’adozione diffusa attraverso la progettualità dei partner di canale.
Che si tratti di Amazon AI, Google Cloud Machine Learning Services, Google Cloud Natural Language API, dei servizi Watson Developer Cloud di Ibm o dei Servizi Cognitivi basati su Microsoft Azure, le API più diffuse in questo momento sono quelle che sfruttano gli algoritmi di Machine Learning per:
1) riconoscimento vocale;
2) riconoscimento testi;
3) riconoscimento immagini/video;
Le API per il riconoscimento vocale
In questo caso si parla di interfacce che consentono di integrare funzionalità tipiche di soluzioni come Cortana di Microsoft, Watson di Ibm, Siri di Apple o Alexa di Amazon per creare soluzioni in grado di riconoscere correttamente le parole pronunciate da una persona per poi “trascriverle” in testo (o codice) da “dare in pasto” ad un motore di Intelligenza Artificiale per averne l’output richiesto: una risposta, una traduzione, una trascrizione, un’azione come l’invio di una e-mail o la modifica di una voce in calendario, ecc.
Oggi le API di riconoscimento vocale più utilizzate sono quelle che abilitano funzionalità per soluzioni di:
– dettatura e traduzione (cosiddette speech-to-text)
– attività e azioni avviate con comandi vocali (chatbot, assistenti personali, servizi di call center/help desk, ecc.)
– identificazione e classificazione audio (per esempio per la censura in real-time di parole inappropriate)
– riconoscimento degli utenti (attraverso l’analisi delle tracce vocali: tonalità, modo di parlare, inflessione, ecc.).
Parallelamente a questo tipo di API si sono sviluppati anche servizi diametralmente opposti, quelli cosiddetti text-to-speech che hanno alla base algoritmi di Machine Learning per il riconoscimento dei testi e funzionalità di Intelligenza Artificiale per la loro “trascrizione” in formato audio. Si tratta in realtà di sistemi che esistono da qualche decennio (pensiamo alle soluzioni sviluppate per i ciechi e gli ipovedenti) ma che hanno avuto una nuova vitalità con la maturità di queste specifiche tecnologie di Intelligenza Artificiale.
Le API per il riconoscimento dei testi
Questo tipo di API non vanno confuse con quelle text-to-speech perché in questo caso si parla di funzionalità che servono per lo sviluppo di applicazioni in grado di comprendere il contenuto di un testo, quindi non solo eventualmente di tradurlo in un altro formato (audio, per esempio) ma anche e soprattutto di decifrarne/interpretarne la semantica per fornire assistenza e risposte.
Esempi concreti di queste funzionalità sono:
– riconoscimento di comandi o istruzioni attraverso i quali avviare poi azioni concrete (fornire una risposta, inviare una e-mail, ecc.), API molto utili per la creazione di chatbot e assistenti virtuali;
– interpretare gli argomenti (utile per esempio per applicazioni di sentiment analysis o content filtering);
– controllo grammaticale/ortografico (lo vediamo per esempio attraverso i servizi di completamento automatico di parole o frasi nelle applicazioni di editing);
– traduzione automatica da una lingua ad un’altra.
Le API per il riconoscimento di immagini e video
In questo caso parliamo di API che rientrano nel filone informatico della cosiddetta “visione artificiale” che consentono di sfruttare algoritmi e framework metodologici per la riproduzione automatica o semi-automatica di meccanismi di riconoscimento tipici del sistema di visione dell’uomo come quello del riconoscimento di forme e di colori, l’estrazione di informazioni spaziali e geometriche o la capacità di segmentare ed inseguire oggetti in movimento (per esempio con il riconoscimento di immagini, forme, colori, ecc. nei video).
Attraverso questo tipo di API si possono sviluppare applicazioni pratiche, per esempio, per la rilevazione di presenze (sia da un punto di vista di sicurezza sia da un punto di vista di analisi dei flussi) o per il riconoscimento della proprietà intellettuale e del diritto d’autore soprattutto su opere come foto, quadri, illustrazioni, sculture, video, ecc.
Intelligenza Artificiale ed API di Machine Learning: le ultime novità
A fare da sfondo a molte delle API di Machine Learning rilasciate dai grandi vendor c’è indubbiamente il filone tematico del riconoscimento del linguaggio naturale attraverso il quale sviluppare funzionalità “ad ampio spettro” che, come accennato, possono andare dalla classificazione di i testi in base al loro contenuto, alla comprensione della semantica fino all’analisi del sentiment di un utente.
Recentemente si è fatto un enorme passo avanti su questo fronte con API che permettono di sviluppare funzionalità di riconoscimento del linguaggio naturale tali da decifrare correttamente, interpretare, trascrivere o tradurre la semantica di intere frasi e addirittura interi testi estrapolando poi dati e informazioni specifiche (per esempio relative a luoghi, eventi, persone, ecc.) contenute in documenti, articoli, post, e-mail, ecc.
Un altro importante passo avanti si è fatto poi con il riconoscimento delle immagini in movimento e degli oggetti in video, nuovi algoritmi di apprendimento dai quali sono nate poi le API che consentiranno agli sviluppatori di creare servizi e applicazioni in grado di riconoscere ed estrarre oggetti ed elementi visivi in movimento direttamente da un file video.