/ Модель

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

Контекст
512 токенов
Параметры
137 млн
Лицензия
GPL 3.0
Архитектура
bert · dense
Опубликована
2 мар 2022

bert-election2020-twitter-stance-biden

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

Англоязычная модель на основе BERT для определения позиции в твитах о выборах в США 2020 года по отношению к Джо Байдену.

51скачиваний за 30 дней4лайкавеса обновлены2 мая 2022

Бенчмарки

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

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

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

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

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

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

f-BERT — модель на основе BERT, представленная для работы Knowledge Enhance Masked Language Model for Stance Detection. Она обучалась на более чем 5 миллионах англоязычных твитов о президентских выборах в США 2020 года, а затем была дообучена на размеченных данных для определения позиции автора твита по отношению к Джо Байдену. Модель предназначена для классификации коротких сообщений о выборах и политике США, а не для общего анализа тональности или определения позиции по произвольным темам.

Это BERT для классификации последовательностей с примерно 136,8 млн параметров и контекстом до 512 токенов. Она принимает текст и выдаёт метку класса; доступные веса представлены в форматах PyTorch и Flax. Модель поддерживает английский язык и распространяется по лицензии GPL-3.0. Карточка не уточняет набор меток классов и метрики качества.

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

  • Определение позиции автора твита по отношению к Джо Байдену
  • Классификация англоязычных твитов о выборах в США 2020 года
  • Анализ политических сообщений в корпусе Twitter о президентских выборах

Ограничения

Модель специализирована на англоязычных твитах о выборах в США 2020 года и позиции по отношению к Джо Байдену; её пригодность для других тем и языков не заявлена. В карточке не приведены метрики качества и подробности о метках классов.

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

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

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

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

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

Открыть на Hugging Face

Pre-trained BERT on Twitter US Election 2020 for Stance Detection towards Joe Biden (f-BERT)

Pre-trained weights for f-BERT in Knowledge Enhance Masked Language Model for Stance Detection, NAACL 2021.

Training Data

This model is pre-trained on over 5 million English tweets about the 2020 US Presidential Election. Then fine-tuned using our stance-labeled data for stance detection towards Joe Biden.

Training Objective

This model is initialized with BERT-base and trained with normal MLM objective with classification layer fine-tuned for stance detection towards Joe Biden.

Usage

This pre-trained language model is fine-tuned to the stance detection task specifically for Joe Biden.

Please see the official repository for more detail.

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch
import numpy as np

# choose GPU if available
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")

# select mode path here
pretrained_LM_path = "kornosk/bert-election2020-twitter-stance-biden"

# load model
tokenizer = AutoTokenizer.from_pretrained(pretrained_LM_path)
model = AutoModelForSequenceClassification.from_pretrained(pretrained_LM_path)

id2label = {
    0: "AGAINST",
    1: "FAVOR",
    2: "NONE"
}

##### Prediction Neutral #####
sentence = "Hello World."
inputs = tokenizer(sentence.lower(), return_tensors="pt")
outputs = model(**inputs)
predicted_probability = torch.softmax(outputs[0], dim=1)[0].tolist()

print("Sentence:", sentence)
print("Prediction:", id2label[np.argmax(predicted_probability)])
print("Against:", predicted_probability[0])
print("Favor:", predicted_probability[1])
print("Neutral:", predicted_probability[2])

##### Prediction Favor #####
sentence = "Go Go Biden!!!"
inputs = tokenizer(sentence.lower(), return_tensors="pt")
outputs = model(**inputs)
predicted_probability = torch.softmax(outputs[0], dim=1)[0].tolist()

print("Sentence:", sentence)
print("Prediction:", id2label[np.argmax(predicted_probability)])
print("Against:", predicted_probability[0])
print("Favor:", predicted_probability[1])
print("Neutral:", predicted_probability[2])

##### Prediction Against #####
sentence = "Biden is the worst."
inputs = tokenizer(sentence.lower(), return_tensors="pt")
outputs = model(**inputs)
predicted_probability = torch.softmax(outputs[0], dim=1)[0].tolist()

print("Sentence:", sentence)
print("Prediction:", id2label[np.argmax(predicted_probability)])
print("Against:", predicted_probability[0])
print("Favor:", predicted_probability[1])
print("Neutral:", predicted_probability[2])

# please consider citing our paper if you feel this is useful :)

Reference

Citation

@inproceedings{kawintiranon2021knowledge,
    title={Knowledge Enhanced Masked Language Model for Stance Detection},
    author={Kawintiranon, Kornraphop and Singh, Lisa},
    booktitle={Proceedings of the 2021 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies},
    year={2021},
    publisher={Association for Computational Linguistics},
    url={https://www.aclweb.org/anthology/2021.naacl-main.376}
}

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей