/ Модель

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

Контекст
512 токенов
Параметры
138 млн
Лицензия
Apache 2.0
Архитектура
bert · dense
Базовая модель
bert-base-turkish-sentiment-cased
Библиотека
transformers
Опубликована
21 апр 2026

bert-turkish-sentiment

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

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

180скачиваний за 30 дней0лайковвеса обновлены3 мая 2026

Бенчмарки

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

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

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

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

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

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

Модель efeyol11/bert-turkish-sentiment разработана efeyol11 для классификации тональности турецких текстов. Это дообученная модель BERT с архитектурой BertForSequenceClassification и 137,8 млн параметров; она относит текст к одному из трёх классов: отрицательному, нейтральному или положительному. Модель рассчитана прежде всего на короткие и средние тексты, особенно заголовки новостей вместе с краткими аннотациями, а также может применяться для анализа комментариев и публикаций в соцсетях.

Модель дообучена на savasy/bert-base-turkish-sentiment-cased с использованием winvoker/turkish-sentiment-analysis-dataset. В README указана длина обучения 128 токенов; метаданные сообщают о контексте до 512 токенов. В тестировании на указанном датасете заявлены accuracy 0,9728 и macro-F1 0,9535, однако эти результаты не гарантируют аналогичное качество на других данных. Модель не предназначена для аспектного анализа, длинные входы обрезаются, а сарказм, ирония и узкие новостные темы могут снижать надёжность. Возможны смещения обучающего корпуса и усиление ошибок при еженедельном дообучении на псевдоразметке. Лицензия — Apache 2.0.

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

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

Ограничения

Модель обучалась на общем корпусе турецкой тональности и может хуже работать на узких новостных темах; тексты длиннее 128 токенов обрезаются. Она не выполняет аспектный анализ и менее надёжна для сарказма и иронии; возможны смещения данных и усиление ошибок при переобучении на псевдоразметке.

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

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

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

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

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

Открыть на Hugging Face

bert-turkish-sentiment

Türkçe metinler için 3-sınıflı duygu analizi modeli (negative / neutral / positive). Haber başlık + özet metinleri üzerinde duygu sınıflandırması yapmak üzere fine-tune edilmiştir.

Model Details

Model Description

Bu model, Türkçe haber metinlerinin duygu durumunu otomatik olarak sınıflandıran bir BERT tabanlı sequence classification modelidir. Bir B-projesi kapsamında haber takip sistemi için geliştirilmiş olup, GitHub Actions üzerinde haftalık otomatik retrain pipeline'ı ile sürekli güncellenmektedir.

Model Sources

Label Mapping

LABEL2ID = {"negative": 0, "neutral": 1, "positive": 2}
ID2LABEL = {0: "negative", 1: "neutral", 2: "positive"}

Eğitim verisindeki Türkçe ham etiketler (negatif, notr, nötr, pozitif) bu üç sınıfa map edilmektedir.

Uses

Direct Use

Model, kısa-orta uzunluktaki Türkçe metinlerin (özellikle haber başlık + kısa özet kombinasyonları) genel duygu polaritesini sınıflandırmak için doğrudan kullanılabilir.

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("efeyol11/bert-turkish-sentiment")
model = AutoModelForSequenceClassification.from_pretrained("efeyol11/bert-turkish-sentiment")

text = "Türkiye ekonomisi son çeyrekte beklentilerin üzerinde büyüme kaydetti."
inputs = tokenizer(text, return_tensors="pt", truncation=True, padding="max_length", max_length=128)

with torch.no_grad():
    outputs = model(**inputs)

probs = torch.softmax(outputs.logits, dim=-1)
pred_id = probs.argmax(dim=-1).item()
print(model.config.id2label[pred_id], probs[0, pred_id].item())

Downstream Use

  • Türkçe haber agregasyon platformlarında otomatik etiketleme
  • Sosyal medya / yorum metinlerinin duygu izlenmesi
  • Domain-specific bir göreve aktarım için ek fine-tuning (transfer learning) için başlangıç noktası

Out-of-Scope Use

  • Aspect-based sentiment analysis (model genel duygu polaritesi tahmin eder, belirli bir konuya/yönüne ayrıştırma yapmaz)
  • 128 token'dan çok daha uzun metinlerin tek seferde sınıflandırılması — uzun metinler kesilecek ve bilgi kaybı oluşacaktır
  • Türkçe dışındaki diller
  • Sarkazm, ironi veya açıkça ifade edilmemiş duygu içeren metinler — bu durumlarda model güvenilirliği düşer

Bias, Risks, and Limitations

  • Domain mismatch: Eğitim verisi tek bir genel-amaçlı Türkçe duygu corpus'u (winvoker/turkish-sentiment-analysis-dataset); haber domain'ine spesifik augmentation yalnızca güveni ≥0.85 olan ~74 pseudo-label örnekle yapılmıştır. Çok niş haber konularında performans düşebilir.
  • Class imbalance / pseudo-labeling bias: Haftalık retrain'de model kendi yüksek-güvenli tahminleriyle augment edildiği için zaman içinde mevcut bias'lar pekişebilir (confirmation bias riski).
  • Sequence length: max_length=128 ile eğitildiği için uzun haber özetleri kesilir.
  • Subsampling: Retrain script'inde kullanılan --max-orig-samples 8000 parametresi class-stratified değildir; minority sınıf örnekleri yetersiz kalabilir.
  • Sosyal bias: Türkçe duygu corpus'u demografik ya da konu temelli bias barındırabilir; bu bias modele aktarılmış olabilir (formal bir bias audit yapılmamıştır).

Recommendations

Üretim ortamında bu modeli kullanırken:

  • Özellikle hassas / yüksek riskli kararlar için tek başına model çıktısına dayanılmamalıdır.
  • Domain'e özgü değerlendirme seti üzerinde periyodik performans kontrolü önerilir.
  • Pseudo-label augmentation döngüsünün uzun vadeli etkisi izlenmelidir (drift monitoring).

How to Get Started with the Model

from transformers import pipeline

clf = pipeline(
    "text-classification",
    model="efeyol11/bert-turkish-sentiment",
    tokenizer="efeyol11/bert-turkish-sentiment",
)

clf("Borsa İstanbul yeni rekor kırdı, yatırımcılar memnun.")
# [{'label': 'positive', 'score': 0.99...}]

Training Details

Training Data

  • Dataset: winvoker/turkish-sentiment-analysis-dataset
  • Language: Türkçe
  • Splits:
    • Train: 440,679 örnek
    • Test/Validation: 48,965 örnek
  • Augmentation (weekly retrain): PostgreSQL'den çekilen, model güveni ≥ 0.85 olan haber pseudo-label'leri (max 50,000; en son run'da 74 örnek dahil edilmiştir).

Preprocessing

  • Tokenizer: BertTokenizer, do_lower_case=True
  • truncation=True, padding="max_length", max_length=128
  • Haber örneklerinde input formatı: f"{cleaned_title}. {cleaned_summary}"
  • 20 karakterden kısa metinler filtrelenir
  • Train set'i deterministik shuffle (seed=42)

Training Hyperparameters

Aşağıdaki konfigürasyon, Hub'a push edilen modeli üreten weekly retrain pipeline'ına aittir:

ParametreDeğer
Epochs2
Per-device train batch size32
Per-device eval batch size32
Learning rate1e-5
Weight decay0.01
LR schedulerLinear with warmup (HF default)
OptimizerAdamW (HF default)
Warmup steps0
Precisionfp32
Eval strategyepoch
Save strategyepoch
Best metricf1_macro (load_best_model_at_end=True)
Seed42 (dataset shuffle)

İlk full fine-tune (Apple MPS üzerinde): epochs=3, batch_size=16, lr=2e-5 (resume'da 5e-6'ya düşürüldü), weight_decay=0.01, max_length=128, fp32. Yaklaşık 1 epoch = 87 dakika.

Speeds, Sizes, Times

  • Hardware: GitHub Actions ubuntu-latest (CPU-only, no GPU/accelerator)
  • Training time (last successful run): ~4 saat (8K original sample subset üzerinde)

Evaluation

Testing Data, Factors & Metrics

  • Testing Data: winvoker/turkish-sentiment-analysis-dataset test split (48,965 örnek)
  • Metrics: accuracy, f1_macro, f1_weighted — sklearn f1_score ile hesaplanır.

Results

Fine-tuned model

MetricDeğer
eval_loss0.0959
eval_accuracy0.9728
eval_f1_macro0.9535
eval_f1_weighted0.9726

Baseline (savasy/bert-base-turkish-sentiment-cased, no fine-tuning on this label space)

MetricDeğer
accuracy0.2383
f1_macro0.2018
f1_weighted0.2339

Before / After

MetricBaselineFine-tunedΔ
accuracy0.23830.9728+0.7345
f1_macro0.20180.9535+0.7517
f1_weighted0.23390.9726+0.7387

Not: Baseline model farklı bir label space ve farklı bir veri dağılımı üzerinde eğitildiği için doğrudan karşılaştırma değildir; bu tablo bu görev/etiket şeması için fine-tuning'in net katkısını göstermek amaçlıdır.

Quality Gate

Retrain pipeline'ı yalnızca f1_macro ≥ 0.80 olan modelleri Hub'a push eder.

Technical Specifications

Model Architecture and Objective

  • Architecture: BertForSequenceClassification
  • Hidden layers: 12
  • Attention heads: 12
  • Hidden size: 768
  • Intermediate size: 3072
  • Max position embeddings: 512
  • Vocab size: 32,000
  • Problem type: single_label_classification
  • Dtype: float32

Compute Infrastructure

Hardware

GitHub Actions ubuntu-latest runner (CPU-only).

Software

  • transformers >= 4.40.0
  • torch >= 2.2.0
  • accelerate >= 1.1.0
  • datasets >= 2.19.0
  • scikit-learn >= 1.4.0
  • mlflow >= 2.12.0
  • sentence-transformers >= 3.0.0
  • sentencepiece >= 0.2.0
  • Python >= 3.10 (CI: 3.12)

Model Card Authors

efeyol11

Model Card Contact

HuggingFace üzerinden: efeyol11

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей