/ Модель

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

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

Khayyam

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

Khayyam определяет одно или несколько из 28 эмоциональных состояний в коротких текстах на персидском языке.

298скачиваний за 30 дней1лайквеса обновлены9 июн 2026

Бенчмарки

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

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

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

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

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

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

Khayyam — модель для многометочной классификации эмоций в персидском тексте, разработанная Ayda Khoshkhan. Она дообучена на ParsBERT v3 (HooshvareLab/bert-fa-zwnj-base) на персидском переводе датасета GoEmotions и относит текст к любому сочетанию из 28 категорий, включая радость, гнев, грусть, благодарность и нейтральную тональность.

Модель построена на архитектуре BERT и содержит 145,5 млн параметров; максимальная длина контекста — 512 токенов. Она предназначена для анализа коротких персидских текстов, в частности сообщений в стиле Reddit. На тестовой выборке GoEmotions Persian показала macro F1 0,4124 и micro F1 0,5563.

Результаты могут снижаться для редких эмоций, а автоматический перевод обучающих данных мог внести ошибки в метки. Качество на формальном персидском и диалектах может отличаться. Модель распространяется по лицензии Apache-2.0.

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

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

Ограничения

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

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

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

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

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

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

Открыть на Hugging Face

Khayyam — Persian Multi-Label Emotion Classifier

Khayyam is a fine-tuned Persian BERT model for fine-grained, multi-label emotion classification across 28 emotion categories, based on the GoEmotions taxonomy. It is built on top of ParsBERT v3 and trained on GoEmotions Persian — a Persian translation of Google's GoEmotions benchmark dataset.

The model is named after Omar Khayyam, the 11th-century Persian poet, mathematician, and philosopher.


Model Details

PropertyValue
Base modelHooshvareLab/bert-fa-zwnj-base (ParsBERT v3)
TaskMulti-label text classification
LanguagePersian (Farsi / fa)
Number of labels28
Decision threshold0.3
LicenseApache 2.0

Evaluation Results

Evaluated on the held-out test split of GoEmotions Persian (5,427 samples):

MetricScore
F1 Macro0.4124
F1 Micro0.5563

For reference, the original GoEmotions paper (Demszky et al., 2020) reports F1 Macro of 0.46 for BERT-base on the English dataset. Khayyam achieves competitive results considering the additional challenges of translation noise and Persian-specific linguistic features.

Training curve

EpochTrain LossVal LossF1 MacroF1 Micro
10.10290.10260.32310.5313
20.09340.09500.38170.5597
30.08260.09390.40160.5585
40.07680.09510.41050.5574

Usage

from transformers import AutoTokenizer, AutoModelForSequenceClassification
import torch

model_name = "aydakikio/Khayyam"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForSequenceClassification.from_pretrained(model_name)

LABELS = [
    "admiration", "amusement", "anger", "annoyance", "approval", "caring",
    "confusion", "curiosity", "desire", "disappointment", "disapproval",
    "disgust", "embarrassment", "excitement", "fear", "gratitude", "grief",
    "joy", "love", "nervousness", "optimism", "pride", "realization",
    "relief", "remorse", "sadness", "surprise", "neutral"
]

THRESHOLD = 0.3

def predict_emotions(text):
    inputs = tokenizer(text, return_tensors="pt", truncation=True, max_length=128)
    with torch.no_grad():
        logits = model(**inputs).logits
    probs = torch.sigmoid(logits).squeeze()
    predicted = [LABELS[i] for i, p in enumerate(probs) if p >= THRESHOLD]
    return predicted

# Example
text = "امروز خیلی خوشحالم، همه چیز عالی پیش رفت!"
print(predict_emotions(text))
# → ['joy', 'optimism', 'excitement']

Training Details

Dataset

  • Dataset: GoEmotions Persian
  • Source: Persian translation of Google GoEmotions using the Gap GPT API
  • Size: 54,263 samples (train: 43,410 / dev: 5,426 / test: 5,427)
  • Labels: 27 emotion categories + Neutral (28 total)
  • License: CC BY 4.0

Hyperparameters

ParameterValue
Epochs4
Learning rate2e-5
Batch size16
Max sequence length128
Warmup ratio0.1
Weight decay0.01
OptimizerAdamW
Loss functionBinary Cross-Entropy (multi-label)
Precisionfp16

Emotion Labels

The model classifies text into any combination of these 28 emotions:

admiration · amusement · anger · annoyance · approval · caring · confusion · curiosity · desire · disappointment · disapproval · disgust · embarrassment · excitement · fear · gratitude · grief · joy · love · nervousness · optimism · pride · realization · relief · remorse · sadness · surprise · neutral


Limitations

  • Trained on translated data — some label noise may exist due to automatic translation
  • Performance on rare emotion classes (e.g., grief, pride, relief) is lower than on frequent ones
  • Optimized for Persian Reddit-style short text; may generalize differently to formal or dialectal Persian

Citation

If you use this model, please cite:

Version 1.0
@misc{ayda_khoshkhan_2026,
	author       = { Ayda Khoshkhan },
	title        = { Khayyam (Revision 4cbc751) },
	year         = 2026,
	url          = { https://huggingface.co/aydakikio/Khayyam },
	doi          = { 10.57967/hf/9089 },
	publisher    = { Hugging Face }
}

Also cite the base model and dataset:

@article{ParsBERT,
  title     = {ParsBERT: Transformer-based Model for Persian Language Understanding},
  author    = {Mehrdad Farahani and Mohammad Gharachorloo and Marzieh Farahani and Mohammad Manthouri},
  journal   = {Neural Processing Letters},
  year      = {2021},
  publisher = {Springer}
}

@inproceedings{demszky-etal-2020-goemotions,
  title     = {{G}o{E}motions: A Dataset of Fine-Grained Emotions},
  author    = {Demszky, Dorottya and Movshovitz-Attias, Dana and Ko, Jeongwoo and Cowen, Alan and Nemade, Gaurav and Ravi, Sujith},
  booktitle = {Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics},
  year      = {2020},
  publisher = {Association for Computational Linguistics}
}

License

This model is released under the Apache 2.0 license, consistent with the base model (HooshvareLab/bert-fa-zwnj-base) and the original GoEmotions dataset.

The training dataset (aydakikio/goemotion_persian) is licensed under CC BY 4.0.

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

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

GPU в ailist

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

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

Подбираем GPU…

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

0 моделей