La Ricerca sul web
Il mercato che ruota intorno alla rete è vastissimo: le maggiori società coinvolte sono quotate in borsa, gli interessi in gioco sono enormi; basti pensare alla recente offerta di Microsoft a Yahoo! per aumentare la sua fetta di mercato in questo ambito. Molte società sono pronte a pagare ingenti somme di denaro ai motori di ricerca per ottenere la propria visibilità sapendo che i ritorni economici sono assicurati. In questo clima si è favorita la nascita di attività di ricerca, come la SEO (Search Engine Optimization), che lavorano per assicurare la maggior visibilità ai propri clienti. I numeri sono spaventosi: (1) 80% delle ricerche su internet passano per motori di ricerca, (2) le pagine sul web sono dell’ordine di centinaia di miliardi e la loro dimensione raddoppia ogni anno. Questo interesse ha alimentato lo sviluppo di nuovi algoritmi di information retrieval nelle sue fasi di raccolta (spider/web root), indicizzazione (indexing) e ordinamento (pageranking).
Con questo post cercheremo di introdurre un argomento nuovo per il nostro blog: il mondo del web. Prendiamo spunto da un articolo, “Come funziona la ricerca web”, [scritto] da Fabio Grimaldi, ingegnere informatico ed editorialista per una nota rivista del settore, “IoProgrammo” (n° 6, 2008), per prendere in esame cosa si cela dietro il mondo delle ricerche sul web e in particolare per capire quali siano gli algoritmi che le regolano (pregi e difetti).
G. prende in esame le diverse strutture sottostanti all’ordinamento sul web e cerca di spiegare, semplificando, che cosa accade quando noi digitiamo sulla barra di un motore di ricerca una richiesta (query). Poiché la posta in gioco è alta, ci sono diversi dubbi sulla trasparenza e veridicità dell’ordinamento ranking, tanto è vero che la comunità di internet ha sollevato molte polemiche per le dichiarazioni di Peter Norving (responsabile per le ricerche di Google), sull’efficacia e accuratezza nel fornire i risultati delle richieste. Fornire una valutazione assoluta su quale sia il miglior sistema di ricerca è al momento impossibile; rimane il fatto che spesso ricerche compiute con motori diversi offrono spesso risultati tra loro discordanti.
Il lavoro che un motore di ricerca fa è quello di correlare i dati richiesti dall’utente, che devono essere formulati in un linguaggio il più possibile simile a quello di uso comune, con i documenti esistenti nel suo database (archivio). Le tre principali funzioni che svolge sono: (1) CRAWLING: raccolta delle pagine web in locale, (2) INDEXING: aggiornamento di un file che indicizza i documenti secondo le informazioni ritenute più salienti, (3) RANKING: organizzazione e posizionamento dei risultati così ottenuti. Per comprendere le dinamiche di aggiornamento dei risultati è importante ricordare che, mentre il crawling e l’indexing sono sempre attivi, il ranking viene generato solo al momento del lancio della query (richiesta). La fase di crawling si occupa della navigazione automatica sul web scaricando in locale le pagine. Questo strumento deve rispondere a esigenze diverse come la velocità di navigazione, il controllo di unicità delle pagine e la gestione dei collegamenti multipli allo stesso server. La seconda fase, l’indexing, si occupa dell’organizzazione dei dati raccolti. Questa operazione prevede la scelta dei contenuti da classificare per matching (confronto). L’algoritmo rispetta delle priorità quali: (1) si prediligono i termini presenti nel titolo della pagina oppure i tag, mentre si dà minor importanza al testo presente nei paragrafi, (2) vengono esclusi o si dà minor peso a tag come comment o alt text, (3) si escludono termini come articoli e pronomi, (4) si “unificano” plurali con singolare, tempo dei verbi etc. Quest’ultima operazione di unificazione, che va sotto il nome di “lemmatizzazione”, è però un po’ pericolosa dal momento che ultime verifiche ne hanno messo in luce forti limiti di interpretazione della richiesta dell’operatore. Un esempio era la ricerca di informazioni su C++, che fino a poco tempo fa generava query uguali alla richiesta della sola lettera C dal momento che i simboli “+” venivano tralasciati perché considerati dall’algoritmo superflui. La terza fase, il ranking3, è quella più critica poiché si occupa di presentare l’ordine dei risultati. Come già detto, l’interesse dimostrato dall’intera comunità di internet per le dichiarazioni rilasciate da Peter Norving (il responsabile delle ricerche di Mountain View) è la dimostrazione di quanto questo argomento sia importante e decisivo per il mondo del web. Norving ha dichiarato: “compiamo numerosi test. A livello macroscopico, teniamo traccia del click degli utenti. Se selezionano il primo risultato, e non tornano indietro per cercare altri, ciò significa probabilmente che hanno trovato ciò che desideravano. Se invece continuano a scorrere la schermata, pagina dopo pagina, magari riformulando la domanda, allora sappiamo che i risultati ottenuti non corrispondono a ciò che gli utenti cercavano. Un’altra strategia che utilizziamo è quella di selezionare a caso alcune richieste e assumere un certo numero di persone per avere una valutazione oggettiva dei risultati ottenuti. Si tratta di collaboratori che assumiamo per avere esclusivamente un giudizio. Li formiamo per identificare siti Web di spam o fraudolenti, poi registriamo le loro valutazioni.” La risposta è chiaramente ambigua dal momento che, non è chiaro se i gruppi di feedback valutino esclusivamente l’algoritmo, oppure intervengano sul ranking.
Ritornando alla parte tecnica, il problema dell’information retrieval viene svolto come un confronto tra il “peso”/incidenza (w[i,j]) di una parola p(i) in un documento j con il peso w([i,q]) che ha la parola p(i) nella query q, dove i è compreso tra 1 a n. Si può quindi estrarre un indice di similarità tra il documento e la query:
sim(dj,q)=(w[i,j]*w[i,q])/((w[i,j])^2+(w[i,q])^2
[secondo la notazione doppio indice di Einstein che omette nella sommatoria a indice multiplo il simbolo di sommatoria]
La valutazione del peso segue alcuni criteri fondamentali: 1) la caratterizzazione: valutazione della frequenza della parola in un documento; 2) la discriminazione: valutazione inversamente proporzionale alla frequenza delle pagine, 3)_la lunghezza del testo. E’ evidente che query svolte con motori di ricerca diversi forniscono risultati spesso discordanti sia nel posizionamento dei diversi documenti che per i documenti stessi trovati. Il punteggio ottenuto alla fine dell’analisi della pagina è ovviamente relativo a quanti link puntano alla pagina stessa; quindi il web può essere visto come un enorme grafo.
Il grafo è un insieme di nodi e collegamenti: i primi sono rappresentati dai punti, i secondi dalle linee di collegamento (vedi disegno a lato). I nodi rappresentano le pagine del web, gli archi sono invece i link alla pagina. Possiamo concludere dicendo che la valutazione della popolarità è relativa alla struttura del grafo piuttosto che al contenuto stesso. I sistemi dei punteggi del grafo più famosi sono due: Hits e pagerank. Gli hits forniscono due punteggi che sono: gli authority e gli hub (nodi principali) rispettivamente indicati come a(i) e h(i), (dove a(i) sta per indice vettoriale dell’authority e h(i) indice per hub). I primi ci indicano se una pagina è interconnessa da buoni hub, quindi autorevole, i secondi se il documento “punta” su pagine con elevato punteggio. Lo schema finale ha una struttura ricorsiva, che come tale si presta per un’analisi dinamica efficiente: una caratteristica importante per il mondo web. In sostanza il metodo hits può essere così sintetizzato: (1) si recuperano le pagine pertinenti, (2) si costruisce il grafo relativo, (3) si costruisce la matrice corrispondente al grafo, (4) si calcola l’autovettore della matrice, (5) si ordinano le pagine secondo l’autovettore precedentemente calcolato. Il metodo di pagerank (Pr), proposto da Google è sicuramente più famoso, ma molto simile al precedente; differisce dal quello Hits per il solo fatto che non vengono valutati gli hub e tutto si basa sui link entranti. Si può riassumere il calcolo del pagerank nel seguente modo:
Pr(A)=(1-d)+d*Sum(Pr(i)/C(i)) per i che va 1 a n ( Sum/sommatoria in i)
dove Pr(A) indica il pagerank che vogliamo calcolare per la pagina A, d è il fattore di damping (salto) uguale a 0,85, e Pr(i) è il pageranking della pagina i-esima e C(i) è il numero dei link della pagina i-esima; quindi, il rapporto tra Pr(i) e C(i) indica la percentuale di link che la pagina A riceve dalla pagina i-esima sul totale del link uscenti. Immaginiamo di avere un database dove tutti i valori di pageranking sono uguali a 1, e di iniziare a calcolare i valori per diverse iterazioni in diversi istanti di tempo. Alla fine, dopo 20 iterazioni, abbiamo la stabilizzazione del calcolo che ci fornirà il valore di posizionamento conclusivo, dove le pagine con più link entranti, avranno un valore Pr maggiore e quelle con meno link un valore minore (la pagina con link entranti zero avrà , come è chiaro dalla formula sopra, valore uguale a 0,15).
L’informazione e il marketing viaggiano sullo spazio del web instradando milioni di utenti sulle pagine più pubblicizzate e più visitate con l’intento di fornire una rete (net) preferenziale per trovare i documenti più visitati. Il contenuto passa in secondo piano per premiare le interconnessioni più frequentate. Se ogni internauta non matura una propria attitudine critica rispetto all’informazione, lo spazio web diventa uno strumento di controllo nelle mani di questi motori di ricerca. Così come il web è la nuova enciclopedia dello scibile umano a cui tutti possiamo contribuire e alla quale tutti possiamo attingere, i motori di ricerca sono i nuovi filtri per accedere a questi contenuti. E’ necessario tenere presente che il pageranking si basa sui link e sulle sponsorizzazioni senza tener conto dei contenuti. Pertanto l’utente deve avvalersi di più motori di ricerca e di tutti gli strumenti che quest’ultimi gli mettono a disposizione per ottenere i risultati che sono più consoni alle sue aspettative.
M.T.
Tags: motori di ricerca, web

giugno 24th, 2008 at 9:46 am
Tutti perfettamente allineati alla mentalità corrente: irretire le persone.
Melodiosi canti di sirene ti attraggono, incantevoli seduttrici ti lusingano e spietate carogne ti controllano.
Il web è ancora un paradiso economico per intraprendenti magnati che, non contenti di ciò che hanno, al grido de “il mondo è mio†emulano il loro idolo Fantaman.
Tentano di manipolare e costruire marionette: prive di cervello, prive di criticità e prive d’iniziativa.
Il problema è che ci stanno riuscendo, ne è esempio, appunto, la particolare attenzione che prestano ai motori di ricerca: sanno esattamente che la stragrande maggioranza degli “internauti inesperti†scorre solamente le prime 2 pagine scaricate.
Io purtroppo sono tra questi dilettanti della rete e, sinceramente, non mi so dare giusti consigli su come navigare o su come valutare il pageranking che mi si presenta davanti.
L’unica discriminante è che, entrando nei primi link, se non c’è qualcosa che mi interessa, esco e proseguo la mia ricerca magari con un’altra parola chiave. Si accettano consigli, non siate avari!!!!