L'informatica è progredita in modo significativo negli ultimi dieci anni e, per la maggior parte di noi, diventerà ancora più grande nel corso della nostra vita. L'apprendimento automatico e l'intelligenza artificiale hanno attribuito molto ai recenti progressi nel campo dell'informatica. È fantastico tornare ai tempi in cui telefoni e computer erano stupidi con elaborazione e hardware limitati che abbiamo quasi scartato. Ad un'estremità dello spettro abbiamo tali dispositivi e sistemi legacy quasi prossimi all'estinzione e poi abbiamo dispositivi e servizi come Holo Lens di Microsoft e Amazon Alexa che ci danno una sbirciatina in ciò che il futuro vede.
Una delle recenti prodezze dell'intelligenza artificiale è stata il software e i robot di assistente sensibili al contesto. Aziende come Google, Apple, Microsoft e altre hanno contribuito molto a rendere la loro versione nostrana di quelli che consideriamo assistenti intelligenti, più simili agli umani.
La storia dell'intelligenza artificiale e degli assistenti intelligenti
Ora, è fondamentale esaminare cosa è successo esattamente in questo campo e come siamo arrivati a utilizzare questa tecnologia come se non fosse un grosso problema. Ai tempi in cui Apple ha lanciato Siri, gli assistenti intelligenti non erano davvero una cosa, e l'unica volta che hai sentito la parola "bot", potevi essere certo che avesse qualcosa a che fare con i robot hardware fisici reali. Il modo in cui noi utenti siamo stati in grado di interagire con questi assistenti era un po' a senso unico. Quando dico un modo, significa che questi assistenti o bot (se ce n'erano in quel momento) usavano risposte pre-programmate a determinate parole o domande calde per rispondere alle domande dell'utente.
Il problema con questo approccio era che diventava ripetitivo, abbastanza rapidamente. Questo motivo era abbastanza grande in sé da attribuire al fatto che nessuno trovava utili gli assistenti, e questi diventarono rapidamente solo un espediente invece di diventare una caratteristica utile.
Dato che Apple (a quei tempi) era il pioniere della tecnologia, ogni altra azienda ha cercato di salire sul carro e costruire la propria offerta e così abbiamo visto Samsung rilasciare S Voice sui propri dispositivi Galaxy e molti altri che sono semplicemente svaniti nel tempo.
Quello che può essere considerato un momento cruciale nel progresso degli assistenti intelligenti è stato quando Google è entrato in gioco e ha deciso di provare l'intero assistente intelligente. Se hai anche la minima idea di quanti dati Google è stato seduto, non negherai che Google ha avuto la possibilità migliore di farlo nel modo giusto. Google Now è stata la prima volta che l'assistente intelligente sembrava qualcosa che potevamo usare quotidianamente. L'enorme quantità di dati che Google ha inserito per addestrare il sistema ha reso l'intera esperienza naturale. Con i recenti progressi nel campo dell'apprendimento automatico e in particolare delle reti neurali, abbiamo sicuramente raggiunto un punto di svolta, con i sistemi che diventano capaci di eseguire compiti con precisione a livello umano. Questo è il motivo principale per cui oggi puoi avere una conversazione bidirezionale e sensibile al contesto con l'assistente. E questo è il motivo principale per cui bot e assistenti hanno iniziato a diventare utili. (Un ringraziamento speciale a Microsoft per aver mostrato ciò che l'intelligenza artificiale è in grado di creare il bot chiamato Tay!)
Mentre Siri e Google Now, in quanto assistenti intelligenti, sono stati in gioco solo per un breve lasso di tempo (considerando che sono stati lanciati solo nel 2012), IBM era già abbastanza avanti rispetto alla curva nel settore dell'intelligenza artificiale. L'azienda ha ricerche e innovazioni che supportano i suoi oltre 40 anni di lavoro in questo campo. Questo è un fattore chiave che ha determinato la sua vittoria in Jeopardy 2011 (prima che esistessero assistenti intelligenti).
Cos'è il pericolo?
Jeopardy è un gioco televisivo americano creato da Merv Griffin. Lo spettacolo presenta una competizione a quiz in cui ai concorrenti vengono presentati indizi di cultura generale sotto forma di risposte e devono formulare le loro risposte sotto forma di domande, leggi di più qui. Anche se potresti pensare che fosse solo un altro quiz show, ecco l'accordo con Jeopardy, capire la domanda in sé è un grosso problema, per non parlare della risposta. Questo da solo rende Watson una delle macchine più intelligenti mai costruite.
Un'altra testimonianza dell'innovazione di IBM è quando il sistema Deep Blue di IBM sconfisse l'allora campione del mondo di scacchi, Garry Kasparov nel 1997. Mentre la sconfitta di Lee Sedol al gioco del Go ha attirato più attenzione, l'innovazione in questo campo è iniziata nel 1997 dopo La sconfitta di Deep Blue.
Oggi abbiamo aziende come IBM, Microsoft e Facebook che investono molto su piattaforme che consentono di creare bot senza una grande esperienza richiesta. Ora, prima ancora di arrivare a come puoi costruirne uno, è banale chiederti perché vorresti costruirne uno in primo luogo.
Se guardi un po' più da vicino, troverai un sacco di situazioni in cui i robot non solo possono essere di aiuto, ma superare l'efficienza con cui un essere umano può svolgere un compito. Alcuni di questi esempi potrebbero essere l'assistenza clienti, l'assistenza sanitaria (è necessario verificare come IBM Watson sta aiutando medici e professionisti medici nella ricerca sul cancro. Visita questo link per saperne di più) ed estensioni e-commerce. La scala con cui operano le principali aziende e l'enorme quantità di dati su cui si trovano, non solo aiuterà a scalare maggiormente le loro attività, ma offrirà anche esperienze più ricche e coinvolgenti per i loro consumatori.
In questo post, vedremo quanto sia facile per qualcuno senza alcuna conoscenza di programmazione, creare un bot intelligente e contestuale che utilizzi Watson Conversation Service (WCS) di IBM.
Cos'è questo Watson che chiedi?
Bene, Watson è il supercomputer di IBM che utilizza l'intelligenza artificiale e il software di analisi per creare un sistema di risposta alle domande ottimizzato per le prestazioni. Watson è in grado di elaborare a una velocità di 80 teraflop al secondo. Per raggiungere la precisione a livello umano durante l'elaborazione delle query e la fornitura di risposte, Watson accede a oltre 90 server con un archivio dati combinato di 200 milioni di pagine di informazioni. È stato chiamato dopo il primo CEO di IBM (non quello di Sherlock Holmes voi nerd della letteratura!). Vale la pena notare che mentre ci concentriamo maggiormente sui Watson Conversation Services in questo articolo, Watson non si limita solo a questa attività. Watson è in grado di elaborare le informazioni più come un "uomo intelligente" che un computer, il che significa che è in grado di analizzare contestualmente i dati forniti. Il sistema è così avanzato che è in grado di determinare se i dati sono strutturati o non strutturati, sa che i dati non sono creati uguali. Oltre all'analisi contestuale, è anche in grado di differenziare tra diversi tipi di informazioni. È anche in grado di leggere, analizzare e imparare dal linguaggio naturale, proprio come gli umani. È un sistema molto sofisticato e non possiamo andare avanti su tutte le sue capacità, ma quelle sopra elencate sono più che sufficienti per metterlo davanti a qualsiasi altro sistema attualmente operativo, perché Watson ha imparato e si è evoluto con il tempo e ora IBM sta permettendo tu, gli sviluppatori, per sfruttare le sue funzionalità per potenziare la tua applicazione e i tuoi servizi.
Servizio di conversazione Watson
Watson Conversation Service si basa su Bluemix Cloud di IBM e ti consente di creare interfacce per client popolari come Slack e Facebook Messenger che gli utenti possono utilizzare per ottenere ciò che desiderano in modo semplice. (In effetti le interfacce conversazionali sostituiranno le interfacce visive in futuro!).
Watson Conversation Service è così avanzato e così ben strutturato che puoi avere il tuo chatbot attivo e funzionante in meno di 10 minuti e non sono io a dirlo, è ciò che afferma IBM. La sua semplicità d'uso lo rende un ottimo toolkit per l'arsenale di qualsiasi sviluppatore. Immagina quanto può diventare intelligente la tua prossima app o servizio con l'integrazione di tale intelligenza e la parte migliore è che non è assolutamente necessaria alcuna esperienza di apprendimento automatico.
Prima di iniziare a costruire un chatbot, devi capire alcune cose fondamentali su come funziona Watson. Watson fa uso di 3 cose chiave:
- Intento
- Entità
- Dialogo
An intento è un gruppo di esempi che un utente potrebbe dire per comunicare un obiettivo o un'idea specifici. In parole più semplici, un intento è una descrizione ampia di un'attività che un utente potrebbe voler eseguire.
Entità, d'altra parte, consente all'applicazione e al servizio di decidere a un livello più basso/granulare cosa esattamente l'utente desidera fare. Le entità sono il modo in cui Watson gestisce modi significativi per gestire l'input degli utenti. Viene utilizzato per chiarire gli intenti e consentire una risposta diversa per ogni caso.
Infine, a dialogo è ciò che lega intenti ed entità. Consente a un bot di riconoscere intenti ed entità per rispondere alle query dell'utente. Le finestre di dialogo vengono utilizzate per porre domande di chiarimento se le informazioni fornite non sono sufficienti o per guidare gli utenti attraverso processi più elaborati.
Utilizzando solo le conoscenze che ti ho impartito sopra, puoi facilmente utilizzare gli strumenti Web di IBM per creare un bot di chat che risponda alle tue domande. L'unico requisito è avere un account IBM Bluemix. A parte questo, tutto è abbastanza semplice. Puoi registrarti per un account Bluemix su questo link.
Ci sono molte guide e video disponibili online per iniziare, per non parlare del fatto che la documentazione di IBM è abbastanza autosufficiente per iniziare. Considerando il fatto che Bluemix è gratuito per una prova di 30 giorni, dovresti aspettare, invece sporcarti le mani.
C'è un blog di IBM sulla creazione di chatbot che è particolarmente utile, vai su questo link per dare un'occhiata a questo. Come risorsa utile, IBM ha anche realizzato un video illustrativo che è incorporato di seguito, è possibile utilizzarlo come riferimento per una panoramica dettagliata.
Inoltre, IBM ospita 2 CrowdChats e una Facebook Live Session per gli sviluppatori interessati a creare cose con Watson. Ti consiglio vivamente di registrarti tramite i link indicati di seguito.
- Chat della folla 02 – http://ibm.co/2jgrrq9 (13th febbraio 2017)
- Facebook Live - http://ibm.co/2jo6rM1 (16th febbraio 2017)
Nel caso tu abbia bisogno di una rapida procedura dettagliata, ecco un video che ti insegnerà a costruire il tuo bot in meno di 6 minuti.
Infine, per ulteriori dettagli e per controllare lo sviluppo di Watson, puoi controllare la loro pagina GitHub su questo link.
Conclusione
Il ritmo con cui la tecnologia sta avanzando, è estremamente evidente che gli assistenti intelligenti e i robot alimenteranno la prossima generazione di servizi mentre l'hardware e persino il software passeranno in secondo piano. Gli utenti saranno in grado di interagire direttamente con i servizi nel modo più naturale possibile. Nel momento in cui IBM sta sperimentando offerte come Bluemix e Watson Conversation Service, l'unico collo di bottiglia che le aziende dovranno affrontare nello sviluppo di queste esperienze sarà la mancanza di talento. Quindi dovresti chiaramente dare un'occhiata più approfondita all'intelligenza artificiale e all'apprendimento automatico come possibile prospettiva di carriera.
Rishi Mishra
Stupendo, che bella idea.
Jeslin
Mi sono appena imbattuto nel tuo blog e volevo dire che mi è piaciuto molto leggere i tuoi post. In ogni caso mi iscriverò al tuo feed e spero che pubblichi di nuovo presto.