Sto facendo una piccola ricerca su come raggruppare gli articoli in "notizie" a Google News.Algoritmo di clustering incrementale per raggruppare gli articoli di notizie?
Guardando alle domande precedenti qui sull'argomento, vedo spesso che si consiglia di estrarre semplicemente un vettore di parole da un articolo, in modo da appesantire alcune parole in più in alcune parti dell'articolo (ad esempio il titolo), e quindi usare qualcosa come un algoritmo k-means per raggruppare gli articoli.
Ma questo porta a un paio di domande:
Con k-means, come fai a sapere in anticipo quanto k dovrebbe essere? In un ambiente di notizie dinamiche potresti avere un numero di storie molto variabile e non saprai in anticipo quante storie rappresenta una raccolta di articoli.
Con algoritmi di raggruppamento gerarchico, come decidete quali cluster utilizzare come storie? Nella parte inferiore dell'albero ci saranno gruppi che sono solo singoli articoli, che ovviamente non vorrete usare, e un cluster alla radice dell'albero che ha tutti gli articoli, che di nuovo non vorrete ... ma come fai a sapere quali gruppi intermedi dovrebbero essere usati per rappresentare storie?
Infine, con gli algoritmi k-means o hierarchal, la maggior parte della letteratura che ho letto sembra presumere che tu abbia una collezione predefinita di documenti che vuoi raggruppare, e li raggruppa tutti in una volta. Ma che dire di una situazione in cui hai nuovi articoli in arrivo ogni tanto. Che succede? Devi raggruppare tutti gli articoli da zero, ora che ce n'è uno aggiuntivo? Questo è il motivo per cui mi chiedo se ci sono approcci che consentono di "aggiungere" gli articoli man mano che si procede senza re-clustering da zero. Non riesco a immaginare che sia molto efficiente.
Grazie Eric! Questo è un documento utile :) Si rivolge al problema di predeterminare il numero di cluster, e suppongo che la scelta della soglia sia piuttosto critica in termini di qualità dei cluster ... ma è qualcosa che può essere sperimentato con. Mi chiedo però ... sai se questo algoritmo funzionerebbe bene in un contesto incrementale? Voglio dire, se arriva un nuovo articolo, e lo assegno a un cluster basato sulla distanza minima dai cluster esistenti, ciò porterà allo stesso risultato della ricomposizione dei cluster da zero o di un risultato a tutti gli effetti " cosi bene'? – Peter
Sulla base del suo paragrafo di conclusione, credo che la risposta sia sì, si esibirà "come bene" come se avessi ricalcolato i cluster da zero assumendo che il calcolo della distanza sia eseguito correttamente. Non credo che impiegherebbe troppo tempo per implementare un prototipo in un linguaggio di scripting (è facile analizzare rapidamente molti formati di dati e fornisce buone librerie per la visualizzazione dei cluster). Quindi potresti avere un modello di strategia, una strategia che usa il k-means adattivo e una strategia che usa il normale k-significa che ricalcola ogni volta. –
k-neighbor-neighbors può aiutare con il clustering online di nuovi articoli. – crizCraig