/ Модель

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

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

claim-detection-claimbuster-binary-TinyBERT_General_4L_312D

Классификация текстаТекст → label

Англоязычная модель TinyBERT, дообученная для бинарного определения утверждений, пригодных для проверки фактов.

8скачиваний за 30 дней0лайковвеса обновлены1 апр 2024

Бенчмарки

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

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

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

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

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

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

yevhenkost/claim-detection-claimbuster-binary-TinyBERT_General_4L_312D — англоязычный классификатор для определения, содержит ли входной текст проверяемое утверждение. Модель разработана дообучением TinyBERT_General_4L_312D на датасете ClaimBuster; задача сведена к бинарному решению: метки −1 и объединённые метки 0 и 1 соответствуют классам «нет» и «да». Архитектура — TinyBERT на базе BERT с классификационной головой BertForSequenceClassification, размер — 15,6 млн параметров, максимальная длина контекста — 512 токенов.

Модель предназначена для первичной фильтрации высказываний перед проверкой фактов: она определяет, стоит ли рассматривать текст как утверждение. Репозиторий содержит веса PyTorch, лицензия — Apache-2.0. Оценка в README упоминается, однако её численные результаты в предоставленной карточке отсутствуют.

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

  • выявление проверяемых утверждений в тексте
  • фильтрация высказываний для последующей проверки фактов
  • разметка предложений как утверждение или неутверждение

Ограничения

Классификация сведена к двум классам, поэтому модель не различает исходные категории 0 и 1 датасета. Численные результаты оценки качества в предоставленном README отсутствуют.

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

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

Открыть на Hugging Face

Fine-tuned TinyBERT_General_4L_312D model for claim detection binary classification

The task is formulated as a binary classification of determining if the input text is a claim or not.

This model is a fine-tuned version of the TinyBERT_General_4L_312D. The model was finetuded on a ClaimBuster dataset (http://doi.org/10.5281/zenodo.3609356). For the training we used only -1 and ( merged 1 and 0) labels, corresponding to No and Yes decision on if the text can be considered as a claim.

The model was trained on the full dataset after the evaluation

Usage

from transformers import AutoTokenizer, AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained("yevhenkost/claim-detection-claimbuster-binary-TinyBERT_General_4L_312D")
tokenizer = AutoTokenizer.from_pretrained("yevhenkost/claim-detection-claimbuster-binary-TinyBERT_General_4L_312D")

text_inputs = ["The water is wet"]

model_inputs = tokenizer(text_inputs, return_tensors="pt")

# regular SequenceClassifierOutput
model_output = model(**model_inputs)

# logits location to decision
decoding_dict = {0:"No", 1:"Yes"}

# model_output.logits tensor of shape (BATCH SIZE, 2);

Training Process

Data Preparation

The files were donwloaded from the ClaimBuster url. The dataset was prepared in the following way:

import pandas as pd
from sklearn.model_selection import train_test_split

# read data
gt_df = pd.read_csv("groundtruth.csv")
cs_df = pd.read_csv("crowdsourced.csv")

# concatenate and filter labels
total_df = pd.concat(
    [cs_df, gt_df]
)

total_df['labels'] = total_df["Verdict"].apply(lambda x: 0 if x == -1 else 1)

# split on train and test
train_df, test_df = train_test_split(total_df, test_size=0.2, random_state=2)

Test Result

              precision    recall  f1-score   support

          No       0.90      0.85      0.88      3126
         Yes       0.74      0.82      0.78      1581

    accuracy                           0.84      4707
   macro avg       0.82      0.84      0.83      4707
weighted avg       0.85      0.84      0.84      4707


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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей