2016-04-16 8 views
-1

Ich versuche, Tweets zu bündeln, um Eilmeldungen zu erkennen. Ich verwende DBSCAN als Clustering-Technik. Ich kann keine guten Werte für epsilon und min_sample_points erreichen. Um die Tweets zu clustern, mache ich Chargen von 2000 Tweets und verwende das Clustering Algo darauf. Für feauture extraction verwende ich den tf-idf vectorizer aus dem Paket scikit.learn. Verwenden von max_df = 0.6 und min_df = 5 und Bi-Grammen als Parameter für den Vektorisierer. Das Ergebnis im Allgemeinen zeigt die meisten Tweets als Ausreißer oder viele zufällige Tweets in einem einzelnen Cluster. Beispiel von Werten, die ich benutzt habe - eps = 0.2 und min_samples = 8. Ich vermeide auch den K-Means-Algorithmus, da die Anzahl der Cluster (k) für dieses Problem nicht vorausschauend sein kann und die Form des Clusters nicht notwendigerweise sphärisch sein muss.Die Parameter von DBSCAN Algo für Tweet Clustering

+0

Ich schien mein eigenes Problem gelöst zu haben. Das Problem war, dass die Datenquelle für mich die Twitter-Streaming-API war, die nur etwa 1% der gesamten Tweets in einem bestimmten Zeitraum bereitstellt. Die Tweets in einem Batch von rund 2000 Tweets sind die meisten sehr unterschiedlich. Das Aufspüren der min_sample Punkte = 1 löst das Problem und ein eps von ungefähr 0.5-0.8 ist gut. Jetzt betrachten Sie ein Cluster, das Sie die Cluster mit Größe 1 ignorieren können. Entsprechend Ihrem Problem können Sie eine Schwelle für haben die Clustergröße, um es als würdigen Cluster zu markieren. Der Schlüssel zur Auswahl von eps lag in der Anzeige der Sparse-Matrix, die in clusteringAlgo – Walker894

Antwort

0

Für aktuelle Nachrichten gibt es viel bessere Ansätze als Clustering.

Textdaten und insbesondere Twitter ist unglaublich laut. Viele Tweets sind nur kompletter Unsinn. Aber das Hauptproblem ist, dass sie zu kurz sind. Wenn Sie nur ein paar Wörter haben, gibt es zu wenig Daten, um die Entfernung zu messen. "Das Auto hat eine Wand getroffen." und "Ein Auto an der Wall Street" haben sehr ähnliche Wörter (basierend auf TF-IDF), aber sie haben eine sehr unterschiedliche Bedeutung.

Also ich bin nicht überrascht, dass das nicht gut funktioniert. Es ist nicht die Clusterbildung, die "fehlschlägt", sondern Ihre Distanzfunktion.

+0

eingegeben wird Könnten Sie dann alternative Distanzmaße vorschlagen? .. Ich filtere die Tweets, um nur Nachrichten Tweets mit einem multinomialen Naives Bayes, die eine Genauigkeit von 89% zeigt erhalten ..das Clustering wird nur auf diesen Nachrichten-Tweets durchgeführt. – Walker894

+0

Ich denke, es ist ein Problem der Daten, nicht der Abstand messen. –

Verwandte Themen