In realtà ho cercato di fare qualcosa di simile. Come buon punto di partenza, ho trovato un progetto open source chiamato mahout che implementa la maggior parte degli algoritmi di cui hai bisogno, sebbene sia lontano da un plug and play soluzione.
I tre casi d'uso a cui potresti essere interessato sono il clustering, la raccomandazione e la classificazione. Fondamentalmente, raggruppano gli elementi in argomenti correlati, ma in modi leggermente diversi.
- Utilizza la raccomandazione quando hai un sacco di articoli di notizie e stai cercando di determinare quali sono quelli che più probabilmente ti piaceranno in base alle abitudini di lettura passate e a quelle di lettori simili a te.
- Utilizza la classificazione quando desideri raggruppare gli articoli di notizie in argomenti e sai in anticipo quali dovrebbero essere tali soggetti. Questo è molto utile per argomenti a lungo termine, come il tempo, ad esempio.
- Utilizza il clustering quando desideri raggruppare gli articoli di notizie in argomenti di base e non sai in anticipo quali dovrebbero essere questi argomenti. Questo è molto utile per eventi di una volta, come ad esempio la morte di Hugo Chavez.
Se stai cercando una soluzione più completa, controlla Carrot2 . Tuttavia, è in grado di gestire solo circa 1.000 documenti. Forse utile se sei interessato solo a raggruppare le notizie di un giorno di notizie da alcuni feed rss selezionati.