Ranking System

Le query poste ad una search interface contengono generalmente un numero variabile di keywords e il motore di ricerca risponde estraendo dalle proprie strutture dati un elenco di documenti che sembrano essere di maggiore rilevanza (ranking). Il problema sta nel capire quali siano i documenti più importanti da visualizzare per primi come risposta alla query. Esistono due tipi di approcci: uno consiste nel considerare solo il contenuto dei documenti, l’altro analizza la struttura dei link.

 

Per il primo metodo una tecnica utilizzata è quella del TDFIDF [12], indicando con q la parola relativa alla query e con d il documento:  TDFIDF(q,d) = (q,d)*IDF(q).

TDF(q,d) = la frequenza del termine q in d.

IDF(q)= l’inverso della frequenza della parola q in tutta la collezione.

In  tal maniera una parola è rilevante quanto più essa è presente nel documento e tanto meno è presente nella collezione. Inoltre è possibile incrementare questo valore di un fattore costante, per esempio se la parola è contenuta nei META tag o nel titolo.

Mentre questo metodo è utile per un dataset controllato, è meno indicato per Internet, dove ognuno può pubblicare pagine a piacimento; infatti, il TDFIDF presenta il problema dello spamming: vale a dire che un webmaster potrebbe riempire le proprie pagine con parole ripetute migliaia di volte, anche non inerenti al contesto del sito, per far aumentare il punteggio assegnato ad esse.

Per ovviare a questi inconvenienti, anziché dare un punteggio alle query in relazione al documento, altre tecniche preferiscono dare, accedendo alle URL visitate, uno score alla pagina in funzione dei link entranti e uscenti; i metodi più diffusi sono il PageRank (Google)[13] e HITS (Teoma)[14]. L’idea generale sta nel considerare importante una pagina se è puntata da molte altre a loro volta considerate importanti.

L’architettura generale di un motore di ricerca di cui abbiamo appena parlato è descritta in Fig. 5

Infine, un breve cenno alla qualità di un motore di ricerca: per misurare l’efficienza e la scalabilità, in genere, si fa riferimento alla velocità con cui è indicizzato un certo dataset e allo spazio occupato dall’indice; si può classificare ulteriormente, in base alla velocità con cui i motori rispondono alle query. Tutte queste caratteristiche sono misurabili oggettivamente, ma per stimare la qualità dei risultati forniti, sono necessari i concetti di Precision e Recall (Fig. 6).[15]

Precision: % di documenti ritrovati che sono rilevanti.

Recall: % di documenti rilevanti che sono stati ritrovati.

Ovviamente, un motore di ricerca fornisce risultati migliori tanto più sono alti tali valori (Fig. 7). Per classificare i documenti rilevanti, non ci sono meccanismi automatizzati, ma è un’operazione basata sul lavoro di esperti.  

Alla luce di queste informazioni generali passiamo all’analisi dei crawler da me scelti: Sphider, Nutch, PhpDig, ht://Dig.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Time limit is exhausted. Please reload CAPTCHA.