
Fintwitbert est un modèle de langue spécifiquement formé pour comprendre et analyser les conversations financières sur Twitter. Il est conçu pour reprendre les façons uniques des gens de la finance en ligne, ce qui en fait un outil précieux pour toute personne intéressée par les tendances financières et les sentiments exprimés par les tweets.
Comprendre les marchés financiers peut être difficile, en particulier lors de l'analyse de la grande quantité d'opinions et de discussions sur les réseaux sociaux. Fintwitbert est là pour donner un sens aux conversations financières sur Twitter. Il s'agit d'un outil spécialisé qui interprète la langue et les abréviations uniques utilisées dans les tweets financiers, aidant les utilisateurs à comprendre les tendances et les sentiments du marché.
Ce modèle a été développé pour combler une lacune dans les outils traditionnels de traitement des langues, qui luttent souvent avec la sténographie et le jargon trouvés dans les tweets financiers. Que vous soyez un professionnel de la finance, un passionné de marché ou une personne curieuse des tendances financières sur les réseaux sociaux, Fintwitbert offre une solution facile à utiliser pour naviguer et comprendre ces discussions.
Fintwitbert utilise un ensemble diversifié de tweets financiers pour la pré-formation, notamment les données de Taborda et al.
Pour la fintuning, nous utilisons plusieurs ensembles de données, chacun offrant des sentiments variés dans des contextes financiers. Une collection d'ensembles de données réelles réelles peut être trouvé sur HuggingFace. En plus de cela, nous avons également créé un ensemble de données synthétique contenant des tweets de 1,43 m et des étiquettes de sentiment correspondantes. Vous pouvez trouver cet ensemble de données ici.
Fintwitbert est basé sur Finbert avec des masques ajoutés pour les mentions d'utilisateurs ( @USER ) et les URL ( [URL] ). Le modèle est pré-formé pour 10 époques en mettant l'accent sur la minimisation des pertes et l'application d'un arrêt précoce pour empêcher le sur-ajustement.
Accédez au modèle pré-formé et au tokenizer de Fintwitbert sur HuggingFace. Pour la version affinée, visitez Fintwitbert-Sentiment sur Huggingface.
# Clone this repository
git clone https://github.com/TimKoornstra/FinTwitBERT
# Install required packages
pip install -r requirements.txtNous proposons deux modèles: Fintwitbert et Fintwitbert-Sentiment. Le premier est un modèle pré-formé et un tokenzer pour la modélisation du langage masqué (MLM) qui peut être élaboré pour d'autres tâches telles que l'analyse des sentiments. C'est ce que le deuxième modèle est, il est affiné sur l'analyse des sentiments et les étiquettes tweets en trois catégories: baissier, neutre et haussier.
from transformers import pipeline
pipe = pipeline (
"fill-mask" ,
model = "StephanAkkerman/FinTwitBERT" ,
)
print ( pipe ( "Bitcoin is a [MASK] coin." )) from transformers import pipeline
pipe = pipeline (
"sentiment-analysis" ,
model = "StephanAkkerman/FinTwitBERT-sentiment" ,
)
print ( pipe ( "Nice 9% pre market move for $para, pump my calls Uncle Buffett ?" )) Si vous souhaitez former ce modèle vous-même et signaler les métriques aux poids et aux biais (Wandb.ai). Vous pouvez le faire en ajoutant un fichier wandb.env avec le contenu suivant: WANDB_API_KEY=your_wandb_api_key .
Si vous utilisez Fintwitbert ou Fintwitbert-Sentiment dans votre recherche, veuillez nous citer comme suit, notant que les deux auteurs ont contribué également à ce travail:
@misc { FinTwitBERT ,
author = { Stephan Akkerman, Tim Koornstra } ,
title = { FinTwitBERT: A Specialized Language Model for Financial Tweets } ,
year = { 2024 } ,
publisher = { GitHub } ,
journal = { GitHub repository } ,
howpublished = { url{https://github.com/TimKoornstra/FinTwitBERT} }
} @misc { FinTwitBERT-sentiment ,
author = { Stephan Akkerman, Tim Koornstra } ,
title = { FinTwitBERT-sentiment: A Sentiment Classifier for Financial Tweets } ,
year = { 2024 } ,
publisher = { Hugging Face } ,
howpublished = { url{https://huggingface.co/StephanAkkerman/FinTwitBERT-sentiment} }
}Les contributions sont les bienvenues! Si vous avez une demande de fonctionnalité, un rapport de bogue ou une proposition de refactorisation de code, n'hésitez pas à ouvrir un problème sur GitHub. Nous apprécions votre aide pour améliorer ce projet.
Ce projet est concédé sous licence GPL-3.0. Voir le fichier de licence pour plus de détails.