Sto provando a raggruppare il flusso di Twitter. Voglio mettere ogni tweet in un cluster che parla dello stesso argomento. Ho provato a raggruppare il flusso utilizzando un algoritmo di clustering online con somf/idf e cosine, ma ho scoperto che i risultati sono piuttosto negativi.Meglio il testo documenta il clustering di tf/idf e la somiglianza del coseno?
Gli svantaggi principali dell'uso di tf/idf è che raggruppa documenti che sono simili a parole chiave, quindi è bene identificare documenti quasi identici. Ad esempio, considera le seguenti frasi:
1- Il sito Web Stackoverflow è un bel posto. 2- Stackoverflow è un sito Web.
Le due frasi precedenti saranno probabilmente raggruppate insieme con un valore soglia ragionevole poiché condividono molte parole chiave. Ma ora considera le seguenti due frasi:
1- Il sito Web Stackoverflow è un bel posto. 2- Visito regolarmente Stackoverflow.
Ora usando tf/idf l'algoritmo di clustering fallirà miseramente perché condivide solo una parola chiave anche se entrambi parlano dello stesso argomento.
La mia domanda: esistono tecniche migliori per raggruppare i documenti?
@ThomasJungblut bene, TF-IDF dovrebbe essere uno schema di ponderazione che attribuisce più peso alle parole chiave pertinenti già. Se si pensa che il problema è che i tweet sono frammenti di testo così piccoli, non ci si può aspettare che la similarità funzioni molto bene su di essi al di là della "quasi identità". La maggior parte dei tweet non contiene nemmeno frasi complete, quindi anche la PNL probabilmente fallirà. –
Una cosa da guardare con LSI/LDA/NMF ecc. È la deriva dell'argomento. La formazione di un modello su un set di dati noto produrrà buoni risultati se la tua pipeline non viene eseguita correttamente. Se si applica il modello a un set di dati totalmente invisibile, è possibile che si verifichi un calo significativo delle prestazioni dovuto all'adattamento dei dati di allenamento originali. Poiché il testo di Twitter è così breve, la rappresentazione avrà bisogno di un po 'di giocherellare perché potrebbe non esserci abbastanza testo per addestrare correttamente un modello. – Steve
@steve ci sono soluzioni a questo? –