Sto cercando di determinare la somiglianza del documento tra un singolo documento e ciascuno di un grande numero di documenti (n ~ = 1 milione) il più rapidamente possibile. Più in particolare, i documenti che sto confrontando sono e-mail; sono raggruppati (cioè ci sono cartelle o tag) e vorrei determinare quale gruppo è più appropriato per una nuova e-mail. Le prestazioni veloci sono fondamentali.Somiglianza documento molto veloce
mio un'assunzione priori è che la somiglianza coseno tra vettori termine è appropriato per questa applicazione; per favore commenta se questa è una buona misura da usare o no!
ho già preso in considerazione le seguenti possibilità per accelerare le prestazioni:
Pre-normalizzare tutti i vettori termine
Calcolo un vettore termine per ogni gruppo (n ~ = 10.000) piuttosto che ogni e-mail (n ~ = 1.000.000); probabilmente sarebbe accettabile per la mia applicazione, ma se riesci a pensare a un motivo per non farlo, fammi sapere!
ho alcune domande:
Se una nuova e-mail ha un nuovo termine mai visto prima in una qualsiasi delle precedenti messaggi di posta elettronica, significa che ho bisogno di ri- compute all dei miei vettori termine? Questo sembra costoso.
Esiste un modo intelligente per considerare solo i vettori che potrebbero essere vicini al documento di query?
C'è un modo per essere più parsimoniosi sulla quantità di memoria che sto usando per tutti questi vettori?
Grazie!
Grazie per la raccomandazione. Il filtraggio bayesiano è un'idea interessante. Ho alcune domande: 1. Perché pensi che BF sia meglio della somiglianza del coseno per questa istanza? 2. Potrei mancare qualcosa, ma il mio tempo di categorizzazione non sarà ancora O (n) per n = numero di categorie, proprio come farebbe per la somiglianza del coseno? Penso che quello di cui ho bisogno è una tabella di ricerca O (log n) o O (1) per classificare i probabili candidati alla categorizzazione. – Peyton
Tornando a questo - ora sto provando il filtro bayesiano per il problema - mi sembra una buona idea, quindi accetta questa risposta. – Peyton