In un'applicazione di mining di testo, un approccio semplice consiste nell'utilizzare l' euristica per creare vettori come rappresentazioni sparse e compatte dei documenti. Questo va bene per l'impostazione batch, in cui l'intero corpus è noto a priori, poiché l' richiede l'intero corpusi d f
dove è un termine, è un documento, è il corpus del documento e (non mostrato) è il dizionario.d D T
Tuttavia in genere nuovi documenti vengono ricevuti nel tempo. Un'opzione è continuare a utilizzare l' esistente fino a quando non viene ricevuto un certo numero di nuovi documenti e ricalcolarlo. Tuttavia, questo sembra piuttosto inefficiente. Qualcuno sa di uno schema di aggiornamento incrementale che (possibilmente approssimativamente) converge al valore se tutti i dati sono stati visti in anticipo? O in alternativa esiste un'altra misura che cattura la stessa nozione ma può essere calcolata in modo incrementale?
C'è anche una domanda correlata se l' rimane una buona misura nel tempo. Poiché l'idf acquisisce la nozione della frequenza delle parole corpus, è concepibile che i documenti più vecchi nel corpus (diciamo ad esempio che il mio corpus includa oltre 100 anni di articoli di giornale), poiché le frequenze di parole diverse cambiano nel tempo. In questo caso potrebbe essere sensato eliminare documenti più vecchi quando ne arrivano di nuovi, in effetti usando un finestra scorrevole . Concepibilmente, si potrebbero anche memorizzare tutti i precedenti vettori mentre vengono calcolati quelli nuovi, e quindi se volessimo recuperare i documenti dal 1920-1930, potremmo usare l' calcolato dai documenti in quell'intervallo di date. Questo approccio ha senso?i d f i d f i d f
Edit: V'è una questione separata ma collegata sul dizionario . Con il passare del tempo, ci saranno nuovi termini del dizionario che non sono apparsi prima, quindidovrà crescere, e quindi la lunghezza del vettore . Sembra che questo non sia un problema, poiché gli zeri potrebbero essere aggiunti ai vecchi vettori di .| T | i d f i d f