[PYTHON] Emotionale Analyse von Tweets mit Deep Learning

Einführung

Dieses Mal haben wir eine Stimmungsanalyse (oder Stimmungsklassifizierung) von markierten Tweet-Daten durchgeführt. ** 19.10.2015 Ein zusätzliches Experiment wurde durchgeführt. ** ** ** ** 19.12.2015 Der Quellcode von SCNN wurde veröffentlicht. hogefugabar / CharSCNN-theano ** ** 27.12.2015 Nicht nur die SCNN-, sondern auch die CharSCNN-Implementierung wurde veröffentlicht. hogefugabar / CharSCNN-theano **

Algorithmus

Dieses Mal habe ich versucht, den Algorithmus namens CharSCNN zu verwenden, der in der Veröffentlichung Deep Convolutional Neural Networks for Sentiment Analysis of Short Texts beschrieben ist. Der Einfachheit halber habe ich einen Algorithmus namens SCNN verwendet. Dieser Algorithmus gibt den Satz (Satz) als Eingabe als eine Reihe von One-Hot-Ausdrücken von Wörtern an. CharSCNN gibt Buchstaben zusätzlich zu Wörtern einen heißen Ausdruck. Wenn mein Verständnis korrekt ist, hat SCNN eine Architektur ähnlich der folgenden.

Aus [UNITN: Training Deep Convolutional Neural Network für die Klassifizierung von Twitter-Stimmungen](http://alt.qcri.org/semeval2015/cdrom/pdf/SemEval079.pdf)

Implementierung

Es gab satwantrana / CharSCNN auf GitHub, also habe ich versucht, es so zu verwenden, wie es ist, aber ich habe es selbst behoben, weil verschiedene Codes seltsam waren. ** 19.12.2015 Der Quellcode wurde veröffentlicht. hogefugabar / CharSCNN-theano Bitte beziehen Sie sich hier. ** ** **

Ich habe es wie folgt implementiert: To Word Embeddings → Faltung → Max Pooling → Vollständig verbunden → Vollständig verbunden → Softmax. Ich benutze auch Dropout, RMSprop usw.

Datensatz

Ich habe 20.000 Tweets von tweets_clean.txt in satwantrana / CharSCNN verwendet. Trainingsdaten 18000 Tweets, Testdaten 2000 Tweets. Jeder Tweet ist mit 0/1 (negativ / positiv) gekennzeichnet und wird daher in zwei Klassen eingeteilt.

Versuchsergebnis

Grafik 10 Seed-Durchschnitt wird genommen, aber gleitender Durchschnitt wird genommen. Es fühlte sich so an, als ob das Überlernen um 2 Epochen (180000 * 2 Iterationen) begann. Die maximale Klassifizierungsgenauigkeit beträgt ca. 0,8. Das Originalpapier sagte, dass es von 0,82 auf 0,85 ging, also denke ich, dass der Unterschied im Datensatz und der Unterschied in den Parametern einen Effekt haben.

Am Ende

Konvertieren der allerersten Eingabe in Word-Einbettungen Es scheint, dass das Ergebnis besser ist, wenn Sie das mit Word2Vec vorab trainierte Gewicht verwenden. Daher möchte ich dies auch versuchen.

Zusätzliches Experiment (aktualisiert am 19. Oktober 2015)

Da Word2Vec im Chainer-Beispiel enthalten war, habe ich das Ergebnis des Vorlernens mit Skip-Gramm mit Negativ-Sampling verwendet. Vorlernen mit Chainer und Drehen des Theano-Programms lol. Vielen Dank, dass Sie cPickle.

Nun, es war besser, das Start-up vorab zu lernen, aber es ist besser, das Endergebnis nicht vorab zu lernen. .. .. Was ist, wenn ich es etwas länger drehe?

Recommended Posts

Emotionale Analyse von Tweets mit Deep Learning
Versuchen Sie mit Kipoi tiefes Erlernen der Genomik
Deep Learning 1 Übung des Deep Learning
Analysieren Sie die Mundpropaganda-Daten von Karriere-Change-Meetings mithilfe von Deep Learning emotional
Versuchen Sie es mit TensorFlow
Deep Learning Bildanalyse beginnend mit Kaggle und Keras
Deep Running 2 Tuning von Deep Learning
Emotionsanalyse von Python (word2vec)
Deep Kernel Learning mit Pyro
Tiefes Lernen der Verstärkung 2 Implementierung des Lernens der Verstärkung
Generiere Pokemon mit Deep Learning
Text Emotionsanalyse mit ML-Ask
Probieren Sie Deep Learning mit FPGA-Select-Gurken aus
Identifikation der Katzenrasse mit Deep Learning
[Beispiel für eine Python-Verbesserung] Python mit Codecademy lernen
Versuchen Sie mit Kipoi tiefes Erlernen der Genomik
Emotionale Analyse von Tweets mit Deep Learning
Machen Sie ASCII-Kunst mit tiefem Lernen
Überprüfen Sie die Kniebeugenform mit tiefem Lernen
Kategorisieren Sie Nachrichtenartikel mit Deep Learning
Snack-Umsatzprognose mit Deep Learning
Bringen Sie Menschen mit Deep Learning zum Lächeln
Tiefes Lernen
[Beispiel für eine Python-Verbesserung] Python mit Codecademy lernen
Klassifizieren Sie Anime-Gesichter mit tiefem Lernen mit Chainer
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (3)
Maschinelles Lernen mit Python (2) Einfache Regressionsanalyse
Bedeutung von Deep-Learning-Modellen und -Parametern
Probieren Sie die Bitcoin-Preisprognose mit Deep Learning aus
Versuchen Sie es mit Chainer Deep Q Learning - Launch
Visualisieren Sie die Auswirkungen von Deep Learning / Regularisierung
Datenanalyse beginnend mit Python (Datenvorverarbeitung - maschinelles Lernen)
Lernbericht über das Lesen von "Deep Learning von Grund auf neu"
Holen Sie sich viele Ihrer Tweets mit Tweepy
Othello-Aus der dritten Zeile von "Implementation Deep Learning" (2)
Python-Übungsdatenanalyse Zusammenfassung des Lernens, dass ich ungefähr 10 mit 100 Schlägen getroffen habe
Deep Learning / Fehler-Backpropagation der Sigmoid-Funktion
Ein Memorandum zum Studieren und Implementieren von Deep Learning
Deep Learning Memorandum
[Lernnotiz] Deep Learning von Grund auf ~ Implementierung von Dropout ~
Grundlegendes Verständnis der Stereo-Tiefenschätzung (Deep Learning)
Deep Learning von Grund auf neu Die Theorie und Implementierung des mit Python erlernten Deep Learning Kapitel 3
99,78% Genauigkeit bei tiefem Lernen durch Erkennen von handgeschriebenem Hiragana
Python Deep Learning
Paralleles Lernen von Deep Learning durch Keras und Kubernetes
Analyse der gemeinsamen Raumnutzung durch maschinelles Lernen
Deep Learning × Python
Emotionale Analyse umfangreicher Tweet-Daten durch NLTK
Implementierung eines Deep Learning-Modells zur Bilderkennung
Statische Analyse von Python-Code mit GitLab CI
Tiefes Lernen durch Implementierung (Segmentierung) ~ Implementierung von SegNet ~
Wichtige Punkte von "Maschinelles Lernen mit Azure ML Studio"
Eine Geschichte über die Vorhersage des Wechselkurses mit Deep Learning
Ich habe eine emotionale Analyse von Amazon Comprehend mit der AWS CLI durchgeführt.
Zählen Sie die Anzahl der Parameter im Deep-Learning-Modell
[OpenCV / Python] Ich habe versucht, Bilder mit OpenCV zu analysieren
Berechnen Sie den Regressionskoeffizienten der einfachen Regressionsanalyse mit Python
Anwendung von Deep Learning 2 von Grund auf neu Spam-Filter
Fordern Sie die Hauptkomponentenanalyse von Textdaten mit Python heraus