[PYTHON] Analyse émotionnelle des tweets avec apprentissage en profondeur

introduction

Cette fois, nous avons effectué une analyse des sentiments (ou classification des sentiments) des données de tweet étiquetées. ** 2015/10/19 Une expérience supplémentaire a été menée. ** ** ** 2015/12/19 Le code source de SCNN a été publié. hogefugabar / CharSCNN-theano ** ** 2015/12/27 Non seulement la mise en œuvre SCNN mais aussi CharSCNN a été publiée. hogefugabar / CharSCNN-theano **

algorithme

Cette fois, j'ai essayé d'utiliser l'algorithme appelé CharSCNN décrit dans l'article Deep Convolutional Neural Networks for Sentiment Analysis of Short Texts. Pour plus de commodité, j'ai utilisé un algorithme appelé SCNN. Cet algorithme donne la phrase (Phrase) donnée en entrée sous la forme d'une série d'expressions uniques de mots. CharSCNN donne une expression unique aux lettres en plus des mots. Si ma compréhension est correcte, SCNN aura une architecture similaire à la suivante.

De [UNITN: Formation du réseau neuronal à convolution profonde pour la classification des sentiments Twitter](http://alt.qcri.org/semeval2015/cdrom/pdf/SemEval079.pdf)

la mise en oeuvre

Il y avait satwantrana / CharSCNN sur GitHub, alors j'ai essayé de l'utiliser tel quel, mais le code était étrange, alors je l'ai corrigé moi-même. ** 2015/12/19 Le code source a été publié. hogefugabar / CharSCNN-theano Veuillez vous reporter ici. ** **

Je l'ai implémenté comme To Word Embeddings → Convolution → Max Pooling → Entièrement connecté → Entièrement connecté → Softmax. J'utilise également Dropout, RMSprop, etc.

base de données

J'ai utilisé 20 000 tweets de tweets_clean.txt dans satwantrana / CharSCNN. Données d'entraînement 18000 tweets, données de test 2000 tweets. Chaque tweet est étiqueté 0/1 (négatif / positif), il est donc classé en 2 classes.

Résultat expérimental

Graphique 10 La moyenne des semences est prise, mais la moyenne mobile est prise. C'était comme si le surapprentissage commençait autour de 2 tours d'époque (180000 * 2 itérations). La précision de classification maximale est d'environ 0,8. Le document original disait qu'il est passé de 0,82 à 0,85, donc je pense que la différence dans l'ensemble de données et la différence dans les paramètres ont un effet.

À la fin

Conversion de la toute première entrée en Word Embeddings Il semble que le résultat sera meilleur si vous utilisez le poids pré-appris avec Word2Vec, je voudrais donc essayer cela également.

Expérience supplémentaire (mise à jour le 19 octobre 2015)

Puisque Word2Vec a été inclus dans l'échantillon Chainer, j'ai utilisé le résultat du pré-apprentissage avec Skip-gramme avec échantillonnage négatif. Pré-apprentissage avec Chainer et rotation du programme Theano lol. Merci cPickle.

Eh bien, il valait mieux pré-apprendre la start-up, mais il vaut mieux ne pas pré-apprendre le résultat final. .. .. Et si je l'allume un peu plus longtemps?

Recommended Posts

Analyse émotionnelle des tweets avec apprentissage en profondeur
Essayez l'apprentissage profond de la génomique avec Kipoi
Deep learning 1 Pratique du deep learning
Analyser émotionnellement les données de bouche-à-oreille d'entreprise des réunions de changement de carrière à l'aide de l'apprentissage en profondeur
Essayez l'apprentissage en profondeur avec TensorFlow
Analyse d'images par apprentissage profond à partir de Kaggle et Keras
Deep running 2 Réglage de l'apprentissage profond
Analyse des émotions par Python (word2vec)
Apprentissage profond du noyau avec Pyro
Apprentissage par renforcement profond 2 Mise en œuvre de l'apprentissage par renforcement
Générez des Pokémon avec Deep Learning
Analyse des émotions par SMS avec ML-Ask
Essayez le Deep Learning avec les concombres FPGA-Select
Identification de la race de chat avec Deep Learning
[Exemple d'amélioration de Python] Apprentissage de Python avec Codecademy
Essayez l'apprentissage profond de la génomique avec Kipoi
Analyse émotionnelle des tweets avec apprentissage en profondeur
Faites de l'art ASCII avec l'apprentissage en profondeur
Vérifiez la forme de squat avec l'apprentissage en profondeur
Catégoriser les articles de presse grâce au Deep Learning
Prévisions des ventes de collations avec apprentissage en profondeur
Faites sourire les gens avec le Deep Learning
L'apprentissage en profondeur
[Exemple d'amélioration de Python] Apprentissage de Python avec Codecademy
Classez les visages d'anime avec l'apprentissage en profondeur avec Chainer
Othello-De la troisième ligne de "Implementation Deep Learning" (3)
Apprentissage automatique avec python (2) Analyse de régression simple
Signification des modèles et paramètres d'apprentissage en profondeur
Essayez les prévisions de prix Bitcoin avec Deep Learning
Essayez avec Chainer Deep Q Learning - Lancement
Visualisez les effets de l'apprentissage profond / de la régularisation
Analyse de données à partir de python (pré-traitement des données-apprentissage automatique)
Enregistrement d'apprentissage de la lecture "Deep Learning from scratch"
Recevez beaucoup de vos tweets avec Tweepy
Othello-De la troisième ligne de "Implementation Deep Learning" (2)
Analyse des données de pratique Python Résumé de l'apprentissage que j'ai atteint environ 10 avec 100 coups
Apprentissage profond / rétropropagation d'erreur de la fonction sigmoïde
Un mémorandum d'étude et de mise en œuvre du Deep Learning
Mémorandum d'apprentissage profond
[Mémo d'apprentissage] Apprentissage profond à partir de zéro ~ Mise en œuvre de l'abandon ~
Compréhension de base de l'estimation de la profondeur stéréo (Deep Learning)
Deep Learning from scratch La théorie et la mise en œuvre de l'apprentissage profond appris avec Python Chapitre 3
99,78% de précision avec apprentissage en profondeur en reconnaissant les hiragana manuscrits
Apprentissage en profondeur Python
Apprentissage parallèle du deep learning par Keras et Kubernetes
Analyse de l'utilisation de l'espace partagé par l'apprentissage automatique
Apprentissage profond × Python
Analyse émotionnelle des données de tweet à grande échelle par NLTK
Implémentation du modèle Deep Learning pour la reconnaissance d'images
Analyse statique du code Python avec GitLab CI
Apprentissage profond appris par mise en œuvre (segmentation) ~ Mise en œuvre de SegNet ~
Points clés de «Machine learning avec Azure ML Studio»
Une histoire de prédiction du taux de change avec Deep Learning
J'ai fait une analyse émotionnelle d'Amazon Comprehend avec l'AWS CLI.
Comptez le nombre de paramètres dans le modèle d'apprentissage en profondeur
[OpenCV / Python] J'ai essayé l'analyse d'image de cellules avec OpenCV
Calculer le coefficient de régression d'une analyse de régression simple avec python
Application de Deep Learning 2 à partir de zéro Filtre anti-spam
Défiez l'analyse des composants principaux des données textuelles avec Python