/ Модель

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

Контекст
512 токенов
Параметры
162 млн
Лицензия
MIT
Архитектура
bert · dense
Базовая модель
bert-base-arabertv02
Опубликована
25 мар 2026

arabic-punctuation-arabert

Разметка токеновТекст → label6 профессий

Дообученная AraBERT-модель, которая восстанавливает знаки препинания в арабском тексте без пунктуации.

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

Бенчмарки

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

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

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

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

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

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

Модель разработана MakdadTaleb и дообучена на AraBERT v0.2 для восстановления пунктуации в арабском тексте. Она принимает текст без знаков препинания и для каждого слова предсказывает знак, который следует за ним. Архитектура — BERT для классификации токенов; размер модели — 162,4 млн параметров, максимальная длина контекста — 512 токенов.

Модель обучена на корпусе SSAC-UNPC, включающем материалы заседаний ООН. В карточке описана специальная обработка класса арабской запятой, которая повысила её F1 с 0,685 до 0,749. На валидационной выборке качество для точки указано как F1 0,996, а для запятой — 0,749. Модель предназначена для восстановления арабской пунктуации в текстах и корпусах; подтверждённая языковая поддержка — арабский. Распространяется по лицензии MIT.

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

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

Ограничения

Оценка для арабской запятой ниже, чем для точки: F1 составляет 0,749 против 0,996. Описание обучения указывает максимальную длину последовательности 128 токенов, поэтому при работе с более длинными текстами их следует разбивать на фрагменты.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

Arabic Punctuation Restoration — AraBERT

Fine-tuned AraBERT v0.2 for automatic punctuation restoration in Arabic text.

The model takes unpunctuated Arabic text as input and predicts the punctuation mark that should follow each word.

Labels

IDSymbolDescription
0—No punctuation
1.Period
2،Arabic comma
3؟Question mark
4!Exclamation mark
5؛Arabic semicolon
6:Colon

Usage

from transformers import AutoTokenizer, AutoModelForTokenClassification
import torch

tokenizer = AutoTokenizer.from_pretrained("makdadTaleb/arabic-punctuation-arabert")
model = AutoModelForTokenClassification.from_pretrained("makdadTaleb/arabic-punctuation-arabert")
model.eval()

text = "ذهب الولد إلى المدرسة وعاد في المساء"
words = text.split()

encoding = tokenizer(
    words,
    is_split_into_words=True,
    return_tensors="pt",
    truncation=True,
    padding=True
)

with torch.no_grad():
    logits = model(**encoding).logits

preds = logits.argmax(dim=-1)[0]
word_ids = encoding.word_ids(batch_index=0)

id2label = {0: "", 1: ".", 2: "،", 3: "؟", 4: "!", 5: "؛", 6: ":"}

result = []
prev = None
for idx, word_idx in enumerate(word_ids):
    if word_idx is None or word_idx == prev:
        continue
    result.append(words[word_idx] + id2label[preds[idx].item()])
    prev = word_idx

print(" ".join(result))

Training

Dataset: SSAC-UNPC — a large-scale Arabic corpus of UN proceedings.

The dataset was built with a custom pipeline to address severe class imbalance:

  • Extracted all sentences containing rare punctuation (!, ؟)
  • Extracted sentences rich in comma and semicolon combinations
  • Final training set: ~400,000 sentences

Training setup:

  • Base model: aubmindlab/bert-base-arabertv02
  • Optimizer: AdamW (lr = 2e-5)
  • Scheduler: Linear warmup (10%) + linear decay
  • Loss: Weighted CrossEntropyLoss
  • Mixed precision: AMP (FP16)
  • Early stopping: patience = 2
  • Epochs: 3 | Batch size: 16 | Max length: 128

Two-Stage Decision for Arabic Comma:

The model uses a custom post-processing step for the comma class (،). If the comma probability exceeds a confidence threshold (τ = 0.70) and is higher than the no-punctuation probability, the model predicts comma. Otherwise, it selects the best non-comma alternative. This improved comma F1 from 0.685 → 0.749.

Results

Evaluated on a held-out validation set (~1.2M tokens):

ClassPrecisionRecallF1
O (no punct)0.9950.9640.979
. Period0.9930.9990.996
، Comma0.6460.8910.749
؟ Question0.9550.9650.960
! Exclamation0.5200.3610.426
؛ Semicolon0.4320.7920.559
: Colon0.7050.9190.798
Weighted Avg0.9700.9600.963

Repository

Full training code and data pipeline: github.com/MakdadTaleb/arabic-punctuation-arabert

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
BertForTokenClassification
Ревизия весов
4f6138c

0 моделей