2009-03-17 11 views

risposta

8

L'integrato di Lucene Similarity è un algoritmo di punteggio "Inverse Document Frequency" piuttosto standard. L'articolo di Wikipedia è breve, ma copre le basi. Il libro Lucene in Action suddivide la formula di Lucene in modo più dettagliato; non rispecchia perfettamente l'attuale formula di Lucene, ma tutti i concetti principali sono spiegati.

In primo luogo, il punteggio varia con il numero di volte che si verifica termine nel documento corrente (la frequenza termine), e inversamente con il numero di volte in cui un termine si verifica in tutti i documenti (la frequenza documento) . Gli altri fattori nella formula sono secondari, regolando il punteggio nel tentativo di ottenere punteggi da query diverse abbastanza comparabili tra loro.

+0

-1 Il libro dice meno del JavaDocs quindi non preoccupatevi di acquistare. –

3

Pensa a ogni documento e termine di ricerca come un vettore le cui coordinate rappresentano una misura di quanto sia importante ogni parola nell'intero corpus di documenti sia per quel particolare documento o termine di ricerca. La somiglianza indica la distanza tra due diversi vettori.

Supponiamo che il tuo corpus sia normalizzato per ignorare alcuni termini, quindi un documento costituito solo da quei termini si troverà all'origine di un grafico di tutti i tuoi documenti nello spazio vettoriale definito dal tuo corpus. Ogni documento che contiene altri termini, quindi rappresenta un punto nello spazio le cui coordinate sono definite dall'importanza di quel termine nel documento relativo a quel termine nel corpus. Due documenti (o un documento e una ricerca) le cui coordinate mettono i loro "punti" più vicini sono più simili di quelli con coordinate che separano i loro "punti".

1

Come è stato menzionato da erickson in Lucene è la somiglianza cosina Frequenza frequenza documento inversa (TF-IDF). Immagina di avere due sacchetti di termini nella query e nel documento. Questa misura corrisponde solo a termini esatti e dopo nel contesto include i loro pesi semanticamente. I termini con frequenza molto frequente hanno un peso minore (importanza), perché potresti trovarli in molti documenti. Ma il problema serio è che vedo che la similarità di Cosine TF-IDF non è così solida su dati più incoerenti, in cui è necessario calcolare la somiglianza tra la query e il documento più robusto, ad es. errori di digitazione, tipografici e fonetici. Perché le parole devono avere una corrispondenza esatta.

Problemi correlati