Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze...

24
Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Programmazione I Watson e Cognitive Computing Anno Accademico 2015/2016 Candidato: Gabriele Quaranta matr. N46001425

Transcript of Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze...

Page 1: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

Scuola Politecnica e delle Scienze di Base Corso di Laurea in Ingegneria Informatica Elaborato finale in Programmazione I

Watson e Cognitive Computing

Anno Accademico 2015/2016 Candidato: Gabriele Quaranta matr. N46001425

Page 2: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

A tutti quelli che mi hanno sempre sostenuto e che mi hanno accompagnato in questa grande esperienza di vita.

Page 3: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

3

Indice

Introduzione ......................................................................................................................................... 4

Capitolo 1: Watson............................................................................................................................... 7

1.1 Introduzione alla QA ................................................................................................................. 8

1.2 Storia ........................................................................................................................................ 9

1.3 Funzionamento operativo ........................................................................................................ 10

1.4 Hardware e risorse .................................................................................................................. 11

1.5 Watson contro Giocatori Umani .............................................................................................. 12

Capitolo 2: Scienza e Informatica, i campi di applicazione ............................................................... 13

2.1 Impieghi sanitari ..................................................................................................................... 13

2.2 Impieghi Finanziari e Militari ................................................................................................. 15

2.3 Impieghi correnti e futuri ........................................................................................................ 16

Capitolo 3: Chef Watson .................................................................................................................... 18

3.1 Come funziona Chef Watson .................................................................................................. 19

3.2 Cognitive Cooking .................................................................................................................. 20

Conclusioni ........................................................................................................................................ 22

Ringraziamenti ................................................................................................................................... 23

Bibliografia ........................................................................................................................................ 24

Page 4: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

4

Introduzione

“What makes people and machine work together”.

Cosa questa frase possa significare è possibile solo immaginarlo, il presente ed un

futuro prossimo molto vicino stanno lavorando incessantemente per una vera e

propria ‘nuova frontiera’ della tecnologia.

Viviamo in un’era di macchine intelligenti e pensatrici, un’era in cui basta pensare al

gap tra le tecnologie di oggi e del ventennio trascorso, quando un semplice Megabyte

di memoria di archiviazione poteva sembrare incredibilmente grande, e quanto ora

stimando l’ammontare dei dati che condividiamo in rete , non basterebbero 2,5

miliardi di chiavette USB da 1Gigabyte.

Un’era in cui due concetti fondamentali hanno invaso la quotidianità di coloro i quali

lavorano nei campi dell’informatica e di chi non sapendo di averne a che fare ne fa

largo uso : Intelligenza Artificiale , e trattamento dei Big Data.

Figura 1 : Cos’è Cognitive Computing

Page 5: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

5

Per arrivare al concetto di “Cognitive Computing”

c’è da seguire un percorso logico e strutturale che parte dal più grande super

computer esistente: il nostro cervello; la mente umana, per quanto sia stata ed è

tutt’ore soggetta a profondi studi, elabora percezioni, sensazioni, emozioni azioni e

cognizioni. Acquisisce tramite i sensi umani per creare associazioni o astrarne

concetti, e può prendere decisioni e/o agire in base alle informazioni acquisite.

Cognitive Computing ha l’obiettivo di sviluppare un coerente, unificato e universale

meccanismo ispirato dalle capacità della mente umana.

Ha un ruolo fondamentale l’Intelligenza Artificiale (AI) che, branca delle scienze

cognitive, cerca un approccio sintetizzato e architetturale della mente vista come un

computer.

In particolare, a partire da un problema, l’obiettivo che si pone l’AI e che riprende la

CC consiste proprio nello scegliere cosa sia giusto o sbagliato, astraendo tutte le

informazioni estratte, e contestualizzandole in base al campo di utilizzo.

I sistemi cognitivi devono essere:

Adattivi: Cioè imparare e adattarsi in base ad obiettivi e meccanismi in

real-time.

Interattivi: Ovvero la capacità di interagire con utenti o altri sistemi

facilmente.

Contestuali: Cioè conoscere, identificare e astrarre elementi contestuali

come se fosse in apprendimento.

Questo approccio pressoché scientifico dell’aspetto computazionale viene poi ad

unirsi all’aspetto sopracitato del trattamento dei Big Data, ovvero la quantità sempre

crescente di informazioni che vanno poi a finire nello sconfinato mondo di Internet ,

specchio di una società quasi completamente digitalizzata.

Ed è per questo che i CC systems, strumenti di analytics avanzati studiati e messi

appunto dalla IBM in primis, vanno incontro all’analisi e allo studio di questa mole

Page 6: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

6

di dati con l’abilità che li contraddistingue: la capacità di scegliere.

Figura 2 : Uomo e Macchina.

Tali sistemi sono, in parte oggi, e saranno inoltre in grado di essere addestrati, in

grado di apprendere e di affiancare la presenza dell’uomo in ogni campo di

applicazione.

Nasce così IBM Watson, figlio di un team di ricercatori IBM e figlio dell’evoluzione

umana che non frena il desiderio di mettersi in gioco, con l’obiettivo di vincere la

sfida con il cervello umano in quanto a velocità, calcolo, decisioni, accuratezza e

coerenza.

Page 7: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

7

Capitolo 1: Watson

Figura 3: IBM Watson e i suoi processori

Dal nome del fondatore di IBM Thomas J. Watson, il sistema in questione ha

dimostrato di avere una spiccata “intelligenza”, quasi simile a quella umana

addirittura vincendo un difficilissimo quiz show americano “Jeopardy!” nel 2011.

Risultato grandioso considerando che il quiz era basato su sfumature di significato,

ironia, enigmi e quindi peculiarità umane piuttosto che di macchine o computer se

vogliamo. Il grande lavoro IBM durato quattro anni in sinergia tra l’altro anche con

l’Università di Trento ha permesso lo sviluppo del progetto ed in particolare di ciò su

cui è basato: Question Answering(QA).

Page 8: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

8

1.1 Introduzione alla QA

Figura 4: Architettura alto livello del DeepQA di Watson

Il sistema Watson è nato come unione di alcuni aspetti fondamentali:

Elaborazione del linguaggio(fase statica): apprendere e comprendere

quello che rappresenta l’80% dei dati a livello globale

Generazioni e valutazione delle Ipotesi: analisi di livello più alto che

permette di pesare e ‘scegliere’

Apprendimento Dinamico: Fase chiave in cui vi è l’apprendimento vero

e proprio e dove i vari input vengono accumulati e iterati.

Queste caratteristiche fanno sì che si passi da un approccio albero-decisionale, tipico

di algoritmi di ricerca e dei moderni sistemi logici, a sistemi probabilistici che

evolvono con i rispettivi utenti ed anche il passaggio da una ricerca basata su parole

ad uno strumento di conversazioni per la scoperta di risposte confidenti e classificate.

QA consiste proprio nello generare risposte in linguaggio naturale di domande

Page 9: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

9

generate da utenti umani e tramite un interfaccia testuale o ad immagini vi si fornisce

una risposta rapida a più tipologie di domande;

Infatti è possibile classificare le stesse domande in:

a. Domande di realtà (factoid): circa la cultura generale del mondo con

successive risposte True o false.

b. Domande sulla credenza soggettiva: con risposte di tipo

‘irrilevanti/inaccettabili’ o ‘rilevanti/accettabili’.

Si intuisce subito che la seconda tipologia è quella più vicina alla visione umana e

quindi quella più difficile da “riprodurre” digitalmente. Al contrario per le factoid

Watson si è rivelato il più avanzato sistema di QA esistente. QA (Question

Answering) e in particolare il DeepQA è l’algoritmo per l’analisi del linguaggio

complesso; si oppone alla semplice ricerca per documenti perché quest’ultima dalla

parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano

tale chiave, mentre il QA analizza il linguaggio di una richiesta sottoposta dall’utente

e ritorna una precisa risposta.

1.2 Storia

Da un adattamento di un sistema QA, il PIQUANT (Pratical Inteligent Question

Answering Technology), nasce Watson nel 2006 e sviluppato per 6 anni da un team

di venti persone prime del grande test “Jeopardy!”. Infatti nella prima parte del suo

sviluppo ci sono stati notevoli problemi poiché il sistema non riusciva ad avere una

buona percentuale di risposte corrette rispetto ad un normale essere umano. Nel 2007

con aggiornamento del firmware(DeepQA) si sono raggiunti valori per cui si poteva

competere con la figura umana; tale framework contiene componenti per: analisi

della domanda, recupero del contesto e generazione delle risposte candidate e

valutazione di risposte.

Page 10: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

10

1.3 Funzionamento operativo

La prima fase operativa consiste in un lavoro di regressione logistica eseguito tramite

analisi delle domande (ESG: English Slot Grammar) e il tipo di risposta lessicale

LAT (Lexical Answer Type) che nei casi più difficili costituiscono i punti

fondamentali di interpretazione del linguaggio, tanto che Watson ne supporta vari.

Tramite l’ESG, implementato nel linguaggio C si riesce a scomporre

grammaticalmente la frase tramite albero gerarchico e permette di rilevarne anche

errori. Ciò che l’ESG computa viene spedito al componente successivo, il

PRISMATIC che verifica il LAT per generare le risposte candidate ed estrarne gli

elementi di base (frames) e le relazioni tra gli stessi. La ricerca della risposta avviene

tra fonti di testo e documenti tramite i motori di ricerca Indri e Lucene. La verifica

successiva avviene tramite il Type Coercion, esso determina se la risposta appartiene

allo stesso contesto della domanda stratificando la stessa in sotto-strati analizzati

separatamente in più livelli di conoscenza ed estraendo man mano il significato da

subroutine. Tramite database locali è possibile il confronto per verificare se è stato

centrato l’argomento trattato. Ora generata una lista di possibili risposte candidate

viene associato un punteggio per poterle ordinare.

Le candidate sono prima passate in parallelo a processi che restituiscono delle

evidences e poi analizzate da quattro algoritmi per trovare le effettive scelte tra tutti i

candidati.

Gli algoritmi che sottopongono le candidate alla scelta sono:

Passage Team Match: Misura le occorrenze di una o più parole tramite

statistica numerica.

Skip-Bigram: Calcolo numero dei termini che condividono semantica e

sintassi.

Textual Alignement: Quanto la risposta è correlata alla domanda.

Logical Form: riesce ad eseguire l’analisi logica delle parole per

Page 11: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

11

Il punteggio totale ne rileverà poi la riuscita; di solito si attribuisce un punteggio

positivo al secondo, mentre al primo e al terzo positivi per poi confrontarli con

l’ultimo.

Figura 5: Procedimento applicativo

1.4 Hardware e risorse

Il sistema è ottimizzato per gestire il carico di lavoro richiesto per generare ipotesi,

riconoscere la massima evidenza e analizzare dati, carico enorme solo considerando

tutto il lavoro che svolge nelle fasi e sotto-fasi sopracitate, integrando

processori POWER 7 estremamente parallelizzati. Da un punto di vista strutturale

Watson è composto da una griglia di novanta server IBM Power 750, ciascuno dei

quali è equipaggiato con un processore POWER7 ad otto core da 3.5 GHz, con

quattro threads per core. In totale il sistema ha 2880 thread di procesori POWER7 e

16 terabytes di RAM. Secondo alcuni scienziati del settore Watson potrebbe in teoria

analizzare 500GB di dati, equivalenti ad un milione di libri, addirittura ogni secondo.

Il progettista e consulente IBM Tony Pearson ha stimato i costi dell'hardware di

Watson in tre milioni di dollari. Tuttavia le sue prestazioni di 80 TeraFLOPs non

sono sufficienti per farlo entrare nella lista dei Top 500 SuperComputers. Inoltre tutti

i dati sviluppati da Watson in fase di gioco erano stati memorizzati in RAM per

evitare perdite di tempo eccessive nel caso di dischi rigidi.

Le risorse di cui Watson gode costituiscono enciclopedie, dizionari, tesauri, articoli,

lavori letterari, il tutto come detto prima grazie all’uso di database come per esempio

DBPedia, o il più famoso YAGO. La particolarità di Watson durante il quiz

televisivo che l’ha reso “famoso” ai più, è stata quella di non essere connesso ad

internet quindi possiamo dire sia stata tutta farina del suo sacco, considerando ben 4

terabytes di archiviazione.

Domanda Significato

domanda

Possibili

risposte

Ricerca

evidenze

Interpretazion

e evidenze Risposta

Page 12: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

12

1.5 Watson contro Giocatori Umani

Assunto come Watson opera è doveroso il paragone con il ragionamento umano e

soprattutto è giusto capire perché nel quiz “Jeopardy!” ha vinto. Generalmente

Watson ha difficoltà nel comprendere i contesti delle domande, contesti che gli

umani in genere percepiscono in maniera più intuitiva in particolare per domande

brevi, tuttavia uno dei punti a favore di Watson è il rispondere solo in caso di

certezza in modo da evitare gran parte degli errori che umanamente si commettono

per non considerare poi la parentesi psicologica e emotiva che un uomo non può

escludere in una competizione, specialmente se essa è incentrata su premi economici.

Page 13: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

13

Capitolo 2: Scienza e Informatica, i campi di applicazione

La continua evoluzione del digitale unita alla mole di dati in continua fase di

crescita costituisce uno degli ambiti per cui Watson è nato e si è evoluto, trovando

contesti operativi ben oltre l’immaginario: campo finanziario, burocratico,

sanitario, bancario. Gli ultimi mesi della sua vita hanno permesso l’estensione del

set di strumenti di big data analytics, mettendo in oltre a disposizione alcune

piattaforme cloud come per esempio Watson Discovery Advisor per aprire a

sviluppi in ogni ambito da chiunque avesse abbastanza genialità e fantasia per

farlo con a disposizione più potenza di calcolo e soprattutto più spazio per la

raccolta dati.

2.1 Impieghi sanitari

Un progetto così ambizioso trova nel campo sanitario uno degli sbocchi più

efficaci e futuristici che in un futuro non molto prossimo significa maggiore

sicurezza nella diagnosi, maggiore efficienza e rapidità nelle cure. Certo, stupende

prospettive che comunque godono di fondamenta molto solide; la capacità di

Watson di apprendere, dedurre, assimilare quantitativi di informazioni che un

uomo solo con tanti anni riuscirebbe ad acquisire potrebbero fornire un ampio

supporto al personale medico che quindi resta il terminale ultimo del rapporto col

paziente, informato al dettaglio tramite il background informativo.

Page 14: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

14

2.1.1 Come Watson lavorerebbe

Nel trattamento con i pazienti, ad una malattia fisica sottoposta come query al

sistema descrivendo sintomi ed altri fattori relativi, Watson innanzitutto

sottopone la query stessa ad analisi statica e poi dinamica per analizzare le

parti sintattiche fondamentali, cerca i dati relativi al paziente e anche

l’ereditarietà circa le patologie che potrebbe contrarre per poter in fine

concludere con un’analisi generale ed una prima risposta, in questo caso un

ipotesi sulla malattia.

2.1.2 Feedback dal mondo

Per quanto non sia stato effettivamente testato se non in ultima fase, cioè nella

ricerca della cura o del trattamento, quindi fase a posteriori rispetto alle vere

intenzioni circa il funzionamento del sistema, ha suscitato l’interesse di molti

nell’approfondire la sua “carriera da computer-medico” nel 2011 grazie alla

Columbian University per identificare ambiti critici in cui il sistema avrebbe

potuto contribuire, la University of Maryland invece per comprendere come

Watson potrebbe aiutare il personale medico. Un anno dopo arriva una sorta di

contratto con la Cleveland Clinic per uno sviluppo combinato nei due ambiti

sopra-citati. Più recente è il lavoro della Baylor Collage of Medicine che, l’ha

impiegato per un ambito specifico, la ricerca sul cancro, per una ricerca più

veloce, per trattamenti e piani operativi; l’importante apporto che il sistema

può dare lo intuiamo se consideriamo come il sistema scientifico è in costante

evoluzione e nella lettura di articoli scientifici che per un uomo impiegherebbe

molto tempo, per un dispositivo del genere probabilmente neanche qualche

ora.

Page 15: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

15

2.2 Impieghi Finanziari e Militari

USAA, primo ente a pubblicizzarne l’uso effettivo in commercio, provvede ad un

servizio assicurativo, bancario, per investimenti e di ritiro prodotti a dieci milioni e

mezzo di militari congedati e operativi, e alle loro famiglie; ente famoso per

l’eccezionalità dei loro servizi e per la grande potenza finanziaria.

Tale ente sta offrendo il servizio Watson Engagement Advisor agli utenti di USAA

per aiutare i militari, uomini e donne alla transizione dallo stato in servizio a quello

di civili.

Figura 6: Watson e USAA

Questo, tramite domande rivolte circa il passaggio dallo stato operativo a quello di

civile, risponde, dopo un controllo su un database su migliaia di documenti circa

questo argomento, con dei feedback e delle informazioni riguardo chi ha già

affrontato tale situazione. Nel particolare la fase iniziale prevede la domanda da parte

dell’utente in transizione, come per esempio:

Posso rimanere nello stato di riserva per ricevere

riconoscimenti da veterano?

Per poi rispondere dopo aver confrontato la mole di dati che la banca dati

dell’USAA mette a disposizione e allo stesso tempo riesce ad assumere informazioni

Page 16: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

16

e ad assimilare esperienza relativamente a quella domanda. Quindi un impiego

maturo e di una certa rilevanza considerando il numero di persone a cui è rivolto il

servizio e l’impatto sociale in grado di fornire nel “relazionarsi” con più individui

apprendendo man mano sempre in più.

2.2.1 Dal lato utente

La fruibilità digitale dei beni di consumo ha chiaramente rivoluzionato il

mondo delle vendite e in particolare l’interazione tra il venditore, nella

gestione di un vero e proprio negozio online e l’utente bersagliato da

pubblicità, innumerevoli siti, e tipi di ricezione del prodotto. Infatti una delle

priorità dell’utente che investe in questi negozi online è proprio la spedizione

personalizzata, il tipo di interazione con il negozio e quindi il modo in cui

internet conosce l’individuo. IBM Watson Engagement Advisor trasforma il

modo di relazionarsi tra individui e compagnie durante tutta la durata di una

relazione, ed usato da entrambe le parti; esso offre servizi di:

Aiuto nel comprendere al meglio, tramite la loro storia passata, di

cosa i clienti hanno bisogno e le loro aspettative.

Impiega del personale dovunque essi siano, in qualsiasi momento

qualcuno ne abbia bisogno

Ricerca approfondita tramite la mole di documenti presente (Big

Data) per cercare prove e informazioni decisionali.

Quindi Watson fa leva sui più recenti servizi di Analytics per avvantaggiare i

nuovi membri di USAA, tramite informazioni reperite nei più svariati bacini

di informazioni per costruire una esperienza personalizzata all’utente.

2.3 Impieghi correnti e futuri

Ciò per cui il consiglio generale di Watson ha deciso di lavorare, impieghi legali

soprattutto, è poi mutato in utilizzo intensivo da parte di varie compagnie circa

telecomunicazioni, servizi finanziari come detto prima, e governativi.

Page 17: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

17

Sin dal 2010 l’IBM ha deciso di mettere sul mercato sia i server POWER750 che il

cuore vero e proprio del sistema, cioè l’algoritmo DeepQA. Gli anni dal 2013 hanno

prodotto impieghi da alcune compagnia per utilizzi embedded, per esempio con

applicazioni come “The North Face” che suggerisce consigli per lo shopping online,

o ulteriori applicazioni per consigli sul benessere personale; tutto ciò grazie ad alcune

API che la stessa IBM mette a disposizione a molti team di ricerca e sviluppatori per

evoluzione in questi ambiti.

Nel 2014 inoltre vi sono stati due grandi traguardi che Watson e l’IBM hanno

raggiunti: un ingente investimento per l’aiuto di paesi dell’Africa sottosviluppati

nella risoluzione di problemi di salute ed educazione per le popolazioni del luogo, e

inoltre una sorta di contest tra numerose aziende per lo sviluppo di progetti di eco-

sostenibilità che impiegassero Watson nelle proprie ricerche. Infine un impiego

degno di noto, per così dire, in scala ridotta, è quello dei Chatterbot, ovvero

dispositivi sempre basati sull’intelligenza del sistema per la comunicazione, tramite

audio e testo, simulando un partner umano e quindi concretizzando un vero e proprio

dialogo con numerosi impieghi. Dal più istruttivo per un confronto con i bambini

nello studio del linguaggio, fino a quello più massivo e malizioso, che tramite le chat

room, finestre di dialogo private offerte da alcuni siti, sono in grado di rubare le

informazioni di persone che impiegano tali siti per altri fini.

Page 18: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

18

Capitolo 3: Chef Watson

Uno degli impieghi sicuramente più originali a mio parere, seppur non utile come

può essere quello per il campo medico, è il contesto gastronomico. Può sembrar

strano affidare ad una tecnologia così evoluta un contesto simile, tuttavia ci sono

dei lati molto interessanti che è giusto considerare.

La sfida è stata quella di sottoporre a Watson migliaia di ricette per poi testare la

capacità di creare nuove idee nell’associare ingredienti che un palato umano per

esperienza non potrebbe mai associare, ma che una macchina non dotata di palato

può. Previa descrizione delle caratteristiche culinarie di gran parte degli ingredienti

Chef Watson ha reso noto, sotto altre veci quello che è il concetto di Cognitive

Computing.

Figura 7: Presentazione Chef Watson

Page 19: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

19

Da una partnership con chef dell’ Institute of Culinary Education(ICE) che hanno

sviluppato e testato il sistema prima dell’uscita definitiva nel marzo dello scorso

2014 con la relativa presentazione di un applicazione web, in collaborazione con

“Bon Appetit!”. Da allora ha “aiutato” il mondo della cucina e quello più raffinato

degli chef nella ricerca di sapori e della novità che la mente umana non avrebbe

avuto neanche modo di pensare.

3.1 Come funziona Chef Watson

Nel suo sviluppo, Watson ha imparato molto dalle ricette a lui sottoposte durante la

fase di apprendimento, conoscendo quindi abbinamenti esistenti tra gli ingredienti,

come sono usati in relazione ai sapori e i vari stili di cucina. Assunte queste

informazioni è stato in grado di rielaborarle, ridisegnando il concetto di cucina

nell’associazione di ingredienti generando uniche combinazioni.

Per quanto un uomo abbia numerose intuizioni ma dimostra problemi e limitazioni

legate alle esperienza, con questo approccio alternativo si dimostra l’effettiva

collaborazione uomo macchina e l’immenso potenziale che ne scaturisce; in più

generate le prime nuove esperienze culinarie, lo Chef-bot in questione è riuscito ad

apprendere ancor di più tramite i feedback dei suoi primi utenti.

Figura 8: Chef Watson web application

Page 20: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

20

Proprio nell’applicazione web, inserendo l’ingrediente base da cui poi Watson ne

confronterà gli abbinamenti, generano una serie di risposte e ricette. Nell’esempio si

sfiderebbe chiunque a poter mai immaginare un Burger alla crema di cocco.

Figura 9: Un esempio completo.

3.2 Cognitive Cooking

Lo sviluppo durato tre anni di “Chef Watson” tra IBM e ICE ha permesso di

estendere l’utilizzo di questo innovativo sistema, non solo come supporto all’uomo

come per esempio nei campi finanziari o sanitari come detto prima e quindi che

esterna non solo quello che Watson sa fare, ma anche come esso stesso può interagire

nella vita di tutti i giorni. Cognitive Cooking rappresenta non solo un insieme di

ricette e di associazioni, ma un sistema ben architettato che preleva da un database le

informazioni come per tutti gli altri impieghi, focalizzandosi in questo contesto sui

tipi di pietanze, sugli stili di cucina, sulla psicologia umana, sul senso del gusto e

quindi su cosa l’uomo tende a preferire insieme ai feedback di chef esperti che si

sono messi a disposizione per favorirne la crescita. L’abbinamento dei cibi diventa

poi la parte più difficile poiché si basa appunto sulla chimica dei sapori e quindi un

livello più alto di gastronomia. Quindi lascia la strada aperta ad argomenti affini

Page 21: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

21

come per esempio la ricerca sul cancro: infatti come per la ricerca del lato chimico

del cibo e quindi quando un ingrediente può star bene con un altro, così sviluppi

futuri potrebbero aprire a quegli “abbinamenti” tra molecole che permetterebbero il

regredire di questa malattia.

Quindi ricapitolando come l’aspetto cognitiva lavora in questo esempio:

a) Popola il database: Permettere a “Chef Watson” di avere numerosi

riferimenti, in questo caso ricette, di un numero elevato di culture.

Fornirgli inoltre gli abbinamenti e i feedback che in primis gli chef

sono in grado di dare.

b) Nuove ricette: Una volta forniti i dati principali, e una volta creati a

livello di codice le associazioni che il sistema internamente deve fare,

si fornisce in ingresso l’ingrediente madre. Tale ingrediente sarà

sottoposto ad analisi statica, in modo da trovare nel database tutte le

ricette che prevedono tale ingrediente; in più tutti gli abbinamenti legati

al gusto(quindi l’aspetto chimico).

c) Apprendimento: La fase finale, ciclica per tutti i sistemi cognitivi,

consiste nell’apprendere dagli utenti quanto per esempio una ricetta sia

gradita e da quale cultura l’utente proviene. Queste due informazioni

apparentemente innocue permettono di creare internamente allo “chef”

un mapping di dove alcune ricette e alcuni abbinamenti sono più

gettonati e quindi permette un accumulo per le future richieste.

Page 22: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

22

Conclusioni

In definitiva abbiamo riscontrato di come tali sistemi cognitivi riescano

perfettamente a rappresentare le esigenze della società moderna in quanto a tecniche

avanzate e metodologie di applicazione. Dai campi applicativi più disparati si evince

un unico fattore comune: il supporto e la precisione delle macchine. L’era delle

macchine che solo i grandi film d’autore prevedevano sta per arrivare, e con essa

sistemi sempre più intelligente in grado di aiutare l’utente in una ricerca generica,

nella ricetta perfetta, negli impieghi post lavorativi, nel supporto a medici e operatori

governativi.

La cosa ancora più interessante è che il sistema in generale si trova ad uno stato

evolutivo ancora intermedio, e che quindi, anche grazie alla messa a disposizione di

API da parte di IBM, permette ai più lo sviluppo personalizzato. Non esistono ancora

macchine del tutto intelligenti, ne probabilmente esisteranno tra qualche anno,

proprio perché mappare la mente umana è qualcosa di inconcepibile proprio perché

neanche in ambito medico la si conosce del tutto, tuttavia gli sforzi che hanno portato

ai risultati più recenti sono di gran lunga inaspettati e lasciano dunque la possibilità

di ingenti sviluppi futuri.

Page 23: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

23

Ringraziamenti

Ciò che è stato per me questo traguardo può essere sintetizzato in poche parole. Traguardo

che seppur breve rispetto a quanto potrebbe essere un grande impiego lavorativo o studi

specialistici ha rappresentato per me, al dilà delle difficoltà che tutti gli studenti in questi

campi affrontano, alcuni anni di maturazione mentale soprattutto. L’abilità nel vivere la

vita universitaria non sotto stress e quindi lontano da pressioni è la cosa che più mi ha

aiutato, nonostante alcuni mesi siano stati molto difficili per me. Traguardo che ho potuto

realizzare grazie al supporto morale ma soprattutto materiale della mia famiglia, che non

ha mai esitato nell’assistermi. La cosa di cui più sono fiero è che ho fatto tutto con le mie

forze, seppur con fatica e qualche incidente di percorso. Infine ma non meno importante è

l’aver conosciuto compagni di viaggio che condividono con me un servizio di car sharing

e amici che hanno condiviso con me questi anni.

Page 24: Programmazione I - Facoltà di Ingegneria · parola chiave di riferimento poi ritorna le occorrenze o informazioni che presentano tale chiave, mentre il QA analizza il linguaggio

24

Bibliografia

[1] Cognitive Computing – Article by Dharmendra,S.Modha,Anthony Ndirango.

[2] Cognitive Computing – Wikipedia

http://en.wikipedia.org/wiki/CognitiveComputing 01/11/15

[3] La nuova frontiera del cognitive computing – Wired

[4] What's The Future Of Cognitive Computing? IBM Watson – IBM

article

[5] USAA and Watson – IBM USA

[6] IBM Chef Watson: A Metaphor for Discovery – IMB USA

[7] Watson & Cognitive Computing – Il sole 24 Ore, di Patrizia Ceraveo

[8] IBM’s Watson does some culinary computing for its first cookbook – Gizmag

article by David Szondy