Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Latent Semantic Indexing

Il motore di ricerca ideale? Vediamo come potrebbe essere con questa nuova tecnologia di information retrieval
Il motore di ricerca ideale? Vediamo come potrebbe essere con questa nuova tecnologia di information retrieval
Link copiato negli appunti

Internet sarebbe immaginabile senza market place, senza e-mall, senza siti porno... ma non sarebbe immaginabile senza motori di ricerca. Tutti utilizzano i motori di ricerca; più del 90% degli utenti, durante una sessione di navigazione, utilizza i motori di ricerca e tutti i responsabili di siti web sanno bene che il loro traffico, la loro clientela sarebbero decimati se non esistessero i nuovi utenti provenienti dai motori di ricerca.

L’archiviazione dei documenti attraverso la CDD

I motori di ricerca sono il ‘cuore’ della rivoluzione di Internet. Tutti gli ‘attori’ attuali della net economy sono trentenni che vent’anni fa frequentavano le biblioteche per ‘fare le ricerche’. L’unico strumento era la CDD: Classificazione Decimale Dewey. Secondo questo sistema di archiviazione dei documenti (e quindi dei libri), il ‘mondo’ è diviso in centesimi, 100: Filosofia, 200: Religione, 300 Scienze sociali, etc. etc.

Con tutto il rispetto per questa classificazione, si tratta di un sistema veramente elementare e poco utile. Gli interessi degli uomini, infatti, sono spesso ‘particolari’ e raramente ‘generali’. L’interesse per la logica aristotelica è più forte di quello della filosofia ‘in generale’; ma con non poche difficoltà si potranno trovare in una biblioteca libri che parlano, che citano, che fanno riferimento ai sillogismi aristotelici. Come cent’anni fa, bisognerà districarsi nella CDD e cercare di ‘indurre’ dove potranno essere presenti i libri che parlano dell’argomento di nostro interesse.

Il Thesaurus, una classificazione per keyword/keyphrase

A dire il vero, ci sono biblioteche dove la CDD non è affatto usata e dove invece è utilizzata la ricerca attraverso thesaurus, ovverosia attraverso parole-chiave. Si tratta per lo più di biblioteche specialistiche, che trattano di argomenti molto specifici. In queste biblioteche, il sistema di classificazione avviene per parole-chiave (keyword) o per frasi-chiave (key-phrase). Ad ogni documento (normalmente un libro) sono associate delle keyword o keyphrase, non più di dieci o quindici. Dietro a questa classificazione c’è un lavoro esclusivamente ‘umano’, ovverosia non meccanico o automatico; c’è un uomo, o una donna, una persona in carne ed ossa, che prende in mano un libro, ne guarda l’indice, lo sfoglia, analizza i capitoli, i paragrafi etc. e decide quali keyword/keyphrase assegnargli.

Un po’ di storia dei search engine

Nei primi anni ’90 Internet ha cominciato a essere conosciuto dal vasto pubblico e sono nati i motori di ricerca. Il sistema di ‘document retrieval’ utilizzato dai motori di ricerca è sempre stato molto simile a quello delle biblioteche che utilizzano un thesaurus, dal momento che è fondato sulle keyword/keyphrase.

Le differenze tra un thesaurus bibliotecario e un motore di ricerca sono due. Nel primo caso esiste uno staff di persone (o anche una sola persona) che decide quali keyword attribuire a ciascun documento, mentre per quanto riguarda i motori di ricerca sono gli stessi autori del sito ad attribuire le keyword. In secondo luogo, mentre nel caso di un thesaurus aziendale esiste un vero e proprio ‘libro’ che contiene tutte le keyword/keyphrase e relative relazioni, questo non accade nei motori di ricerca. Fatte queste debite distinzioni, possiamo dire pacificamente che il meccanismo dei motori di ricerca è molto più simile a un funzionamento ‘a thesaurus’ piuttosto che alla Classificazione Decimale Dewey.

Il primo motore di ricerca ‘popolare’ è stato Altavista. Altavista ‘spiderava’ i siti del Web e ne raccoglieva le informazioni considerate necessarie; fra queste informazioni, avevano un ruolo privilegiato le meta keyword, ovverosia le keyword che gli stessi autori avevano attribuito al proprio sito.

Come è noto, finita la fase naif di Internet, durata forse qualche mese, questo sistema di indicizzazione dei siti ha cominciato a mostrare delle forti lacune. I webmaster cominciavano ad attribuire ai siti delle keyword/keyphrase che non erano affatto attinenti con i contenuti del sito, al solo scopo di ottenere un maggiore traffico.

Dalla nascita di Altavista ad oggi è passato molto tempo e il meccanismo dei motori di ricerca si è modificato notevolmente. Oggi, il motore di ricerca leader è Google ma il meccanismo che sta alla base del suo funzionamento è il medesimo di quello di Altavista; la ricerca di documenti in Internet (siti) si basa ancora oggi sulle keyword/keyphrase.

Google come Altavista?

A prescindere dall’importanza data ai link (inbound, outbound, interni, etc), Google ‘ragiona’ per parole-chiave; non sono più le keyword contenute nelle TAG dell’HTML della pagina web, ma sono le keyword contenute o nell’url o nel testo della pagina o negli anchor che linkano al sito.

Fate una qualsiasi ricerca su Google, per esempio: “Saddam Hussein". Potrete scorrere centinaia di risultati di ricerca ma non troverete un solo link a una pagina che non contiene i termini “Saddam" e “Hussein". Tralasciando i temi di ranking, ovverosia del ‘peso’ che viene dato a ciascun sito nella visualizzazione delle SERP (Search Engine Results Page), il legame tra il termine utilizzato nella query (ricerca) e quello che appare nei risultati visualizzati è evidente. Google (come tutti gli altri motori di ricerca) ‘ragiona’, ‘seleziona’, ‘visualizza’ per keyword/keyphrase.

LSI, Latent Semantic Indexing

Questo è quello che gli angolofoni chiamerebbero “the state of the art", la situazione attuale. Per molti questo sistema di information retrieval è insostituibile e comunque il migliore. Cercheremo qui di dimostrare il contrario, analizzando il concetto e il possibile utilizzo del LSI, acronimo di Latent Semantic Indexing.

Facciamo un passo indietro. Quando un utente cerca in Internet, quali sono le sue esigenze fondamentali? Sono tre:

1) ampiezza

2) precisione

3) attinenza

Se cerchiamo “Saddam Hussein", vogliamo che il ‘nostro’ motore di ricerca visualizzi TUTTE le pagine web che “hanno a che fare" con Saddam Hussein.

Se cerchiamo “Saddam Hussein" vogliamo che il ‘nostro’ motore di ricerca non visualizzi i risultati di ricerca che “Non hanno a che fare" con Saddam Hussein.

Se cerchiamo “Saddam Hussein", vogliamo che i siti che “hanno a che fare" con Saddam Hussein siano disposti nelle SERP secondo un ordine di attinenza: dai più attinenti ai meno attinenti.

Il funzionamento attuale dei motori di ricerca presuppone che in tutti i documenti visualizzati sia presente la keyword “Saddam Hussein". Secondo il LSI non è così. Il LSI presuppone infatti che ci siano dei documenti “siti" che “hanno a che fare" con Saddam Hussein ma che non contengono al loro interno la keyphrase “Saddam Hussein" e nemmeno una delle keyword, “Saddam" o “Hussein".

il concetto c’è anche quando non c’è la parola

Poniamo che ci siano dei siti che parlano della guerra del golfo, dell’embargo petrolifero e che NON contengano né la keyword “Saddam" né la keyword “Hussein"; possiamo dire che questi siti “non hanno a che fare" con Saddam Hussein? Ovviamente no. Perché allora non contengono i termini “Saddam" e “Hussein"? Semplicemente perché i termini che ’definiscono’ un argomento, un soggetto, un’area semantica non sono sempre presenti in documento, essendo sufficiente solo una parte limitata di essi.

Facciamo un altro esempio. Poniamo che un utente sia interessato a trovare documenti che trattano del’Iraq. Il sistema di ricerca attuale non visualizzerebbe pagine web che non contengano la keyword “Iraq"; un errore grossolano secondo il LSI. Ci possono essere infatti migliaia di pagine web che trattano dell’embargo petrolifero, di Saddam Hussein, della guerra del golfo senza citare affatto il termine Iraq. E questo è un dato di fatto.

Il “problema", individuato dal LSI, è quindi il mancato reperimento e relativa visualizzazione di documenti che hanno a che fare con l’Iraq pur non contenendone il termine. Ma qual è la soluzione?

Diciamo subito che il Latent Semantic Indexing comprende una serie di implicazioni squisitamente matematiche e statistiche che in questo articolo non potremo prendere in considerazione. Cercheremo di limitare al massimo la parte teorica per occuparci il più possibile solo di quella funzionale.

La soluzione del LSI è questa. Se è vero che non tutti i documenti che “hanno a che fare" con una determinata area semantica non contengono tutte i termini che la definiscono, come è possibile non perdere nulla dei documenti? La soluzione proposta dal LSI è statistica e, come vedremo, esclusivamente statistica.

Prendiamo come esempio una pagina web: moltissimi dei termini contenuti non sono utili per la definizione della sua area semantica. Si tratta di parole funzionali, congiunzioni, preposizioni, pronomi, verbi ausiliari, etc. La prima operazione da fare in fase di LSI è eliminare tutti questi termini, lasciando soltanto ciò che è veramente significativo. Quindi, data una pagina web si debbono:

  • Eliminare gli articoli, le preposizioni e le congiunzioni
  • Eliminare i verbi comuni
  • Eliminare i pronomi
  • Eliminare gli aggettivi comuni
  • Eliminare gli avverbi comuni
  • Eliminare le parole che appaiono in ogni documento
  • Eliminare le parole che appaiono solo in un documento

Lo step successivo è procedere a quello che gli anglofoni chiamano "stemming", ovvero l'accorciamento dei termini, per arrivare alla loro 'radice'. Poniamo che dopo la suddetta eliminazione siano rimasti cinque termini

:

  • Presidente
  • Rivoluzione
  • Guerreggiare
  • America
  • Dittatore

Lo stemming produrrà i seguenti 'tronchi' di parole:

  • Presid
  • Rivoluz
  • Guerr
  • Americ
  • Dittat

Queste sono finalmente le informazioni che saranno utilizzate per generare il "term-document matrix", ovverosia la matrice dei termini del documento.

La TDM (Term Document Matrix)

La TDM è una griglia che rappresenta ogni termine contenuto in un documento. Viene generata disponendo la lista di tutti i termini sull'asse verticale e disponendo la lista di tutti i documenti (le pagine web) sull'asse orizzontale.

Nella matrice la presenza del termine nella pagina web sarà indicata con 1, mentre l'assenza sarà indicata con 0.

Pagine web:     1  2  3  4  5  6  7  8  9  10 11 12 13 14

Alber                 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 ... 

ancor                 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0 ... 

ascoli                 0  0  0  0  0  0  0  0  0  0  0  0  0  0  1 ... 

...

zuccher              0  0  0  0  1  0  0  0  0  0  0  0  0  0  0 ... 

Questo approccio dà già dei risultati molto interessanti, ma può essere decisamente migliorato applicando un 'favoritismo' chiamato "term weighting", ovverosia "peso delle parole".

Il term weighting nasce dalla formalizzazione di due considerazioni facilmente comprensibili.

1) le parole che appaiono più volte all'interno del medesimo documento sono probabilmente più significative delle parole che appaiono poche volte o una volta.

2) le parole che sono usate raramente nel complesso dei documenti sono considerabili più 'interessanti' e quindi più rilevanti.

Queste due variabili danno il 'peso' delle parole all'interno del documento e quindi, in fase di ricerca, daranno al documento stesso una importanza relativa e permetteranno di stabilire un ranking 'verticale', ovverosia non fondato solo sulla presenza, ma anche sul loro peso.

C'è infine un terzo 'passaggio', che potremmo chiamare di 'normalizzazione'. Un documento che parli di Saddam Hussein e che contenga 10.000 parole 'utili' potrà contenere la keyphrase "Saddam Hussein" 100 volte; un altro documento, che parla di Saddam Hussein, ma che contiene soltanto 1000 parole utili, difficilmente potrà contenere la stessa keyphrase 100 volte, ma questo non vuol dire che sia meno rilevante. La 'normalizzazione' permette quindi di valutare la frequenza all'interno del documento in termini percentuali e non assoluti.

Queste tre variabili, peso 'locale', peso 'generale' e fattore di normalizzazione, determineranno il peso dei termini nelle colonne della matrice.

Il sistema è applicabile a qualsiasi lingua o linguaggio, dal momento che non basato sul significato dei termini ma sulla loro frequenza e sui fattori sopra esposti che, come abbiamo visto, sono traducibili in semplici numeri.

Applicazione del LSI nei motori di ricerca

Dopo avere analizzato gli elementi basilari del LSI, torniamo al focus del nostro articolo, l'applicazione di questa teoria alla pratica dell'attività di ricerca in Internet. Abbiamo detto che attualmente i motori di ricerca, anche il potentissimo Google, 'ragionano' solo in termini di presenza della keyword cercata; chi cercasse infatti con la keyword "Iraq" su Google non troverebbe nella SERP nessun sito che non contenga la parola-chiave "Iraq". Con il sistema di LSI avremmo invece a disposizione anche una serie di pagine web che "hanno a che fare" con l'Iraq senza citare il termine Iraq.

Senza dubbio, il primo risultato sarebbe una maggiore ampiezza dei risultati di ricerca. Il problema che ora si pone è quello della precisione, ovverosia l'assenza di documenti che nulla hanno a che fare con la keyword/keyphrase cercata, e dell'attinenza, ovverosia del ranking dei documenti in fase di output. A nostro parere, queste due questioni (precisione e attinenza) possono incrinare la validità del LSI in fase di applicazione al funzionamento di un motore di ricerca. La nostra soluzione, apparentemente contrastante con quanto detto sinora, sarà l'applicazione di un elemento squisitamente umano alla fase di archiviazione dei documenti.

Prima di arrivare però a questa 'proposta', vediamo come potrebbero rispondere i 'puristi' del LSI alle due questioni della precisione e dell'attinenza. Per quanto riguarda la precisione, la risposta è tutta nella precisione della fase di 'pulizia' del linguaggio naturale, nella fase di stemming, nella costruzione della matrice, nel 'weighting' dei termini etc. In sostanza, se il lavoro stato fatto bene, allora ci sarà estrema precisione, se il lavoro è stato fatto male, allora non ci sarà precisione.

Ben diverso è invece il problema dell'attinenza, ovverosia del ranking dei documenti che sono stati archiviati nel database. Torniamo alla nostra ricerca: "Iraq"; abbiamo detto che oltre alle pagine web che contengono il suddetto termine, grazie al LSI sarebbe anche possibile visualizzare documenti che "hanno a che fare" con l'Iraq. Ma in che posizione saranno disposti questi documenti che non contengono il termine "Iraq" rispetto a quelli che lo contengono e in che posizione fra loro stessi? Premettendo che stiamo ragionando per pure ipotesi, si potrebbe trovare un sistema di weighting relativo tra le keyword/keyphrase effettivamente ricercate e quelle 'affini'. Per esempio: se un documento contiene 10.000 parole utili e contiene una sola volta la parola "Iraq", sarà esso più attinente di un documento di 1000 parole che non contiene affatto la parola Iraq ma che contiene 100 termini 'vicini' alla keyword Iraq? Possiamo dire certamente di no; probabilmente, nel primo documento si parla di Iraq solo 'di sfuggita', mentre nel secondo caso (per esempio una biografia di Saddam Hussein) l'Iraq è 'onnipresente', così presente che non è necessario citare il termine!

A molti, una situazione di questo tipo potrebbe apparire paradossale ed effettivamente sembra strano che in una biografia che parla di Saddam Hussein non sia citata nemmeno una volta la parola "Iraq". Poniamo però il caso di un articolo scientifico che tratta di equazioni differenziali o di frattali; in questo caso è altamente improbabile che sia presente il termine "matematica" ed è altrettanto vero che un articolo sui frattali "abbia a che fare" con la matematica molto di più di uno che tratti di una notizia di cronaca nera dove si legge nel titolo: "Professore di matematica uccide i suoi studenti con un mitra".

Una correzione 'umana' a monte e una questione aperta

È qui che interviene il fattore umano. Chi può sapere che in una pagina web di geografia è difficile che non si parli della regione quando si parla della provincia e che invece in una pagina web che tratta dei frattali sia normale che non venga citato il termine "matematica"? Evidentemente lo può sapere solo un uomo.

Non tratteremo in questo articolo dell'effettiva applicazione di un'archiviazione a Thesaurus a un motore di ricerca che si basa sul LSI. Quello che possiamo certamente dire è che il LSI ha il pregio di cercare di avvicinarsi il più possibile all'area dei significati piuttosto che di rimanere ancorato ai "significanti", ma non ha l'umiltà di capireche, se è vero che chi cerca in Internet cerca significati e non "parole", è altrettanto vero che una specie di opera di reverse engineering non è affatto sufficiente per avvicinarsi veramente a quello che l'uomo voleva comunicare. Internet è soprattutto comunicazione e la comunicazione avviene tra un essere umano e un altro essere umano; per ora, nei motori di ricerca, ci siamo sempre trovati di fronte a un essere umano - chi cerca - che tenta di "comunicare" con un archivio non umano. Una dimensione umanistica a monte di tutto quanto abbiamo detto del LSI è certamente da prendere in considerazione per chi voglia veramente rivoluzionare il modo di ricercare nel Web.

Ti consigliamo anche