La démo en ligne n'est plus disponible car il n'est pas possible pour nous de renouveler le certificat. Le code de ce dépôt fonctionne toujours, mais vous devrez peut-être apporter des modifications pour qu'il fonctionne dans Python 3 (voir le PRS ouvert). Vous pouvez également consulter la version Pytorch de cet algorithme appelé Torchmoji fabriqué par Huggingface.
(cliquez sur l'image pour la démonstration vidéo)
Deepmoji est un modèle formé sur 1,2 milliard de tweets avec des emojis pour comprendre comment le langage est utilisé pour exprimer les émotions. Grâce à l'apprentissage du transfert, le modèle peut obtenir des performances de pointe sur de nombreuses tâches de modélisation de texte liées aux émotions.
Voir le journal ou le blog pour plus de détails.
Pour commencer, jetez un œil à l'intérieur des exemples / répertoires. Voir score_texts_emojis.py pour utiliser Deepmoji pour extraire les prédictions emoji, encode_text.py pour convertir le texte en vecteurs de fonctionnalités émotionnels 2304 dimensionnels ou FineTune_youtube_last.py pour utiliser le modèle pour le transfert d'apprentissage sur un nouvel ensemble de données.
Veuillez envisager de citer notre article si vous utilisez notre modèle ou notre code (voir ci-dessous pour la citation).
Ce code est basé sur des keras, qui nécessite Theano ou TensorFlow comme backend. Si vous préférez utiliser Pytorch, une implémentation est disponible ici, qui a aimablement été fournie par Thomas Wolf.
Nous supposons que vous utilisez Python 2.7 avec PIP installé. En tant que backend, vous devez installer Theano (version 0.9+) ou TensorFlow (version 1.3+). Une fois cela fait, vous devez exécuter ce qui suit à l'intérieur du répertoire racine pour installer les dépendances restantes:
pip install -e .Cela installera les dépendances suivantes:
Assurez-vous que Keras utilise le backend choisi. Vous pouvez trouver les instructions ici, sous le passage d'un backend à une autre section.
Exécutez le script inclus, qui télécharge les poids Deepmoji pré-entraînés (~ 85 Mo) d'ici et les place dans le modèle / répertoire:
python scripts/download_weights.pyPour exécuter les tests, installez le nez. Après l'installation, accédez aux tests / répertoire et exécutez:
nosetests -vPar défaut, cela exécutera également des tests de finetuning. Ces tests forment le modèle pour une époque, puis vérifient la précision résultante, ce qui peut prendre plusieurs minutes à terminer. Si vous préférez les exclure, exécutez plutôt ce qui suit:
nosetests -v -a ' !slow ' Ce code a été testé pour fonctionner avec Python 2.7 sur une machine Ubuntu 16.04. Il n'a pas été optimisé pour l'efficacité, mais devrait être suffisamment rapide dans la plupart des fins. Nous ne garantissons qu'il n'y a pas de bogues - utilisez le code sur votre propre responsabilité!
Nous accueillons des demandes de traction si vous avez l'impression que quelque chose pourrait être amélioré. Vous pouvez également nous aider en nous disant ce que vous ressentez lors de la rédaction de vos tweets les plus récents. Cliquez ici pour contribuer.
Ce code et le modèle pré-entraîné sont autorisés en vertu de la licence du MIT.
Les ensembles de données de référence sont téléchargés sur ce référentiel à des fins de commodité uniquement. Ils n'ont pas été libérés par nous et nous ne revendiquons aucun droit sur eux. Utilisez les ensembles de données à votre responsabilité et assurez-vous de remplir les licences avec lesquelles ils ont été publiés. Si vous utilisez l'un des ensembles de données de référence, veuillez envisager de citer les auteurs originaux.
Nous ne pouvons malheureusement pas publier notre grand ensemble de données Twitter de tweets avec des emojis en raison de restrictions de licence.
@inproceedings{felbo2017,
title={Using millions of emoji occurrences to learn any-domain representations for detecting sentiment, emotion and sarcasm},
author={Felbo, Bjarke and Mislove, Alan and S{o}gaard, Anders and Rahwan, Iyad and Lehmann, Sune},
booktitle={Conference on Empirical Methods in Natural Language Processing (EMNLP)},
year={2017}
}