Quella in cui viviamo è la società dell’in­for­ma­zio­ne. Dati, fatti e co­no­scen­ze hanno un’im­por­tan­za unica rispetto a cinquanta anni fa. E le in­for­ma­zio­ni presenti su Internet nel frattempo stanno au­men­tan­do co­stan­te­men­te. Ma il web è scon­fi­na­to e le in­for­ma­zio­ni vanno ri­chia­ma­te. Ad as­si­ster­ci in questo processo ci pensano i motori di ricerca. Ma come fanno questi a fornire dati che combacino alle vostre richieste?

La spie­ga­zio­ne è la co­sid­det­ta In­for­ma­tion Retrieval o recupero delle in­for­ma­zio­ni che è una di­sci­pli­na dell’in­for­ma­ti­ca e della scienza dell’in­for­ma­zio­ne, par­ti­co­lar­men­te im­por­tan­te per i motori di ricerca. Sulla base di complessi sistemi di In­for­ma­tion Retrieval i search engine ri­co­no­sco­no le in­ten­zio­ni alla base di de­ter­mi­na­ti termini di ricerca, andando a trovare i dati più rilevanti per le vostre ricerche.

La storia del recupero delle in­for­ma­zio­ni

L’In­for­ma­tion Retrieval consiste nel rendere ac­ces­si­bi­le la co­no­scen­za at­tual­men­te di­spo­ni­bi­le. Dif­fe­ren­te­men­te da quel che si possa pensare, questo processo non è una pre­ro­ga­ti­va dell’era digitale. Uno dei primi a ri­flet­te­re su come rendere ac­ces­si­bi­le l’ammasso di co­no­scen­za di­spo­ni­bi­le in quella che era una società che stava di­ven­tan­do sempre più confusa è stato lo studioso Vannevar Bush. Nell’anno 1945 ha messo le fon­da­men­ta per il futuro del recupero di in­for­ma­zio­ni e della loro or­ga­niz­za­zio­ne, con il suo articolo pio­nie­ri­sti­co “As We May Think”.

Bush individuò il seguente problema: gli esperti si spe­cia­liz­za­no sempre di più e hanno perciò bisogno di un numero sempre maggiore di in­for­ma­zio­ni, che però risultano sempre più difficili da trovare anche per via della dif­fe­ren­zia­zio­ne degli ambiti. Questo era chiaro in un tempo in cui le bi­blio­te­che erano ancora or­ga­niz­za­te in schedari e in grandi cataloghi. Una ricerca per parole chiave era possibile solo se il bi­blio­te­ca­rio si era preso la briga di schedare e in­di­ciz­za­re tutte le opere ma­nual­men­te.

Bush vide nello sviluppo tecnico del tempo, quale il microfilm, una pos­si­bi­li­tà per rendere le in­for­ma­zio­ni più fa­cil­men­te di­spo­ni­bi­li. La sua visione personale si chiamava Memex, una macchina delle di­men­sio­ni di una scrivania che doveva servire come archivio scien­ti­fi­co e apparato di ricerca. Memex non fu mai costruito, ma la tec­no­lo­gia, che per­met­te­va l’utente di passare da un articolo a un altro, in un certo senso sì. Può infatti essere intesa come pre­cur­so­re dell’ipertesto.

Negli anni 50 è stato l’in­for­ma­ti­co Hans Peter Luhn a con­fron­tar­si più di chiunque altro con il recupero delle in­for­ma­zio­ni, svi­lup­pan­do tec­no­lo­gie che sono ancora oggi rilevanti: full-text pro­ces­sing, auto-in­di­ciz­za­zio­ne e la dis­se­mi­na­zio­ne selettiva delle in­for­ma­zio­ni (SDI) si basano sulla sua ricerca. Questi metodi sono stati di grande im­por­tan­za per gli sviluppi di Internet, poiché nell’enorme flusso di in­for­ma­zio­ni del World Wide Web, i sistemi di In­for­ma­tion Retrieval sono im­pre­scin­di­bi­li. Senza di essi sarebbe im­pos­si­bi­le ottenere le risposte che state cercando.

In­for­ma­tion Retrieval: de­fi­ni­zio­ne

L’obiettivo dell’In­for­ma­tion Retrieval (IR) è quello di rendere di­spo­ni­bi­li in maniera au­to­ma­ti­ca i dati ar­chi­via­ti. Di­ver­sa­men­te dal Data Mining con il quale si estrag­go­no strutture dalle serie di dati, l’IR si occupa di filtrare in­for­ma­zio­ni spe­ci­fi­che da un quan­ti­ta­ti­vo di dati. Il campo di utilizzo tipico sono i motori di ricerca di Internet. I sistemi di In­for­ma­tion Retrieval risolvono so­prat­tut­to due problemi:

  1. Vaghezza: le ricerche degli utenti sono spesso imprecise, il termine di ricerca inserito lascia spesso spazio a in­ter­pre­ta­zio­ni. Chi ad esempio fa una ricerca uti­liz­zan­do la parola “banca” potrebbe avere bisogno di in­for­ma­zio­ni sul sistema bancario così come in­di­ca­zio­ni per trovare l’istituto bancario più vicino. Il problema si acuisce quando gli utenti stessi non sanno cosa stanno cercando.
  2. In­si­cu­rez­za: il sistema tra l’altro non è suf­fi­cien­te­men­te a co­no­scen­za dei contenuti delle in­for­ma­zio­ni ar­chi­via­te 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 si­gni­fi­ca­to diverso. Ad esempio un utente scrivendo “lega” potrebbe stare con­du­cen­do una ricerca sui metalli, così come in­te­res­sar­si delle vi­cis­si­tu­di­ni politiche del partito italiano che porta questo nome.

Inoltre il sistema di In­for­ma­tion Retrieval dovrebbe anche valutare le in­for­ma­zio­ni, al fine di offrire all’utente una suc­ces­sio­ne dei dati dove, ideal­men­te, il primo risultato è la risposta più adatta alla domanda posta dall’utente.

Pre­sen­ta­zio­ne dei vari modelli

Ci sono diversi modelli di­spo­ni­bi­li per l’In­for­ma­tion Retrieval, che tuttavia non si escludono ne­ces­sa­ria­men­te l’un l’altro, ma che anzi sono com­bi­na­bi­li. Molti modelli si di­stin­guo­no solo per dei dettagli. Gros­so­mo­do si possono di­stin­gue­re tre diverse categorie:

  • Modelli booleani: le relazioni di affinità vengono in­di­vi­dua­te at­tra­ver­so ope­ra­zio­ni booleane.
  • Modelli algebrici: l’affinità viene iden­ti­fi­ca­ta a coppie; documenti e ricerche sono rap­pre­sen­ta­bi­li come vettori, matrici o tuple ordinate (modello vet­to­ria­le).
  • Modelli pro­ba­bi­li­sti­ci: questi modelli producono ri­fe­ri­men­ti di affinità con­si­de­ran­do le quantità di dati come espe­ri­men­ti casuali divisi in più fasi.

Qui di seguito vi pre­sen­tia­mo i tre modelli archetipi di queste categorie. I modelli esistenti sono infatti più che altro una miscuglio dei tre, un modello booleano ha perciò ca­rat­te­ri­sti­che ap­par­te­nen­ti a quelli algebrici e pro­ba­bi­li­sti­ci.

Modello booleano

I motori di ricerca più famosi del web si basano sul principio booleano. Si tratta di col­le­ga­men­ti logici at­tra­ver­so i quali gli utenti possono rendere più precisa e accurata la propria ricerca. Con E, O o NON e i cor­ri­spet­ti­vi simboli ∧, V o ¬ è possibile rendere più specifica una richiesta. Questi servono quando ad esempio è fon­da­men­ta­le che entrambi i termini uti­liz­za­ti per una richiesta compaiano nella risposta o che al contrario vengano esclusi contenuti con de­ter­mi­na­ti termini.

Anche le ope­ra­zio­ni svolte da Google fun­zio­na­no secondo questo principio. Lo svan­tag­gio di questo sistema è che non prevede in alcun modo l’ordine ge­rar­chi­co dei risultati. Sarebbe utile infatti che se­guis­se­ro un ordine in base alla loro utilità, ma questo metodo offre i risultati in ordine casuale.

Modello di spazio vet­to­ria­le

In un accesso ma­te­ma­ti­co i contenuti possono essere rap­pre­sen­ta­ti come vettori. Nel modello di spazio vet­to­ria­le i termini (terms) vengono rap­pre­sen­ta­ti come assi delle coor­di­na­te. Sia i documenti come anche le ricerche con­ten­go­no valori specifici in ri­fe­ri­men­to al termine e sono perciò rap­pre­sen­ta­bi­li come punti o vettori all’interno di uno spazio vet­to­ria­le. Suc­ces­si­va­men­te entrambi i vettori vengono pa­ra­go­na­ti. Il vettore (ovvero il contenuto) più affine alla ricerca dovrebbe comparire come primo risultato nel ranking. Lo svan­tag­gio con questo modello è che senza i principi booleani nessun risultato può essere escluso.

Modello pro­ba­bi­li­sti­co

Il modello pro­ba­bi­li­sti­co si basa sulla teoria della pro­ba­bi­li­tà. A ogni contenuto viene at­tri­bui­to un valore di pro­ba­bi­li­tà. I risultati vengono ordinati in base alla loro pro­ba­bi­li­tà di cor­ri­spon­de­re all’in­ten­zio­ne di ricerca. Quanto elevate siano le pos­si­bi­li­tà che un dato contenuto cor­ri­spon­da al desiderio dell’utente lo individua il modello in base al co­sid­det­to 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 pos­si­bil­men­te migliore.

Lo svan­tag­gio di questo processo è che parte da due requisiti la cui ve­ri­di­ci­tà non è accertata: il primo è che il sistema dà per scontato che gli utenti siano disposti a col­la­bo­ra­re fornendo un feedback a ogni ricerca. Il secondo punto è che la teoria parte dal pre­sup­po­sto che gli utenti con­si­de­ri­no i ri­sul­tan­ti in­di­pen­den­ti l’uno dall’altro, ovvero che giu­di­chi­no ogni contenuto come se fosse il primo che gli viene mostrato. Nella pratica gli utenti valutano sempre l’utilità di un’in­for­ma­zio­ne in relazione con le altre, ovvero basandosi sui contenuti già vi­sua­liz­za­ti.

Fun­zio­na­men­to del recupero delle in­for­ma­zio­ni

Nell’In­for­ma­tion Retrieval vengono uti­liz­za­ti metodi di lavoro diversi, in­di­pen­den­te­men­te dai modelli. I loro obiettivo è sempre quello di fa­ci­li­ta­re agli utenti la ricerca di in­for­ma­zio­ni e di fornire risultati rilevanti.

Term Frequency-Inverse Document Frequency

L’im­por­tan­za di un termine per una query viene calcolata in maniera di­ret­ta­men­te pro­por­zio­na­le alla frequenza del termine al­l'in­ter­no di un documento e con pro­por­zio­na­li­tà inversa rispetto al numero dei documenti nei quali è presente. Il valore viene ab­bre­via­to in tf-idf.

  • Term Frequency: la frequenza indica quanto spesso un termine compare all’interno di un documento. La ri­cor­ren­za pura di per sé non può cor­ri­spon­de­re all’unico indizio per la rilevanza del testo. Poiché in un documento più lungo lo stesso termine comparirà pro­ba­bil­men­te più volte. Perciò la frequenza va con­si­de­ra­ta in relazione alle di­men­sio­ni di un documento. A questo scopo la frequenza del termine si calcola facendo il numero di oc­cor­ren­ze 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 chia­ra­men­te maggiore rispetto al termine “e”.

At­tra­ver­so la messa in con­nes­sio­ne di entrambi i test i sistemi di In­for­ma­tion Retrieval possono fornire risultati migliori, rispetto a quando vengono uti­liz­za­ti sin­go­lar­men­te: se a essere di im­por­tan­za è solamente la Term Frequency, allora ri­cer­can­do “la tra­smis­sio­ne te­le­vi­si­va con il topo” vengono ritenuti più rilevanti quei documenti con­te­nen­ti il maggior numero di volte le parole “la”, “con” e “il”. Chia­ra­men­te questo non por­te­reb­be a risultati sod­di­sfa­cen­ti. Puntando invece tutto sull’ Inverse Document Frequency, sarebbero i termini “tra­smis­sio­ne”, “te­le­vi­si­va” e “topo” a essere par­ti­co­lar­men­te si­gni­fi­ca­ti­vi ai fini della ricerca e sarebbero anzi ri­co­no­sciu­ti come gli unici termini rilevanti. 

Query Mo­di­fi­ca­tion

Un grande problema del recupero delle in­for­ma­zio­ni sono gli utenti stessi: at­tra­ver­so richieste imprecise o in­com­ple­te si finisce con l’ottenere in­for­ma­zio­ni sbagliate o in­suf­fi­cien­ti. Per evitare che ciò avvenga, gli esperti di in­for­ma­zio­ne hanno in­tro­dot­to la Query Mo­di­fi­ca­tion. Il sistema si occupa di mo­di­fi­ca­re au­to­no­ma­men­te la richiesta ef­fet­tua­ta. Ad esempio vengono so­sti­tui­ti i sinonimi, così che for­ni­sca­no risultati migliori.

A questo scopo il sistema si affida ai Thesauri e ai feedback forniti dagli utenti. Per non dipendere dalla col­la­bo­ra­zio­ne degli utenti, ci si può affidare ai co­sid­det­ti 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 ef­fet­tua­ta. Le richieste possono essere ampliate o mi­glio­ra­te anche at­tra­ver­so le seguenti tecniche:

  • Eli­mi­na­zio­ne delle stop words: come stop words vengono definite quelle espres­sio­ni che non con­tri­bui­sco­no al contenuto del testo o lo fanno solo in maniera non es­sen­zia­le. In relazione a ciò è sensato non con­si­de­ra­re articoli e con­giun­zio­ni come elementi rap­pre­sen­ta­ti­vi del contenuto del documento. 
  • Iden­ti­fi­ca­zio­ne di gruppi di più parole: gli ag­grup­pa­men­ti di parole devono essere ri­co­no­sciu­ti come tali. Questa iden­ti­fi­ca­zio­ne permette che i motori di ricerca possano iden­ti­fi­ca­re come rilevanti anche singole parti di parole unite assieme. Seppur meno es­sen­zia­le per la lingua italiana, per lingue come il tedesco è a dir poco fon­da­men­ta­le.
  • Riduzione alla forma base e ori­gi­na­ria della parola: per cercare in maniera efficace, le parole devono essere ridotte alla propria radice. Al­tri­men­ti nei risultati non com­pa­ri­reb­be­ro le forme flesse della parola.
  • Thesaurus: oltre ai termini uti­liz­za­ti che compaiono in un documento, un sistema di In­for­ma­tion Retrieval dovrebbe reputare rilevanti anche i sinonimi di una parola. Solo in questo modo è possibile as­si­cu­rar­si che gli utenti trovino quello che stanno veramente cercando.

Recall & Precision

L’efficacia di un sistema di In­for­ma­tion Retrieval viene so­li­ta­men­te calcolato secondo i fattori recupero (recall) e pre­ci­sio­ne (precision). Entrambi vengono rap­pre­sen­ta­ti come quozienti.

  • Recall: quanto completi sono i risultati di ricerca? Per cal­co­lar­lo bisogna con­fron­ta­re il numero di documenti rilevanti re­cu­pe­ra­ti con il numero di quelli non re­cu­pe­ra­ti. Il quoziente rivela quanto sia probabile che un documento rilevante sia ef­fet­ti­va­men­te trovato:
  • Precision: quanto è preciso il risultato di ricerca? Per capirlo bisogna con­fron­ta­re il numero di documenti rilevanti re­cu­pe­ra­ti con il numero di quelli non rilevanti. Il quoziente rivela quanto sia probabile che un documento re­cu­pe­ra­to 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 com­ple­tez­za dei risultati di ricerca, lo fa a spese della pre­ci­sio­ne e viceversa. Come ulteriore valore può essere calcolato il fallout. Questo quoziente re­sti­tui­sce il rapporto tra i documenti re­cu­pe­ra­ti ma ir­ri­le­van­ti e i contenuti ir­ri­le­van­ti ma non re­cu­pe­ra­ti. La pre­ci­sio­ne e il recupero sono rap­pre­sen­ta­bi­li in un diagramma ad asse, dove ognuno dei due valori cor­ri­spon­de a un’asse.

In­for­ma­tion Retrieval: esempio di una ricerca

Come già accennato ogni motore di ricerca si basa sull’In­for­ma­tion Retrieval. Perciò Google, Bing e Yahoo sono degli esempi perfetti di recupero com­pu­te­riz­za­to delle in­for­ma­zio­ni. Per mostrarvi come funziona nella pratica l’In­for­ma­tion Retrieval uti­liz­zia­mo un esempio semplice ma in­di­ca­ti­vo. A questo scopo partiamo da una matrice di ricerca cor­ri­spon­den­te a una bi­blio­te­ca di libri per bambini di piccole di­men­sio­ni. In tutti i libri si parla di animali ma noi vogliamo trovare solamente i libri in cui figurano elefanti e giraffe, ma non coc­co­dril­li. Una ricerca con il metodo booleano ap­pa­ri­reb­be così: elefante E giraffa NON coc­co­dril­lo. 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
Coc­co­dril­lo 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 va­lu­ta­zio­ne. In quale libro si parla ef­fet­ti­va­men­te 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” è pro­ba­bil­men­te un risultato migliore rispetto a “Michele e il circo pazzo” e dovrebbe quindi essere po­si­zio­na­to al primo posto del ranking dei risultati di ricerca. I metodi uti­liz­za­ti in questo caso fun­zio­na­no solo se i termini di ricerca sono fissati (in­di­ciz­za­zio­ne con­trol­la­ta). Questo può essere il caso delle banche dati spe­cia­li­sti­che, con gli utenti che sono cor­ret­ta­men­te istruiti sull’utilizzo della maschera di ricerca. Nel nostro caso sarebbe utile una Query Mo­di­fi­ca­tion: oltre a “elefante” avrebbe senso uti­liz­za­re il termine “pa­chi­der­ma” e varianti gram­ma­ti­ca­li di queste due parole, poiché po­treb­be­ro fornire risultati positivi.

Consiglio

Oltre a Google, nel World Wide Web ci sono molti altri motori di ricerca. Le al­ter­na­ti­ve a Google sono spesso molto più attente alla privacy degli utenti.

Vai al menu prin­ci­pa­le