Nuove prospettive nell’Intelligenza artificiale
Premessa
Il programma di ricerca noto come Intelligenza artificiale (IA) nasce ufficialmente nel 1956, nel corso della conferenza organizzata a Dartmouth (Stati Uniti) da John McCarthy, Marvin Minsky, Nathaniel Rochester e Claude Shannon. Nel documento preparatorio della conferenza, che era stato redatto e fatto circolare nell’anno precedente, i quattro autori davano una definizione di IA attraverso l’indicazione del suo principale obiettivo: «Costruire una macchina che si comporti in un modo che sarebbe considerato intelligente nel caso di un essere umano» (Cordeschi 2002, p. 180). La macchina alla quale alludevano gli autori del documento era il calcolatore digitale, che aveva cominciato a diffondersi nei centri di ricerca degli Stati Uniti e dell’Europa al di là delle iniziali applicazioni in campo militare e commerciale. L’intelligenza alla quale essi si riferivano, e alla quale si riferiranno i ricercatori negli anni immediatamente seguenti, era quella umana nelle sue forme alte, quali il ragionamento euristico e la pianificazione, la gestione e il reperimento dell’informazione, le capacità logico-linguistiche e la rappresentazione della conoscenza.
Da quegli anni l’IA è molto cambiata: il calcolatore è oggi usato sempre più estesamente nella simulazione di sistemi anche non deterministici, o che includono caratteristiche degli organismi come lo sviluppo e l’evoluzione, e l’intelligenza che si vuole riprodurre nelle macchine è spesso integrata con abilità senso-motorie, le quali sono alla base dell’interazione con il mondo reale tanto nel caso degli esseri umani quanto, e soprattutto, in quello degli animali. Quest’ultima è la prospettiva aperta con successo dalla robotica più recente, ma non si deve pensare che la buona parte dei temi prima ricordati, che hanno caratterizzato le fasi iniziali dell’IA, siano stati accantonati. Oltre che nella stessa robotica, è nel mondo degli agenti che popolano il World wide web (web d’ora in avanti) che quei temi sono ripresi in modo influente e socialmente rilevante. Nell’insieme, questi settori della ricerca hanno aperto e aprono all’IA prospettive inedite fino a qualche anno addietro, il cui obiettivo è la costruzione di agenti, virtuali nel caso del web, reali o embodied (‘incorporati’) nel caso dei robot, dotati di gradi di autonomia crescente; tale processo comunque deve sempre scontare l’incertezza e la parzialità delle informazioni che questi agenti hanno sui loro rispettivi mondi.
Autonomia e incertezza nel web e nei sistemi di supporto alle decisioni
Il problema di come rappresentare la conoscenza in un programma per calcolatore è stato sollevato inizialmente dall’IA nell’ambito dei sistemi esperti, sistemi progettati per gestire basi di conoscenza il più possibile estese, relative a determinati domini, utilizzabili da un motore inferenziale per ottenere conclusioni. Inizialmente impiegati in campi come la diagnosi medica e più in generale il supporto alle decisioni, è attualmente nel Web che si sono riprese alcune tematiche dei sistemi esperti. I due aspetti notoriamente più delicati nello sviluppo di una base di conoscenza sono la rappresentazione e l’acquisizione della conoscenza. Il primo aspetto riguarda quale sistema di rappresentazione adottare per codificare la conoscenza in modo da renderla utilizzabile da parte del programma. In generale, è necessario rappresentare la terminologia specifica di un certo dominio, ovvero il linguaggio tecnico usato dagli esperti, le entità del dominio e le relazioni strutturali, cioè i legami tra le entità. Il secondo aspetto, l’acquisizione della conoscenza, riguarda il problema di come selezionare i fatti rilevanti relativamente al particolare dominio in esame (Intelligenza Artificiale, 2001, cap. 11).
Un sistema esperto che possiamo ricordare come anticipatore di molte esigenze attualmente al centro delle ricerche sugli agenti web è Grundy, proposto da Elaine Rich nell’articolo User modeling via stereotypes («Cognitive science», 1979, 3, pp. 329-54). Il sistema simulava il comportamento di un bibliotecario che doveva consigliare all’utente della biblioteca quali volumi consultare su un determinato argomento. Rich introdusse il concetto, poi rivelatosi centrale nel web, di ‘modellazione utente’. Perché l’interazione tra il bibliotecario e l’utente risulti efficace, il bibliotecario deve acquisire quante più conoscenze possibili sulle specifiche esigenze di quest’ultimo, sui suoi interessi e i suoi obiettivi: in altri termini, deve acquisire un ‘modello utente’ (user model).
Il modello utente può essere acquisito da un sistema o agente web in modi diversi. In certi casi il sistema comincia con il collezionare alcuni fatti rilevanti che riguardano l’utente, come l’età, le preferenze, l’esperienza in un certo settore. Questo approccio, tuttavia, è limitato per due motivi: potrebbe essere necessario per il sistema porre all’utente un numero molto ampio di domande per ottenere la conoscenza di cui ha bisogno e, inoltre, l’utente potrebbe non dare risposte accurate o pertinenti. Nel trattare situazioni incerte come queste, il sistema dovrebbe essere capace di ricavare o dedurre informazioni riguardanti l’utente sulla base di un numero generalmente ridotto di conoscenze che gli siano state date in forma esplicita.
Si pongono a questo punto due questioni strettamente collegate. La prima questione riguarda il modo con cui ricavare informazioni attendibili da quanto riferiscono gli utenti relativamente alle loro esigenze e ai loro obiettivi. Alcuni esperimenti condotti da Richard Nisbett suggeriscono che un metodo del genere, basato su resoconti affidati all’introspezione degli utenti, non è sempre affidabile. Altri esperimenti, condotti da William McGuire, mostrano come gli utenti siano influenzati dal gruppo sociale di appartenenza. La seconda questione riguarda il modo con cui rappresentare le informazioni in forma esplicita in un sistema, in questo caso un sistema o agente Web. Per la formazione del modello utente in sistemi interattivi come questi, Rich introdusse nel lavoro ricordato gli ‘stereotipi’. Un magistrato potrebbe essere rappresentato da una gamma di attributi che riguardano l’essere un uomo o una donna di età superiore ai 30 anni, l’essere ben educato, magari onesto, e così via: attributi che costituiscono uno stereotipo, e che si assumono fino a prova in contrario. Con l’una come con l’altra questione si era già confrontata l’IA nella costruzione dei sistemi esperti. Esse non trovano soluzioni univoche, a causa dell’incertezza e dell’incompletezza dei dati che caratterizzano le situazioni della vita reale, e della cosiddetta conoscenza basata sul senso comune (su quest’ultimo argomento v. oltre).
Nel web si sono avviate una serie di ricerche e di tecniche specifiche che tentano di affrontare questi problemi: una tecnica è quella della personalizzazione dell’utente. I dati per la modellazione dell’utente possono essere raccolti in modo esplicito e in modo implicito. Nel primo caso è l’utente che fornisce al sistema le informazioni pertinenti, rispondendo alle richieste di dati che lo riguardano: se si tratta, per es., di un sito web che vende libri, tali dati possono essere l’età, la formazione, la provenienza, le letture preferite, e così via. Nel secondo caso, quello della modellazione implicita, il sistema ‘segue’ il comportamento dell’utente mentre questi esplora il sito, e utilizza i dati così raccolti come base per ricavare in modo automatico, deduttivamente o induttivamente, l’informazione necessaria allo scopo di costruirsi un modello dell’utente. È quanto accade, per es., con i cosiddetti cookies, che si autoinstallano sui comuni navigatori, come Mozilla o Internet explorer: essi hanno la funzione di raccogliere le informazioni sul comportamento dell’utente nella sua navigazione nel web, il sito dal quale proviene, l’indirizzo IP (Internet Protocol), la durata della visita del sito, le pagine visitate e il relativo ordine di visita. Questi dati possono essere usati dal sistema di personalizzazione di un sito, poniamo, di una nuova compagnia telefonica. In questo specifico caso il sistema potrebbe concludere che, se un utente proviene da un’area geografica dove la compagnia opera, e ha visitato alcune pagine del sito riguardanti le offerte dell’ultima settimana, allora tale utente potrebbe essere un potenziale cliente. In questo caso, senza altre informazioni esplicite da parte dell’utente, il sistema potrebbe chiedere all’utente stesso i suoi recapiti (e-mail o numero di telefono) per contattarlo e personalizzare un’offerta.
La qualità dei servizi forniti all’utente dipende in larga misura proprio dalle caratteristiche del modello utente, ovvero dal fatto che le informazioni in esso contenute siano sufficientemente accurate, pertinenti e aggiornate. In generale, quanto maggiore è l’informazione presente nel modello utente, tanto maggiore è la conoscenza che il sistema ha dell’utente e tanto maggiore è la qualità dei suggerimenti che il sistema è in grado di offrire. I sistemi di modellazione e di personalizzazione che abbiamo ricordato permettono agli agenti web di raggiungere un certo grado, più o meno soddisfacente, di autonomia.
Tra i modelli utente sono molto diffusi sia quelli basati sul contenuto del documento (o della pagina web o del messaggio via e-mail) sia quelli cosiddetti collaborativi. Nel primo caso, un servizio o un prodotto vengono valutati sulla base di una descrizione pertinente, che viene confrontata con la descrizione degli interessi contenuta nel modello utente: in altri termini, il sistema confronta le parole contenute nelle descrizioni del prodotto o del servizio con le parole che ricorrono nel modello utente. Nel secondo caso, il sistema ipotizza che utenti che hanno avuto le stesse preferenze, per es. che in passato hanno apprezzato uno stesso libro o film, potrebbero avere preferenze simili anche in futuro, concludendo che se uno di tali utenti ha acquistato un nuovo libro o film, potrebbe farlo, con un certo grado di certezza, anche un altro utente. A questo punto, il sistema, se deve dare un suggerimento all’utente del quale non conosce direttamente le preferenze, può farlo con una buona approssimazione sulla base delle preferenze, che invece gli sono note, di un altro. Entrambi gli approcci, sia quello basato sul contenuto sia quello collaborativo, cercano di affrontare il problema di come usare con una certa autonomia la conoscenza parziale che gli agenti hanno di un dominio o di una situazione (Norvig, Russell 20032).
I casi descritti rappresentano un tipo particolare di sistema di personalizzazione: il recommender system. La tecnologia di Amazon, il sito web nato per la vendita di libri in rete, è basata su un recommender system, che è parte fondamentale del suo successo. Anche i sistemi di filtraggio della posta elettronica permettono all’utente di definire regole che rappresentano le loro preferenze. Attraverso tali regole il sistema costruisce il proprio modello utente che gli permette, per es., di raggruppare i messaggi in cartelle predefinite o di eliminare la posta indesiderata. I sistemi di e-learning, impiegati nell’apprendimento a distanza, sono un’altra area di applicazione della modellazione utente. Anche qui il modello utente è centrale perché, una volta ottenuta l’informazione necessaria sui diversi utenti, il sistema può fornire loro servizi personalizzati (D’Avanzo, Kuflik, Lytras 2008).
Le prospettive che si aprono in questo settore sono molteplici. Un esempio è la modellazione utente per la progettazione di sistemi multimediali per le visite nei musei. I visitatori usano in questo caso un palmare dotato di un segnale wireless (sistemi di comunicazione tra dispositivi elettronici, che non fanno uso di cavi), come nel prototipo realizzato presso l’ITC-irst di Trento (Intelligenza Artificiale, 2001, cap. 11). Il sistema, sulla base delle risposte del visitatore a una serie di domande che appaiono sullo schermo del palmare, può ricavare le sue preferenze e i suoi interessi. Sempre attraverso il palmare, i visitatori possono interagire con il server, fornendogli informazioni in retroazione (feedback) che permettono al sistema di offrire loro una visita personalizzata, adattata alle loro esigenze.
L’informazione in retroazione da parte dell’utente viene utilizzata in contesti diversi. Sistemi per la gestione della posta elettronica come Outlook, Mail, o Eudora sono forniti di procedure automatiche per estrarre un certo numero di attributi da un messaggio, come il mittente, l’oggetto, alcune parole chiave contenute nel messaggio, la presenza o meno di certi tipi di immagini. Quando riceve un messaggio, l’utente può comunicare al sistema che si tratta di ‘posta indesiderata’ semplicemente contrassegnandolo come tale. Un certo numero di messaggi, generalmente qualche decina, annotati come ‘posta indesiderata’, permette al sistema, dotato dell’opportuno algoritmo, di apprendere un modello per eseguire successivamente il compito in modo automatico. A differenza di casi come quelli sopra descritti, nei quali è l’utente che inserisce le regole, in questo caso il modello utente viene appreso dal sistema automaticamente in base al comportamento dell’utente stesso, utilizzando algoritmi di apprendimento automatico. Anche l’apprendimento automatico, un’area classica dell’IA, ha trovato nel Web nuove prospettive in forme che vanno dall’apprendimento supervisionato a quello basato su tecniche di analisi probabilistica, in particolare bayesiana, dei dati (Manning, Schütze 2003).
La categorizzazione automatica di testi (text categorization) è un’estensione del caso del filtro per la posta indesiderata a quello in cui le categorie non sono solo due (posta desiderata e non desiderata) ma sono molto più numerose. Come esempio si può citare il sito dell’agenzia di stampa internazionale Reuters, che, per classificare il continuo flusso di notizie, ha reso disponibili diverse collezioni di testi etichettati dai suoi addetti, usate per fare esperimenti di categorizzazione automatica. Gli esperimenti sulle collezioni di Reuters mostrano che, per alcune categorie, i sistemi eseguono il compito con un grado di attendibilità in certi casi paragonabile a quello di un esperto umano, anche se spesso commettono errori dovuti alle ambiguità linguistiche presenti nei testi. Anche motori di ricerca come Yahoo! o Google sono esempi in cui queste metodologie hanno avuto successo.
I sistemi sopra ricordati hanno come obiettivo prevalente l’individuazione di certe esigenze dell’utente. Vi sono poi altri sistemi che puntano a classificare gli utenti a seconda dei loro interessi nel dominio in cui essi effettuano una ricerca. Un sito web dedicato a un’area archeologica (prendiamo come esempio il sito di Ercolano realizzato presso l’Università di Napoli Federico II) può essere progettato in modo tale che i diversi utenti, nel corso della loro navigazione nel sito, vengano classificati dal sistema a seconda dei loro interessi prevalenti (di archeologo, architetto, turista, studente e così via). Il sistema, in altri termini, possiede una serie di profili di potenziali utenti (individuati dal progettista con la collaborazione di esperti di diversi settori), che usa per classificare i visitatori del sito sulla base delle ‘tracce’ che questi lasciano nel corso della loro navigazione, ovvero sulla base della scelta che essi fanno dei diversi argomenti messi a disposizione nel sito stesso. Al sistema diventa possibile, una volta ipotizzato un certo profilo utente grazie all’utilizzo di tali tracce o indizi, assistere l’utente nella visita del sito sulla base del suo specifico profilo (Intelligenza Artificiale, 2001, cap. 11).
Queste applicazioni di tecniche di IA nel web rientrano a pieno titolo nella categoria dei sistemi di supporto alle decisioni, sistemi automatici che assistono l’utente, esperto o meno, nello svolgimento di un determinato compito. Attualmente questi sistemi sono implementati sotto forma di assistenza nel web, e permettono a utenti diversi di interagire a distanza (Decision support and business intelligence systems, 20078). Altre applicazioni nel web che fanno ampio uso di queste metodologie riguardano il commercio elettronico (Giudici 2005). Un esempio è la web clickstream analysis: analizzando il flusso dei clicks su un sito, e usando le informazioni riguardanti l’ordine con cui vengono visitate le pagine, si può prevedere con buona approssimazione il comportamento di visita dell’utente, e diventa chiaro quali pagine sono particolarmente rilevanti per l’acquisto elettronico di certi prodotti. Un altro esempio è il web profiling: analizzando i dati relativi alle visite a un sito, si possono classificare gli utenti in base ai rispettivi profili comportamentali. In questo caso è possibile ottenere una classificazione dell’utenza che può essere usata in successive decisioni riguardanti il marketing. Infine, un altro esempio riguarda il customer relationship management, utilizzato per individuare gruppi omogenei di utenti in termini di comportamenti di acquisto e di caratteristiche sociodemografiche.
I sistemi di reperimento dell’informazione (information retrieval, IR in seguito) sono un altro settore dell’IA che trova nel web nuove prospettive. Un sistema IR ha la funzione di indirizzare l’utente a quei documenti che dovrebbero soddisfare nel modo migliore le sue esigenze nel processo di acquisizione di informazione. Se l’utente incontra difficoltà, magari perché le risorse a sua disposizione sono inadeguate, può cercarne altre rivolgendo una domanda, o query, a un sistema IR, come una banca dati o un motore di ricerca. Nel cosiddetto filtraggio delle informazioni (information filtering) il processo inizia con utenti che hanno obiettivi o esigenze relativamente stabili, a medio o lungo termine. Gli utenti (singoli individui o gruppi di individui) possono avere comunque obiettivi che cambiano gradualmente nel tempo. Il problema è quello di rappresentare efficacemente i profili degli utenti, in modo che il sistema possa successivamente modificarli e aggiornarli. Nei sistemi IR si rivela quindi di fondamentale importanza l’uso di tecniche adeguate di rappresentazione della conoscenza per la costruzione di profili degli utenti, mentre per l’aggiornamento automatico dei profili si ricorre a tecniche di apprendimento automatico basate sull’osservazione del comportamento dell’utente (Decision support and business intelligence systems, 20078). Ciò permette ai sistemi IR di raggiungere un buon grado di autonomia e di gestione dell’incertezza.
La linguistica computazionale è un’area nella quale si sono sperimentate numerose tecniche di elaborazione del linguaggio naturale ispirate dall’IA. Una di queste è la costruzione automatica di sommari (automatic text summarization). Con l’esplosione dell’informazione nella rete, gli utenti incontrano diverse difficoltà. Spesso, sono costretti a leggere buona parte di una pagina web prima di deciderne la rilevanza per le loro esigenze e per i loro obiettivi. Si verificano in questi casi fenomeni di sovraccarico cognitivo, ricorrenti quando si visitano siti e in generale risorse web di grandi dimensioni. Una possibilità per ridurre questo inconveniente è ricorrere a ‘sommari’ che orientino il comportamento di navigazione (browsing be-haviour). Studi recenti mostrano come i sommari, oltre a ridurre il sovraccarico cognitivo dell’utente, aumentano la conoscenza della pagina analizzata. Secondo alcuni autori, in particolare nella creazione di pagine web si dovrebbe dare sempre un’anteprima dell’informazione contenuta in un documento; il motore di ricerca Google, nel restituire i risultati di una ricerca, mostra, per ciascun documento, un breve sommario, o snippet, contenente alcune parole o frasi chiave del documento stesso, con l’obiettivo di dare all’utente un’idea degli argomenti ivi trattati (Data mining VI, 2005). Studi condotti su utenti mostrano come la lettura di un testo avviene con movimenti degli occhi ‘a scatto’, irregolari o ‘spasmodici’, che si concentrano sulle parole chiave per circa 250 millisecondi. Un sommario che sia troppo esteso rischia di produrre nell’utente sovraccarico cognitivo; viceversa, sommari brevi e concisi, come quelli costituiti da insiemi di parole chiave, possono ridurlo in modo sostanziale.
La costruzione dei sommari mediante parole chiave è un tipo di metodologia che nell’ambito della linguistica computazionale è nota come analisi superficiale, in quanto non fa uso di analisi linguistiche elaborate, come avviene invece quando si impiegano gli analizzatori sintattici, che riconoscono frasi o parti di frasi. Quest’ultima metodologia, detta analisi profonda, è di norma costosa in termini di risorse, e talvolta non vale la pena ricorrervi; i riconoscitori vocali dei call center si basano su parole chiave, poiché il sistema risponde bene al rumore dell’ambiente ‘frammentato’ di una conversazione telefonica. In generale, nel reperimento dell’informazione si fa uso di tecniche di analisi superficiale come quella appena descritta, o come quella basata sul riconoscimento di gruppi di parole, quali i gruppi nominali o verbali.
Si è visto come la query sia di norma imprecisa e incompleta, e come un motore di ricerca tenti di trovare i documenti che possono essere rilevanti per l’utente. Nell’IR si pongono i classici problemi della semantica dei linguaggi naturali, come quello dell’ambiguità, che non è sempre facile affrontare anche nel web. Se si digita la query «auto usata» sul motore di ricerca Google, i documenti che esso restituisce sono diversi da quelli che si ottengono digitando «macchina usata». Il motore, in questo caso, non considera macchina e auto come sinonimi.
Nel web molti dei problemi collegati all’elaborazione del linguaggio naturale sono stati affrontati ricorrendo alle ontologie. Un’ontologia è costituita dal cosiddetto vocabolario controllato, l’insieme dei termini che permette di formulare una query usando parole chiave impiegate nella collezione dei documenti. In un’ontologia i concetti e le relazioni fra essi sono organizzati in modo prevalentemente, anche se non esclusivamente, gerarchico. Per fare un esempio, si possono usare concetti più generali quando quelli specifici non permettono di trovare l’informazione desiderata, espandendo la query; oppure si possono usare concetti più specifici quando con quelli generali si ottiene informazione in eccesso, delimitando la query; o ancora, si possono usare concetti collegati tra loro in modo non strettamente gerarchico.
Il motore di ricerca SKIP (Semantic Knowledge Indexing Platform) è un esempio di costruzione di ontologie nel web che si presenta anche come un prodotto commerciale nel settore biomedico. Poniamo che l’utente, in generale un operatore medico, ponga a SKIP una domanda in linguaggio naturale su cosa regoli l’aderenza dell’integrina (una glicoproteina che svolge il ruolo di collegamento della cellula con la matrice extracellulare) alla membrana dei linfociti, e se essa sia responsabile dell’associazione fra il gene PSCD con le membrane. In questo caso SKIP restituisce i documenti rilevanti per questa domanda, mostrando una rappresentazione grafica dei collegamenti fra le varie parole chiave della query. I primi due documenti restituiti mostrano che i concetti di ‘integrina’ e di ‘linfocita’ sono regolati tramite un meccanismo di aderenza, responsabile dell’associazione del gene PSCD con le membrane.
Come sappiamo, l’idea di costruire una base di conoscenza su larga scala è presente nella ricerca dell’IA dai tempi dei sistemi esperti. Tuttavia, è con il progetto promosso negli Stati Uniti da Douglas Lenat (n. 1950) a partire dalla metà degli anni Ottanta del secolo scorso che la ricerca ha avuto una svolta, dopo i chiarimenti sui limiti dei sistemi esperti dell’epoca. Abbiamo accennato ad alcuni problemi sollevati dai sistemi esperti, riassumibili nella difficoltà di gestire la conoscenza basata sul senso comune. In breve, l’ambizioso sistema di IA progettato da Lenat, Cyc (da encyclopedia), doveva essere fornito di una base di conoscenza desunta da un certo numero di voci di un’enciclopedia e, inoltre, dalle conoscenze generali del senso comune presupposte nella comprensione di tali voci. L’obiettivo era di dare al sistema la maggior parte possibile della conoscenza del senso comune potenzialmente necessaria per la comprensione di qualsiasi altra voce dell’enciclopedia. Da allora, il progetto è stato sviluppato da Lenat con numerosi collaboratori, e l’approdo è stato quello di collegare Cyc con il web attraverso un motore di ricerca come Google, con risultati attualmente parziali, ma che in prospettiva potrebbero rendere molto veloce e accurata l’automazione del processo di acquisizione di nuova conoscenza (Matuszek, Witbrock, Kahlert et al. 2005). L’uso di Google permette di utilizzare sia la conoscenza già presente in Cyc sia quella presente nel web. Inoltre, la conoscenza di Cyc viene usata come base per acquisirne di nuova attraverso tecniche di apprendimento automatico. Ciò ha permesso in particolare di ridurre il livello di competenza richiesto agli esperti umani che contribuiscono alla realizzazione di Cyc, riducendo anche il tempo necessario per l’aggiornamento della conoscenza.
Cyc rientra in un progetto il cui esito, in prospettiva, sarebbe non solo la comunicazione e il trasferimento di conoscenza fra uomo e macchina, ma anche la comunicazione e il trasferimento di conoscenza tra macchine. È questa anche la visione di Tim Berners Lee (n. 1955), uno dei padri del web, che nell’auspicare l’avvento di macchine che potessero comunicare e capire altre macchine, ha coniato l’espressione web semantico. Le ontologie come quelle usate da SKIP o le basi di conoscenza come quelle di Cyc non sono che alcune delle tante esperienze, spesso molto diverse tra loro, che vanno in questa direzione. Al momento, il web semantico, al di là dei suoi sviluppi futuribili, resta una prospettiva aperta, che viene da alcuni affrontata nei termini di un web bayesiano (Baclawski, Niu 2006), un fatto che riporta in primo piano la permanente difficoltà di gestire l’incertezza e l’incompletezza dell’informazione nelle situazioni della vita reale, insieme alle difficoltà, anche queste sperimentate dalla prima IA, della conoscenza basata sul senso comune e della questione del significato nella gestione del linguaggio naturale.
Autonomia e incertezza nel mondo reale
Molti dei problemi e delle prospettive che riguardano gli agenti virtuali che popolano il web, interessano anche agenti embodied come i robot. L’IA non aveva mancato di confrontarsi molto presto con questo tipo di agenti, ma con esiti complessivamente limitati. Una svolta importante si è verificata al MIT (Massachusetts Institute of Technology) a partire dagli anni Ottanta del Novecento con la proposta da parte di Rodney A. Brooks (n. 1954) di una nuova architettura robotica, l’architettura della sussunzione. In questo caso l’agente è visto come composto da moduli di controllo funzionalmente distinti ma interconnessi, che agiscono senza la supervisione di un unico sistema di controllo e di pianificazione dell’azione basato su un modello del mondo, come si era tentato di fare nell’ambito della robotica precedente. In linea con l’ispirazione prevalente della prima IA, questa tipologia di robotica aveva privilegiato le capacità deliberative (ragionamento, pianificazione) e la rappresentazione della conoscenza, mettendo in secondo piano l’integrazione di queste capacità con le modalità sensomotorie (il robot Shakey, che è stato costruito sempre presso il MIT negli anni Settanta, viene considerato il prototipo di questo approccio). Nel caso dell’architettura della sussunzione, un modulo di controllo di basso livello, relativo a un comportamento reattivo (e dunque funzionante attraverso continue retroazioni con l’ambiente), è interconnesso con un modulo di livello più alto che controlla un comportamento più complesso, in modo tale che un modulo possa attivare o inibire un altro modulo a seconda delle circostanze. Tutto questo garantisce al robot un certo grado di autonomia rispetto all’ambiente esterno, rendendolo capace di reagire con qualche efficacia a situazioni non previste o non prevedibili, o sulle quali dispone di informazioni parziali, e di farlo in tempo reale, senza che sia necessaria, come si è detto, una complessa attività di pianificazione delle risposte e il ricorso a un modello del mondo il più accurato possibile. Uno di questi robot, Genghis, era in grado, con i suoi sei arti capaci di movimenti diversi e indipendenti, di muoversi su svariati tipi di superfici, anche accidentate o con ostacoli, e pure di seguire oggetti mobili. Un robot costruito nel gruppo di Brooks da Maja Mataric, Toto, era in grado di memorizzare una mappa topologica di un ambiente costellato di diversi ostacoli, per percorrerlo una seconda volta con maggiore rapidità ed efficienza (Brooks 1999).
L’approccio di Brooks ha ispirato un’estesa serie di ricerche di robotica cosiddetta behavior-based, che assieme a non pochi successi, ne ha portato alla luce alcuni limiti. Uno sguardo all’evoluzione della robotica dopo gli anni Ottanta mostra come questa abbia dovuto fare i conti con la difficoltà di sviluppare le capacità dei robot da un livello meramente reattivo a un livello in cui sopravvenissero attività più complesse di interazione con l’ambiente, come qualche forma di pianificazione e di ragionamento. Più in particolare, una delle difficoltà ha riguardato il sistema di controllo in robot basati sull’architettura della sussunzione. La progettazione di un’architettura del genere incontra la difficoltà di integrare efficacemente i moduli man mano che questi vengono a essere aggiunti per ottenere prestazioni più complesse del robot. E i successi dei primi robot, come quelli che abbiamo ricordato, possono spiegarsi con la relativa semplicità delle loro prestazioni. Da difficoltà di questo tipo ha preso il via la robotica evoluzionista (Nolfi, Floreano 2000), che ha usato gli algoritmi genetici come procedura automatica per sviluppare in modo evolutivo il sistema di controllo di un robot nel corso della sua interazione con l’ambiente esterno e con altri suoi simili.
Gli algoritmi genetici furono inizialmente introdotti da John H. Holland (n. 1929) negli Stati Uniti durante gli anni Sessanta del secolo scorso. In sintesi, essi partono generando a caso una popolazione di stringhe, corrispondenti ai genotipi dell’evoluzione naturale, ciascuna delle quali rappresenta una possibile soluzione a un dato problema. Tale popolazione viene fatta evolvere mediante l’applicazione di operatori basati su criteri di ricombinazione che simulano i processi genetici dell’evoluzione naturale. In questo modo da stringhe genitrici se ne generano altre, che rappresentano nuove soluzioni per il problema, possibilmente migliori. Gli algoritmi genetici sono tornati in primo piano solo recentemente, per il diffondersi sia del parallelismo e dello studio dei sistemi dinamici complessi sia delle ricerche sullo sviluppo prebiotico. Essi sono ormai oggetto di indagini di punta in diversi settori dell’IA, influenzando tecniche diverse di programmazione e di ottimizzazione. Nella forma probabilmente più popolare essi sono stati oggetto di sperimentazione nella vita artificiale, come Christopher Langton (n. 1949) ha battezzato verso la fine degli anni Ottanta la simulazione su calcolatore dei processi biologici della vita e dei sistemi organici complessi. Secondo Langton, la biologia, nella spiegazione della vita, parte ‘dall’alto’ considerando l’organismo come una macchina biochimica complessa, per scendere poi per analisi verso il basso, fino ai livelli della cellula e delle molecole. La vita artificiale parte invece ‘dal basso’, considerando l’organismo come una popolazione di macchine semplici, e lavora per sintesi verso l’alto, costruendo aggregati di oggetti semplici sempre più estesi che interagiscono reciprocamente (Artificial life, 1989, pp. 2-3).
Progettazione evolutiva basata su metodi ispirati agli algoritmi genetici e fabbricazione automatica di robot sono alla base di un approccio, tra vita artificiale e robotica, promosso tra gli altri da Jordan Pollack negli Stati Uniti (Lipson, Pollack 2000). Si tratta in questo caso di far progettare a un programma per calcolatore, sulla base di elementi di partenza elementari (come leve e giunti, ma anche reti neurali), diverse generazioni di semplici robot mobili, facendole ‘evolvere’ in un ambiente virtuale in modo da eliminare progressivamente i progetti meno efficienti e migliorando quelli meglio adattati all’ambiente (in termini di maggiore capacità locomotorie). Tali progetti sono infine realizzati automaticamente. L’autonomia, obiettivo della nuova robotica, viene dunque estesa dal livello del comportamento a quelli della progettazione e della fabbricazione. L’obiettivo, con potenziali future applicazioni di vasta portata, è la costruzione di robot riducendo al minimo l’intervento dell’uomo.
Nel complesso, l’estrema varietà dei metodi sperimentati dalla ricerca robotica lascia aperte diverse prospettive per quanto riguarda il ruolo svolto dalla rappresentazione della conoscenza e i molteplici aspetti relativi al controllo, il ruolo delle componenti reattive e di quelle deliberative nonché la loro possibile integrazione reciproca in agenti robotici cosiddetti ibridi. I successi attuali riguardano numerosi settori della robotica applicativa, che includono i robot manipolatori nella chirurgia, i robot marini e anfibi, i veicoli in grado di autoguidarsi e quelli che esplorano ambienti ostili o non noti (è il caso dei diversi veicoli inviati sul suolo di Marte). Ma esiste anche una robotica biologicamente ispirata, o biorobotica, interessata alla costruzione di robot che riproducano funzioni di organismi più o meno semplici, in modo da comportarsi con successo in situazioni in cui tali organismi sono particolarmente abili o ben adattati. Esistono già prototipi di micorobot di questo genere, che in prospettiva potranno essere utilizzati nella diagnostica medica. Un esempio è il robot E-Worm, realizzato presso la Scuola superiore Sant’Anna di Pisa, che, mimando la locomozione del bruco, potrebbe costituire una valida alternativa alle tradizionali tecniche colonscopiche più invasive (Handbook of robotics, 2008). Infine, sempre nell’ambito della biorobotica, non mancano ricerche di tipo più marcatamente epistemologico, in linea con alcuni approcci teorici della prima IA, dove i robot sono considerati, questa volta, come modelli di organismi viventi, che includono diverse restrizioni comportamentali, neurologiche e più in generale biologiche, e che dunque suggeriscono o validano ipotesi nello studio di tali organismi (Cordeschi 2002). Uno straordinario laboratorio di sperimentazione e innovazione è rappresentato dai tornei di RoboCup (Nardi 2000), vere e proprie competizioni tra squadre di robot calciatori, che da un lato hanno dato nuovo impulso allo studio dell’interazione tra agenti e dei sistemi multiagente, dall’altro rappresentano uno dei tanti impieghi di robot umanoidi: squadre di tali robot hanno cominciato dal 2002 a competere nei RoboCup (v. la serie di volumi RoboCup, che l’editore Springer pubblica annualmente dal 1997). La prospettiva, al momento futuribile, è di arrivare un giorno a una competizione tra giocatori umani e robot, con la vittoria di questi ultimi: un obiettivo, per quanto diverso, paragonabile a quello a lungo perseguito dall’IA classica, quando la prospettiva era la competizione uomo-macchina in giochi complessi come gli scacchi, prospettiva realizzata nel 1997 con la vittoria del supercalcolatore Deep blue, costruito dalla IBM, sul grande maestro di scacchi Garry Kasparov.
L’obiettivo dell’autonomia promosso dalla più recente robotica si sta sviluppando da tempo sul fronte della robotica umanoide in diversi Paesi, in Europa come in Giappone e negli Stati Uniti. Rispetto a molti robot mobili precedenti, i robot umanoidi sono concepiti per essere in grado di interagire ed eventualmente cooperare con gli esseri umani, anche in attività di vita quotidiana. Uno dei casi più rilevanti è quello dell’assistenza da parte di robot umanoidi (o con capacità umanoidi) a disabili e anziani: un problema particolarmente avvertito nei Paesi più sviluppati. Accanto a queste applicazioni pacifiche della robotica si collocano quelle, non poco controverse, di tipo bellico, alle quali si destinano investimenti sempre più ingenti, nella prospettiva di robot dotati di gradi di autonomia crescente. Nell’uno come nell’altro caso (Handbook of robotics, 2008) la robotica non manca di suscitare diversi interrogativi di natura sociale ed etica, interrogativi paragonabili a quelli sollevati nel Web relativamente al controllo delle informazioni alle quali gli utenti scelgono di accedere attraverso i motori di ricerca, al controllo della loro privacy, della gestione e della reperibilità più o meno ‘democratiche’ delle informazioni presenti sulla rete (Witten, Gori, Numerico 2006).
I robot umanoidi hanno posto il problema di come poterli dotare di una morfologia somigliante a quella degli esseri umani, in modo da facilitare in futuro la comunicazione reciproca. Uno degli obiettivi è di dar loro sia la capacità di manifestare emozioni attraverso un’opportuna mimica facciale sia quella di decifrare le emozioni manifestate dalla mimica facciale dell’interlocutore umano, come sorpresa o spavento, approvazione o disapprovazione. Si tratta di aspetti notoriamente rilevanti nell’interazione sociale, che i robot cominciano a gestire in forma per ora embrionale (Who needs emotions? The brain meets the robot, 2005). Uno degli argomenti certo speculativi ma sempre più sondati riguarda la natura delle emozioni dei robot, in relazione a quelli che i filosofi chiamano i qualia, cioè le sensazioni private. In questo caso si apre un problema che va ben al di là della semplice simulazione delle emozioni, un problema che si ripropone nello studio, anche questo ritenuto sempre più importante, delle possibili forme di coscienza nei robot.
Autonomia vuol dire per i robot gestire con successo in primo luogo l’incertezza e l’intrinseca imprevedibilità che caratterizza l’ambiente reale. La gran parte dei robot che abbiamo sommariamente richiamato, a partire da quelli più semplici, operano in situazioni imprevedibili, sulle quali essi (come accade spesso anche agli esseri umani) di norma non sono che parzialmente informati. L’incertezza e l’imprevedibilità riguardano sia i sensori sia gli attuatori, per non parlare delle rappresentazioni che i robot possono farsi dell’ambiente e degli algoritmi che sono alla base dell’elaborazione dell’informazione, proveniente dall’ambiente, in tempo reale. Un approccio che tenta di affrontare l’insieme di questi problemi è la robotica probabilistica (Thrun, Burgard, Fox 2005).
Coerenti con gli obiettivi di questa robotica, e più in generale con quelli della gestione dell’informazione in condizioni di incertezza, sono alcuni sviluppi della visione artificiale. Va ricordato che, dopo le influenti ricerche di David Marr (1945-1980), i nuovi indirizzi della cosiddetta visione animata avevano aperto nuove prospettive alla visione artificiale a partire dai primi anni Novanta del Novecento. L’approccio di Marr, basato sull’idea che la ricostruzione tridimensionale della scena, ottenuta a partire da immagini bidimensionali elaborate da quella che egli aveva chiamato la visione primaria, fosse l’approdo finale del processo visivo, è apparso carente. Dana Ballard (n. 1946) aveva concluso che con Marr ci si era limitati allo studio di sistemi di visione statici e passivi, senza considerare gli aspetti attivi della percezione visiva. Secondo Ballard, occorre tener conto di questi aspetti, che stanno alla base della stretta relazione che l’agente intrattiene con l’ambiente. Sono le esigenze e gli obiettivi di quest’ultimo a orientare il processo visivo (Intelligenza Artificiale, 2001, cap. 6).
L’incertezza che caratterizza, per un agente così inteso, l’informazione visiva proveniente dall’ambiente è studiata ora da buona parte della visione artificiale in termini di formazione e controllo di ipotesi: la percezione visiva è considerata in questo caso un processo di inferenza (inconscia) descrivibile in termini bayesiani, un processo che l’agente mette in atto sulla base delle informazioni parziali di cui dispone, quando decifra il contenuto di immagini complesse o ambigue. L’approccio probabilistico, in particolare bayesiano, sembra offrire dunque un quadro generale per la costruzione di modelli computazionali in settori diversi (Probabilistic models of cognition, 2006), non soltanto la robotica e la visione, ma, per ricordare alcuni argomenti che sono stati trattati in precedenza, anche l’apprendimento, l’elaborazione del linguaggio, il ragionamento.
Bibliografia
Artificial life, ed. G.C. Langton, Reading (Mass.) 1989.
R.A. Brooks, Cambrian intelligence, Cambridge (Mass.) 1999.
H. Lipson, J. B. Pollack, Automatic design and manufacture of robotic lifeforms, «Nature», 2000, 406, pp. 974-78.
D. Nardi, Artificial Intelligence in RoboCup, in Proceedings of the fourteenth European conference on Artificial Intelligence, (ECAI-2000), Berlino 2000, pp. 756-62.
S. Nolfi, D. Floreano, Evolutionary robotics, Cambridge (Mass.) 2000.
Intelligenza Artificiale, a cura di E. Burattini, R. Cordeschi Roma 2001.
R. Cordeschi, The discovery of the artificial, Dordrecht 2002.
C.D. Manning, H. Schütze, Foundations of statistical natural language processing, Cambridge (Mass.) 2003.
P. Norvig, S. Russell, Artificial Intelligence: a modern approach, 20032 (trad. it. Milano 2005).
P. Giudici, Data mining. Metodi informatici, statistici e applicazioni, Milano 2005.
C. Matuszek, M. Witbrock, R. Kahlert et al., Searching for common sense: populating Cyc from the Web, in Proceedings of the twentieth National conference on Artificial Intelligence, Pittsburgh (Pa.) 2005, pp. 1430-35.
S. Thrun, W. Burgard, D. Fox, Probabilistic robotics, Cambridge (Mass.) 2005.
Data mining VI, ed. A. Zanasi, C. Brebbia, N. Ebecken, Southampton (UK) 2005.
Who needs emotions? The brain meets the robot, ed. J.-M. Fellous, M.A. Arbib, New York 2005.
K. Baclawski, T. Niu, Ontologies for bioinformatics, Cambridge (Mass.) 2006.
I.H. Witten, M. Gori, T. Numerico, Web dragons. Inside the myths of search engine technology, San Francisco 2006.
Probabilistic models of cognition, «Trends in cognitive science», ed. N. Charter, J.B. Tenenbaum, A. Yuille, 2006, 7 (special issue).
Decision support and business intelligence systems, ed. E. Turban et al., Upper Saddle River (N.J.) 20078.
E. D’Avanzo, T. Kuflik, M.D. Lytras, Building and using domain ontologies for learning in various domains. A semantic web-based learning perspective, «International journal of knowledge and learning», 2008, 4, pp. 329-48.
Handbook of robotics, a cura di B. Siciliano, O. Katib, Berlin 2008.