FinBERT-PT-BR
FinBERT-PT-BR es un modelo de NLP pre-entrenado para analizar el sentimiento de textos financieros en portugués brasileño. El modelo se entrenó en dos etapas principales: modelado del lenguaje y modelado del sentimiento. En la primera etapa, se entrenó un modelo de lenguaje con más de 1.4 millones de textos de noticias financieras en portugués. A partir de este primer entrenamiento, fue posible construir un clasificador de sentimientos con pocos textos etiquetados (500) que presentó una convergencia satisfactoria. Al final del trabajo, se presenta un análisis comparativo con otros modelos y las posibles aplicaciones del modelo desarrollado. En el análisis comparativo, se pudo observar que el modelo desarrollado presentó mejores resultados que los modelos actuales en el estado del arte. Entre las aplicaciones, se demostró que el modelo puede ser utilizado para construir índices de sentimiento, estrategias de inversión y análisis de datos macroeconómicos, como la inflación.
Como usar
from transformers import AutoTokenizer, BertForSequenceClassification
import numpy as np
pred_mapper = {
0: "POSITIVO",
1: "NEGATIVO",
2: "NEUTRAL"
}
tokenizer = AutoTokenizer.from_pretrained("lucas-leme/FinBERT-PT-BR")
finbertptbr = BertForSequenceClassification.from_pretrained("lucas-leme/FinBERT-PT-BR")
tokens = tokenizer(["Hoje a bolsa caiu", "Hoje a bolsa subiu"], return_tensors="pt",
padding=True, truncation=True, max_length=512)
finbertptbr_outputs = finbertptbr(**tokens)
preds = [pred_mapper[np.argmax(pred)] for pred in finbertptbr_outputs.logits.cpu().detach().numpy()]
# Pipeline
from transformers import (
AutoTokenizer,
BertForSequenceClassification,
pipeline,
)
finbert_pt_br_tokenizer = AutoTokenizer.from_pretrained("lucas-leme/FinBERT-PT-BR")
finbert_pt_br_model = BertForSequenceClassification.from_pretrained("lucas-leme/FinBERT-PT-BR")
finbert_pt_br_pipeline = pipeline(task='text-classification', model=finbert_pt_br_model, tokenizer=finbert_pt_br_tokenizer)
finbert_pt_br_pipeline(['Hoje a bolsa caiu', 'Hoje a bolsa subiu'])
Funcionalidades
- Clasificación de texto
- Transformadores
- PyTorch
- Portugués
- Puntos de referencia para inferencia
Casos de uso
- Índice de sentimiento
- Estrategias de inversión
- Análisis de datos macroeconómicos (inflación)