Alessandro Del Sole's Blog

{ A programming space about Microsoft® .NET® }
posts - 1908, comments - 2047, trackbacks - 352

My Links

News

Your host

This is me! Questo spazio è dedicato a Microsoft® .NET®, di cui sono molto appassionato :-)

Cookie e Privacy

Disabilita cookie ShinyStat

Microsoft MVP

My MVP Profile

Microsoft Certified Professional

Microsoft Specialist

Xamarin Certified Mobile Developer

Il mio libro su VB 2015!

Pre-ordina il mio libro su VB 2015 Pre-ordina il mio libro "Visual Basic 2015 Unleashed". Clicca sulla copertina per informazioni!

Il mio libro su WPF 4.5.1!

Clicca sulla copertina per informazioni! E' uscito il mio libro "Programmare con WPF 4.5.1". Clicca sulla copertina per informazioni!

These postings are provided 'AS IS' for entertainment purposes only with absolutely no warranty expressed or implied and confer no rights.
If you're not an Italian user, please visit my English blog

Le vostre visite

I'm a VB!

Guarda la mia intervista a Seattle

Follow me on Twitter!

Altri spazi

GitHub
I miei progetti open-source su GitHub

Article Categories

Archives

Post Categories

Image Galleries

Privacy Policy

Xamarin.Forms e i Cognitive Services di Microsoft - Introduzione

Nei numeri di ottobre e novembre di MSDN Magazine, sono stati pubblicati due miei articoli relativi allo sviluppo di app per Android, iOS e Windows con Xamarin.Forms e i Cognitive Services di Microsoft, nei quali ho descritto il riconoscimento visivo e delle emozioni e la descrizione di ciò che circonda l'utente.

L'argomento non solo mi appassiona molto, ma ho iniziato a studiarlo fin dall'annuncio a //Build 2016, ma avendo degli accordi di univocità con MSDN Magazine, riesco a farne dei post solo ora (e in italiano, certamente ).

Inizio quindi una mini-serie di post dedicata ai Cognitive Services con Xamarin.Forms per vedere come portare sulle nostre applicazioni multi-piattaforma una parte dei servizi di AI di Microsoft.

Questo è prevalentemente un post introduttivo che spiega di cosa si tratta e cosa serve per i post successivi.

Cosa sono i Cognitive Services

Uno dei pilastri su cui Microsoft sta lavorando è l'intelligenza artificiale, che si incastra in quella che Satya Nadella ha definito conversation-as-a-platform, grazie alla quale l'essere umano interagisce coi dispositivi e con le applicazioni secondo un linguaggio naturale costituito dal parlato, dai gesti, dalle emozioni. La conversation-as-a-platform si basa sul machine learning, una speciale forma di intelligenza artificiale che consente ai dispositivi di imparare a fare delle cose senza essere stati appositamente programmati per farle. In questo contesto, due sono le maggiori ramificazioni dell'intelligenza artificiale secondo Microsoft: i Cognitive Services e il Bot framework. I Bot sono dei componenti software in grado di sostenere conversazioni intelligenti e di recepire ed elaborare gli input che ricevono, rispondendo in modo automatico a determinate esigenze dell'utente. Un esempio mostrato a //Build è un bot che, tramite Skype, consente alle persone di prenotare una stanza d'albergo attraverso frasi di senso compiuto.

I Cognitive Services, come il nome lascia intendere, sono dei servizi che consentono di eseguire il riconoscimento di caratteristiche dell'utente o di ciò che lo circonda, come le sue caratteristiche fisiche, il suo linguaggio, la sua voce, le sue emozioni, oppure servizi che, sulla base di caratteristiche dell'utente, possono eseguire ricerche mirate. Ci sono anche altri servizi, come quelli di traduzione e quelli che consentono alle applicazioni di ricevere comandi secondo un linguaggio naturale.

I Cognitive Services sono dei servizi Cloud basati sull'approccio REST. Ciò significa che le API che espongono possono essere raggiunte tramite richieste HTTP e offrono risposte in formato JSON. Grazie a questi due standard, essi possono essere consumati da qualunque tipo di applicazione e piattaforma senza essere vincolati al sistema, al linguaggio di programmazione o all'ambiente di sviluppo.

Ad un livello più alto, i Cognitive Services possono essere così raggruppati:

  • Computer Vision: analisi di immagini e video per identificare oggetti ma anche caratteristiche fisiche dei visi, per riconoscere emozioni e movimenti.
  • Speech: API per il riconoscimento del linguaggio e della voce, ma anche text-to-speech e per l'implementazione di comandi vocali in linguaggio naturale
  • Language: API il cui scopo è quello di comprendere il linguaggio naturale e di analizzarlo anche sotto l'aspetto grammaticale, quindi riconoscimento di errori, emozioni nel parlare, aspetti chiave di un discorso.
  • Knowledge: API che hanno lo scopo di trovare informazioni personalizzate sulla base delle caratteristiche dell'utente, come luoghi, eventi, suggerimenti.
  • Search: API basate su Bing per l'implementazione di strumenti di ricerca avanzati su immagini, video, notizie.

Cosa faremo nei prossimi post

Nei prossimi post utilizzeremo alcuni dei Cognitive Services in applicazioni Xamarin.Forms, vedendo come il nostro codice C# ci consenta di scrivere app per Android, iOS e Windows in grado di capire alcune caratteristiche dell'utente. Ci occuperemo in particolar modo della parte di Computer Vision, ma in futuro vedremo anche altre API.

Cosa mi serve

La prima cosa da fare è registrarsi ai Cognitive Services di proprio interesse, questo perché dobbiamo ottenere un codice seriale da utilizzare per fare le richieste nelle app. Quindi, andiamo qui: https://www.microsoft.com/cognitive-services/en-US/subscriptions. Clic su My Account e primo accesso utilizzando uno degli account proposti (MS Account, Linkedin, GitHub). Arriverete ad un elenco di servizi disponibili, che potete inizialmente attivare in trial. La schermata seguente mostra un elenco di servizi attivi sul mio account:


Per ciascun servizio di interesse, dovrete generare una key. Quando vi serve potete fare clic su Copy oppure su Show.

L'attivazione dei vari servizi non è certamente difficile, solo due raccomandazioni: leggete la documentazione ma soprattutto i termini di utilizzo dei servizi stessi, perché è importante sapere cosa potete e cosa non potete fare coi Cognitive Services.

Altri strumenti che ci servono:
  • Visual Studio 2015 anche Community (o Xamarin Studio)
  • Tool di Xamarin
  • Opzionale, gli SDK di Android e l'emulatore di Visual Studio. Io userò proprio Android per le demo, ma trattandosi di Xamarin.Forms anche iOS e Windows vanno benissimo

Le librerie e i pacchetti NuGet li vedremo poi di volta in volta.
Alla prossima

Alessandro

Print | posted on mercoledì 18 gennaio 2017 00:00 | Filed Under [ Xamarin ]

Powered by:
Powered By Subtext Powered By ASP.NET