Données de sentiment Financial Phrasebank pour la recherche NLP
Résumé
Cette référence présente le Financial Phrasebank, un ensemble annoté de phrases d’actualité financière utilisé pour entraîner ou évaluer des modèles de traitement automatique du langage. Des annotateurs humains attribuent des étiquettes de sentiment positif, neutre ou négatif. Le corpus est proposé selon quatre seuils d’accord : le sous-ensemble le plus strict conserve les phrases sur lesquelles tous les annotateurs s’accordent, tandis que les seuils plus souples incluent davantage d’exemples avec moins de consensus sur les étiquettes. Le document présente ce jeu de données comme un benchmark de classification du sentiment financier et cite notamment l’entraînement de vecteurs de mots, le suivi du sentiment et le réglage fin de transformeurs comme usages possibles.
La référence décrit les variantes du jeu de données sur disque, le fonctionnement du chargeur et une autre méthode pour récupérer et convertir les fichiers sources au format parquet. Elle indique également la citation académique et les conditions de licence : usage non commercial, attribution et partage dans les mêmes conditions. Il s’agit d’un guide sur un jeu de données, et non d’une stratégie de trading ni d’une preuve que les signaux de sentiment prédisent les rendements. Ses limites pratiques comprennent le compromis entre accord sur les étiquettes et taille de l’échantillon, ainsi que les restrictions d’usage commercial.
Idées clés
- Financial Phrasebank fournit des phrases d’actualité financière étiquetées comme positives, neutres ou négatives.
- Un accord plus élevé entre annotateurs produit un sous-ensemble plus petit aux étiquettes plus cohérentes.
- Le corpus sert de référence pour la classification du sentiment et à l’entraînement ou à l’évaluation de modèles NLP.
- La licence autorise la recherche non commerciale sous réserve des exigences d’attribution et de partage dans les mêmes conditions.
- L’utilisation du corpus seule n’établit pas que les étiquettes de sentiment prédisent les rendements des marchés.
Étiquettes
Texte intégral
# Text Reference Corpora
# Text Reference Corpora
Labeled text corpora used as training or evaluation data for NLP models.
Unlike `sec/` (filings we produce) or `news/` (news archives we mirror),
these are published academic datasets.
## Datasets
| Corpus | Size | Use case | Loader |
| --- | --- | --- | --- |
| Financial Phrasebank (Malo et al. 2014) | ~2,300–4,800 sentences depending on agreement level | Sentiment classification benchmark | `load_financial_phrasebank` |
## On-disk Layout
```
$ML4T_DATA_PATH/alternative/text/financial_phrasebank/
├── sentences_allagree.parquet # 100% agreement, ~2,264 rows (default)
├── sentences_75agree.parquet # ~3,453 rows
├── sentences_66agree.parquet # ~4,217 rows
└── sentences_50agree.parquet # ~4,846 rows
```
Total disk footprint: under 500 KB. First load triggers a one-time
HuggingFace download (~1-2 seconds).
## Financial Phrasebank
Academic sentiment benchmark: sentences from financial news labeled
positive/neutral/negative by human annotators. Four agreement levels
are published (100%, 75%, 66%, 50%); the `allagree` subset is the most
reliable but smallest.
**License**: Creative Commons Attribution-NonCommercial-ShareAlike 3.0
(`CC BY-NC-SA 3.0`). Free for academic and non-commercial research;
attribution to Malo et al. (2014) required.
### Download
```bash
# The loader downloads from HuggingFace on first call; no manual step required.
uv run python -c "from data import load_financial_phrasebank; df = load_financial_phrasebank(); print(df.shape)"
```
To pre-populate the cache manually:
```python
from huggingface_hub import hf_hub_download
import zipfile, polars as pl
from pathlib import Path
DATA = Path("$ML4T_DATA_PATH/alternative/text/financial_phrasebank")
zip_path = hf_hub_download("takala/financial_phrasebank",
"data/FinancialPhraseBank-v1.0.zip", repo_type="dataset")
label_map = {"negative": 0, "neutral": 1, "positive": 2}
rows = []
with zipfile.ZipFile(zip_path) as z, z.open(
"FinancialPhraseBank-v1.0/Sentences_AllAgree.txt"
) as f:
for line in f.read().decode("latin-1").strip().splitlines():
sentence, label = line.rsplit("@", 1)
rows.append({"sentence": sentence.strip(), "label": label_map[label.strip()]})
DATA.mkdir(parents=True, exist_ok=True)
pl.DataFrame(rows).write_parquet(DATA / "sentences_allagree.parquet")
```
### Loading
```python
from data import load_financial_phrasebank
# Default: 100% agreement subset (most reliable, ~2,264 sentences)
df = load_financial_phrasebank(agreement="100")
# Or lower agreement levels for more training data
df = load_financial_phrasebank(agreement="50")
```
**Reference**: Malo, P., Sinha, A., Korhonen, P., Wallenius, J., & Takala, P.
(2014). *Good debt or bad debt: Detecting semantic orientations in economic texts.*
Journal of the Association for Information Science and Technology, 65(4).
## Consumers
- Chapter 10 NB 01 (word2vec training)
- Chapter 10 NB 03 (sentiment evolution)
- Chapter 10 NB 04 (transformer fine-tuning)Reproduit dans son intégralité avec attribution, conformément à la licence de la source. Licence: MIT
Ce résumé a été rédigé par l’agent de recherche de Stratmill à partir de la source originale ; il n’en est pas une copie.