[Questo post è stato scritto da Gianmaria Silvello]
Quando io penso all’inizio, alla nascita dell’information retrieval, penso a H.P. Luhn o più precisamente al suo articolo “The automatic creation of literature abstract” pubblicato nell’IBM Journal nell’aprile del 1958. Non c’è dubbio, mi sbaglio… non è di certo Luhn il padre dell’IR, ma le sue idee rimangono fondamentali per lo sviluppo della materia, per cui mi sento di considerarlo un padre, a cui bisogna necessariamente portare rispetto.

Luhn affermava che la frequenza con cui alcune parole compaiono in un testo forniscono un parametro importante del significato delle parole. Inoltre dice che il posizionamento di queste parole all’interno delle frasi è un altro parametro che indica il significato e quindi l’importanza delle frasi. Quindi l’importanza e il significato di una frase è dato dalla combinazione di questi due fattori. Questi principi portano Luhn ad essere un importante figura nel mondo dell’ text processing automatico. La frequenza con cui alcune parole compaiono in un testo, può essere usata per rappresentare un documento.
Se pensiamo all’indicizzazione automatica dei testi, possiamo immaginare l’importanza di questo principio, infatti se per un essere umano è facile (non per tutti…) capire l’importanza di un testo e individuarne gli argomenti trattati, per un calcolatore questo è molto più complicato. Come può capire l’argomento trattato in un testo? E come può capirne l’importanza? La frequenza con cui le parole compaiono in un testo può dare un grande aiuto, anche se non basta contare le parole e vedere quella che compare più volte per classificare un documento. Se osserviamo la figura qui sopra, probabilmente possiamo avere un’idea più chiara di quello di cui stiamo parlando. Se indichiamo con f la frequenza con cui si presentano le varie parole, con r il loro posizionamento (rank order) e li disegniamo ponendoli in relazione otteniamo una curva simile a quella iperbolica visibile nella figura precedentemente indicata. Questa curva rappresenta la legge di Zipf che ci dice che il prodotto della frequenza delle parole per il loro rank è approssimativamente costante. Luhn usò la legge di Zipf per specificare due “cut-off”, uno alto e uno basso. La linea di cut-off alta, taglia tutte le parole che occorrono troppo frequentemente e che quindi non sarebbero indicative per rappresentare un testo, in italiano immaginiamo la congiunzione “e” oppure gli articoli. Il cut-off basso invece serve per eliminare le parole che compaiono troppo raramente e che quindi non sono indicative per identificare un testo; immaginiamo che in un articolo compaia una volta la parola “addizione”, non sarebbe sufficiente per dire che il testo tratta di aritmetica.
Oltre a questo, Luhn definì una funzione di risoluzione per le parole significative. Cosa significa? Significa che Luhn stabilì una regola basata su delle tecniche di conteggio per stabilire a quale frequenza le parole sono da considerarsi più significative e quindi più utili per discriminare il contenuto del testo. Questa funzione raggiunge il suo picco a metà via tra i due cut-off, per poi scendere nelle due direzioni, avvicinandosi allo zero in corrispondenza delle due linee di cut-off. A questo punto appare chiaro che una parte molto importante del lavoro è definire i punti di cut-off. Come posso dire da quale punto in poi le parole diventano importanti oppure non lo sono più? Provando e sbagliando… infatti c’è ancora adesso una buona dose di arbitrarietà nel definire questi limiti.
Luhn utilizzò questa tecnica per definire dei sommari automatici dei testi, successivamente è stata utilizzata per stabilire l’importanza delle parole da indicizzare. Successivamente la regola di Luhn fu raffinata, normalizzando le sue misure rispetto alla frequenza di ogni parole nel testo totale, quindi se una parola compare 4 volte in una frase e 200 volte nel testo totale, l’importanza della parola sarà 4/200.
L’analisi automatica dei testi si è rivelata ovviamente molto importante per quanto riguarda l’indicizzazione di questi. Un indice è formato da un insieme di termini chiamati termini indice, che sono ricavati dai testi per l’appunto indicizzati. Due importanti fattori per valutare un indice sono esaustività e specificità. Per ogni indice l’esaustività è definita dal numero di “topic” (argomenti) indicizzati, mentre la specificità è l’abilità di un indice di descrivere a fondo un argomento. La specificità venne definita (Keen e Digger), come la precisione con cui un documento è indicizzato. E’ comunque intuibile che questi fattori sono difficilmente quantificabili. Quantificare questi fattori è molto importante per aumentare l’efficacia del reperimento dei documenti, infatti un indice con alta esaustività porta ad avere un alto richiamo ([documenti rilevanti reperiti]/[documenti rilevanti totali reperiti e non-reperiti]) e una bassa precisione ([documenti rilevanti reperiti]/[documenti totali reperiti]). D’altra parte una bassa esaustività porta ad un’alta precisione e ad un basso richiamo. La stessa cosa si verifica con la specificità, più alta è questa maggiore è la precisione e minore è il richiamo e viceversa. Ricordo che precisione e richiamo sono due grandezze inversamente proporzionali, all’aumentare di una diminuisce l’altra.
Data l’importanza della questione, molte persone considerevoli nel mondo dell’information retrieval come Salton, Sparck-Jones e Yang, hanno studiato il problema, cercando di legare questi due fattori a varie collezioni di documenti. Ad esempio l’esaustività si può assumere essere legata al numero di termini indice assegnati ad un dato documento e la specificità invece al numero di documenti a cui un termine indice è assegnato in una collezione.
Un modo per controllare esaustività e specificità di un indice è quello di pesare i termini indice. Ci sono ovviamente molti tipi di pesatura ed essendo un punto importante dell’Information Retrieval, vorrei dedicare un post specifico (o più di uno) all’argomento. Consideriamo solamente lo schema di pesatura legato all’idea di Luhn, infatti la frequenza con cui un termine compare in un testo può essere usata come pesatura del termine e come indice della sua importanza. Quindi lo schema di pesatura in questione, assegna ad ogni termine un peso direttamente proporzionale alla frequenza con cui compare nel testo.
Se consideriamo importante la specificità di un termine, che è assunta essere inversamente proporzionale al numero di documenti in cui il termine indice compare allora la pesatura maggiore sarà associata, contrariamente al caso precedente, ai termini che compaiono in meno documenti.
La differenza tra i due metodi di pesatura è che utilizzando la frequenza dei termini si pone enfasi sulla descrizione dei contenuti mentre la pesatura basata sulla specificità pone l’accento sull’abilità dei termini di discriminare un documento dall’altro.
Se questo post ti è piaciuto, puoi decidere di ricevere gratuitamente gli aggiornamenti del blog abbonandoti al Feed RSS. Clicca qui.



















