**Frequenza inversa del documento **
Ora dobbiamo far saltar fuori una misura di frequenza nel contesto dell'intero insieme del documento.
Possiamo definirla come "la frequenza inversa del documento" ed è data dalla formula IDF=log (N/ni). Che cosa significa e che cosa è quella formula nel suo insieme?
In primo luogo, consideriamo la parte "inversa".
A differenza dal caso di frequenza normalizzata all'interno di un documento, nel contesto dell'intero insieme di documento ci occorre che l'importanza di una parola scenda così come la frequenza della parola aumenta.
Quando la parola compare in ogni documento, ci occorre che questo valore sia zero.
Dopo tutto, se compare in ogni documento, è senza valore come differenziatore fra i documenti.
Quando la parola compare soltanto in alcuni documenti, desideriamo che questo abbia un alto valore.
Quindi, l'inverso:
quantità elevata, valore basso;
conteggio basso, alto valore.
Questo è l'opposto della frequenza normalizzata.
Quindi, che valore possiamo dargli? Ricordiamo le definizioni:
N è il totale # dei documenti.
Ni è # dei documenti in cui il termine di ricerca di interesse (ki) compare.
Possiamo fare un rapporto di N diviso da Ni, (N/Ni) che esprimerà abbastanza chiaramente questo rapporto inverso.
Per vederlo, guardiamo questa tabella:
N_ ni___ N/ni___ Commento
1000___ 1___ 1000___ Conteggio basso, valore alto! Se la parola è presente una sola volta, il rapporto diviene molto alto. Hmm, se usiamo questo per determinare il peso diverrà troppo dominante.
1000___ 100___ 10___ Questo è un numero ragionevole, forse...
1000___ 500____ 2___ Conteggio alto, valore basso.
1000___ 1000___ 1___ Oops! Abbiamo detto che quando la parola appare in ogni documento, ci serve che il numero sia zero. Qui il nostro rapporto inverso è pari a uno. Questo è un problema.
Quindi siamo vicini, ma abbiamo alcuni problemi. Come risolvere i problemi con il nostro rapporto inverso? Useremo la funzione di logaritmo per normalizzare i valori.
Anziché N/ni, consideriamo log(N/ni):
N_ ni___ log(N/ni)___ Commento
1000___ 1_______ 3____ Bene, 3 sembra un buon numero da usare come fattore maggiorativo per una parola realmente rara.
1000___ 100_____ 2____ Mi piace anche questo 2
1000___ 500___ .301029996___ Se una parola appare in metà dei documenti, non è molto degna... hmmm, .3 suona bene.
1000___ 1000____ 0____ Bingo! Abbiamo detto che quando la parola compare in ogni documento, avremmo voluto il peso essere zero. Ecco, sta cominciando a funzionare!.
Così questo appare un buon IDF [ Inverse Document Frequencies ].
È zero quando la parola compare in tutti i documenti ed aumenta progressivamente così come il formato dei documenti diviene maggiore.
Usando un paragone per tuffatori, l'IDF è paragonabile "al grado della difficoltà" di un tuffo.
L'IDF di una parola chiave è costante attraverso un insieme dei documenti.
È soltanto necessario calcolarlo una volta per un dato insieme di documenti.
Il grado della difficoltà di un tuffo non cambia mentre i vari tuffatori lo fanno e l'IDF di un termine di ricerca non cambia mentre la parola chiave è usata nelle ricerche su documenti differenti.
Pesi
Ora, per concludere, possiamo calcolare i pesi!
Abbiamo già visto in anteprima come desideriamo si comportino i pesi.
Se aggiungiamo alcuni dati-campione vediamo che una moltiplicazione dei fattori funzionerà perfettamente nella generazione dei pesi:
Frequenza_________Frequenza___________Peso_____ Esempio_____ Esempio_____ Esempio
Normalizzata___ Inversa del documento_______________ nf__________ idf_______ (nf * idf)
__ Alta______________ Alta___________ Molto alto_____ .9_________ 1.2________ 1.08
Bassa___________ Alta_____________ Medio_______ .2_________ .9________ .18
Alta__________ Bassa____________ Medio_______ .85________ .04_______ 0.034
Bassa___________ Bassa_________ Molto basso____ .15________ .09_______ 0.0135
Come illustrato, poiché entrambi i termini sono stati normalizzati, possiamo moltiplicarli semplicemente insieme per ottenere un valore del peso che segue le regole generali nella tabella.
Questa in effetti è la formula consigliata per calcolare il peso dei documenti:
Questo ci dice che il peso per il ki in dj pari alla sua frequenza normalizzata (nf) di tempi della relativa frequenza inversa del documento (IDF). Puo essere applicato entrambi i pesi di documento.
Per usarla in un peso di domanda, la frequenza normalizzata dovrebbe essere calcolata sull'intero insieme di documento, non su di un singolo documento.
Il testo suggerisce un aumento nel calcolo del vettore di domanda:
Questo ci dice che il peso del termine i nel vettore di domanda q è pari alla frequenza normalizzata del termine di ricerca nel "testo della richiesta delle informazioni q".
Poiché questo sarebbe solitamente un numero basso, c'è un falso fattore di 0,5: la frequenza normalizzata ricalcolata ottiene un mezzo peso ed un valore libero "0,5" è aggiunto.
Ciò aumenterebbe il valore di una frase di ricerca che è stata inserita più di una volta.
Se ad esempio desiderassimo trovare "salto" potremmo cercare "salto salto salto" e questo aumenterebbe il valore di quella frase.
Ho miei dubbi circa l'efficacia del questo sistema come interfaccia utente.
Nel software di prova dell'Università [USA], è stata usata la frequenza normalizzata invariata di termine per il peso di vettore di domanda.
Conclusioni
Il Modello Vettoriale di Reperimento delle Informazioni è un potente strumento per la realizzazione del Motore di ricerca.
Questa discussione ha fornito un'introduzione ai concetti matematici richiesti per capire il Modello Vettoriale ed ha mostrato l'applicazione di quei concetti nello sviluppo del modello stesso.
vector model Information Retrieval
Theory of Information Retrieval, Florida State University LIS-5263 (Fall, 2003)
Written by Rich Ackerman, September 25. 2003
http://www.hray.com/
E' possibile discutere questi argomenti qui.
Concluso questo primo capitolo di studio, prima di passare alla realizzazione di un Semplice Motore di Ricerca valuteremo il:
**Salton's Vector Space Model **