Il successo che ha caratterizza il World Wide Web negli anni ‘90 e la conseguente crescita esponenziale del numero di siti web, che raggiunse i 100.000 nei soli tre anni successivi al rilascio della tecnologia alla base di tale fenomeno da parte del CERN (fonte MIT http://www.mit.edu/people/mkgray/growth/), ha determinato la nascita dei motori di ricerca (search engine) che in quegli anno furono leva e motore della bolla speculativa che caratterizzò la New Economy. Sin dalle origini il loro scopo è stato quello di creare un archivio delle pagine web esistenti e di guidare l’utente nelle fasi di ricerca delle informazioni. Nello sviluppo dei motori di prima generazione la ricerca si è focalizzata molto sulle componenti di analisi e creazione dell’archivio, mentre nella fase di recupero delle informazioni i motori si limitavano ad un semplice confronto lessicale tra i termini della query e quelli presenti nei siti web, restituendo i risultati in ordine casuale.
Il successo di uno o dell’altro motore di ricerca fu però determinato dagli utenti che lo utilizzavano i quali, evidentemente, erano maggiormente interessati alla loro capacità di restituire le pagine che avessero attinenza con la query di ricerca ordinate secondo criteri di rilevanza. La seconda generazione fu caratterizzata proprio dal concetto di “rilevanza” ed in particolare fu l’introduzione di algoritmi di PageRank, il più famoso è quello di Larry Page e Sergey Brin, che determinò una vera è propria rivoluzione. Tali algoritmi, ampiamente utilizzati dai motori di ricerca attualmente in commercio, determinano la rilevanza di un sito web in base al numero di pagine che hanno un collegamento verso il sito ed alla rilevanza di tali pagine.
Come è naturale, i motori di ricerca hanno sempre avuto un rapporto di simbiosi con il World Wide Web e conseguentemente la loro evoluzione è sempre stata caratterizzata dalle innovazioni tecnologiche introdotte in tale ambito. In particolare il periodo storico che attualmente sta vivendo il Web è contraddistinto dall’esplosione delle tecnologie connesse al Web 2.0 che, sebbene per la gran parte fossero già note alla fine degli anni ‘90, vivono oggi un periodo di particolare splendore grazie al successo che stanno riscuotendo tra gli utenti molti dei servizi ad essi collegati (Flicker, Facebook, Linked-in, etc.).
Dal punto di vista dell’infrastruttura di base il Web 2.0 è del tutto equivalente al Web 1.0 che lo ha preceduto, infatti, i protocolli che lo caratterizzano sono ancora il TCP/IP e HTTP, e l’ipertesto è ancora il concetto alla base delle relazioni tra i contenuti. La differenza sostanziale è nell’approccio con il quale gli utenti finali sono coinvolti nell’uso del Web. Negli ultimi anni si è assistito, infatti, ad un cambiamento radicale nel ruolo assunto dagli utilizzatori di internet che, grazie all’introduzione di nuovi strumenti, si sono trasformati da semplici consumatori passivi di informazioni a produttori attivi, popolando e alimentando il Web con propri contenuti attraverso un approccio collaborativo (web sociale).
Una così radicale trasformazione del Web non poteva non riflettersi nei motori di ricerca ed in particolare nelle modalità di determinazione della rilevanza dei contenuti. Spinti dalla visione del Web 2.0, infatti, i social search engine (motori di ricerca di terza generazione) tentano di sovvertire la visione tradizionale del PageRank, secondo la quale sono gli editori tradizionali dei contenuti a determinare la rilevanza di un sito web, a favore di un approccio in cui sono gli utenti, ovvero i destinatari delle informazioni, a determinarla. Nel tentativo di integrare il contributo degli utenti in tale processo, gli approcci che possono essere seguiti sono differenti. Il primo, e più semplice, è quello di intervenire nel processo di indicizzazione integrando fonti Web 2.0, come wiki, delicious, etc., ed assegnando a queste, in modo predeterminato, un’alta rilevanza (es. http://www.exalead.com/search/wikipedia/). Una seconda modalità prevede di consentire agli utilizzatori del motore di ricerca di lasciare commenti o feedback associati ai link direttamente restituiti nella pagina dei risultati del motore (es. http://www.baagz.com/). Di particolare interesse è, invece, l’approccio basato sul social ranking che prevede la determinazione del rank di una pagina in base alla rete sociale cui l’utente appartiene.
Esempio significativo di quest’ultimo approccio è rappresentato dal progetto A.V.I.C. il cui scopo è l’implementazione di un motore di riordinamento dei risultati, restituiti da un motore di ricerca con cui si integra, in base ai feedback di gradimento (impliciti ed espliciti) ottenuti dagli utenti durante la loro normale navigazione web e connessi tra di loro attraverso una rete sociale. L’approccio implementato consente, di fatto, di migliorare la qualità del ranking attraverso la riduzione dei link spam o comunque poco rilevanti, che vengono giudicati negativamente dagli utenti che li visitano. Per contro l’approccio sociale alla ricerca non consentirà mai un’indicizzazione completa dell’intero Web per cui non potrà prescindere dall’utilizzo dei tradizionali crawler.
Sebbene non vi sia ancora un’esatta definizione del concetto di Web 2.0, la comunità internet è ormai orientata verso la prossima generazione del Web ed in particolare verso le tecnologie connesse con il Semantic Web, che hanno ormai raggiungo un adeguato livello di maturità. Il concetto di web semantico fu introdotto da Tim Berners-Lee (già inventore del web tradizionale) il quale propose un web arricchito con strutture e collegamenti a più elevata espressività rispetto ai tradizionali link e destinati all’interpretazione di agenti software che potessero supportare l’utente nelle proprie attività. Sebbene l’idea sia datata, solo recentemente ha acquistato una certa notorietà grazie alla presenza, a livello spesso prototipale, di un certo numero di soluzioni prevalentemente legate alla tecnologia dell’information retrieval, piuttosto che a quella degli agenti software intelligenti.
L’idea alla base del web semantico è quella di utilizzare il concetto già noto di metadato, ovvero di informazione che qualifica ulteriormente una certa risorsa, in associazione con un’interpretazione univoca dei metadati utilizzati, fornita attraverso una rappresentazione implicita del loro significato. Tale rappresentazione può essere definita mediante diversi livelli di complessità:
– Tassonomie: aggiungono a tali definizioni le relazioni di sottoinsieme e sovra insieme (classificazione gerarchica dei concetti).
– Tesauri: estendono le tassonomie con la nozione di “concetto correlato”.
– Ontologie: includono relazioni più generali (es. composto-da).
Il semantic web prevede quindi la definizione di un certo numero di ontologie a diversi livelli di complessità e l’annotazione delle pagine web con i metadati associati a tali ontologie. Sfortunatamente il concetto di ontologia, che è il nodo centrale di tale approccio, è anche il suo punto debole in quanto la sua definizione è un processo estremamente complesso, che richiede un approccio collaborativo, un’approfondita conoscenza del dominio applicativo, e soprattutto il risultato ottenuto deve essere condivisibile e riutilizzabile dalla comunità scientifica. Tali limitazioni non hanno comunque impedito che la tecnologia fosse utilizzata con successo nell’ambito dei motori di ricerca verticali, ovvero focalizzati su determinati domini applicativi, come possono essere quelli utilizzati nei portali della pubblica amministrazione.
Motori di questo tipo prevedono la definizione di un’ontologia di dominio ed il suo utilizzo nelle due fasi di indicizzazione ed interrogazione con due scopi distinti. Nella prima fase le pagine recuperate vengono analizzate dal motore semantico che individua, in base all’ontologia, i concetti rilevanti presenti nel testo e li lega, attraverso l’annotazione, a quelli definiti nell’ontologia stessa. Nella seconda fase, invece, è la query di ricerca che viene analizzata dal motore semantico, al fine di estrarne i concetti (intesi) che saranno quindi utilizzati nella successiva attività di ricerca nell’archivio, al fine di filtrare i soli documenti che sono annotati con i medesimi concetti.
I vantaggi nell’uso di tale metodologia sono molteplici. Innanzitutto i risultati ottenuti sono decisamente più pertinenti con la richiesta effettuata ed inoltre sono assolutamente indipendenti dallo stile e dalla lingua della stessa.
(Scritto in collaborazione con Marco Pirrone)