Questo problema si scompone in alcuni sottoproblemi dal punto di vista dell'apprendimento automatico.
In primo luogo, vorrai capire quali proprietà delle notizie vuoi raggruppare in base a. Una tecnica comune è usare 'word bags': solo un elenco delle parole che appaiono nel corpo della storia o nel titolo. È possibile eseguire alcune operazioni aggiuntive come la rimozione dell'inglese comune "stop words" che non fornisce alcun significato, come "il", "perché". Puoi anche fare porter stemming per rimuovere le ridondanze con parole al plurale e termini come "-ion". Questo elenco di parole è il vettore di funzionalità di ciascun documento e verrà utilizzato per misurare la somiglianza. Potrebbe essere necessario eseguire un po 'di pre-elaborazione per rimuovere il markup html.
In secondo luogo, è necessario definire una metrica di somiglianza: storie simili hanno un punteggio elevato nella similarità. Andando avanti con il sacco di parole si avvicinano, due storie sono simili se hanno parole simili in loro (io sono vago qui, perché ci sono un sacco di cose che puoi provare, e dovrai vedere quale funziona meglio).
Infine, è possibile utilizzare un algoritmo di clustering classico, ad esempio k-means clustering, che raggruppa le storie insieme, in base alla metrica di somiglianza.
In breve: converte una notizia in un vettore di funzionalità -> definisce una metrica di somiglianza basata su questo vettore di funzionalità -> clustering senza supervisione.
Check out Google scholar, probabilmente ci sono stati alcuni articoli su questo argomento specifico nella letteratura recente. Molte di queste cose che ho appena discusso sono implementate nei moduli di elaborazione del linguaggio naturale e di apprendimento automatico per la maggior parte delle principali lingue.
fonte
2010-07-23 17:38:40
Ottima risposta! Questo e 'esattamente quello che stavo cercando. Domanda di follow-up veloce. Se stavo cercando uno sviluppatore con questi set di abilità, che tipo di cose dovrei chiedere? Non so nemmeno cosa si chiama questo campo di studi. – Randy
Cerca uno studente di informatica che abbia seguito una lezione o abbia avuto esperienza con "elaborazione del linguaggio naturale" o "apprendimento automatico". La tua domanda è stata molto semplice per rispondere in un contesto di apprendimento automatico, quindi basta chiedere loro come implementare qualcosa che raggruppa le notizie. Inoltre, progetti come questo non sempre funzionano perché ci sono un sacco di cose che possono andare in rovina in ML e NLP - ma quando funziona, è davvero fantastico. –