/ Модель

Характеристики

Контекст
512 токенов
Параметры
137 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Опубликована
24 апр 2024

SaBERT-Spanish-Sentiment-Analysis

Классификация текстаТекст → label3 профессии

Испаноязычная BERT-модель для определения положительной или отрицательной тональности коротких текстов, включая твиты.

256скачиваний за 30 дней20лайковвеса обновлены28 мая 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

SaBERT Spanish Sentiment Analysis — модель классификации текста на основе BERT, разработанная Azul Fuentes, Dante Reinaudo, Lucía Pardo и Roberto Iskandarani как дипломный проект по компьютерной инженерии в Университете Буэнос-Айреса. Она определяет положительную или отрицательную тональность испанского текста и подходит, например, для анализа отзывов и сообщений в социальных сетях.

Модель дообучена на dccuchile/bert-base-spanish-wwm-uncased. Для обучения использовали 11 500 испаноязычных твитов из набора TASS; архитектура — BertForSequenceClassification с двумя классами. Метаданные указывают 137,1 млн параметров и контекст до 512 токенов, а в README указан предел длины входа 128 токенов. На оценочном наборе авторы сообщают accuracy и F1 86,47%.

Модель предназначена для испанского текста и бинарного анализа тональности; качество на других языках, типах текста и задачах не подтверждено. Распространяется по лицензии Apache-2.0.

Сценарии применения

  • Определение тональности испаноязычных твитов
  • Классификация испанских отзывов как положительных или отрицательных
  • Анализ настроений в сообщениях на испанском языке

Ограничения

Модель обучалась на испаноязычных твитах и предсказывает только два класса — положительный и отрицательный; качество на других жанрах текста и языках не подтверждено. В README указан предел длины входа 128 токенов, тогда как метаданные указывают контекст до 512 токенов.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Spanish Sentiment Analysis Classifier

Overview

This BERT-based text classifier was developed as a thesis project for the Computer Engineering degree at Universidad de Buenos Aires (UBA). The model is designed to detect sentiments in Spanish and was fine-tuned on the dccuchile/bert-base-spanish-wwm-uncased model using a specific set of hyperparameters. It was trained on a dataset containing 11,500 Spanish tweets collected from various regions, both positive and negative. These tweets were sourced from a well-curated combination of TASS datasets.

Team Members

Model Details

  • Base Mode: dccuchile/bert-base-spanish-wwm-uncased

  • Hyperparameters:

    • dropout_rate = 0.1
    • num_classes = 2
    • max_length = 128
    • batch_size = 16
    • num_epochs = 5
    • learning_rate = 3e-5
  • Dataset: 11,500 Spanish tweets (Positive and Negative)

Metrics

The model's performance was evaluated using the following metrics:

  • Accuracy = 86.47%
  • F1-Score = 86.47%
  • Precision = 86.46%
  • Recall = 86.51%

Usage

Installation

You can install the required dependencies using pip:

pip install transformers torch

Loading the Model

from transformers import BertForSequenceClassification, BertTokenizer
model = BertForSequenceClassification.from_pretrained("VerificadoProfesional/SaBERT-Spanish-Sentiment-Analysis")
tokenizer = BertTokenizer.from_pretrained("VerificadoProfesional/SaBERT-Spanish-Sentiment-Analysis")

Predict Function

def predict(model,tokenizer,text,threshold = 0.5):   
        inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True, max_length=128)
        with torch.no_grad():
            outputs = model(**inputs)
        
        logits = outputs.logits
        probabilities = torch.softmax(logits, dim=1).squeeze().tolist()
        
        predicted_class = torch.argmax(logits, dim=1).item()
        if probabilities[predicted_class] <= threshold and predicted_class == 1:
            predicted_class = 0
  
        return bool(predicted_class), probabilities

Making Predictions

text = "Your Spanish news text here"
predicted_label,probabilities = predict(model,tokenizer,text)
print(f"Text: {text}")
print(f"Predicted Class: {predicted_label}")
print(f"Probabilities: {probabilities}")

License

Acknowledgments

Special thanks to DCC UChile for the base Spanish BERT model and to all contributors to the dataset used for training.

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм · text-classification

Можно запустить

Подбираем GPU…

Класс архитектуры
BertForSequenceClassification
Ревизия весов
5e33220

0 моделей