7
votes

Comment puis-je cluster des messages courts [Tweets] basés sur le sujet? [Clustering à base de sujet]

Je prévois une application qui fera des grappes de messages / tweets courts en fonction de sujets. Le nombre de sujets sera limité comme des sports [NBA, NFL, Cricket, Soccer], Divertissement [Films, Musique] et ainsi de suite ...

Je peux penser à deux approches de cette

  • Demandez aux utilisateurs de baliser des questions telles que Stackoverflow. Les utilisateurs peuvent sélectionner des balises à partir d'une liste prédéfinie des balises. Ensuite, sur le côté serveur, je les clusterai en fonction des balises. Avantages: - Conception simple. Moins de complexité dans le code. Inconvénients: - Les choix pour les utilisateurs seront restreints. Les grappes ne seront pas dynamiques. Si un nouvel événement se produit, les balises prédéfinies vont le manquer.
  • Prenez le message, supprimez les mots buts [prédéfinis dans un dictionnaire], appliquez un algorithme de clustering sur le message tige pour créer un cluster et en fonction de sa popularité affiche le cluster. Le cluster sera affiché jusqu'à l'heure à laquelle il reste populaire [de nombreux messages / minute] .New Les messages seront écrémés et attribués à des clusters correspondants. Avantages: - regroupement dynamique basé sur la popularité de l'événement / accident. Inconvénients: - complexité accrue. Plus de ressources de serveur requises.

    J'aimerais savoir s'il existe d'autres approches de ce problème. Ou existe-t-il des moyens d'améliorer les méthodes susmentionnées?

    suggère également de bons algorithmes de clustering.Je pensez que "K-K-Clustering" "algorithme est apte à cette situation.


0 commentaires

3 Réponses :


2
votes

Utilisez Classification bayésienne . Entraînez le filtre avec un corpus prédéfini et (éventuellement) fournir un moyen d'affiner davantage les utilisateurs en signalant des choses mal classées.

Voici quelques Exemples d'utiliser le classificateur bayésien dans NLTK .


2 commentaires

Merci pour la réponse ... En fait, je veux le garder aussi simple que possible pour les utilisateurs. Je pense que ce serait bien si les utilisateurs peuvent simplement entrer des messages et un serveur déterminera où le mettre. Bien que la plupart des informations d'intelligence dans le serveur seront difficiles.


Vous n'avez pas à fournir un moyen de faire une formation continue du filtre; Cela rend le filtre mieux. Si vous avez un bon corpus, la classification doit être acceptable sans accorder en cours.



3
votes

Vérifiez CARROT2, cet outil extrait les étiquettes du texte et des clusters. Vous pouvez le télécharger depuis ici et vérifier les algorithmes implémentées (lingo, principalement) ici .

J'espère que cela vous aidera.


0 commentaires

0
votes

Je fais aussi un genre de chose similaire. Je pense que les hashtags sont un bon moyen si vous parlez spécifiquement sur Twitter. Vous pouvez également effectuer une certaine classification, mais il devrait être enrichi d'une base de connaissances externe comme Wikipedia, etc. Quoi qu'il en soit, si votre solution est meilleure, veuillez le poster ici


0 commentaires