Sai dove posso trovare una spiegazione di alto livello dell'algoritmo Lucene Similarity Class. Mi piacerebbe capirlo senza dover decifrare tutta la matematica e i termini coinvolti nella ricerca e nell'indicizzazione.Spiegazione di alto livello della classe di similarità per Lucene?
risposta
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.
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".
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.
- 1. di alto livello documentazione relativa alla classe
- 2. Libreria grafica di alto livello
- 3. Qualcuno può dare una spiegazione di alto livello ad un principiante su come funziona Hadoop?
- 4. Pro e contro dell'uso della classe MultiSearcher di Lucene
- 5. C# perché non è possibile sovrascrivere la proprietà statica? (Come possono le classi di alto livello chiamare il metodo della classe base con i dati di alto livello)
- 6. Linguaggio di programmazione di alto livello per composizione musicale
- 7. Astrazioni di multithreading/concorrenza di alto livello per .NET
- 8. Complessità della ricerca di Lucene
- 9. Classe di contesto di esecuzione Java Spiegazione
- 10. C# è un linguaggio di alto livello?
- 11. Confronta algoritmi di similarità
- 12. Matrice di similarità coseno di cluster
- 13. libreria ruby di alto livello per la crittografia
- 14. CSS per selezionare il livello più alto di un
- 15. Spiegazione della tabella virtuale
- 16. Clustering efficace di una matrice di similarità
- 17. Come ottenere la spiegazione di Lucene per un SolrDocument con Solrj?
- 18. Algoritmo di similarità del testo
- 19. L'interfaccia è il livello più alto di astrazione?
- 20. Istogramma della classe di stampa a livello di programmazione
- 21. Calcola la similarità della matrice sparsa
- 22. Linguaggio di sistema di alto livello che compila in c?
- 23. Derivata di una spiegazione della funzione softmax
- 24. Spiegazione/documentazione della macro defProject di leiningen
- 25. Spiegazione della media sicurezza di due numeri
- 26. HDF5 per Python: alto livello vs interfacce di basso livello. h5py
- 27. Setaccio di Atkin - Spiegazione ed esempio Java
- 28. Scelta della directory Lucene corretta
- 29. utilizzo della CPU alto per dormire processi
- 30. La spiegazione più semplice di come funziona un contenitore DI?
-1 Il libro dice meno del JavaDocs quindi non preoccupatevi di acquistare. –