Information Retrieval e la grande ricerca del sapere

Quella in cui viviamo è la società dell’informazione. Dati, fatti e conoscenze hanno un’importanza unica rispetto a cinquanta anni fa. E le informazioni presenti su Internet nel frattempo stanno aumentando costantemente. Ma il web è sconfinato e le informazioni vanno richiamate. Ad assisterci in questo processo ci pensano i motori di ricerca. Ma come fanno questi a fornire dati che combacino alle vostre richieste?

La spiegazione è la cosiddetta Information Retrieval o recupero delle informazioni che è una disciplina dell’informatica e della scienza dell’informazione, particolarmente importante per i motori di ricerca. Sulla base di complessi sistemi di Information Retrieval i search engine riconoscono le intenzioni alla base di determinati termini di ricerca, andando a trovare i dati più rilevanti per le vostre ricerche.

La storia del recupero delle informazioni

L’Information Retrieval consiste nel rendere accessibile la conoscenza attualmente disponibile. Differentemente da quel che si possa pensare, questo processo non è una prerogativa dell’era digitale. Uno dei primi a riflettere su come rendere accessibile l’ammasso di conoscenza disponibile in quella che era una società che stava diventando sempre più confusa è stato lo studioso Vannevar Bush. Nell’anno 1945 ha messo le fondamenta per il futuro del recupero di informazioni e della loro organizzazione, con il suo articolo pionieristico “As We May Think”.

Bush individuò il seguente problema: gli esperti si specializzano sempre di più e hanno perciò bisogno di un numero sempre maggiore di informazioni, che però risultano sempre più difficili da trovare anche per via della differenziazione degli ambiti. Questo era chiaro in un tempo in cui le biblioteche erano ancora organizzate in schedari e in grandi cataloghi. Una ricerca per parole chiave era possibile solo se il bibliotecario si era preso la briga di schedare e indicizzare tutte le opere manualmente.

Bush vide nello sviluppo tecnico del tempo, quale il microfilm, una possibilità per rendere le informazioni più facilmente disponibili. La sua visione personale si chiamava Memex, una macchina delle dimensioni di una scrivania che doveva servire come archivio scientifico e apparato di ricerca. Memex non fu mai costruito, ma la tecnologia, che permetteva l’utente di passare da un articolo a un altro, in un certo senso sì. Può infatti essere intesa come precursore dell’ipertesto.

Negli anni 50 è stato l’informatico Hans Peter Luhn a confrontarsi più di chiunque altro con il recupero delle informazioni, sviluppando tecnologie che sono ancora oggi rilevanti: full-text processing, auto-indicizzazione e la disseminazione selettiva delle informazioni (SDI) si basano sulla sua ricerca. Questi metodi sono stati di grande importanza per gli sviluppi di Internet, poiché nell’enorme flusso di informazioni del World Wide Web, i sistemi di Information Retrieval sono imprescindibili. Senza di essi sarebbe impossibile ottenere le risposte che state cercando.

Information Retrieval: definizione

L’obiettivo dell’Information Retrieval (IR) è quello di rendere disponibili in maniera automatica i dati archiviati. Diversamente dal Data Mining con il quale si estraggono strutture dalle serie di dati, l’IR si occupa di filtrare informazioni specifiche da un quantitativo di dati. Il campo di utilizzo tipico sono i motori di ricerca di Internet. I sistemi di Information Retrieval risolvono soprattutto due problemi:

  1. Vaghezza: le ricerche degli utenti sono spesso imprecise, il termine di ricerca inserito lascia spesso spazio a interpretazioni. Chi ad esempio fa una ricerca utilizzando la parola “banca” potrebbe avere bisogno di informazioni sul sistema bancario così come indicazioni per trovare l’istituto bancario più vicino. Il problema si acuisce quando gli utenti stessi non sanno cosa stanno cercando.
  2. Insicurezza: il sistema tra l’altro non è sufficientemente a conoscenza dei contenuti delle informazioni archiviate al suo interno. Per questo motivo a volte vengono forniti dei risultati errati. Questo avviene ad esempio nel caso di parole omonime, ovvero parole identiche ma dal significato diverso. Ad esempio un utente scrivendo “lega” potrebbe stare conducendo una ricerca sui metalli, così come interessarsi delle vicissitudini politiche del partito italiano che porta questo nome.

Inoltre il sistema di Information Retrieval dovrebbe anche valutare le informazioni, al fine di offrire all’utente una successione dei dati dove, idealmente, il primo risultato è la risposta più adatta alla domanda posta dall’utente.

Presentazione dei vari modelli

Ci sono diversi modelli disponibili per l’Information Retrieval, che tuttavia non si escludono necessariamente l’un l’altro, ma che anzi sono combinabili. Molti modelli si distinguono solo per dei dettagli. Grossomodo si possono distinguere tre diverse categorie:

  • Modelli booleani: le relazioni di affinità vengono individuate attraverso operazioni booleane.
  • Modelli algebrici: l’affinità viene identificata a coppie; documenti e ricerche sono rappresentabili come vettori, matrici o tuple ordinate (modello vettoriale).
  • Modelli probabilistici: questi modelli producono riferimenti di affinità considerando le quantità di dati come esperimenti casuali divisi in più fasi.

Qui di seguito vi presentiamo i tre modelli archetipi di queste categorie. I modelli esistenti sono infatti più che altro una miscuglio dei tre, un modello booleano ha perciò caratteristiche appartenenti a quelli algebrici e probabilistici.

Modello booleano

I motori di ricerca più famosi del web si basano sul principio booleano. Si tratta di collegamenti logici attraverso i quali gli utenti possono rendere più precisa e accurata la propria ricerca. Con E, O o NON e i corrispettivi simboli ∧, V o ¬ è possibile rendere più specifica una richiesta. Questi servono quando ad esempio è fondamentale che entrambi i termini utilizzati per una richiesta compaiano nella risposta o che al contrario vengano esclusi contenuti con determinati termini.

Anche le operazioni svolte da Google funzionano secondo questo principio. Lo svantaggio di questo sistema è che non prevede in alcun modo l’ordine gerarchico dei risultati. Sarebbe utile infatti che seguissero un ordine in base alla loro utilità, ma questo metodo offre i risultati in ordine casuale.

Modello di spazio vettoriale

In un accesso matematico i contenuti possono essere rappresentati come vettori. Nel modello di spazio vettoriale i termini (terms) vengono rappresentati come assi delle coordinate. Sia i documenti come anche le ricerche contengono valori specifici in riferimento al termine e sono perciò rappresentabili come punti o vettori all’interno di uno spazio vettoriale. Successivamente entrambi i vettori vengono paragonati. Il vettore (ovvero il contenuto) più affine alla ricerca dovrebbe comparire come primo risultato nel ranking. Lo svantaggio con questo modello è che senza i principi booleani nessun risultato può essere escluso.

Modello probabilistico

Il modello probabilistico si basa sulla teoria della probabilità. A ogni contenuto viene attribuito un valore di probabilità. I risultati vengono ordinati in base alla loro probabilità di corrispondere all’intenzione di ricerca. Quanto elevate siano le possibilità che un dato contenuto corrisponda al desiderio dell’utente lo individua il modello in base al cosiddetto Relevance Feedback. Ad esempio gli utenti vengono esortati a valutare i risultati, così che la lista dei risultati mostrata alla prossima identica ricerca sia diversa e possibilmente migliore.

Lo svantaggio di questo processo è che parte da due requisiti la cui veridicità non è accertata: il primo è che il sistema dà per scontato che gli utenti siano disposti a collaborare fornendo un feedback a ogni ricerca. Il secondo punto è che la teoria parte dal presupposto che gli utenti considerino i risultanti indipendenti l’uno dall’altro, ovvero che giudichino ogni contenuto come se fosse il primo che gli viene mostrato. Nella pratica gli utenti valutano sempre l’utilità di un’informazione in relazione con le altre, ovvero basandosi sui contenuti già visualizzati.

Funzionamento del recupero delle informazioni

Nell’Information Retrieval vengono utilizzati metodi di lavoro diversi, indipendentemente dai modelli. I loro obiettivo è sempre quello di facilitare agli utenti la ricerca di informazioni e di fornire risultati rilevanti.

Term Frequency-Inverse Document Frequency

L’importanza di un termine per una query viene calcolata in maniera direttamente proporzionale alla frequenza del termine all'interno di un documento e con proporzionalità inversa rispetto al numero dei documenti nei quali è presente. Il valore viene abbreviato in tf-idf.

  • Term Frequency: la frequenza indica quanto spesso un termine compare all’interno di un documento. La ricorrenza pura di per sé non può corrispondere all’unico indizio per la rilevanza del testo. Poiché in un documento più lungo lo stesso termine comparirà probabilmente più volte. Perciò la frequenza va considerata in relazione alle dimensioni di un documento. A questo scopo la frequenza del termine si calcola facendo il numero di occorrenze del termine fratto il numero di termini presenti nel dato documento:
  • Inverse Document Frequency: per idf non si intende un solo documento ma un intero corpo di testi. Le parole che compaiono in un numero limitato di documenti ma che all’interno di questi ricorrono con grande frequenza, hanno un’elevata rilevanza come termini, maggiore di quella dei termini che compaiono in tutti i testi o quasi. Ad esempio il termine “frequenza inversa” ha un valore chiaramente maggiore rispetto al termine “e”.

Attraverso la messa in connessione di entrambi i test i sistemi di Information Retrieval possono fornire risultati migliori, rispetto a quando vengono utilizzati singolarmente: se a essere di importanza è solamente la Term Frequency, allora ricercando “la trasmissione televisiva con il topo” vengono ritenuti più rilevanti quei documenti contenenti il maggior numero di volte le parole “la”, “con” e “il”. Chiaramente questo non porterebbe a risultati soddisfacenti. Puntando invece tutto sull’ Inverse Document Frequency, sarebbero i termini “trasmissione”, “televisiva” e “topo” a essere particolarmente significativi ai fini della ricerca e sarebbero anzi riconosciuti come gli unici termini rilevanti. 

Query Modification

Un grande problema del recupero delle informazioni sono gli utenti stessi: attraverso richieste imprecise o incomplete si finisce con l’ottenere informazioni sbagliate o insufficienti. Per evitare che ciò avvenga, gli esperti di informazione hanno introdotto la Query Modification. Il sistema si occupa di modificare autonomamente la richiesta effettuata. Ad esempio vengono sostituiti i sinonimi, così che forniscano risultati migliori.

A questo scopo il sistema si affida ai Thesauri e ai feedback forniti dagli utenti. Per non dipendere dalla collaborazione degli utenti, ci si può affidare ai cosiddetti pseudo feedback. Questo metodo fa sì che il sistema legga i termini tra loro collegati presenti nei migliori risultati di ricerca e li valuti come rilevanti per la ricerca effettuata. Le richieste possono essere ampliate o migliorate anche attraverso le seguenti tecniche:

  • Eliminazione delle stop words: come stop words vengono definite quelle espressioni che non contribuiscono al contenuto del testo o lo fanno solo in maniera non essenziale. In relazione a ciò è sensato non considerare articoli e congiunzioni come elementi rappresentativi del contenuto del documento. 
  • Identificazione di gruppi di più parole: gli aggruppamenti di parole devono essere riconosciuti come tali. Questa identificazione permette che i motori di ricerca possano identificare come rilevanti anche singole parti di parole unite assieme. Seppur meno essenziale per la lingua italiana, per lingue come il tedesco è a dir poco fondamentale.
  • Riduzione alla forma base e originaria della parola: per cercare in maniera efficace, le parole devono essere ridotte alla propria radice. Altrimenti nei risultati non comparirebbero le forme flesse della parola.
  • Thesaurus: oltre ai termini utilizzati che compaiono in un documento, un sistema di Information Retrieval dovrebbe reputare rilevanti anche i sinonimi di una parola. Solo in questo modo è possibile assicurarsi che gli utenti trovino quello che stanno veramente cercando.

Recall & Precision

L’efficacia di un sistema di Information Retrieval viene solitamente calcolato secondo i fattori recupero (recall) e precisione (precision). Entrambi vengono rappresentati come quozienti.

  • Recall: quanto completi sono i risultati di ricerca? Per calcolarlo bisogna confrontare il numero di documenti rilevanti recuperati con il numero di quelli non recuperati. Il quoziente rivela quanto sia probabile che un documento rilevante sia effettivamente trovato:

 

  • Precision: quanto è preciso il risultato di ricerca? Per capirlo bisogna confrontare il numero di documenti rilevanti recuperati con il numero di quelli non rilevanti. Il quoziente rivela quanto sia probabile che un documento recuperato sia rilevante:

Entrambi i valori si attestano tra 0 e 1, dove 1 è il valore perfetto. Ma nella pratica i valori perfetti si escludono. Chi aumenta la completezza dei risultati di ricerca, lo fa a spese della precisione e viceversa. Come ulteriore valore può essere calcolato il fallout. Questo quoziente restituisce il rapporto tra i documenti recuperati ma irrilevanti e i contenuti irrilevanti ma non recuperati. La precisione e il recupero sono rappresentabili in un diagramma ad asse, dove ognuno dei due valori corrisponde a un’asse.

Information Retrieval: esempio di una ricerca

Come già accennato ogni motore di ricerca si basa sull’Information Retrieval. Perciò Google, Bing e Yahoo sono degli esempi perfetti di recupero computerizzato delle informazioni. Per mostrarvi come funziona nella pratica l’Information Retrieval utilizziamo un esempio semplice ma indicativo. A questo scopo partiamo da una matrice di ricerca corrispondente a una biblioteca di libri per bambini di piccole dimensioni. In tutti i libri si parla di animali ma noi vogliamo trovare solamente i libri in cui figurano elefanti e giraffe, ma non coccodrilli. Una ricerca con il metodo booleano apparirebbe così: elefante E giraffa NON coccodrillo. Il risultato della ricerca può essere sempre e solamente 1 o 0, ovvero il termine è presente sì o no?

 

Tim & Olli allo zoo

Susi al safari

Michele e il circo pazzo

Katia e Rex: avventure portando a spasso il cane

Crociera in vaporetto sul fiume Nilo

Elefante

1

1

1

0

1

Giraffa

1

0

1

0

1

Coccodrillo

0

1

0

0

1

Cane

0

0

1

1

0

Leone

1

1

1

0

0

Gatto

0

0

0

1

0

Come risultato la ricerca darebbe “Tim & Olli allo zoo” e “Michele e il circo pazzo”. Però sono risultati senza una valutazione. In quale libro si parla effettivamente di giraffe ed elefanti? A dircelo ci pensano la Term Frequency e la Inverse Document Frequency:

Tim & Olli allo zoo

 

Elefante

Giraffa

Term Frequency

36

20

Inverse Document Frequency

0,1

0,2

Rapporto tf-idf

3,6

4

Michael e il circo pazzo

Term Frequency

10

11

Inverse Document Frequency

0,1

0,2

Rapporto tf-idf

1

2,2

“Tim & Olli allo zoo” è probabilmente un risultato migliore rispetto a “Michele e il circo pazzo” e dovrebbe quindi essere posizionato al primo posto del ranking dei risultati di ricerca. I metodi utilizzati in questo caso funzionano solo se i termini di ricerca sono fissati (indicizzazione controllata). Questo può essere il caso delle banche dati specialistiche, con gli utenti che sono correttamente istruiti sull’utilizzo della maschera di ricerca. Nel nostro caso sarebbe utile una Query Modification: oltre a “elefante” avrebbe senso utilizzare il termine “pachiderma” e varianti grammaticali di queste due parole, poiché potrebbero fornire risultati positivi.

Consiglio

Oltre a Google, nel World Wide Web ci sono molti altri motori di ricerca. Le alternative a Google sono spesso molto più attente alla privacy degli utenti.