LEZIONE #5: SOTTOFASI DELL'INDICIZZAZIONE
Vediamo ora più in dettaglio la fase di indicizzazione: ricordo che attraverso essa possiamo, a partire dalla collezione dei nostri documenti, costruire una struttura dati contenente le parole chiave per ciascuna delle quali è presente la lista dei documenti in cui essa è presente. Le parole chiave sono dette descrittori o termini indice.
Questa fase si rende necessaria in quanto sarebbe impossibile per il sistema scandire per ogni richiesta (e spesso sono tante e distanziate di breve tempo) tutta la collezione alla ricerca delle informazioni richieste dall'utente: con l'indicizzazione abbiamo una struttura snella (parte di essa è in RAM) e veloce, a patto di perdere in precisione.
L'indicizzazione è un processo che ha come input la collezione dei documenti e come output la lista dei descrittori che nel miglior modo possibile descrivono l'informazione contenuta nella collezione. A sua volta essa si divide in sottofasi.
La prima è l'analisi lessicale: attraverso essa il testo viene "messo in ordine": formalmente dal testo grezzo del documento vengono estratte le stringhe che potenzialmente contengono descrittori; a tal proposito sono tolti i segni di punteggiatura e gli spazi, e viene tutto uniformato ad un unico alfabeto; inoltre, a seconda delle scelte di progetto, possono essere tolti numeri e date, o comunque per questi elementi viene definita una formattazzione comune; anche le maiuscole solitamente vengono convertite nelle corrispondente lettera minuscola.
Dopo l'analisi lessicale abbiamo un testo sicuramente più "pulito" ed omogeneo e siamo perciò pronti alla rimozione delle parole comuni; il concetto di "parole comuni" ("stop words") è piuttosto interessante: come sappiamo in ogni lingua ci sono dei termini che vengono utilizzati con maggiore frequenza rispetto ad altri, ma questo non basta, infatti perchè sia tolta dal documento è necessario che tale parola non apporti nessuna informazione. Ad esempio articoli e preposizioni quasi sempre rientrano in questa categoria e infatti spesso sono eliminati dal testo restituito dall'analisi lessicale. Esiste, per ogni lingua, una lista di parole frequenti su cui questa fase si basa per liberare il testo da termini che di fatto risultano inutili.
A questo punto il testo sarà una sequenza di parole che verranno ulteriormente semplificate nella fase dello stemming: in questo caso si riducono alle radici le parole originali, allo scopo di far coincidere allo stesso termine diverse varianti. Un classico esempio è dato dalla radice "comput" che può coincidere a "computer", "computing" e ad altre varianti: quello che avviene è che ad ogni occorrenza di "computer" o "computing" la parola viene sostituita da "comput". La ricerca di "computer" potrà restituire anche documenti contenenti solo "computing" (anche se in alcuni sistemi più avanzati viene mantenuta a parte una tabella con le varianti) Questo viene fatto perchè spesso le varianti di una stessa parola radice si riferiscono tutte al medesimo ambito, se non sono addirittura sinonimi. In questo caso si vede come si accetta di perdere dell'informazione ("computing" non è proprio la stessa cosa di "computer") al fine di rendere più snello il testo, ricordandosi che alla fine dobbiamo avere una lista di parole che ben rappresentano ciò che in esso è contenuto.
Alla prossima con le altre sottofasi.