A cura di Giorgio Giunchi Joy Marino Stefano Trumpy
Formato Edizione a stampa Online html 3.2
Presentazione 04 Giugno 2014 Roma Camera dei Deputati

1. Internet: lo strumento

Approfondimento: il Grande Fratello è chi sa le domande

bio

Beppe Attardi

  • Google dichiara che il suo scopo è di organizzare tutte le informazioni disponibili e renderle universalmente accessibili e fruibili.
  • Si tratta di un compito benemerito ma anche ciclopico, visto il tasso di crescita delle informazioni sul web. In realtà Google fa anche di più, non necessariamente in funzione dell’obiettivo principale.
  • Cominciamo a riassumere come funziona un motore di ricerca.
  • Il primo compito consiste nel crawling, raccogliere le informazioni dal web.

  • Il principio è semplice: si considera il web come un grafo formato da nodi, che sono le pagine, e da archi, che sono i link e si assume che essi formino un grafo fortemente connesso, ossia che a partire da un qualunque nodo si possano raggiungere tutti gli altri. In realtà solo un quarto ha questa caratteristica, ma un altro quarto è raggiungibile da quello.
  • Quindi a partire da uno qualunque dei nodi del nucleo si può raggiungere circa la metà di tutte le pagine web.
  • I restanti, o si rintracciano per altre fonti, ad esempio dal DNS o dai tweet, o altrimenti restano sconosciuti e finiscono in quella parte denominata Hidden Web. Un crawler parte da una lista di pagine (URL) radice, scarica ciascuna di esse su dischi locali, ne analizza il contenuto, ne estrae i link, che sono altre URL, e li aggiunge alla lista di pagine da scaricare.
  • Dato che una pagina contiene in media una trentina di link, l’esplorazione del grafo fino al sesto livello di profondità già supera il miliardo di nodi.
  • Naturalmente molti sono ripetuti e questo porta a un primo problema tecnico: come verificare velocemente se una URL è stata già vista.
  • Si potrebbero usare soluzioni classiche come tabelle hash in memoria principale, sennonché 1 miliardo di URL occupano 80 GB (GigaByte, miliardi di byte).
  • Quando si sale ai 40 miliardi del web attualmente indicizzato, si arriva a 320 TB (TeraByte, migliaia di GB), che richiederebbero memorie troppo grandi e costose.
  • Occorre quindi utilizzare tecniche di compressione e di ricerca su stringhe compresse, oppure una combinazione furba di memorizzazione e scansione di dati su disco.
  • Ma questo è solo uno dei tanti problemi di scalabilità di un crawler web: per memorizzare 40 miliardi di pagine, con i loro metadati, che occupano 12 PB (PetaByte, milioni di GB) riducibili a 4 PB con la compressione, è necessario usare database distribuiti come BigTable [6] o HBase [7] e per poter visitare e rivisitare le pagine in tempi ragionevoli, il crawler deve operare in parallelo su più macchine.
  • Il processo di crawling avviene in continuazione cercando di bilanciare la necessità di freschezza dell’indice con quella di evitare di tempestare i server con accessi troppo frequenti e di consumare troppa banda.
  • Il secondo compito è la costruzione di un indice invertito, che per ogni parola riporta tutte le pagine in cui ricorre e le posizioni di ciascuna occorrenza in ciascuna pagina.
  • Anche qui si usano tecniche di compressione che riducono l’indice a una dimensione pari a circa il 10% del testo originale, ossia intorno a 1 PB.
  • Per analizzare e indicizzare i documenti, che avviene ripetutamente, man mano che i crawler raccolgono nuove pagine, occorrono algoritmi paralleli basati su tecniche come MapReduce [3] o una versione di questa specializzata per l’indicizzazione come quella denominata Percolator [4].
  • Anche queste tecnologie [5] torneranno comode per altre analisi di dati su larga scala descritte più avanti.
  • Il terzo compito è di rispondere alle query degli utenti, scegliendo in una frazione di secondo i documenti rilevanti e ordinandoli per rilevanza, in modo da presentarne una decina in prima pagina.
  • Anche qui per garantire la scalabilità in termini di dimensioni dell’indice e di numero di richieste da soddisfare, si distribuisce il lavoro su un cluster di server: l’indice viene suddiviso in partizioni (shard), ciascuna delle quali è replicata su cluster di qualche centinaio di macchine, sia per ridondanza che per distribuzione del carico.
  • Il web server che riceve le query le smista a tutti i cluster e poi raccoglie e ordina i risultati costruendo la pagina di risposta a cui aggiunge gli snippet, porzioni di testo dei documenti selezionati dove ricorrono le parole della query, che si fa dare da un document server che conserva una cache locale di tutti i documenti scaricati dal web.
  • In parallelo alla ricerca dei risultati, la query viene anche inviata a un Ad server, che seleziona le inserzioni pubblicitarie più mirate possibili agli interessi dell’utente.
  • Queste vengono a loro volta incluse nella pagina restituita all’utente. I grandi motori di ricerca rispondono attualmente a migliaia o decine di migliaia di query al secondo.
  • Le macchine utilizzate per svolgere il servizio sono in genere server di basso costo [13] dislocati in data center in varie parti del mondo composti di 50-100 mila server ciascuno, per un totale che supera il milione di server nel caso degli operatori più grandi.
  • Si stima che il costo di tale infrastruttura, inclusi edifici e impianti, sia di oltre $ 4 miliardi [1]. Il consumo di elettricità può essere stimato in circa 300 MW, incluso circa il 12-15% impiegato per il raffreddamento o dovuto a perdite [2]: l’equivalente di circa 230 mila utenze domestiche.
  • Disporre di tali massicce risorse di calcolo, consente però di utilizzarle anche per svolgere analisi di grandi quantità di dati, come quelle del prossimo compito ma anche di altre di cui parleremo più avanti.
  • Il quarto compito consiste nel calcolo di criteri di ranking che sono utilizzati durante le ricerche, per selezionare i risultati più rilevanti per una query e ordinarli.
  • Oltre al criterio di rilevanza basato sulla corrispondenza tra i termini della query e il contenuto di un documento, si usa una misura di rilevanza assoluta assegnata a ciascuna pagina.
  • Per calcolarla occorre analizzare le pagine e la struttura di interconnessione tra di esse.
  • Google è celebre per aver inventato l’algomigliaia o decine di migliaia di query al secondo.
  • Le macchine utilizzate per svolgere il servizio sono in genere server di basso costo [13] dislocati in data center in varie parti del mondo composti di 50-100 mila server ciascuno, per un totale che supera il milione di server nel caso degli operatori più grandi.
  • Si stima che il costo di tale infrastruttura, inclusi edifici e impianti, sia di oltre $ 4 miliardi [1].
  • Il consumo di elettricità può essere stimato in circa 300 MW, incluso circa il 12-15% impiegato per il raffreddamento o dovuto a perdite [2]: l’equivalente di circa 230 mila utenze domestiche.
  • Disporre di tali massicce risorse di calcolo, consente però di utilizzarle anche per svolgere analisi di grandi quantità di dati, come quelle del prossimo compito ma anche di altre di cui parleremo più avanti.
  • Il quarto compito consiste nel calcolo di criteri di ranking che sono utilizzati durante le ricerche, per selezionare i risultati più rilevanti per una query e ordinarli.
  • Oltre al criterio di rilevanza basato sulla corrispondenza tra i termini della query e il contenuto di un documento, si usa una misura di rilevanza assoluta assegnata a ciascuna pagina.
  • Per calcolarla occorre analizzare le pagine e la struttura di interconnessione tra di esse.
  • Google è celebre per aver inventato l’algoritmo di PageRank [11], che si basa su fattori di connettività e rilevanza reciproca per stimare l’importanza di una pagina.
  • Siccome il numero di link che puntano a una pagina influenza il suo PageRank, molti si sono ingegnati per costruire delle link farm, ossia pagine fittizie che si linkano l’una con l’altra per aumentare il proprio PageRank e quindi la probabilità di apparire in cima alla lista dei risultati.
  • Ovviamente la presenza di tali farm va individuata onde combattere la manipolazione del ranking.
  • Cercare di influenzare il ranking dei risultati dei motori di ricerca ha dato origine a una nuova attività, detta SEO (Search Engine Optimization) [9], svolta da aziende e professionisti che forniscono strumenti e consulenze su come fare per aumentare il ranking delle pagine di un sito. I
  • Infatti ormai ai siti ci si arriva quasi esclusivamente attraverso i motori di ricerca, quindi se un sito non rientra tra i primi dieci di una query, rischia di restare incognito.
  • Questo fa riflettere sull’influenza che può avere un motore di ricerca sui destini altrui, specie se non mantiene una completa neutralità e possibilmente trasparenza nello svolgere i suoi compiti.
  • Oggi PageRank è solo uno delle varie centinaia di segnali usati nel calcolo della rilevanza di una pagina e che vengono combinati in un unico valore attraverso dei pesi calcolati con tecniche di apprendimento automatico.
  • Con l’apprendimento automatico entrano in gioco gli utenti.
  • In sostanza il motore di ricerca tenta di capire dal comportamento degli utenti quali siano le risposte migliori. Quindi viene tracciato ogni link che viene cliccato, quanto tempo passa tra la scelta di un link e di un altro, si osservano le serie di query consecutive che un utente fa.
  • Tali dati vengono raccolti e forniti a un algoritmo di apprendimento, che estrapola dagli esempi di risposte corrette le risposte corrette per casi futuri.
  • Quanto più numerosi sono gli esempi, tanto più accurate sono le risposte, ma ne servono comunque almeno parecchi milioni.
  • Il quinto compito è la personalizzazione.
  • Una volta individuati i risultati potenzialmente più rilevanti in generale, si riordinano sulla base di informazioni sull’utente.
  • In particolare possono essere usate informazioni di natura geografica (la posizione dell’utente), comportamentali (storia delle precedenti ricerche, riformulazioni delle query), sociali (utilizzo del grafo sociale a cui l’utente appartiene), demografiche (categorie sociali di appartenenza), temporali (basate sui pattern di attività dell’utente a seconda del periodo, ad esempio giornaliero, settimanale).
  • Il sesto compito è la gestione della pubblicità. Google usa una tecnica brevettata per selezionare gli annunci più rilevanti, chiamata AdWords [8].
  • AdWords utilizza il principio delle aste per assegnare il posto in una pagina di risposte per un annuncio all’inserzionista che offre la migliore combinazione di prezzo e di CTR (Click Through Rate).
  • Questo significa che un annuncio che ha maggiori probabilità di essere scelto costerà di meno.
  • L’asta avviene per aggiudicarsi le parole che appaiono nelle query. L’annuncio viene pagato solo nel caso l’utente effettivamente clicchi sull’annuncio (Pay per Click, PPC) e il prezzo d’asta è stabilito pari a 1 penny in più dell’offerta immediatamente inferiore.
  • Di recente si è aggiunto un ulteriore compito, che consiste nella raccolta e nell’analisi del cosiddetto Knowledge Graph [14].
  • Questo grafo è composto di relazioni che legano tra di loro entità nominate nel testo, quali persone, luoghi, prodotti, eventi.
  • Effettuando un’analisi linguistica dei testi è possibile riconoscere la presenza e le relazioni ad esempio tra autori e libri, tra attori e film, le parentele o le relazioni di lavoro tra persone e aziende, ecc.
  • L’obiettivo è sintetizzato nello slogan di consentire la ricerca di “Things, not strings”.

Dati e privacy

  • Da quanto detto, si capisce che un motore di ricerca raccoglie una mole di informazioni sugli utenti e sulle loro attività sul web.
  • Naturalmente registra tutte le query effettuate ma anche conosce tutte le pagine che un utente visita e quando: ce lo indica lui stesso quando riporta un risultato su cui l’utente ha già cliccato in precedenza. Registra inoltre il dominio, la lingua, il sistema operativo e il browser utilizzato.
  • Con questi dati è possibile determinare molti aspetti caratteristici di una persona.
  • Ad esempio uno studio [12] dell’Università di Cambridge ha dimostrato che incrociando dati del genere con gli apprezzamenti (Like) dati su Facebook da un gruppo di persone è stato possibile individuare il colore della loro pelle (con precisione del 95%), le loro inclinazioni politiche (85%), gli orientamenti sessuali (80%), la loro religione (82%), le loro abitudini di fumo (73%), di bere (70%) e di consumo di droghe (65%).
  • Effettuando l’analisi dei contenuti delle pagine visitate, è possibile ricostruire un quadro degli interessi di una persona.
  • Queste tecniche sono alla base dei sistemi di raccomandazione, che hanno raggiunto livelli notevoli di accuratezza, e costituiscono il fattore di successo di servizi che offrono prodotti commerciali come Amazon e Netflix.
  • La connessione con i siti di e-commerce è palese ad esempio negli annunci che appaiono sempre più spesso in alcune pagine e che riportano, a volte ossessivamente, i prodotti che un utente ha visualizzato di recente.
  • Naturalmente, le aziende del web sostengono di svolgere queste analisi per fornire pubblicità mirata e soddisfare meglio gli interessi sia degli inserzionisti che degli utenti.
  • Tuttavia lo sfruttamento di tali dati potrebbe portare a vari tipi di abusi. Per esempio una domanda di lavoro potrebbe venire scartata non in base all’esperienza o alla qualifica del richiedente, ma sulla base dei risultati di analisi statistiche di talento e carattere basato su dati raccolti sulla base delle attività online del richiedente.
  • Qualcosa del genere già succede con LinkedIn, dove le persone da scegliere per un lavoro sono individuate in base alla capacità delle persone nel suo cerchio di conoscenze.
  • Analogamente le banche potrebbero usare dati raccolti in rete per decisioni sulla concessione di crediti, le assicurazioni potrebbero valutare i rischi sulla base dello stile di vita desunto dalle attività online delle persone.
  • Tecniche di opinion mining sono applicate per estrarre giudizi delle persone su prodotti, ma si applicano altrettanto facilmente a riconoscere le opinioni e gli orientamenti politici di chi scrive ad esempio nei blog o nei social media.

Dati e ricerca scientifica

  • La quantità di dati a disposizione ha fatto nascere una nuova disciplina chiamata Big Data Science [16], che studia tecniche e algoritmi per analizzare ed estrarre informazioni da grandi moli di dati.
  • Diventa possibile automatizzare il processo di osservazione che porta alle scoperte, accelerando notevolmente la velocità del processo di indagine scientifica, in modi che sono ancora difficili da capire.
  • Mentre finora ci si affidava allo sviluppo di modelli matematici basati su formule ed equazioni per descrivere i fenomeni, i Big Data rappresentano i fenomeni direttamente con grandi quantità di osservazioni e si utilizzano tecniche automatiche di machine learning [15] per estrarre dei modelli predittivi.
  • Da una parte queste possibilità aprono prospettive affascinanti per migliorare la nostra capacità di analizzare o predire fenomeni, dall’altra è inevitabile temere il rischio che questo possa compromettere o erodere alcune libertà fondamentali dei cittadini.
  • Uno degli aspetti preoccupanti è che solo pochissime aziende private al mondo siano dotate della capacità e delle risorse per acquisire tali dati ed elaborarli a un livello impossibile per altri.
  • Al di là delle buone intenzioni, le aziende private non sono tenute a indicare il tipo di elaborazioni che svolgono su tali dati e quali tipi di informazioni ne ricavano.
  • Spesso rifiutano l’accesso a tali dati anche a chi intende fare soltanto degli esperimenti scientifici.
  • È il caso dei colleghi di Milano Boldi e Vigna, che non hanno potuto accedere direttamente al grafo sociale di Facebook per calcolare in “four degrees of separation” [10] la distanza media tra gli utenti.
  • Abbiamo saputo che invece purtroppo questi dati sono stati forniti alla NSA, per scopi che possiamo immaginare ma che restano oscuri. In sostanza alcune grande aziende riescono ad ottenere grandi livelli di profitto applicando analisi di dati per scopi pubblicitari.
  • Vendendo queste analisi pagano i costi dei servizi che offrono gratuitamente agli utenti, che quindi li pagano consegnando loro in maniera automatica e inconscia, attraverso le loro ricerche o i loro click, i loro dati personali e le conoscenze che orientano le loro scelte.

Approfondimenti

e-democracy
index