« We support the web
Google Checkout non passa il check-in di EBAY »

5 July 2006

LATENT SEMANTIC INDEXING. MOTORE DEL MOTORE SEMANTICO

LSI Internet sarebbe immaginabile senza market place; sarebbe immaginabile senza e-mall; anche senza siti po*no sarebbe immaginabile, anche se sarebbe molto triste :-); ma Internet non sarebbe immaginabile senza motori di ricerca. Tutti utilizzano i motori di ricerca; più del 90% degli user, durante una sessione di navigazione, utilizza i motori di ricerca e tutti i responsabili di siti web, dai webmaster di siti minuscoli ai direttori di grandi portali, sanno bene che il loro traffico, la loro clientela (da un punto di vista commerciale) sarebbero decimati se non esistessero i nuovi utenti provenienti dai motori di ricerca.

Nei racconti fantascientifici di qualche decennio fa, si ipotizzavano navicelle spaziali ‘casalinghe’, autostrade sopraelevate di centinaia di metri dal suolo della città, sistemi di teletrasporto, di ‘navigazione’ nel tempo etc. Nessuno di questi autori ha mai però pensato a quella che è stata veramente la rivoluzione della fine dello scorso millennio: la possibilità di accedere a informazioni sino a pochi anni o pochi mesi prima irraggiungibili; la possibilità di essere collegati e di comunicare contemporaneamente in tutto il mondo istantaneamente: in sostanza, nessuno aveva previsto Internet, o, anche quando Internet già ‘funzionava’ sotto forma di ‘Arpanet’, nessuno ne aveva individuato la rivoluzionarietà.

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 di paese o delle città per ‘fare le ricerche’. L’unico strumento, oltre all’esperienza di una bibliotecaria volenterosa e spesso incapace, 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, 400: Linguaggio, 500: Scienze naturali e matematica etc. etc.

Con tutto il rispetto per questa classificazione, ancora oggi utilizzata in tutte le biblioteche del mondo, si tratta di un sistema di archiviazione veramente elementare e poco utile e per un semplice motivo: gli interessi degli uomini sono spesso ‘particolari’ e raramente ‘generali’. L’interesse per il personaggio della Badessa di Castro è più forte, più determinante di quello per la ‘letteratura francese del’800′; l’interesse per la logica aristotelica lo è più di quello della filosofia ‘in generale’; ma se, ancora oggi andate in una qualsiasi biblioteca, anche di una grande città, troverete non con poche difficoltà i libri che parlano, che citano, che fanno riferimento alla Badessa di Castro o che parlano, 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 bello è che spesso li si ha sotto mano, di fronte a noi nello scaffale, ma non possiamo sapere se contengono il nostro prezioso contenuto. Dovremmo spulciarli tutti, affidarci al sommario, all’indice, all’elenco delle citazioni, etc. Un lavoro immane, tanto più difficile quanto più è particolareggiata la nostra ricerca (e quindi interessante) e quanto più è ampio il numero di testo che abbiamo a disposizione.

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: armi da fuoco antiche, farmacologia, psicologia sociale e così via. In queste biblioteche specialistiche, 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. Per fare un esempio: un libro che parla di William James avrà assegnate le seguenti keyword/keyphrase: William James, Pragmatismo, Filosofia Americana, Charles Sanders Peirce, Evoluzionismo, Charles Darwin, Filosofia dell’ottocento, Henry James, etc.

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 (di solito, in carne), che prende in mano un libro, ne guarda l’indice, lo sfoglia, analizza i capitoli, i paragrafi etc. e decide quali keyword/keyphrase assegnargli; ogni volta che quest’uomo (non sempre lo stesso ovviamente) analizzerà un testo da classificare, e vedrà che esso tratta di William James, gli attribuirà la keyphrase "William James"; quando arriverà un ‘utente’ interessato a documenti (libri) che trattano di William James, gli sarà sufficiente cercare con questa keyphrase e potrà visualizzare tutti i documenti; in questo caso molti potranno essere non filosofici, ma psicologici, oppure letterali, dando quindi un output ‘trasversale’ rispetto a quello che si sarebbe potuto ottenere solo attraverso una ricerca con la Classificazione Decimale Dewey.

Purtroppo, come abbiamo sopra ricordato, queste biblioteche che funzionano con una ricerca a Thesaurus sono tipicamente specialistiche e quindi il principio della trasversalità è più teorico che effettivo. Possiamo però dire che, se da un secolo a questa parte tutti i libri di tutte le biblioteche fossero stati classificati anche con questo sistema (oltre che con la CDD), oggi sarebbe molto più semplice rintracciare i testi che parlano di un autore, un argomento, una battaglia, etc., a prescindere dalla loro catalogazione ‘generica’ (libri di storia, di pedagogia, di filosofia, etc.).

Un pò di storia dei Search Engine

Nei primi anni ‘90 Internet è 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, che riprenderemo in seguito nella nostra analisi, possiamo dire pacificamente che il meccanismo dei motori di ricerca è molto più simile a un funzionamento ‘a thesaurus’ piuttosto che con la Classificazione Decimale Dewey.

Il primo motore di ricerca ‘popolare’ è stato Altavista (a onor del vero e’ stato Lycos, ma in un periodo in cui ancora pochissimi si ‘incontravano là’). 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 del sito avevano attribuito al proprio sito; quindi, quando un utente di Altavista cercava ‘William James’, visualizzava una lista di pagine all’interno del cui codice HTML era stata inserita la keyphrase "Wiliam James"; se un utente avesse cercato "William James libertà", sarebbero state visualizzate le pagine web contententi le meta keyword “William James” e “libertà”, o meglio le keyword "William", "James" e "libertà".

Inutile dire che il sistema di output delle pagine web non era così semplicistico, ma possiamo affermare che il suo nucleo era proprio quello appena descritto.

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 (le keyword erano non solo totalmente non attinenti; erano anche ripetute ossessivamente con quello che oggi si chiama ‘keyword stuffing’ e che rappresenta una delle pratiche piu’ idiote di black hat); siti pornografici inserivano fra le proprie meta keyword il termine "MP3" perché era una keyword molto ‘popolare’ e avrebbe quindi portato molto traffico, anche se non intenzionale.

Dalla nascita di Altavista ad oggi è passato molto tempo, soprattutto molto "tempo internet", pari a decine di anni di un mercato consolidato della old economy e il meccanismo dei motori di ricerca si è modificato notevolmente. Oggi, il motore di ricerca leader non è più Altavista (nè tantomeno Lycos), ma Google.

Non è argomento di questo articolo capire quali sono i meccanismi di funzionamento dello spidering, dell’indicizzazione e del posizionamento di Google, quello che però ci preme sottolineare è che, nonostante tutte le modifiche effettuate, il meccanismo che sta alla base del funzionamento di Google è il medesimo di quello di Altavista; la ricerca di documenti in Internet (siti) si basa infatti - ancora oggi - sulle keyword/keyphrase.

Google come Altavista?

A prescindere dall’importanza data da Google ai link (inbound, outbound, interni, etc), Google ‘ragiona’ (proprio come Altavista) per parole-chiave; non sono più le keyword contenute nelle TAG dell’HTML della pagina web (non è proprio vero, ma lo diciamo per semplificare), ma sono le keyword contenute o nell’url o nel testo della pagina o nei nomi dei link che puntano 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. Possiamo pacificamente dire che 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 Latent Semantic Indexing 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

Cerchiamo di spiegare come questo possa essere giustificabile con un semplice esempio. 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 un documento, essendo sufficiente solo una parte limitata di essi.

Per chi avesse dei dubbi in merito alla ragionevolezza (e, vedremo in seguito, all’efficacia del LSI), possiamo fare un altro esempio, simile a quello sopra. 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 post 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.

Il Latent Semantic Indexing ‘al lavoro’

Prendiamo come esempio una pagina web, che è molto simile a una pagina di una rivista: contiene testo e immagini e il testo può essere maiuscolo, minuscolo, sottolineato, corsivo etc. Ora, in una pagina web (o di una rivista) moltissimi dei termini contenuti non sono utili per la defizione della sua area semantica.

Il linguaggio naturale è pieno di ‘ridondanze’ e non tutte le parole che appaiono hanno un significato in sé; in tutte le lingue indoeuropee la maggior parte delle parole utilizzate sono parole funzionali, congiunzioni, preposizioni, pronomi, verbi ausiliari, etc.

La prima operazione che deve essere utilizzata in fase di LSI è quella di eliminare tutti questi termini, in quanto inutili e ostacolo per l’analisi semantica della pagina, lasciando soltanto cioè che è veramente significativo. Quindi, data una pagina web si debbono:

  • Eliminare gli articoli, le preposizioni e le congiunzioni
  • Eliminare i verbi comuni (sapere, vedere, fare, essere)
  • Eliminare i pronomi
  • Eliminare gli aggettivi comuni (grande, vecchio, alto)
  • Eliminare gli avverbi comuni
  • Eliminare le parole che appaiono in ogni documento (stiamo supponendo infatti che il sistema di LSI lavori su un archivio di tanti documenti – pagine – differenti)
  • Eliminare le parole che appaiono solo in un documento (come direbbero i grecisti, gli Hapax).

Una volta effettuata questa operazione, rimarranno solo le parole utili per il LSI; esse sono però ancora in una forma troppo vicina al linguaggio naturale per essere utili per il LSI, quindi bisogna procedere a quello che gli anglofoni chiamano “stemming”. Lo stemming non è altro che l’accorciamento, per arrivare alla loro ‘radice’, dei termini che sono rimasti disponibili dopo l’opera di eliminazione dei termini non necessari.

Poniamo che dopo la suddetta eliminazione siano rimasti cinque termini (ovviamente, nella realtà, il numero di termini per documento sarà molto più alto)

  • 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 quello che in inglese viene definito "term-document matrix", ovverosia la matrice dei termini del documento e questo per tutti i documenti contenuti nel nostro archivio (per esempio, in Internet, di tutte le pagine web che sono state indicizzate).

La TDM (Term Document Matrix)

La TDM è una griglia che rappresenta ogni termine contenuto in un documento. Abbiamo visto sopra come un documento (una pagina web), scritto in linguaggio naturale, sia ‘ridotto’ ai suoi elementi essenziali. La TDM 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. Non è necessario che venga rispettato un qualche ordine anche se normalmente sarà utilizzata una disposizione alfabetica.

La TMD sarà quindi composta disponendo sull’asse verticale tutte i termini che lo compongono, una volta eliminate le parole non ritenute utili. Nella matrice, ovviamente, la presenza del termine nella pagina web sarà indicata con 1, mentre l’assenza sarà indicata con 0.

Questo approccio dà già dei risultati molto interessanti, ma esso 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 soltanto (sempre che l’opera di ‘pulizia’ preliminare sia stata fatta correttamente e non siano quindi rimaste parole poco significative).
  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 (alla pagina web) 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’ da tenere in considerazione, che potremmo chiamare di ‘normalizzazione’. Il principio che sta alla base della normalizzazione è molto semplice. Facciamo un esempio: 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. In questo caso, il presupposto che un documento ampio sia più ‘interessante’ per un ricercatore (per chi, per esempio, esegue una query in un motore di ricerca) viene completamente rifiutato.

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

Ciò che viene particolarmente apprezzato nel LSI è il fatto che il sistema è applicabile a qualsiasi lingua o linguaggio, dal momento che non è basato sul significato dei termini ma sulla loro frequenza e sui fattori che abbiamo sopra preso in considerazione e che, come abbiamo visto, sono traducibili in semplici numeri.

Applicazione del LSI nei motori di ricerca

Dopo avere analizzato forse troppo superficialmente gli elementi basilari del LSI, possiamo tornare al focus del mio post, ovverosia l’applicazione di questa teoria alla pratica dell’attività di ricerca in Internet. Abbiamo detto che attualmente chi cercasse infatti con la keyword “Iraq” su Google non troverebbe nelle Serp nessun sito che non contenga la parola chiave "Iraq". Tutti i motori di ricerca, anche il potentissimo Google, ‘ragionano’ solo in termini di presenza della keyword cercata.

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; documenti su Saddam Hussein, sulla guerra del Golfo, sull’embargo petrolifero, sull’atavica contrapposizione tra sciiti e sanniti, etc. Senza dubbio, possiamo dire che il primo risultato, riprendendo le tre esigenze del ‘web searcher’ di cui parlavamo all’inizio prima, 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. Diciamo subito che, 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 tutto quanto detto sinora, sarà l’applicazione di un elemento squisitamente umano alla fase di archiviazione dei documenti, rimettendo in gioco quanto detto a proposito dell’archiviazione con Thesaurus.

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, potremmo dire che 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, il sostenitore del LSI potrebbe rispondere: la precisione dei risultati sta tutta nella precisione con cui è stato svolto il processo di indicizzazione dei documenti (pagine web); se il lavoro è stato fatto bene, allora ci sarà estrema precisione, se il lavoro è stato fatto male, allora non ci sarà precisione. Si tratta di una risposta per certi versi semplicistica, ma non si può dire che sia insoddisfacente.

Ben diverso è invece il problema dell’attinenza, ovverosia del ranking dei documenti (pagine web) 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 e che il LSI ancora non è stato applicato ai motori di ricerca, possiamo sicuramente trovare delle risposte in parte soddisfacenti. Si potrebbe infatti 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’ (ovverosia che si presentano solitamente insieme) 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 o su John Nash “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” (di solito accade il contrario ?).

Una correzione ‘umana’ a monte e una questione aperta

E’ qui che interviene il fattore umano a cui abbiamo accennato prima.
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. E chi può sapere che il termine “dittatore” è sinonimo di “despota”? Chi può sapere che il melanoblastoma è un tipo di tumore e non che il tumore è un tipo di melanoblastoma? Non tratteremo in questo post dell’effettiva applicazione di un’archiviazione a Thesaurus a un motore di ricerca che si basa sul LSI, lasciando aperta la discussione per future trattazioni.

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 capire che, se è vero che chi cerca in Internet cerca significati, concetti, argomenti 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.

Abbiamo detto che 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 (che rappresenta comunque un enorme passo avanti rispetto all’attuale situazione dei motori di ricerca) è certamente da prendere in considerazione per chi voglia veramente rivoluzionare il modo di ricercare nel Web.

D’altronde, chi non fa altro che aumentare enormemente il numero di pagine web indicizzate dovrebbe chiedersi perché le directory, che hanno indicizzati solo una piccola percentuale dei siti presenti nei motori di ricerca, sono ancora tanto amate da chi naviga la Rete.

Spero di essere riuscito a dare qualche ‘clue’ di quanto sia interessante e complesso (anzi direi più che complesso, complicato nella realizzazione) il LSI e la sua applicazione al web. Come potete ben vedere, Accoona e tutto fuorchè un esempio di motore di ricerca semantico, o di motore di ricerca intelligente (diciamo con un core’ di intelligenza artificiale). Per chi fosse interessato a dettagli più tecnici sull’argomento, io sono a disposizione. The doctor is in. :-) 

Social Bookmarking
blinkbits  BlinkList  blogmarks  co.mments  connotea  del.icio.us  De.lirio.us  digg  Fark  feedmelinks  Furl  LinkaGoGo  Ma.gnolia  NewsVine  Netvouz  RawSugar  Reddit  scuttle  Shadows  Simpy  Smarking  Spurl  TailRank  Wists  YahooMyWeb 

[...] Leggi l’articolo di Federico  Vuoi ricevere gratis le ultime novita’ di Wmtools? Lascia qui la tua email… Tuo Nome E-mail [...]

Pingback by » Latent Semantic Indexing - Web Marketing e Posizionamento — 6 July 2006 @ 07:32

Il LSI è sicuramente una tecnologia interessante. Tecniche di LSI sono adottate in alcuni filtri antispam. Leggevo, non ricordo dove, che applicando tecniche di LSI è possibile superare il TOEFL con un buon punteggio.
Ciò che impedisce (per il momento) l’uso di LSI nei motori di ricerca è l’enorme quantità di risorse computazionali necessarie per elaborare l’elevato numero di documenti/termini del web.

Comment by emmeesse — 6 July 2006 @ 09:49

concordo pienamente. Devo anche dire, che una versione ‘mixed’ fra lessicale e semantico, avendo per esempio il semantico in long term cache, non è così formidabile da realizzare. E aggiungo inoltre che se Google si concentrasse di più a risolvere questi problemi quantitativi invece che a comprare societa’ discutibili e fare keyholes nell’acqua con qualsiasi not search related business, sicuramente potremmo già godere di un motore che capisce che ‘cavalli di moda’ e una cosa diversa da ‘cavalli è di moda’ …:)

Comment by federico riva — 6 July 2006 @ 11:30

Di sicuro interessante ma come ci mettiamo con Orion di Google?

Che si sia una non attinenza di risultati alle query fatte nei motori di ricerca è ormai risaputo e devo aggiungere che questo è anche grazia al lavoro fatto dei SEO e dai SEM per convogliare traffico anche da keywords non del tutto attinente ai siti ottimizzati…

In termini di pertinenza di risultati, anche se con una sensibile differenza di risultati rispetto a Google, MSN Live Search sembrerebbe essere più preciso della concorrenza; un caso? Lessicale e semantico?

Alex
http://www.dbatrade.com

Comment by Alex — 6 July 2006 @ 17:15

>
Non credo che Google se ne stia con le mani in mano. Alex ad esempio cita Orion; è probabile che ne pentolone di Google sia in preparazione anche altro ma a noi non è dato sapere.
E’ vero che Orion non nasce in casa Google ma non è così semplice tirare fuori buoni algoritmi per migliorare in modo *significativo* i risultati delle ricerche, senza richiedere uno sproposito di risorse.
Già c’è la possibilità di fare ricerche semantiche (penso ad esempio a questa azienda italiana http://www.expertsystem.it/); la difficoltà forse sta nell’estenderle all’intero web.

Comment by emmeesse — 7 July 2006 @ 09:23

A me lascia perplesso quel “ha a che fare”.
Senza dubbio gli sforzi dell’LSI sono ammirevoli e rappresentano un passo avanti nell’evoluzione dei motori. D’altra parte anche l’LSI si basa su statistiche ed algoritmi… pretenderanno di capire il significato allo stesso modo con cui gli americani misurano l’intelligenza di una persona con i QI?

Comment by Calogero Dimino — 7 July 2006 @ 22:56

[...] Latent Semantic Indexing. Motore del motore semantico [...]

Pingback by emmeesse » Blogosfera italiana — 23 July 2006 @ 09:07

Sono tornato a leggere questo post che il mese scorso mi ero limitato a “spiluccare”.

Cito: “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?”

La risposta a questa domanda la fornisce l’algoritmo LSI stesso; data una query possiamo ordinare i documenti in base alla loro “distanza” dalla query.
Naturalmente il rank di LSI è un “rank by content” (dipendente dal documento); un motore di ricerca probabilmente combinerà poi questo rank con un “rank by context” (link popularity) per decidere l’ordine dei documenti visualizzati all’utente.

Cito: “E chi può sapere che il termine “dittatore” è sinonimo di “despota”?”
LSI dovrebbe essere bravo proprio in queste situazioni; dovrebbe essere in grado di fondere i termini che si riferiscono ad uno stesso concetto (naturalmente dipende anche dai documenti che gli vengono dati in pasto: LSI non ha nulla di magico, è solo statistica e algebra); ciò è ottenuto matematicamente riducendo la dimensionalità della Term Document Matrix.

Certamente LSI non potrà capire che, cito: “il melanoblastoma è un tipo di tumore e non che il tumore è un tipo di melanoblastoma?”
LSI lavora sulla co-occorenza dei termini o in altre parole sulla struttura semantica che si cela (latente) nell’uso dei termini; LSI non lavora sulla semantica dei termini.

Comment by emmeesse — 4 August 2006 @ 18:49

[...] Latent Semantic Indexing [...]

Pingback by » Dal Web Semantico ai Sistemi Cognitivi - 1 parte - Marketing Routes — 6 August 2006 @ 09:45

[...] Latent Semantic Indexing [...]

Pingback by » Dal Web Semantico ai sistemi cognitivi - 2 parte - Marketing Routes — 6 August 2006 @ 10:26

[...] I vari amministratori di siti e webmaster dal canto loro sono (stati) costretti ad adattarsi a certe dinamiche strutturali stabilite da chi ha creato i principali motori di ricerca diversi anni fa. E non accennano a smettere. O meglio. Certi sintomi ci sono di forte volontà di cambiamento della gestione dell’informazione e non solo perché spesso ultimamente si sente tornare in auge la semantica. Ma di questo spiegherò più avanti nel post. [...]

Pingback by » Motori-di-ricerca-Web-usability-Distruzione-grafica-Web-(sites) - Marketing Routes — 27 August 2006 @ 23:43

[...] Latent Semantic Indexing [...]

Pingback by Motori di Ricerca e Intelligenza Artificiale — 20 September 2006 @ 22:39

esiste qualche script o software che e’ capace di eseguire un’analisi comparativa tra piu’ pagine web e quindi calcolare e rappresentare il Term Document Matrix di ogni pagina?

sarebbe molto interessante poter esaminare questo tipo di dati

Comment by paolo — 9 March 2007 @ 09:45

[...] latent semantic indexing (LSI o LSA Analysis) è solo una della soluzioni (la più meccanica e quindi la più desiderata da [...]

Pingback by Il web semantico non può essere morto perchè non è ancora nato — 20 May 2007 @ 16:36

Mi sorprendo che chi ha scritto questo articolo non si sia documentato a sufficienza. La descrizione di quello che viene chiamato LSI è quantomeno superficiale. Le vere soluzioni di indicizzazione semantica NON si basano sulla statistica, NON eliminano articoli e preposizioni, NON eliminano i pronomi, ecc..
Altrimenti non sarebbe possibile cogliere la differenza tra “ho fatto mangiato il cavallo dalla torre” e “ho fatto mangiare il cavallo nella torre”. Chi fa semantica riesce a distinguere queste due frasi, chi non la fa (e cioè applica la statistica ed elimina le stopwords come suggerito da Federico Riva) no.

Comment by PinkThink — 28 May 2007 @ 11:56

ovviamente nell’esempio citato in precedenza c’è un errore. Le frasi a confronto sono “ho fatto mangiare il cavallo dalla torre” e “ho fatto mangiare il cavallo nella torre”

Comment by PinkThink — 28 May 2007 @ 13:01

Ok Pink man.

Semanticamente ti dico che il tuo esempio della torre e del cavallo (peraltro utilizzato in maniera standard da chi si occupa di semantica, oltre che da te) non viene risolto non eliminando le preposizioni bensì contestualizzando (semanticamente) la frase; posto che la sematic search non si occupa di “frasi”, anche se carine e note come quelle che citi, ma del significato (in senso ampio) di pagine (e siti) web; quindi diciamo che il tuo esempio potrebbe andare bene per una pagina web che comprendesse solo la frase: “ho fatto mangiare il cavallo nella torre” (che ovviamente, a meno che non te ne voglia occupare tu, non ha senso per gli esseri umani e non è quindi nemmeno una questione di sematic search); per sovrammercato aggiungo che la semantic search si occupa o si deve occupare di unire una intenzione da parte del searcher con l’ambito e il significato di una pagina/gruppo-dipagine/sito web e nessuno è interessato a sapere dove hai fatto mangiare il tuo cavallo; ma capisco bene che il tuo è un esempio “significativo” oltre che semantico e quindi ti aggiorno sul fatto che le preposizioni non sono utilizzate non perchè non si possa utilizzarle, ma perchè non solo non serve, ma non conviene. Le preposizioni servono - anche nella nostra vita quotidiana - solo per brevi frasi. il significato della pagina di un libro si può capire benissimo senza preposizioni, come anche senza punteggiatura come anche senza staccare le parole una dall’altra, così come intere frasi si possono capire anche modificando la posizione delle lettere in ciascuna parola. Per disambuiguare le (non) tue frasi di cui sopra è quindi sufficiente per il buon motore semantico, in fase di analisi della pagina (e quindi poi per l’output al searcher) verificare che “cavallo” e “torre” siano in un contesto scacchistico ovvero bucolico (che mi sembra appartenerti più del primo); una volta capito questo (non statisticamente ma “grazie” alla statistica) la pagina che conterrà quella frase sarà (in virtù di quella frase e in virtù del suo legame con altre frasi presenti sulla medesima pagina) considerata “pagina di scacchi” e quindi proposta, con un ranking variabile, al searcher che cerchi e desideri avere informazioni sulle posizioni del cavallo, della torre etc… nelle varie aperture, chiusure e così via. Ovviamente, grazie alla statistica e alla LSI sarà possibile anche capire che la frase sgrammaticata che hai scritto: “ho fatto mangiato il cavallo dalla torre” sia riconoscibile come significativa nonostante il refuso. diciamo che la statistica serve, anche se non basta; ma mi sembra prestino per parlare con te di queste cose. Torna a dar da mangiare al cavallo mentre io mi faccio due spaghi con la mia regina.
ciao mr pink

Comment by Federico Riva — 28 May 2007 @ 13:02

@ Federico Riva

Capisco il tuo punto di vista, che tra l’altro avresti potuto cercare di esprimere con un po’ meno boria. Ribadisco che il processo da te descritto NON è quello di un vero motore semantico, ma di chi cerca di fare semantica usando un po’ di statistica sulle parole presenti nel testo.
Non è questa la sede per dire qual è l’approccio migliore, anche perchè penso che dipenda sempre dal tipo di applicazione desiderato. Il mio post chiedeva solo maggiore precisione nella descrizione di un’indicizzazione semantica perchè, ribadisco, quella da te fatta era quantomeno superficiale.
Se ti avanzano due spaghi favorirei anch’io, visto che è ora di pranzo…

Comment by PinkThink — 28 May 2007 @ 13:34

ok ti perdono.

Comment by mailoo — 28 May 2007 @ 14:02

Leave a comment

About Marketing Routes:

Blog multi-autore che ha come focus il mondo del marketing, dell'advertising e della comunicazione online ed offline. Non solo un bookmark da controllare giornalmente ma un dispensatore di notizie, consigli, strategie per tutti coloro che operano in questi settori. Nato con la convinzione che di blog riguardanti il marketing, la comunicazione e la pubblicità ce ne siano molti, ma quelli veramente di qualità sono pochi, Marketing Routes vuole apportare agli utenti della rete i modi di vedere, le esperienze e le considerazioni di diversi giovani professionisti del settore così da aprire un dibattito con gli utenti senza mai prendersi troppo sul serio.

Creative Commons License

Design © 2006 by Consulenzaweb.com | Powered by WordPress