/ Модель

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

Контекст
512 токенов
Параметры
137 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Базовая модель
bert-base-uncased
Опубликована
2 июл 2026

fake-news-bert-debiased

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

Англоязычная BERT-модель для бинарной классификации новостных статей как настоящих или фальшивых.

18скачиваний за 30 дней0лайковвеса обновлены2 июл 2026

Бенчмарки

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

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

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

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

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

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

Модель разработана Lax (LakshmiNarayanan Sugumar) и представляет собой BERT-base, дообученный для бинарной классификации новостных статей как настоящих или фальшивых. Она принимает текст заголовка и статьи на английском языке; архитектура BertForSequenceClassification содержит 136,7 млн параметров, поддерживает контекст до 512 токенов и распространяется в формате safetensors по лицензии Apache 2.0.

Модель обучена на очищенной от ряда поверхностных подсказок версии WELFake: удалялись упоминания Reuters, фразы в верхнем регистре нормализовались, а восклицательные знаки ограничивались. Это улучшило распознавание некоторых настоящих статей вне обучающего распределения, сохранив высокие результаты на отложенной выборке WELFake. Модель предназначена для учебных и демонстрационных сценариев, например предварительной оценки новостного материала.

Качество на обучающем распределении не гарантирует обобщения на другие источники и стили. В README отмечены слабые результаты на сатире и сухо написанных мистификациях; модель не следует использовать для производственной модерации или проверки фактов без участия человека.

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

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

Ограничения

Модель слабо распознаёт сатиру и сухо написанные мистификации, а результаты на WELFake могут не переноситься на новости из других источников и распределений. Не предназначена для производственной модерации или решений по проверке фактов без проверки человеком.

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

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

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

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

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

Открыть на Hugging Face

Fake News Detector — BERT (Debiased V2)

Model Description

This model is a fine-tuned version of bert-base-uncased for binary fake news classification (real vs. fake), trained on a cleaned version of the WELFake dataset with a specific shortcut-learning bug fixed. It supersedes fake-news-bert, which achieved similar benchmark accuracy but for the wrong reasons — see below.

Why This Model Exists: A Shortcut-Learning Bug

The original model (fake-news-bert) hit 99.53% test accuracy but performed poorly on real-world text outside the WELFake distribution — especially satire and hoaxes. A hand-built 26-example out-of-distribution (OOD) test set (satire, hoaxes, and real news from diverse sources) exposed this: overall OOD accuracy was only 53.8%.

Investigating further, a quantitative diagnostic on the training data revealed the cause: 61.8% of "real" articles in WELFake mentioned "Reuters," versus only 1.8% of "fake" articles. The model had learned to key off this single word rather than genuine signals of factuality — an easy, cheatable shortcut that inflated benchmark accuracy while masking real generalization failure. Secondary shortcut signals (ALL-CAPS phrases, excessive exclamation marks) were also present.

What Changed

Training text was cleaned to remove these shortcuts: "Reuters" mentions stripped, ALL-CAPS phrases collapsed to normal case, and exclamation marks capped. The model was retrained for 2 epochs on this cleaned data.

Before / After OOD Comparison

CategoryBefore CleaningAfter Cleaning
real_sensational_true100% (3/3)100% (3/3)
real_non_reuters87.5% (7/8)100% (8/8)
hoax33.3% (2/6)16.7% (1/6)
hoax_dry_tone33.3% (1/3)33.3% (1/3)
satire16.7% (1/6)16.7% (1/6)
Overall53.8%53.8%

The fix worked as intended: real-news accuracy on non-Reuters-sourced articles went from 87.5% to 100%, confirming the shortcut is gone and the model now identifies real news on genuine content signals rather than source-name pattern-matching.

A known limitation remains: satire and hoax detection did not improve, and hoax accuracy on the small sample slightly declined. This is not a regression from the fix — it reflects a genuine data diversity gap. WELFake's "fake" class is dominated by aggressively-toned misinformation and contains little dry-toned satire or calmly-written hoaxes, so the model never learned to recognize that register as suspicious. Every misclassified OOD example was predicted "real" with high confidence (92–99%), indicating the model isn't confused — it's simply never seen this writing style labeled as fake before. Fixing this requires more diverse training data (e.g. incorporating ISOT or other satire-inclusive sources), not further text cleaning.

Uses

Direct Use

Given a news article's title and body text, the model predicts whether the article is real or fake. Intended for educational and portfolio demonstration purposes.

Out-of-Scope Use

Not intended for production moderation or fact-checking decisions without human review. As documented above, the model has a known weakness on satire and dry-toned hoaxes.

How to Get Started

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("LakshmiNarayanan-sugumar/fake-news-bert-debiased")
model = AutoModelForSequenceClassification.from_pretrained("LakshmiNarayanan-sugumar/fake-news-bert-debiased")

text = "Your article title here. Your article body text here."
inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=512)
with torch.no_grad():
    logits = model(**inputs).logits
prediction = torch.argmax(logits, dim=-1).item()
print("Fake" if prediction == 1 else "Real")

Training Details

Training Data

WELFake dataset, cleaned to 62,200 deduplicated articles, split 80/10/10 (train/val/test, stratified). Training text additionally cleaned of shortcut signals (Reuters mentions, ALL-CAPS, excessive exclamation marks) as described above.

Training Procedure

Title and body concatenated into a single input, tokenized with the BERT tokenizer (max length 512, truncation enabled). Fine-tuned for 2 epochs, batch size 16.

Training Hyperparameters

  • Epochs: 2
  • Batch size: 16 (train and eval)
  • Base model: bert-base-uncased
  • Hardware: Kaggle T4 GPU

Evaluation

Test Set Results (held-out WELFake split, 6,220 articles)

MetricScore
Accuracy99.49%
F199.42%
Precision99.64%
Recall99.20%

Near-identical to the original model's in-distribution metrics (99.53% / 99.47% / 99.64% / 99.31%), confirming that removing the shortcut cost negligible in-distribution performance — the model was already learning real signal alongside the shortcut.

Out-of-Distribution Test Set

See the before/after table above. Full 26-example OOD test set (ood_test.csv) available in the GitHub repository.

Technical Specifications

  • Architecture: BertForSequenceClassification (2 labels), built on bert-base-uncased
  • Compute: Kaggle Notebooks, T4 GPU

Model Card Contact

LakshmiNarayanan Sugumar — GitHub

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей