bert-base-finance-sentiment-noisy-search

oferweintraub
Clasificación de texto

Este modelo es una versión ajustada de bert-base-uncased en el análisis de sentimientos de noticias financieras de Kaggle con mejora de datos utilizando una búsqueda ruidosa. Primero, 'bert-base-uncased' se ajustó en el conjunto de datos de análisis de sentimientos de noticias financieras de Kaggle, alcanzando una precisión de aproximadamente 88%. Luego, utilizamos un clasificador de regresión logística en los mismos datos, observando los coeficientes que más contribuían a las clases 'Positiva' y 'Negativa' inspeccionando solo bi-gramas. Utilizamos las 25 bi-gramas principales por clase para invocar la búsqueda de noticias de Bing y recuperamos hasta 50 noticias por frase de bi-grama. Esta búsqueda se llamó 'búsqueda ruidosa' porque se asumió que los bi-gramas positivos daban lugar a ejemplos positivos, mientras que los bi-gramas negativos resultaban en ejemplos negativos. No se probó la validez de esta suposición. Para cada artículo, mantuvimos el título + extracto y lo etiquetamos según las asociaciones de clases preasumidas. Luego, entrenamos el mismo modelo con los datos ruidosos y lo aplicamos a un conjunto de prueba retenido de la división del conjunto de datos original. El entrenamiento con un par de miles de ejemplos ruidosos 'positivos' y 'negativos' produjo una precisión del conjunto de prueba de aproximadamente 95%. Muestra que recolectando automáticamente ejemplos ruidosos utilizando búsqueda podemos aumentar el rendimiento de precisión de aproximadamente 88% a más del 95%.

Como usar

Para usar este modelo en análisis de sentimientos de noticias financieras con 3 opciones: 'Positivo', 'Neutral' y 'Negativo', se recomienda alimentar el clasificador con el título y ya sea el primer párrafo o una breve resumen de noticias, p. ej., de hasta 64 tokens.

import torch
from transformers import BertForSequenceClassification, BertTokenizer

tokenizer = BertTokenizer.from_pretrained('oferweintraub/bert-base-finance-sentiment-noisy-search')
model = BertForSequenceClassification.from_pretrained('oferweintraub/bert-base-finance-sentiment-noisy-search')

inputs = tokenizer("Tu texto de entrada aquí", return_tensors="pt")
with torch.no_grad():
    logits = model(**inputs).logits

predicted_class_id = logits.argmax().item()
print(model.config.id2label[predicted_class_id])

Funcionalidades

Clasificación de texto
Transformers
PyTorch
TensorBoard
Análisis de sentimientos financieros
Generado a partir de Trainer

Casos de uso

Análisis de sentimientos de noticias financieras
Clasificación de noticias financieras como 'Positiva', 'Neutral' o 'Negativa'
Mejora de la precisión del análisis de sentimientos basado en datos ruidosos